BGP邊界網關協議 之一

BGP邊界網關協議 之一

IGP與EGP

IGP是運行於AS內部的路由協議,主要有: RIP, OSPF及ISIS。IGP著重於發現和計算路由。EGP是運行於AS之間的路由協議,現通常都是指BGP。BGP著重於控制路由的傳播和選擇最優的路由。

BGP全稱Border Gateway Protocol,邊界網關協議,是一種AS之間的動態路由協議,BGP採用TCP作為傳輸協議。

運行BGP路由協議的路由器叫作BGP Speaker,主要包括五種報文。

Open:該消息中包括了BGP的版本以及AS號等信息。

Keepalive:用來維護BGP鄰居關係,能夠週期性的交換該報文,進而達到判斷對等體之間的存活。

Update:用來交互路由信息的報文,也包括撤銷路由信息和可達路由信息的路由屬性。

Notification:該報文用來檢測BGP的差錯。

Route-refresh:用來通知對等體自己支持路由刷新能力。

報文格式

BGP報文頭

BGP邊界網關協議 之一


其中Marker為16字節,固定值為1;Length為2字節,代表消息的總長度;Type為1字節,代表消息類型,即五種報文類型。

Open報文

BGP邊界網關協議 之一


Version為1字節,代表BGP的版本號;

My AutonomousSystem為2字節,代表本地AS編號,此字段可以通過比較兩端的AS編號來判斷是EBGP連接還是IBGP連接;

Hold Time為2字節,如果Hold Time時間內未收到對端發來的Keepalive消息,則認為BGP連接中斷;

BGP Identifier為4字節,用來識別BGP路由器。如果沒有配置router id那麼選擇Loopback接口地址中最大的作為RouterID;如果也沒有Loopback接口;就從物理接口中選擇一個IP地址最大的作為Router ID。

KeepAlive報文

BGP邊界網關協議 之一


KeepAlive報文用於檢測對等體路由器間的運行狀態以及鏈路。

BGP Speaker建立鄰居後,會週期性地向對等體發送KeepAlive 報文,表明該連接是否還可保持。缺省情況下,發送KeepAlive 的時間間隔為 60 秒,Hold Time是180秒。每次從鄰居處接收到KeepAlive 報文將重置Hold Time定時器,如果Hold Time定時器超時,就認為對等體Down掉。兩邊時間不同時,協商Hold Time,Hold Time選擇小的。此時當Keepalive大於hold time/3,則為hold time/3;小於則不變。

Update報文

BGP邊界網關協議 之一


Withdrawn RoutesLength 代表不可達路由長度;

Withdrawn Routes:(變長) 撤銷路由。該字段包括一系列的IP地址前綴信息,以的格式來表示,比如<19,198.18.160.0>表示一個198.18.160.0 255.255.224.0的網絡;

Path Attribute Length 代表 路由屬性長度;

Path Attributes :(變長)路徑屬性。每個路徑屬性都是由三元組所組成:

Network LayerReachability Information :(變長) 網絡可達信息,。格式與撤消路由字段一樣;

一條UPDATE消息可以發佈多條具有相同路由屬性的可達路由,這些路由可共享一組路由屬性。所有包含在一個給定的Update消息裡的路由屬性適用於該Update消息中的NLRI字段裡的所有目的地(用IP前綴表示)。一條UPDATE消息可以撤銷多條不可達路由。

Notification

BGP邊界網關協議 之一


Route-Refresh報文

BGP邊界網關協議 之一


華為文檔解釋:

BGP邊界網關協議 之一



分享到:


相關文章: