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