1. 程式人生 > 實用技巧 >BGP協議總結(1)

BGP協議總結(1)

BGP 邊界閘道器路由協議

BGP屬於無類別的路徑向量協議

1.IGP和EGP的不同

協議路由協議代表優點
EGP 外部閘道器路由協議BGP1.可控性強(管理員方便進行策略干涉選路)
2.可靠性強,基於TCP工作(BGP協議裝置間需要互動大量的路由條目,但又不能選擇週期更新來佔用鏈路資源,故只能進行觸發更新;且BGP協議工作環境中為節約成本,必然出現非直連建鄰—單播鄰居,)
3.AS-BY-AS
IGP 內部閘道器路由協議RIP、OSPF、EIGRP1.無環(選路佳)
2.收斂快
3.佔用資源小

2.BGP特點

  • BGP僅傳送單播訊息,並且要與每個對等體建立一個獨立的點到點的連線
  • BGP是一種使用TCP(埠號179)的應用層協議,依靠TCP的內在特性實現會話的維護功能(如確認重傳和排序)
  • BGP是一種向量協議,由於BGP將去往目的端的路由視為經過一系列自治系統的路徑。所以稱之為路徑向量協議。
  • BGP路由利用AS_PATH路由屬性來描述路徑向量,AS_PATH按序列列出了到達目的端的陸金所包含的AS號。
  • AS_PATH屬性是一種最短路徑行列式,如果有多條路徑去往同一目的端,那麼AS_PATH中AS號最少的路徑就是最短路徑。
  • 增量更新—僅觸發無週期
  • 具有豐富的屬性來取代IGP中度量進行選路----多個引數控制協議
  • 可以在進項和出項對流量實施強大的策略–可控性
  • 預設不被用於負載均衡-----通過各種選路規則僅僅產生一條最佳路徑
  • BGP支援認證和聚合(彙總)

3.BGP資料包

在建立BGP對等連線之前,兩個鄰居必須執行標準的TCP三次握手,並開啟埠179的TCP連線。所有BGP訊息都採取單播方式經TCP連線傳遞給鄰居。

4種基本訊息型別:

Open(開啟)訊息

Keepalive(保持啟用)訊息

Updata(更新)訊息

Notification(通告訊息)

1.Open訊息

TCp會話建立之後,兩個鄰居之間需要傳送Open訊息,每個鄰居都用該訊息標識自己,並指定BGP操作引數。

2.Keepalive訊息

如果路由器接受鄰居傳送的Open訊息中指定的引數,,那麼就響應一條Keepalive訊息。此後IOS將預設每60秒傳送一條Keepalive訊息,或者是按照已協商的保持時間的1/3為週期傳送Keepalive訊息。

3.Updata訊息

用於宣告可行路由、撤銷路由或兩者。

4.Notification訊息

路由器檢測到差錯之後會發送Notification訊息,並且總要關閉BGP連線

4.BGP工作過程

【1】配置完成後,鄰居間單播TCP三次握手,目標埠179,建立TCP會話;之後所有的BGP協議資料包基於該會話進行傳輸。

會話建立後,鄰居間正常收發一次open報文建立BGP的鄰居關係,生成鄰居表;

BGP協議的open報文中攜帶本地的RID—生成方式和ospf一直;僅需要本地及本地所有鄰居唯一即可。

【2】鄰居關機建立後,預設每1min使用Keepalive週期保活鄰居關係(週期保活TCP會話)。管理員選擇性將本地路由表通過任意來源獲取的路由條目,向BGP協議中進行宣告;使用Updata資料包進行鄰居間路由共享;之後生成BGP表。

【3】收斂完成後,僅Keepalive週期保活

【4】若出現錯誤資訊,鄰居間將使用Notification報文進行報錯操作。

結構突變:

【1】新增:本地使用Updata向本地所有鄰居告知,前提該路由不被已經發出的聚合路由包含。

【2】斷開:本地使用Updata向本地所有鄰居告知,前提該路由不被已經發出的聚合路由包含。

【3】無法溝通:hold time 3min,連續3次未收到鄰居的Keepalive,斷開鄰居關係、TCP會話,刪除從該鄰居處學習來的所有路由。

5.BGP路由黑洞

​ 非直連建鄰使得控制層面路由條目可以到達,遞迴路由可達,但是資料層面流量在經過沒有執行BGP協議的路由器時無法通過。
在這裡插入圖片描述

解決辦法:

  • 1.物理、邏輯拓撲全連(物理鏈路直連或者v*n)
  • 2.鄰居關係全連(網路中所有裝置執行BGP)
  • 3.BGP重發布到IGP
  • 4.MPLS(多協議標籤交換)

6.BGP的防環機制(水平分割)

1.EBGP水平分割

依賴BGP路由條目中的一種屬性來進行防環(AS_PASH路徑屬性)。BGP協議在傳遞路由條目的過程中,將記錄所有經過的AS的編號。

EBGP水平分割:接收到的路由條目中,若存在本地的AS號將拒絕該條目進入。

2.IBGP水平分割

在這裡插入圖片描述

本地從一個IBGP鄰居處學習到的路由條目,不得傳遞給本地的其他IBGP鄰居。

在IBGP水平分割的限制下,雖然避免了IBGP的環路產生,但同時使得AS內部為了能夠傳遞路由條目,必須倆倆間建立IBGP鄰居關係,鄰居關係成指數上升。可以使用聯邦、路由反射器來解決。