簡(jiǎn)述BGP知識(shí)點(diǎn)
BGP是路徑矢量協(xié)議,為每一個(gè)目的地構(gòu)造了一個(gè)基于自治系統(tǒng)的概要圖。NLRI=Network Layer Reachability Information,網(wǎng)絡(luò)層可達(dá)性信息,BGP是通過(guò)AS_PATH屬性檢測(cè)環(huán)路:如果AS_PATH中出現(xiàn)了自己的AS號(hào),那么這個(gè)前綴將被拒絕。準(zhǔn)確的說(shuō),這是針對(duì)eBGP。因?yàn)閕BGP是不檢查AS_PATH的!而且iBGP不會(huì)更改AS_PATH屬性。
那么iBGP是怎么防止環(huán)路的?通過(guò)iBGP宣告者不允許把一個(gè)iBGP對(duì)等體學(xué)到的前綴傳給另一個(gè)iBGP對(duì)等體。可是,由于這個(gè)原因,需要對(duì)所有iBGP對(duì)等體做全連接(fully meshed)才能保證前綴廣播到所有iBGP對(duì)等體。
iBGP vs eBGP:
1. iBGP通告local-prefence;eBGP不能;
2. iBGP不修改下一跳和AS_PATH,而eBGP可以;
3. iBGP有前綴同步要求(前綴需要在IGP存在才被廣播,而且如果IGP是OSPF的話,還需要路由器ID吻合;eBGP沒(méi)有前綴同步要求;如果此AS不是穿越AS,或是穿越AS但穿越路徑上都運(yùn)行了BGP,前綴同步可以關(guān)掉;
4. iBGP路由默認(rèn)情況下不會(huì)重分布到IGP。(可以通過(guò)bgp redistribute-internal修改)。eBGP沒(méi)有這個(gè)限制。
Cisco路徑?jīng)Q策
共有有13步,其中第10條是按照接收的先后順序,一般情況下比較到第10條就結(jié)束了。如果在下列情況下,第10條(先后順序)將被忽略而繼續(xù)比較:
1. bgp bestpath compare-routerid;
2. 多條路徑都是有相同的路由器ID,即是從同一鄰居過(guò)來(lái)的。(這種情況比較少見(jiàn),因?yàn)锽GP通常只宣告***的一條路徑)。
第11條是比較路由器ID,如果有RR屬性,就比較originatior_ID;
第12條是針對(duì)RR的環(huán)境,按照cluster_list長(zhǎng)度比較;
第13條優(yōu)選鄰居地址比較低的路徑。
BGP只讀模式(read-only)和讀寫(xiě)模式
BGP的路徑選擇過(guò)程在沒(méi)有接收到所有路徑信息時(shí)候就已經(jīng)開(kāi)始了,這樣導(dǎo)致重復(fù)發(fā)送某些前綴的***路徑。
在只讀模式下,BGP會(huì)在接收到全部路徑信息,路徑選擇出***路徑后才通告前綴。從會(huì)話建立的時(shí)間算起,只讀模式的上限是2分鐘。可以通過(guò)bgp update-delay來(lái)限制。BGP進(jìn)程在收到BGP keepalive消息時(shí)就自動(dòng)脫落只讀模式。
BGP NSF(不中斷轉(zhuǎn)發(fā))、GR(graceful restart,優(yōu)雅重啟)
在BGP路由器重新啟動(dòng)、RP的切換過(guò)程中,數(shù)據(jù)層面能夠繼續(xù)轉(zhuǎn)發(fā)數(shù)據(jù)。重啟時(shí),不發(fā)BGP notification;重啟后,建立新的TCP會(huì)話, 更新RIB和FIB。這通過(guò)BGP兩個(gè)補(bǔ)充去完成:
1.RIB結(jié)束標(biāo)志(end-of-RIB marker):
它是一種BGP update消息,不含可達(dá)到NLRI,或是withdrawal NLRI是空的。表示路由更新已經(jīng)結(jié)束,它允許BGP對(duì)等體在收到它之前保持只讀模式。雖然這個(gè)可以通過(guò)keepalive消息來(lái)完成,但并不是所有廠商都遵循。
2.GR能力(capability):
它表明對(duì)等體使用RIB結(jié)束標(biāo)志。重啟路由器為GR restarter;其對(duì)等體為GR helper。
當(dāng)GR restarter重啟時(shí),F(xiàn)IB被標(biāo)志為“過(guò)時(shí)”(stale)。GR restarter會(huì)與GR helper重新建立BGP會(huì)話,接收并處理對(duì)等體發(fā)過(guò)來(lái)的BGP路由更新,可是它會(huì)延遲路由選擇過(guò)程,等到收到所有對(duì)等體的RIB結(jié)束標(biāo)志。路由選擇完成后,更新轉(zhuǎn)發(fā)狀態(tài),刪除“過(guò)時(shí)”標(biāo)記,宣告adj-rib-out,和RIB結(jié)束標(biāo)志。
當(dāng)GR helper收到GR restarter的BGP會(huì)話的TCP reset后,保留并“過(guò)時(shí)”從該對(duì)等體收到的路由信息,也不會(huì)發(fā)送BGP notification消息。BGP會(huì)話重建后,發(fā)送路由更新和RIB結(jié)束標(biāo)志。然后收到對(duì)方路由更新和RIB結(jié)束標(biāo)志,此時(shí)刪除FIB“過(guò)時(shí)”標(biāo)記。如果在restarter timer內(nèi)無(wú)法重建BGP會(huì)話,刪除帶有“過(guò)時(shí)”的路由。重啟時(shí)間(restart timer)應(yīng)該小于保持時(shí)間(hold timer)。
路由抖動(dòng)衰減(route dampening)
重用閥值(reuse limit,750) < 抑制閥值(suppress limit,2000) < ***抑制閥值(max suppress limit)
- bgp dampening <half-life> <reuse-limit> <suppress-limit> <max-suppress-time>
- max-suppress-limit = reuse-limit x 2(max-suppress-time/half-time)
計(jì)算出來(lái)的***抑制閥值必須大于抑制閥值,否則懲罰是無(wú)效的。
當(dāng)所有RR客戶屬于同一個(gè)對(duì)等體組(peer-group),RR會(huì)把一客戶發(fā)送的前綴反射給所有的客戶,包括發(fā)起前綴的客戶。
團(tuán)體列表的匹配
- ip community-list 1 permit 100:1 100:2
- ip community-list 2 permit 100:1
- ip community-list 2 permit 100:2
列表1是邏輯與的關(guān)系;而列表2是邏輯或的關(guān)系。
而在路由映射match命令:
- match community 10 11
- match community 10
- match community 11
第1匹配是邏輯或的關(guān)系;第2匹配是邏輯與的關(guān)系。
BGP的相關(guān)概念就為大家介紹完了,希望大家已經(jīng)掌握。
【編輯推薦】






















