BGP動態路由協議
一、BGP概述
自治系統(AS)是由一個技術管理機構管理,使用統一選路策略的一組路由器集合,自治系統編號范圍:1-65535,其中1-64511是互聯網上注冊公有AS號,類似公網IP地址。
64512-65535是私有AS號,類似私網IP地址。
二、BGP的概念
BGP是一種運行在AS與AS之間的動態路由協議,主要作用是在AS之間自動交換無環路由信息以此來構建AS的拓撲圖,從而消除路由環路並實施用戶配置的路由策略。目前公網網絡條目眾多,IGP協議無法承載,而BGP可以輕松應對,通常BGP協議用於ISP和ISP之間或跨域地域總、分公司之間的路由信息交換。
三、動態路由的分類
1)按自治系統分為
IGP:自治系統內部路由協議,主要:RIP1/RIP2、OSPF、ISIS、EIGRP。(思科私有協議)
IGP是運行在AS內部的路由協議,主要解決AS內部的選路問題,發現、計算路由。
EGP:自治系統之間的路由協議,通常:BGP。
EGP是運行在AS與AS之間的路由協議,他解決AS之間選路問題。
2)按協議類型分類
距離矢量路由協議:rip1/2、BGP(路徑矢量協議)、EIGRP。(高級距離矢量協議)
鏈路狀態路由協議:OSPF、ISIS SPF最短路徑算法
四、BGP的特征
●傳輸協議:TCP,端口號179。
●BGP是外部路由協議,用來在AS之間傳遞路由信息。
●是一種增強的路徑矢量路由協議。
●擁有可靠的路由更新機制 。
●具備豐富的Metric度量方法。
●無環路協議設計。
●為路由條目附帶多種屬性信息。
●支持CIDR(無類別域間選路)。
●豐富的路由過濾和路由策略。
●無需周期性更新。
●路由更新時只發送增量路由。
●周期性發送KeepAlive報文以保持 TCP連通性。
五、BGP工作原理
BGP鄰居關系
BGP報文、BGP狀態機、BGP數據庫、BGP的類型。
1)BGP報文
●Open報文
OPen報文是TCP建立后發送的第一個報文,用於建立BGP對等體之間的連接關系,主要包含BGP版本號、本地AS編號、Holdtime等信息。
●UPdate報文
Update報文用來在BGP之間更新路由信息,Updata報文可以通告多條屬性相同的可達路由信息也可以撤銷多條路由不可達的路由信息。
●Notification報文
報文的作用是當BGP檢測到錯誤狀態時候,立即向對等體發送Notification報文,之后BGP就會中斷只要收到Notification報文就會返回idle狀態。
●Route-Refresh
用來告知對等體所支持路由的刷新能力,BGP的入口策略路由發生變化,本地的BGP路由會向對等體發送Route-Refresh報文,收到信息后,對等體將其路由信息重新發送給本地BGP路由器。
●KeepAlive
該報文在對等體之間周期的發送報文,用以保持連接的有效性並維護其連接,KeepAlive報文只有一個BGP報文頭,默認KeepAlive報文發送周期為60S,保持時間180S,這個類似於OSPF中的Hello報文。
Idle狀態
Connect狀態
Active狀態
Open Sent狀態
Open Confirm狀態
Established狀態
●IP路由表:全局路由信息庫,包括最優的IP路由信息。
●BGP路由表:BGP路由信息庫,包括本地BGPSpeak通告的路由信息,將其最優的添加到路由表中。
●鄰居表:對等體鄰居清單表,包括對等體兩端的鄰居信息及鄰居列表。
●Adi-RIB-In:對等體宣告給本地的Speak的未處理的路由信息庫。
●Adjust-RIB-OUT:本地Speak宣告給指定的對等體路由信息庫。
4)BGP的類型
兩種鄰居:IBGP和EBGP
IBGP:同一個AS內部BGP鄰居關系,IBGP鄰居是指運行BGP協議的對等體兩端在同一個AS域內,屬於BGP AS內部。
EBGP:AS之間的BGP鄰居關系,EBGP通常指運行BGP協議的對等體兩端在不同AS內部。