我我我
BGP并不能主動在網(wǎng)絡(luò)中尋找鄰居,必須手工指定BGP鄰居的地址,那么BGP才會將數(shù)據(jù)包發(fā)往指定的地址來請求建立鄰居,與此同時,BGP發(fā)出的請求數(shù)據(jù)包除了寫明目標IP地址外,還要寫上自己的IP地址,即BGP源地址。路由器自己產(chǎn)生流量后從接口發(fā)出時,流量從哪個接口被發(fā)出,那么這些數(shù)據(jù)包的源IP地址就是哪個接口的地址。因此當BGP發(fā)出數(shù)據(jù)包尋找鄰居時,這些數(shù)據(jù)包從哪個接口被發(fā)出,那么BGP源IP地址就是哪個接口的地址。要兩臺BGP路由器要正常建立鄰居,必須雙方路由器都相互指定鄰居,相互發(fā)送數(shù)據(jù)包才行。當一臺BGP路由器收到建立鄰居的請求后,如果發(fā)現(xiàn)數(shù)據(jù)包的目標IP不是自己的BGP源地址,那么就拒絕該連接請求,只有當請求數(shù)據(jù)包的目標IP與自己的BGP源地址相同時,才可建立BGP鄰居。需要注意的是,這個條件只在兩個鄰居之間,任意一個鄰居滿足條件即可,并不需要雙方都滿足,也就是說一方收到的數(shù)據(jù)包目標IP與自己的BGP源地址相同即可,另一方收到的數(shù)據(jù)包目標IP與它的BGP源地址不同也沒關(guān)系,只要單方面符合條件就行,但我們通常都將BGP兩端的源與目標保持一致。BGP的源地址是可以隨意更改的,但只能是路由器上的如下圖
在IGP協(xié)議中,我們將路由協(xié)議分成兩大類:距離矢量路由協(xié)議和鏈路狀態(tài)路由協(xié)議,而BGP被劃分為路徑矢量路由協(xié)議(path-vector routing),路徑矢量算法結(jié)合了距離矢量特性與AS-path防環(huán)特性。
因為BGP在將路由發(fā)給eBGP鄰居時,會將自己的AS號碼添加到AS-path中,所以可以以此來防止環(huán)路,而在將路由發(fā)給iBGP時,是不會往AS-path添加AS號碼的,因此在iBGP之間傳遞路由時,沒有防止環(huán)路的機制。考慮到為iBGP之間的路由傳遞也加入防環(huán)機制,因而強制將BGP路由在AS內(nèi)部只傳一跳,具體操作為:一臺BGP路由器從eBGP鄰居收到路由,發(fā)給iBGP鄰居之后,iBGP鄰居收到后就不能再傳給其它任何iBGP鄰居,只能傳遞給eBGP鄰居。此規(guī)則被多數(shù)人稱為BGP的水平分割,就是一臺BGP路由器從iBGP鄰居收到的路由,不能傳遞給其它iBGP鄰居,只能傳給eBGP鄰居。如下圖:
轉(zhuǎn)載于:https://blog.51cto.com/wandw/1739490
總結(jié)
- 上一篇: hive入ES5.6.8
- 下一篇: hadoop学习笔记-目录