BGP鄰居建立過程
BGP(Border Gateway Protocol)是一種用于自治系統(tǒng)(Autonomous System)之間的動態(tài)路由協(xié)議。BGP使用TCP作為其傳輸層協(xié)議(監(jiān)聽端口號為179)。
BGP對等體間通過以下5種報文進行交互,其中Keepalive報文為周期性發(fā)送,其余報文為觸發(fā)式發(fā)送:
??Open報文:用于建立BGP對等體連接。
??Update報文:用于在對等體之間交換路由信息。
??Notification報文:用于中斷BGP連接。
??Keepalive報文:用于保持BGP連接。
??Route-refresh報文:用于在改變路由策略后請求對等體重新發(fā)送路由信息。只有支持路由刷新(Route-refresh)能力的BGP設備會發(fā)送和響應此報文。
Open報文:
是TCP連接建立后發(fā)送的第一個報文,用于建立BGP鄰居之間的連接關(guān)系。BGP鄰居在接收到Open報文并協(xié)商成功后,將發(fā)送Keepalive報文確認并保持連接的有效性。確認后,BGP鄰居間可以進行Update、Notification、Keepalive和Route-refresh報文的交換。
Keepalive報文:
BGP路由器會周期性的向鄰居發(fā)出Keepalive報文,用來保持連接的有效性。
Update報文:
用于在BGP鄰居之間交換路由信息。Update報文可以發(fā)布多條屬性相同的可達路由信息,也可以撤銷多條不可達路由信息。
Route-refresh報文:
Route-refresh用于在改變路由策略后請求對等體重新發(fā)送路由信息。
Notification報文:
當BGP路由器檢測到錯誤狀態(tài)時,就向鄰居發(fā)出Notification報文,之后BGP連接會立即中斷。