初识BGP外部网关协议(一)
生活随笔
收集整理的這篇文章主要介紹了
初识BGP外部网关协议(一)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
初識BGP外部網關協議(一)
- 前言
- 一、自治系統
- 1、定義
- 2、AS號
- 二、BGP
- 1、BGP定義
- 2、BGP特點
- 3、BGP分類
- 4、BGP的路由器
- 三、BGP工作原理
- 1、5種報文
- 2、6種狀態機
- 3、9個原則
- 四、BGP簡單配置命令
- 總結
前言
邊界網關協議(BGP)是運行于 TCP 上的一種自治系統的路由協議。 BGP 是唯一一個用來處理像因特網大小的網絡的協議,也是唯一能夠妥善處理好不相關路由域間的多路連接的協議。 BGP 構建在 EGP 的經驗之上。 BGP 系統的主要功能是和其他的 BGP 系統交換網絡可達信息。網絡可達信息包括列出的自治系統(AS)的信息。這些信息有效地構造了 AS 互聯的拓撲圖并由此清除了路由環路,同時在 AS 級別上可實施策略決策。
一、自治系統
1、定義
自治系統AS是指同一個技術管理機構管理、使用統一選路策略的一些路由的集合。
2、AS號
- BGP網絡中的每一個AS都被分配一個唯一的AS號,用于區分不同的AS。
- AS號分為2字節AS號和4字節AS號,其中2字節的AS號的范圍是1 ~ 65535,其中1 ~ 64511是互聯網上注冊公有AS號,類似公網IP地址;64512 ~ 65535是私有AS號,類似私網地址。
- IANA(互聯網數字分配機構)負責AS號的分發。
| 中國電信163 AS號 | 4134 |
| 中國電信CN2 AS號 | 4809 |
| 中國聯通 | 9929 |
二、BGP
1、BGP定義
BGP是一種實現自治系統AS之間的路由可達,并選擇最佳路由的距離矢量路由協議。
2、BGP特點
- BGP能承載大批量的路由信息,能夠支撐大規模網絡。
- BGP使用過TCP作為其傳輸層協議(端口號179),提高可靠性。
- BGP是外部路由協議,用來在AS之間傳遞數據,對穩定性要求非常高,因此TCP協議的可靠性保證了BGP的穩定性。
- BGP的對等體之間必須邏輯上連通,并進行TCP連接,目的端口179,本地端口任意。
- BGP對等體和IGP對等體不同,BGP對等體(peer)是指使用TCP建立連接的兩端,而非與IGP同概念的直連鄰居,只需要TCP能建立連接,不一定必須是直連。
- BGP本身只是負責控制路由,數據轉發依然依靠靜態或IGP路由。
- BGP支持無類別域間路由CIDR。
- 路由更新時,BGP只發送更新的路由,大大減少了BGP傳播路由所占用的帶寬,適用于在Internet上傳播大量路由信息。
- BGP是一種增強的距離矢量路由協議,從設計上避免了環路的發生。
- AS之間:BGP通過攜帶AS Path信息標記途徑的AS,帶有本地AS號的路由將被丟棄,從而避免域間產生環路。
- AS內部:BGP在AS內學習到的路由不會通告給AS內的BGP鄰居,避免AS內產生環路。
- BGP提供了豐富的路由策略,能夠對路由實現靈活的過濾和選擇。
- BGP提供了防止路由震蕩的機制(路由衰減),有效提高了Internet網絡的穩定性。
- BGP易于擴展,能夠適應網絡新的發展。主要通過TLV進行擴展。
3、BGP分類
按運行方式分為EBGP和IBGP。
- EBGP
運行與不同AS之間的BGP稱為EBGP。為了防止AS間產生環路,當BGP設備接收EBGP對等體發送的路由時,會將帶有本地AS號的路由丟棄。 - IBGP
運行于同一AS內部的BGP稱為IBGP。為了防止AS內部產生環路,BGP設備不將從IBGP對等體學習到的路由通告給其他IBGP對等體,并與所有IBGP對等體建立全連接。為了解決IBGP對等體的連接數量太多的問題,BGP設計了路由反射器和BGP聯盟。
4、BGP的路由器
- BGP的Router ID是一個用于標識BGP設備的32位值,通常是IPv4地址的形式,在BGP會話建立時發送的Open報文中攜帶。對等體之間建立BGP會話時,每個BGP設備都必須有唯一的Router ID,否則對等體之間不能建立BGP連接。
- BGP的Router ID在BGP網絡中必須是唯一的,可以采用手工配置,也可以讓設備自動選取。缺省情況下,BGP選擇設備上的Loopback接口的IPv4地址作為BGP的Router ID。如果設備上沒有配置Loopback接口,系統會選擇接口中最大的IPv4地址作為BGP的Router ID。一旦選出Router ID,除非發生接口地址刪除等事件,否則即使配置了更大的地址,也保持原來的Router ID。
三、BGP工作原理
BGP對等體的建立、更新和刪除等交互過程主要有5種報文、6種狀態機和9個原則。
1、5種報文
- Open報文:是TCP建立連接發送的第一個報文
協商BGP對等體的各種參數,包括版本、AS號等信息,建立BGP對等體連接。 - Update報文:對等體之間交換路由信息。
連接建立后,有路由需要發送或路由變化時,發送Update報文通告對端可達或撤銷路由信息及路徑。 - Notification報文:用于中斷BGP連接。
BGP發現錯誤時,發送報文通告BGP對端,隨后與之相關的鄰居將被關閉。 - Keepalive報文:用于保持BGP連接。
定時發送keepalive報文以保持BGP對等體關系的有效化,響應正確的Open報文。 - Route-refresh報文:用于在改變路由策略后軟復位BGP路由表請求對等體重新發送路由信息。只有支持路由刷新(Route-refresh)能力的BGP設備會發送和響應此報文。
2、6種狀態機
- Idle狀態是BGP初始狀態。
在Idle狀態下,BGP拒絕鄰居發送的連接請求。只有在收到本設備的Start事件后,BGP才開始嘗試和其它BGP對等體進行TCP連接,并轉至Connect狀態。 - 在Connect狀態下,BGP啟動連接重傳定時器(Connect Retry),等待TCP完成連接。
- 如果TCP連接成功,那么BGP向對等體發送Open報文,并轉至OpenSent狀態。
- 如果TCP連接失敗,那么BGP轉至Active狀態。
- 如果連接重傳定時器超時,BGP仍沒有收到BGP對等體的響應,那么BGP繼續嘗試和其它BGP對等體進行TCP連接,停留在Connect狀態。
- 在Active狀態下,BGP總是在試圖建立TCP連接。
- 如果TCP連接成功,那么BGP向對等體發送Open報文,關閉連接重傳定時器,并轉至OpenSent狀態。
- 如果TCP連接失敗,那么BGP停留在Active狀態。
- 如果連接重傳定時器超時,BGP仍沒有收到BGP對等體的響應,那么BGP轉至Connect狀態。
- 在OpenSent狀態下,BGP等待對等體的Open報文,并對收到的Open報文中的AS號、版本號、認證碼等進行檢查。
- 如果收到的Open報文正確,那么BGP發送Keepalive報文,并轉至OpenConfirm狀態。
- 如果發現收到的Open報文有錯誤,那么BGP發送Notification報文給對等體,并轉至Idle狀態。
- 在OpenConfirm狀態下,BGP等待Keepalive或Notification報文。如果收到Keepalive報文,則轉至Established狀態,如果收到Notification報文,則轉至Idle狀態。
- 在Established狀態下,BGP可以和對等體交換Update、Keepalive、Route-refresh報文和Notification報文。
- 如果收到正確的Update或Keepalive報文,那么BGP就認為對端處于正常運行狀態,將保持BGP連接。
- 如果收到錯誤的Update或Keepalive報文,那么BGP發送Notification報文通知對端,并轉至Idle狀態。
- Route-refresh報文不會改變BGP狀態。
- 如果收到Notification報文,那么BGP轉至Idle狀態。
- 如果收到TCP拆鏈通知,那么BGP斷開連接,轉至Idle狀態。
3、9個原則
- 從IBGP對等體獲得的BGP路由,BGP設備只發布給它的EBGP對等體。
- 從EBGP對等體獲得的BGP路由,BGP設備發布給它所有EBGP和IBGP對等體。
- 當存在多條到達同一目的地址的有效路由時,BGP設備只將最優路由發布給對等體。
- 路由更新時,BGP設備只發送更新的BGP路由。
- 所有對等體發送的路由,BGP設備都會接收。
- 所有EBGP對等體在傳遞過程中下一跳改變。
- 所有IBGP對等體在傳遞過程中下一跳不變。
- 默認EBGP傳遞時TTL為1
- 默認IBGP傳遞時TTL為225
四、BGP簡單配置命令
1、啟用BGP,后面跟AS系統號
2、宣告Router-id,建立鄰居關系用
3、宣告和誰建立鄰居關系,
4、通告BGP路由,(network、import)
[R1]bgp 100 #創建BGP編號為100[R1]router-id 1.1.1.1 #配置BGP的router-id[R1-bgp] peer 2.2.2.2 as-number 100 #指定對等體的回環口及所屬AS編號[R1-bgp] peer 2.2.2.2 connect-interface LoopBack 0 #更新發送BGP報文時的接口為環回口[R1-bgp] peer 2.2.2.2 next-hop-local #修改該路由的下一跳指向自己,用于IBGP[R1-bgp] peer 3.3.3.3 ebgp-max-hop 2 #修改最大跳數值(≥2),用于EBGP[R1] display bgp peer #查看BGP鄰居[R1] display ip routing-table #查看BGP路由表[R1-bgp] import-route ospf 110/direct/rip 1/isis 1 #引入ospf /直連/rip/isis中的路由總結
總結
以上是生活随笔為你收集整理的初识BGP外部网关协议(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 内存双通道:数据飞速传输,系统稳如泰山
- 下一篇: 电脑速度提升秘笈:内存容量和频率的双重升