【HCIP】3BGP協(xié)議-2.4BGP鄰居關系的建立

前期回顧:

BGPTCP三次握手后發(fā)送的報文:
open報文:
鄰居建立和能力參數(shù)協(xié)商,(至少有一個地址簇能力要一致)
keepalive報文:
默認每隔60s周期性發(fā)送,如果180s沒有收到keepalive報文,則認為BGP鄰居失效
斷開TCP連接。
update報文:
BGP路由傳遞以及撤銷
Route-refresh報文:
用于手動進行BGP路由的觸發(fā)更新,或者用于ORF功能。
Notificationn報文:
通知報文,用于報錯,收到該報文會斷開TCP連接。
BGP的狀態(tài)機:
Idle:
產(chǎn)生原因:
1、沒有去往鄰居地址的路由,無法發(fā)起TCP三次握手,也無法完成TCP的三次握手。
2、發(fā)起TCP連接請求后被對端拒絕,發(fā)起TCP報文的源地址,不是本端指定的鄰居地址。
Connect(連接):
產(chǎn)生原因:發(fā)起TCP連接路由器,無法收到鄰居的TCP回應報文時會變?yōu)閏onnect狀態(tài),并且5s后重傳一次TCP連接請求,再等待32s左右,重新發(fā)起TCP連接請求。
Active狀態(tài):
產(chǎn)生原因:

本節(jié)我們繼續(xù)從BGP建立鄰居前的TCP三次握手到發(fā)送Open報文、Keepalive報文。鄰居建立之后,我們對現(xiàn)網(wǎng)的操作可能會產(chǎn)生update報文。
現(xiàn)在我們談一談Update報文

Update報文

BGP通過Network和Import兩種方式生成BGP路由,BGP路由封裝在Update報文中通告給鄰居,BGP在鄰居關系建立后才開始通告路由信息。
Update消息主要用來發(fā)布可用路由和撤銷路由,Update中包含以下信息:
1、網(wǎng)絡層可達信息(NLRI):用來公布IP前綴和前綴長度。
2、路由屬性:為BGP提供環(huán)路檢測,控制路由優(yōu)選。
3、撤銷路由:用來描述無法到達且從業(yè)務中撤銷的路由前綴和前綴長度。
再通告BGP路由時,由于各種因素的影響,為了避免路由通告過程中出現(xiàn)的問題,BGP路由通告需要遵守一定的規(guī)則,下面進行詳細分析。

1、BGP通告原則之一:僅將自己最優(yōu)的路由發(fā)布給鄰居

[R1]dis bgp routing-table 

 BGP Local router ID is 1.1.1.1 
 Status codes: * - valid, > - best, d - damped,
           h - history,  i - internal, s - suppressed, S - Stale
           Origin : i - IGP, e - EGP, ? - incomplete
 Total Number of Routes: 2
  Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   2.2.2.2/32         0.0.0.0         0                     0      ?
 *>   10.1.12.0/24       0.0.0.0         0                     0      i

BGP路由信息中如何看一條鄰居是最好的路由?
在BGP路由表中,帶>的路由是最優(yōu)的路由。

2、BGP通告原則之二:通過EBGP獲得的最優(yōu)路由發(fā)布給所有BGP鄰居

3、BGP通告原則之三:通過IBGP獲得的最優(yōu)路由不會發(fā)布給其他的IBGP鄰居

這是IBGP中重要的防止環(huán)路規(guī)則之一,又稱之為IBGP的水平分割。

4、BGP通告原則之四:BGP與IGP同步

這個只會產(chǎn)生在BGP非全互聯(lián)的拓撲中,即同一個AS內(nèi)存在沒有做BGP處理的路由器中,才會進行BGP與IGP的同步。

路由黑洞

我們看以下實驗:


圖片.png

在這個拓撲圖中,BGP傳播路由是可以跨路由器傳遞的,A路由器可以將路由通過EBGP傳遞給B,B可以通過IBGP傳遞給D,因為B路由器到D路由器有運行OSPF協(xié)議,路由可達,D再次通過EBGP傳遞給E。
但是C路由器上卻沒有A路由器100.0.o.o的路由,因為C路由器沒有運行BGP協(xié)議。
這樣就會導致E路由器在回包的時候,將100.0.o.o的路由先發(fā)送給D,D繼續(xù)轉(zhuǎn)發(fā)給C,C直接丟棄。這就出現(xiàn)了BGP的路由黑洞。最終導致路由不通。
這種又該怎么處理呢?
其實,我們的D路由器會在IBGP報文發(fā)送過來之后,查詢自己的IGP路由表中是否存在該路由,如果存在,則認為在這個區(qū)域內(nèi),其他路由器都存在該條路由,就認為是同步了,繼續(xù)通過EBGP傳遞給E路由器,反之,則認為在這個區(qū)域內(nèi),其他路由器都不存在該條路由,直接丟棄。
*1、將EBGP路由引入到IGP協(xié)議中,(基本被淘汰)比較消耗設備資源,因為BGP路由數(shù)量過于龐大,引入到IGP協(xié)議,增加的IGP協(xié)議計算路由負擔。BGP路由震蕩,IGP路由也會產(chǎn)生震蕩。
*2、AS內(nèi)部所有路由器均運行BGP協(xié)議,即IBGP全互聯(lián)。主流架構,此時不再需要同步檢測。
從IBGP鄰居得到的路由不會傳遞給IBGP鄰居
從IBGP鄰居得到的路由同步檢測后傳遞給EBGP

記錄:

BGP防環(huán)機制:

1、AS內(nèi)部防患,IBGP的水平分割:通過IBGP獲得的最優(yōu)路由不會發(fā)布給其他的IBGP鄰居。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容