tft每日頭條

 > 生活

 > bgp協議原理及配置

bgp協議原理及配置

生活 更新时间:2024-11-18 03:33:04
2. BGP報文分類

BGP對等體間通過以下5種報文進行交互,其中Keepalive報文為周期性發送,其餘報文為觸發式發送:

  • OPEN報文:用于建立BGP對等體連接。
  • Update報文:用于在對等體之間交換路由信息。
  • Notification報文:用于中斷BGP連接。
  • Keepalive報文:用于保持BGP連接。
  • Route-refresh報文:用于在改變路由策略後請求對等體重新發送路由信息。隻有支持路由刷新(Route-refresh)能力的BGP設備會發送和響應此報文。
2.1 BGP 報文頭

bgp協議原理及配置(BGP協議原理-報文詳解)1

Marker(标記):16字節,固定為1。

Length(長度):兩字節無符号整數。指定了消息的全長,包括頭部。

Type(類型):1 字節,指示報文類型,如OPEN、UPDATE報文等 。

1 – OPEN

2 – UPDATE

3 – NOTIFICATION

4 – KEEPALIVE

5 – ROUTE-REFRESH

2.2 BGP Open報文

bgp協議原理及配置(BGP協議原理-報文詳解)2

Version:BGP的版本号。對于BGPv4來說,其值為4。

My Autonomous System:本地AS編号。通過比較兩端的AS編号可以确定是EBGP連接還是IBGP連接。

Hold Time:在建立對等體關系時兩端要協商Hold time,并保持一緻。如果兩端所配置的Hold time時間不同,則BGP會選擇較小的值作為協商的結果。如果在這個時間内未收到對端發來的Keepalive消息,則認為BGP連接中斷。

BGP Identifier:BGP路由器的Router ID,以IP地址的形式表示,用來識别BGP路由器。如果沒有通過命令router id進行配置,則按照如下規則進行選擇:優選Loopback接口地址中最大的地址作為Router ID,如果沒有Loopback接口配置了IP地址,則從其它配置了IP地址的物理接口中選擇一個最大IP地址的作為Router ID。

Opt Parm Len(Optional Parameters Length):可選參數的長度。如果為0則沒有可選參數。

Optional Parameters:是一個可選參數用于BGP驗證或多協議擴展(Multiprotocol Extensions)等功能。每一個參數為一個(Parameter Type-Parameter Length-Parameter Value)三元組。

對等體在接收到Open消息後,将發送Keepalive消息确認并保持連接的有效性。确認後,對等體間可以進行Update、Notification、Keepalive和Route-refresh消息的交換。

bgp協議原理及配置(BGP協議原理-報文詳解)3

2.3 BGP Keepalive報文

bgp協議原理及配置(BGP協議原理-報文詳解)4

KeepAlive報文主要用于對等體路由器間的運行狀态以及鍊路的可用性确認。KeepAlive 報文的組成隻包括一個BGP數據報頭。 KeepAlive 消息在對等體之間的交換頻率以保證對方保持定時器不超時為限。

當一台路由器與其鄰居建立BGP連接之後,将以Keepalive-interval設定的時間間隔周期性地向對等體發送KeepAlive 報文,表明該連接是否還可保持。

缺省情況下,發送KeepAlive 的時間間隔為 60 秒,Hold Time是180秒。每次從鄰居處接收到KeepAlive 報文将重置Hold Time定時器,如果Hold Time定時器超時,就認為對等體Down掉。

bgp協議原理及配置(BGP協議原理-報文詳解)5

2.4 BGP UPDATE報文

bgp協議原理及配置(BGP協議原理-報文詳解)6

UPDATE消息被用作在BGP對等體之間傳遞路由信息。多條可達路由信息可以被通告到相應的對等體上,或者多條不可達路由信息被撤消。UPDATE消息由以下五個部分組成:

Withdrawn Routes Length :(2字節無符号整數) 不可達路由長度,表示Withdrawn Routes字段的數據長度。如果Withdrawn Routes Length字段數值為0,則表示Withdrawn Routes字段沒有任何數據,在UPDATE消息中不會被顯示。

Withdrawn Routes :(變長) 撤銷路由。該字段包括一系列的IP地址前綴信息,以<length, prefix>的格式來表示,比如<19,198.18.160.0>表示一個198.18.160.0 255.255.224.0的網絡。

Path Attribute Length :(2字節無符号整數) 路由屬性長度,表示Path Attribute字段的數據長度。如果Path Attribute Length數值為0,則表示Path Attribute字段沒有任何數據,在UPDATE消息中不會被顯示。

Path Attributes :(變長) 路徑屬性。每個路徑屬性都是由三元組所組成:<attribute type, attribute length, attribute value>。

Network Layer Reachability Information :(變長) 網絡可達信息。包括一系列的IP地址前綴。格式與撤消路由字段一樣<length, prefix>。

最小UPDATE消息的長度為23個字節(19字節的報文頭 2字節的撤消路由長度 2字節的路徑屬性長度)。這樣的UPDATE消息被稱之為End-of-RIB,用于BGP GR。

一條UPDATE消息可以發布多條具有相同路由屬性的可達路由,這些路由可共享一組路由屬性。所有包含在一個給定的Update消息裡的路由屬性适用于該Update消息中的NLRI字段裡的所有目的地(用IP前綴表示)。

一條UPDATE消息可以撤銷多條不可達路由。每一個路由通過目的地(用IP前綴表示),清楚的定義了BGP Speaker之間先前通告過的路由。

一條UPDATE消息可以隻用于撤銷路由,這樣就不需要包括路徑屬性或者網絡可達信息。相反,也可以隻用于通告可達路由,就不需要攜帶Withdrawn Routes了。

bgp協議原理及配置(BGP協議原理-報文詳解)7

bgp協議原理及配置(BGP協議原理-報文詳解)8

bgp協議原理及配置(BGP協議原理-報文詳解)9

2.5 BGP NOTIFICATION報文

bgp協議原理及配置(BGP協議原理-報文詳解)10

Notification報文主要在發生錯誤或對等體連接被關閉的情況下使用,該消息攜帶各種錯誤碼(如定時器超時等),以及錯誤子碼和錯誤信息。

Errorcode:錯誤碼。1字節長的字段。每個不同的錯誤都使用唯一的代碼表示,而每一個錯誤碼都可以擁有一個或多個錯誤子碼,但如果某些錯誤碼并不存在錯誤子碼的話,則該錯誤子碼字段以全0表示。

Errsubcode:錯誤子碼。

消息頭錯誤子碼:

1 – 連接非同步

2 – 錯誤的消息長度

3 – 錯誤的消息類型

OPEN消息錯誤子碼:

1 – 不支持的版本号

2 – 錯誤的對等體AS号

3 – 錯誤的BGP ID

4 – 不支持的可選參數

5 – RFC1771裡被定義為認證失敗,RFC4271裡則對此表示反對。具體請參考RFC1771/RFC4271

6 – 不可接受的保持時間(Hold Time)

UPDATE消息錯誤子碼:

1 – 畸形的屬性列表

2 – 無法識别的公認屬性

3 – 缺少的公認屬性

4 – 屬性标志位錯誤

5 – 屬性長度錯誤

6 – 無效的ORIGIN屬性

7 – RFC1771裡被定義為AS路由環路,RFC4271裡對此表示反對。具體請參考RFC1771/RFC4271

8 – 無效的下一跳屬性

9 – 可選屬性錯誤

10 – 無效的網絡字段

11 – 畸形的AS_PATH

Data:依賴于不同的錯誤碼和錯誤子碼,用于标識錯誤原因。是一個可變長的字段,被NOTIFICATION用作診斷錯誤的原因。注:Data字段的長度可以由以下公式來決定:消息長度=21+Data長度 (NOTIFICATION消息最小長度為21個字節,其中已經包括消息頭。)

bgp協議原理及配置(BGP協議原理-報文詳解)11

bgp協議原理及配置(BGP協議原理-報文詳解)12

2.6 BGP NOTIFICATION報文

bgp協議原理及配置(BGP協議原理-報文詳解)13

AFI(Address Family Identifier):地址族标識符(2字節)。

Res.(Reserved field):保留區域(1字節),發送方應将其設置為0,接收方應當忽略該區域的信息。

SAFI(Subsequent Address Family Identifier):子地址族标識符(8字節)。

在所有BGP路由器使能Route-refresh能力的情況下,如果BGP的入口路由策略發生了變化,本地BGP路由器會向對等體發布Route-refresh消息,收到此消息的對等體會将其路由信息重新發給本地BGP路由器。這樣,可以在不中斷BGP連接的情況下,對BGP路由表進行動态刷新,并應用新的路由策略。

bgp協議原理及配置(BGP協議原理-報文詳解)14

bgp協議原理及配置(BGP協議原理-報文詳解)15

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved