如果您喜歡這裡的內容,記得分享到您的Facebook和Twitter上面所有的朋友們吧!

2016年10月31日 星期一

BGP載送的資訊(乘客),包含哪些?

一樣的,我這篇文章的目的,不是來取代Cisco BGP官方教材。原則上教材找得到的,我這裡就不重複了。


我們先從IPv4 Unicast開始,最早最早,BGP也只支援IPv4 Unicast。

從IPv4 Unicast單播的世界開始討論

當BGP設定好以後,協定所載送的資訊(乘客),很容易找到。只要執行 “show ip bgp”命令,所顯示出來的,就是目前BGP協定所維護的BGP資訊庫,也就是所有的BGP資訊的集合。

BGP資訊(乘客)的集合,我故意用「BGP資訊庫」來稱呼,和其他人的習慣不同。我知道有些教材或文件,稱為BGP路由表。為了避免讓大家和IP網路層的路由表(show ip route的輸出),有所混淆,我這裡不採用這個名詞。

每一筆BGP資訊,就是一筆使用中的IPv4單播目的地網段的資訊描述。

大致上,BGP資訊庫中,每一筆的BGP資訊,包含兩個部分。


(NLRI, Path Attributes)



乘客欄位一,Network Layer Reachability Information (NLRI)

我先不翻譯,這是IETF的用詞,簡單地說,就是IPv4目的地網段。例如,168.95.0.0/16。我們經常會聽到,目前的IPv4全球網段數目,超過500,000筆,所指的就是,所有可能的IPv4目的地網段,也就是所有可能的NLRI使用中的組合,超過五十萬個。

IETF稱呼這個欄位為泛用的名詞NLRI,我認為很有道理。馬上我們就會討論到這點。


乘客欄位二,Path Attributes,路徑屬性集合

教材裡面都看得到的,例如NEXT_HOP、AS-PATH、Origin、Local Preference等等。有了路徑屬性集合,路由器軟體才能針對BGP資訊庫來做過濾、篩選、內容調整、和檢查等等。

我這裡只解釋NEXT_HOP,其他的我留給教材。

NEXT_HOP欄位,是一個IPv4地址,會直接出現在IP網路層路由表 (show ip route所印出)的 “via” 後面,意思是經由哪一個IPv4地址,可以到達這個NLRI。在BGP協定的世界裡,NEXT_HOP幾乎都”不是”本地路由器的直接相接的網段,因此,NEXT_HOP還要再做遞迴回頭查詢IP網路層路由表,才能知道,真正直接相接的相鄰地址,到底是哪一個。

給定任何一個單播的目的地(NLRI),如果有很多BGP資訊,都告訴我們如何到達,那麼,只有”最好”的那一筆,他的NEXT_HOP才會進到IP網路層的路由表,當然NLRI就是目的地網段。如何選擇 “最好”,是BGP複雜的另一個主題,教材裡面有,Cisco也在網站上整理成13大規則 “BGP Best Path Selection Algorithm”,我這裡先不重複。

為何我只介紹 NEXT_HOP?因為,NEXT_HOP就是冠軍 (“最好”) 的獎盃,只有冠軍的NEXT_HOP,才會變成 “show ip route” 真正的 Via。

等等,只有這樣嗎?教材通常都寫得很複雜,簡單分類之後,真的只有這樣。


One more thing…

IPv4單播的世界以外,BGP協定必須要被擴充,新的協定,稱為Multiprotocol BGP (MBGP)。這個擴充協定,從名稱看起來很複雜,但是,如果從乘客資訊來看,並沒有想像中複雜。

MBGP所修改的欄位,只有NLRI,和NEXT_HOP。例如IPv6單播的世界,如果也用BGP來載送資訊,IPv6的目的的網段,改編碼成新的NLRI,同時NEXT_HOP改編成IPv6地址。其他完全不變!

例如是MPLS VPN的世界,NLRI所編碼的,除了VPN內部的目的地IPv4/IPv6網段之外,再加上Route Distingusher(RD),和VPN標籤。NEXT_HOP變成VPN內部的IPv4/IPv6地址。其他也都完全不變!


我和太湖第一次的接觸。
中國,無錫市




這篇文章中出現的照片,都是在下方的地圖附近,所拍攝的。

如果您喜歡這篇文章,不考慮試試Email訂閱嗎?


Related Posts with Thumbnails

0 意見:

張貼留言

小技巧:也可以 匿名 留言!

經典熱門文章