# 自主學習: BGP探討網路世界 ## 序和介紹 ### 哈囉各位(偷偷給自己打個廣告) * Insgram: @[chao28661](https://www.instagram.com/chao28661/) * 我ㄉ自介: https://ncves.com/ * Email: peer@ncves.net #### 當前職況 * 中部高中電資聯合會議-資訊組 * 今年寒訓ㄉ教學組兼攝影 * 今年7/2幹訓ㄉ資訊安全講師兼攝影 * RIPE(歐洲網際網路資源協調中心)ASN [AS199331](https://irrexplorer.nlnog.net/asn/AS199331) * 某網路訓練中心創辦人 #### 擅長區塊 * 資訊安全 * Python腳本開發 * 網頁編寫、美化 * Linux作業系統操作 * 遊戲伺服器搭建(Minectaft、FiveM) * 網站、網域部屬 * 網路BGP ## 簡報前言 學習動機: 1. 想要增進網路管理能力 2. 若未來想從業ISP(網際網路服務提供商),會這些技術是必然的 學習路程: 1. 深入了解網路概論 2. 申請ASN 3. 宣告IPv6 4. 搭建BGP路由及過濾 ## 專有名詞介紹 ### ASN Autonomous System Number 是指一個企業/組織/自然人..等在網路上的代表號碼,他們可利用這個號碼在互聯網世界上有所作為(ex.管理/分發IP、收路由..等) 常聽到的企業ASN > Cloudflare: 13335 > 中華電信(Hinet): 3462 > Google: 15169 > 透過[BGP Tools](https://bgp.tools/)查更多 這邊補充一下: 全球共有五大ASN管理機構,分別是: > ![](https://hackmd.io/_uploads/Bk-tnQPv3.png) > 亞洲: APNIC > 北美洲: ARIN > 南美洲: LACNIC > 歐洲+俄羅斯: RIPE > 非洲: AFRINIC 再再再插曲一下!! 這邊先和各位破題,我這次申請出ASN的單位是==RIPE== 或許有些人會有些疑問: > Q: 我們台灣不是位在亞洲嗎?那為什麼我不是申請APNIC而是RIPE? > A: 這就要講到最根本的問題了!! 因為錢 > 這五大管理機構並非慈善單位,我們AS每年都需要繳會費,而RIPE是五間裡面會費和門檻最低的單位,因此最後才會選擇申請歐洲網際網路資源協調中心(RIPE)的ASN > > 承上 > Q: 那我申請RIPE在亞洲區域使用沒問題嗎? > A: 其實是沒問題的,畢竟互聯網世界本來就是跨洲連來連去 > (我的想法)只要不使用非亞洲的ASN在亞洲區登記公司(ISP)應該都是沒關係的 ### BGP Border Gateway Protocol 是指網際網路中透過互聯(Peer)達成的有效封包傳遞協定 我們可以簡單比喻: 將台灣各地的AS都比喻為郵局(一間郵局一個AS),你在高雄寄送一封信件給在台北的朋友,你的信在前往台北的途中可能也會進入嘉義、雲林、彰化、台中…等地的郵局代為轉傳 上述的例子有一個最重要的點 ==這些郵局間有事先溝通好一套作業系統==,而這個事先的溝通就是我們網路世界的BGP概念 圖說: > 沒有搭建BGP: > ![](https://hackmd.io/_uploads/BJwuxNPDn.png) > 有搭建BGP: > ![](https://hackmd.io/_uploads/S14tg4vw2.png) ### IPv4 這個IPv4就是大家耳熟能想的IP,各位應該常常會聽到"網路警察透過IP找到犯人",對!這裡的IP就是指IPv4 這邊就先不贅述IPv4這個協定了([想了解點這裡](https://zh.wikipedia.org/zh-tw/IPv4)),我們要探討的是他的數量 其實IPv4有分成5個CLASS > ![](https://hackmd.io/_uploads/HJ037EvP3.png) > CLASS A: 0.0.0.0~127.255.255.255 (126個網路數量) > CLASS B: 128.0.0.0~191.255.255.255 (16384個網路數量) > CLASS C: 192.0.0.0~223.255.255.255 (2097152個網路數量) > ~~CLASS D: 224.0.0.0-239.255.255.255~~ > ~~CLASS E: 240.0.0.0-255.255.255.255~~ > 須注意的是: CLASS D和CLASS E目前不開放一般人使用,保留為學術和研究用途 或許各位又會有疑問了: > Q: 為什麼CLASS A、CLASS B、CLASS C的網路數量差了好幾倍 > A: 這邊不贅述太多(畢竟超出重點ㄌ),簡單的說就是為了避免過多浪費IP > 其實還有另一種更靈活的IP分配方法叫[CIDR](https://zh.wikipedia.org/zh-tw/%E6%97%A0%E7%B1%BB%E5%88%AB%E5%9F%9F%E9%97%B4%E8%B7%AF%E7%94%B1) ### IPv4 vs IPv6 這兩個其實沒有什麼好比的,他們都是IP的協定,兩者最大的差距是IP的個數 * IPv4為4位元(數量為2^32),採用10進制表示 * IPv6為128位元(數量為2^128),採用16進制表示,因此v6數量遠遠超過IPv4 ## 實作成果 ### 前情時間線 ![](https://hackmd.io/_uploads/S1FkdNDw2.png) ### 宣告的資源 ![](https://hackmd.io/_uploads/BySZdNvDh.png) ### 宣告後成果 ![](https://hackmd.io/_uploads/SJ9E_4wv2.png) 點以下這些可以查看更多消息(AS199331): * [Irr Explorer](https://irrexplorer.nlnog.net/asn/AS199331) * [BGP Tools](https://bgp.tools/as/199331) * [RIPE Status](https://stat.ripe.net/data/announced-prefixes/data.json?resource=AS199331) ### 建立過濾 我們先來談談 > Q: 為啥要建立過濾? > A: 避免被炸表或做其他惡意行為,這邊說的炸表是指利用大量垃圾封包(對你來說的)短時間內灌入你的機器(不一定為故意,有時後可能是不小心的) 建立一條名為v6的規則 ![](https://hackmd.io/_uploads/SkhUK4vD3.png) 將他套到我和Yuan的BGP協議上 ![](https://hackmd.io/_uploads/rkaOt4Dvn.png) 最終我們看下成果 ![](https://hackmd.io/_uploads/rJz5tEwDn.png) ## 結尾 ### 研究方法 * 從他人部落格學習相關設定檔 > * https://ithelp.ithome.com.tw/articles/10237497 > * https://www.jannet.hk/border-gateway-protocol-bgp-zh-hant/ > * https://blog.steveyi.net/ > * https://blog.cre0809.com/ * 買書研究網路相關概論 > ![](https://hackmd.io/_uploads/SJdM9Vwv2.png) > > 這邊簡單提一下[CCNA](https://www.cisco.com/c/en/us/training-events/training-certifications/certifications/associate/ccna.html)這個考試 > 由美國知名交換器廠商[Cisco](https://www.cisco.com/c/zh_tw/index.html)開設的網路技能證照,常常被大家拿出來說的是他的報名費用高達250美金(約新台幣7500),且有設定有效期限(印象中CCNA為三年),目前台灣有些公司會對持有這張證照的工程師給予優先工作機會 * 和一些志同道合的朋友一同研究 ### 結論與反思 學習BGP雖然對現在身處於高一的我沒什麼實際用處,但我認為既然我現在有了明確的志向,我就可以提早為我的未來鋪路。 我將會繼續學習這類知識,強化自己能力提高競爭力。 ### END 有問題或對這方面有興趣可以聯絡我歐~~ ![](https://hackmd.io/_uploads/r1mDjEwvh.png)