2020-08-28:邊緣網關協議瞭解麼?簡單描述一下。

福哥答案2020-08-28:微信


1.邊界網關協議(BGP)是運行於 TCP 上的一種自治系統的路由協議。BGP 是惟一一個用來處理像因特網大小的網絡的協議,也是惟一可以妥善處理好不相關路由域間的多路鏈接的協議。BGP 構建在 EGP 的經驗之上。BGP 系統的主要功能是和其餘的 BGP 系統交換網絡可達信息。網絡可達信息包括列出的自治系統(AS)的信息。這些信息有效地構造了 AS 互聯的拓撲圖並由此清除了路由環路,同時在 AS 級別上可實施策略決策。網絡


2.BGP路由選擇協議執行中使用5種分組:打開分組(open)、更新分組(update)、存活分組(keepalive)、通告分組(notification)、Route-refresh路由重發。架構


3.BGP鄰居創建中的狀態和過程以下:併發

空閒(Idle):爲初始狀態,當協議激活後開始初始化,復位計時器,併發起第一個TCP鏈接,並開始傾聽遠程對等體所發起的鏈接,同時轉向Connect狀態。。負載均衡

鏈接(Connect):開始TCP鏈接並等待TCP鏈接成功的消息。若是TCP鏈接成功,則進入OpenSent狀態;若是TCP鏈接失敗,進入Active狀態。.net

行動(Active):BGP老是試圖創建TCP鏈接,若鏈接計時器超時,則退回到Connect狀態,TCP鏈接成功就轉爲Open sent狀態。blog

OPEN發送(Open sent):TCP鏈接已創建,本身已發送第一個OPEN報文,等待接收對方的Open報文,並對報文進行檢查,若發現錯誤則發送Notification消息報文並退回到Idle狀態。若檢查無誤則發送Keepalive消息報文,Keepalive計時器開始計時,並轉爲Open confirm狀態。路由

OPEN證明(Open confirm):BGP等待Keepalive報文,同時復位保持計時器。若是收到了Keepalive報文,就轉爲Established狀態,鄰居關係協商完成。若是系統收到一條更新或Keepalive消息,它將從新啓動保持計時器;若是收到Notification消息,BGP就退回到空閒狀態。get

已創建(Established):即創建了鄰居(對等體)關係,路由器將和鄰居交換Update報文,同時復位保持計時器。同步


4.BGP在進行路由通告的時候,須要遵循如下原則:

多條路徑時,BGP Speaker只選最優的給本身使用(負載均衡和FRR除外)。

BGP Speaker只把本身使用的路由(最優路由)通告給相鄰體。

BGP Speaker從EBGP得到的路由會向本身全部BGP相鄰體通告(包括EBGP和IBGP)。

BGP Speaker從IBGP得到的路由不向本身的IBGP相鄰體通告(反射器除外)。

BGP Speaker從IBGP得到的路由是否通告給本身的EBGP相鄰體要根據IGP和BGP同步的狀況來決定。

當收到對端的refresh報文而且本端鄰居支持refresh能力,BGP Speaker將把本身所 有BGP路由通告給對等體。

GR過程當中,主備倒換方在GR結束時BGP Speaker會把本身全部BGP路由通告給對等體。


5.路徑屬性分爲4類:公認必遵、公認自決、可選過渡、可選非過渡。


6.協議結構

Marker (16 bytes) Length (2 bytes) Type (1 byte)

Marker – 信息包含信息接收端可預測值。

Length – 包含協議頭的信息長度。

Type –信息類型。信息多是:Open、Update、Notification、Keepalive。

***

[評論](https://user.qzone.qq.com/3182319461/blog/1598568426)


本文分享自微信公衆號 - 福大大架構師每日一題(gh_bbe96e5def84)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索