1. 程式人生 > >0x16 HCNP-R&S BGP原理詳解(一)

0x16 HCNP-R&S BGP原理詳解(一)

自治系統(AS):由同一個技術管理機構管理、使用統一選路策略的一些路由器的集合。

 

IGP

內部閘道器協議

運行於AS內部

著重於發現和計算路由

主要有:RIP、OSPF、ISIS

EGP

外部閘道器協議

運行於AS之間

著重於控制路由的傳播和選擇最優的路由

主要有:BGP

 

BGP邊界閘道器協議   距離向量演算法  EGP

BGP是外部路由協議,用來在AS之間傳遞路由資訊

是一種增強的距離向量路由協議

可靠的路由更新機制

豐富的Metric度量方法

從設計上避免了環路的發生

為路由附帶屬性資訊

支援CIDR(無類別域間選路)

豐富的路由過濾和路由策略

BGP可靠的路由更新,採用TCP179埠,無需週期性更新,路由更新只發送增量路由,週期性傳送keepalive報文檢測TCP的連通性

 

執行BGP協議的路由器稱為BGP發言者  BGP speaker

相互之間存在TCP連線、相互交換路由資訊的BGP發言者之間胡成為BGP對等體(BGP Peer)

 

BGP兩種鄰居關係

IBGP:兩個BGP speak位於同一個AS內

EBGP:兩個BGP speak位於不同一個AS內

 

BGP如何方式環路

1、AS內防止環路 從IBGP鄰居獲得的路由不會向其他IBGP鄰居傳送

2、AS間如何防止 通過AS_PATH屬性

 

BGP基本作用:AS之間使用BGP來傳遞和控制路由。

執行在不同AS之間的BGP路由器建立的鄰居關係為EBGP(External BGP)鄰居關係。

執行在相同AS的BGP路由器建立的鄰居關係為IBGP(Internal BGP)鄰居關係。

BGP路由生成方式

BGP路由生成方式--network

Network命令是逐條將IP路由表中已經存在的路由引入到BGP路由表中。

BGP路由生成方式--import

Import命令是根據執行的路由協議(RIP,OSPF,ISIS等)將路由引入到BGP路由表中,同時import命令還可以引入直連和靜態路由。

 

BGP通告原則:

1,BGP通告原則之一:僅將自己的最優的路由釋出給鄰居

2,BGP通告原則之二:通過EBGP獲得最優路由釋出給所有BGP鄰居(包括IBGP鄰居和EBGP鄰居)

3,BGP通告原則之三:通過IBGP獲得的最優路由不會發布給其他的IBGP鄰居(防止環路)

在AS要求所有BGP路由器全互聯

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

 

BGP五種報文型別:

Open:負責和對等體建立鄰居關係

KeepAlive:該訊息在對等體之間週期性地傳送,用以維護連線

Update:該訊息被用來在BGP對等體之間傳遞路由資訊

Notification:當BGP Speaker檢測到錯誤的時候,就傳送該訊息給對等體

Route-refresh:用來通知對等體自己支援的路由重新整理能力

BGP屬性

公認屬性是所有BGP路由器都必須識別的屬性

公認必遵(Well-known Mandatory)所有BGP路由器都可以識別,且必須存在於Update訊息中。如果缺少這種屬性,路由資訊就會報錯。

公認任意(Well-known Discretionary)所有BGP路由器都可以識別,但不要求必須存在於Update訊息中,可以根據具體情況來決定是否新增到Update訊息中。

可選屬性不需要都被BGP路由器所識別

可選過渡(Optional Transitive)BGP路由器可以選擇是否在Update訊息中攜帶這種屬性。接受的路由器如果不識別這種屬性,可以轉發給鄰居路由器,鄰居路由器可能會識別並使用到這種屬性。

可選非過渡(Optional Non-Transitive)BGP路由器可以選擇是否在Update訊息中攜帶這種屬性。在整個路由釋出的路徑上,如果部分路由器不能識別這種屬性,可能會導致該屬性無法發揮效用。因此接收的路由器如果不識別這種屬性,將丟棄這種屬性,不必再轉發給鄰居路由器。

 

屬性功能

起點

通過network命令注入BGP的路由

IGP

通過EGP(RFC904)學到的路由

EGP

通過import命令注入BGP的路由

Incomplete

 

AS路徑(AS_PATH)屬性

記錄途徑過之後的AS編號,對於含有自己AS編號的路由進行丟棄,防止環路

 

Next_hop下一跳屬性

向內網BGP通告時,不會更改下一跳

 

 本地優先順序屬性 (Local-Preference)

用以出去進行選路  優先順序來比較   預設是100   該值越大越優先

 

MED (Multi-Exit-DISC) 屬性 

用以進入進行選路                                預設是0        該值越小越優先

 

Community團體屬性

限定路由的傳播範圍,打標記,便於對符合相同條件的路由進行統一處理

 

Preference Value是BGP的私有屬性(華為私有屬性),Preference Value相當於選路規則中Weight值,僅在本地路由器生效。Preference Value值越大,越優先。

BGP路由優選原則

BGP路由器將路由通告給鄰居後,每個BGP鄰居都會進行路由優選,路由選擇有三種情況:

  • 該路由是到達目的地的唯一路由,直接優選。
  • 對到達同一目的地的多條路由,優選優先順序最高的。
  • 對到達同一目的地且具有相同優先順序的多條路由,必須用更細的原則去選擇一條最優的。

一般來說,BGP計算路由優先順序的規則如下:

  • 丟棄下一跳不可達的路由。
  • 優選Preference_Value值最高的路由(私有屬性,僅本地有效)。
  • 優選本地優先順序(Local_Preference)最高的路由。
  • 優選手動聚合>自動聚合>network>import>從對等體學到的
  • 優選AS_Path短的路由。
  • 起源型別IGP>EGP>Incomplete。
  • 對於來自同一AS的路由,優選MED值小的。
  • 優選從EBGP學來的路由(EBGP>IBGP)。
  • 優選AS內部IGP的Metric最小的路由。
  • 優選Cluster_List最短的路由。
  • 優選Orginator_ID最小的路由。
  • 優選Router_ID最小的路由器釋出的路由。
  • 優選具有較小IP地址的鄰居學來的路由。

 

路由聚合:減少路由條目

RIP支援自動聚合和手動聚合

OSPF只支援手動聚合(必須是ABR或者ASBR)

BGP支援自動聚合和手工聚合

 

BGP路由聚合方法

1、靜態

2、自動聚合

3、手動聚合

 

BGP路由聚合帶來的問題--潛在的環路

解決方法:路由聚合帶AS_SET(記錄了被聚合路由所經過的AS)