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,所有報文頭部都是經過認證的,報文 ...