---
# System prepended metadata

title: '自主學習: BGP探討網路世界'

---

# 自主學習: 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)