BGP的訊息型別以及格式

2021-08-02 03:55:16 字數 1536 閱讀 4387

bgp是建立在tcp之上的協議,tcp埠號179

1:open(開啟訊息)

2:keepalive(存活訊息)

3:update(更新訊息)

4:notification(報錯訊息)

bgp的所有訊息都會以該頭開始

maker(16位元組)——-全為1,標識bgp報文邊界

length(2位元組)——-bgp包全長,長度的值必須最少19位元組最大4096位元組。

type(1位元組)—

1 - open

2 - update

3 - notification

4 – keepalive

1.version(1位元組)—–當前的bgp版本號為4

2.my autonomous system(2位元組)—-傳送者自製系統號

3.hold time(2位元組)—-bgp hold time預設為180秒。如果180秒內,沒有收到keepalive訊息,則刪除bgp鄰居。

4.bgp identifier(4位元組)—-傳送者的bgp router-id.

5.optional parameters length(可選引數長度)(1位元組):如果這個域是0,說明沒有可選引數。

6.optional parameters(可選引數):這裡總長度是和optional parameters length指定的值是一致的。

從上可以看出open訊息最短也得是 19(固定頭長)+1+2+2+4+1 = 29位元組。

該報文比較簡單,只有bgp的固定頭。預設每60秒傳送一次,對等體收到後,會更新保活訊息計時,如果聯絡三次傳送的訊息,都沒到達對等體,那麼對方見刪除bgp鄰居。

建立鄰居時,bgp先嘗試與對等體建立乙個tcp連線。如果tcp連線建立成功,bgp傳送乙個open訊息給對端,並等待從對端發來的open訊息。收到乙個open訊息以後,bgp檢查該訊息的所有字段,如果沒有發現錯誤,則向對端傳送乙個keepalive訊息並啟動keepalive定時器。收到keepalive訊息,則鄰居建立。

bgp目的就是要通告路由,而所有路由的新增,更新,刪除都是依賴此訊息完成。

unfeasible routes length—-2位元組,指示了撤銷路由的位元組總長度。0說明沒有撤銷路由。

withdrawn routes —-之前發布過,不再有效的路由。總長度與unfeasible routes length值對應。

total path attribute length—-2位元組,0代表在update訊息中沒有網路層可達資訊域。

path attributes(路徑屬性):總長度和total path attribute length值對應。

當bgp檢測到錯誤狀態時,就向對等體發出notification訊息,之後bgp會話會立即中斷。該報文也比較簡單,在bgp固定頭之上,再增加四個位元組即可。

錯誤碼:

錯誤子碼:

參考文獻:

1 2

3

bgp訊息型別

bgp版本號 2,3或4,iso預設使用bgp 4,自動協商版本 ios12.0 6 t之前 自治系統號 該欄位表示的是會話發起路由器的as號,該資訊可以確定bgp會話是ebgp或ibgp會話。保持時間 hold time 該欄位表示路由器在收到keepalive訊息或者update訊息之前等待的最...

SWIFT電文型別及格式

swift電文型別 1 使用者報文,用於swift會員使用者之間相互傳送和接收的報文,也是swift報文最核心和最複雜的內容,mt1xx mt9xx類報文都屬於使用者報文。2 系統報文 system message 使用者swift系統反饋資訊給swift使用者的報文,如mt008 系統請求取消 m...

QUIC的那些事 包型別及格式

目錄 報文頭特殊報文 版本協商報文 public reset報文 普通報文 regular packet 幀包 frame packet fec包 fec packet 參考資料 quic 的 packet 除了個別報文比如 public reset 和 chlo,所有報文頭部都是經過認證的,報文 ...