BGP協議工作機制的簡單介紹
網絡協議中,BGP協議的使用在很多程度上來說是比較復雜的。這是因為不同主機的不同IP地址,以及不同的網絡接洽,不同終端和硬件接口等問題造成的。所以在我們的網絡協議中,路由協議的種類也非常的多。BGP是為TCP/IP互聯網設計的外部網關協議,用于多個自治域之間。它既不是基于純粹的鏈路狀態算法,也不是基于純粹的距離向量算法。它的主要功能是與其他自治域的BGP交換網絡可達信息。各個自治域可以運行不同的內部網關協議。BGP更新信息包括網絡號/自治域路徑的成對信息。自治域路徑包括到達某個特定網絡須經過的自治域串,這些更新信息通過TCP傳送出去,以保證傳輸的可靠性。
1.BGP協議簡介
BGP(Border Gateway Protocol)是一種自治系統間的動態路由發現協議。BGP 協議早期發布的三個版本分別是BGP-1(請參閱RFC1105)、BGP-2(請參閱RFC1163)和BGP-3(請參閱RFC1267),當前使用的版本是BGP-4(請參閱RFC1771)。BGP-4 適用于分布式結構,并支持無類域間路由CIDR(Classless Inter-Domain Routing)。利用BGP 還可以實施用戶配置的策略。
BGP-4正迅速成為事實上的Internet外部路由協議標準,BGP協議經常用于ISP之間。
2.BGP工作機制
BGP系統作為高層協議運行在一個特定的路由器上。系統初啟時BGP路由器通過發送整個BGP路由表與對等體交換路由信息,之后只交換更新消息(update message)。系統在運行過程中,是通過接收和發送keep-alive消息來檢測相互之間的連接是否正常的。
發送BGP消息的路由器稱為BGP發言人(speaker),它不斷地接收或產生新路由信息,并將它廣告(advertise)給其他的BGP發言人。當BGP發言人收到來自其他自治系統的新路由廣告時,如果該路由比當前已知路由好,或者當前還沒有該接收路由,它就把這個路由廣告給自治系統內所有其他的BGP發言人。一個BGP發言人也將同它交換消息的其他的BGP發言人稱為對等體(peer),若干相關的對等體可以構成對等體組(group)。
BGP協議在路由器上以下列兩種方式運行:
IBGP(Internal BGP)
EBGP(External BGP)
當BGP運行于同一自治系統(AS)內部時,被稱為IBGP;當BGP 運行于不同自治系統之間時,稱為EBGP。
BGP協議機的運行是通過消息驅動的,其消息共可分為4類:open messageupdate、 notification message、messagekeep-alive和message
open message是連接建立后發送的***個消息,它用于建立BGP協議對等體間的連接關系。
notification message是錯誤通告消息。
keep-alive message是用于檢測連接有效性的消息。
update message是BGP系統中最重要的信息,用于在對等體之間交換路由信息,它最多由3部分構成,即不可達路由(unreachable)、路徑屬性(path attributes)和網絡可達性信息NLRI(network layer reach/reachable information)。