BGP、MP-BGP、EBGP、IBGP、OSPF、IGP、RIP、IS-IS的發展歷史以及各自關係?


既然美女都爆照了,勉強拋個石頭。

基本情況,其實前面的美女已經說了。這邊補錄一個圖,原諒我,MBGP實在不知道放在哪兒,後面再說。

1. IGP和EGP不是路由協議,而是一個分類;跟夫妻差不多,一個主內一個主外。

IGP分類很多,但最常見的無非距離矢量和鏈路狀態,他們的區別應該是面試最常見問題之一。

距離矢量協議:聽信謠言。類似, 你要從成都去北京,張三告訴你怎麼先到西安,李四告訴你,怎麼從西安到鄭州,王五再告訴你 怎麼從鄭州到北京。這樣一個個人跟你講,存在的問題就不言而喻了。(基本已淘汰)

鏈路狀態協議:全局考量。同樣要從成都去北京,實現的方式卻類似高德地圖,把全國地圖下載到本地,再根據擁堵狀況,計算一下,成都去北京怎麼走最近。最典型的這類協議就是OSPF和IS-IS。那麼問題來了,這兩個協議有什麼區別和聯繫呢?

2. OSPF和IS-IS區別和聯繫 (同樣是面試常見問題 )

A. 聯繫簡單說一下,都是鏈路狀體協議,都使用SPF演算法計算路徑,都通過區域建立分層等等!

B. 實際應用還是OSPF居多,IS-IS只是在運營商這類大網裡面運用。這跟這兩個協議的出身有千絲萬縷的關係,畢竟OSPF是親生的,IS-IS只是後娘養的,那他親娘是誰呢,就是已故的OSI七層模型了,現在可是TCP/IP的天下,誰能不照顧親生兒子呢。看兩個協議的配置就知道了。

【OSPF】 networknetwork 10.1.1.0 0.0.0.255 area 0 #這是你熟知的IP地址吧!

【IS-IS】 network-entity 10.0000.0000.0001.00 #這分明是OSI地址的餘孽!

C. IS-IS本身協議機制,相對於OSPF有一個最大的優勢就是 網路變化對整網影響小,所以它備受大網的青睞。(原諒我已經忘了到底是怎麼實現的,反正沒用過)

D. 另外IS-IS跟BGP都有一個共同點,就是有TLV欄位,說簡單點,就是當年搞這個協議的時候,留了幾個欄位沒用,以後可以擴展,所以擴展性比較強。這個功能比想像的厲害,以至於現在的TRILL/OTV/EVI等,底層都用IS-IS做控制,因為他有擴展欄位呀,可以在裡面傳MAC地址啥的,OSPF就是不行。

E. 別的區別還蠻多,對於一般人先了解這幾點吧,多了也記不住。

3. 最後說說EGP,現在存留下來的就只有BGP這個屠龍之術

A. 一般區域網是用不到的,在運營商/金融/公安等 大網中使用。它只負責大層面的事情,骨幹路由條目交互,底層還是需要IGP(OSPF/ISIS等)做支撐,類似大企業老總不可能面面俱到,只負責戰略與發展方向,具體事情還是要下面的人去處理。

B. 剛剛提到了IS-IS具備TLV欄位,其實BGP也具備,所以才有了後來的MBGP或者叫MP-BGP(多協議BGP)可以在TLV擴展欄位裡面去做擴展,實現不同的功能。比如MBGP在MPLS VPN裡面可以用來傳遞用戶VPN路由信息,可以在VXLAN這類大二層應用中用來傳遞MAC地址,用做這些協議的控制層面。

最後簡單總結一下這幾個協議目前的應用:

RIP: 基本已經見不到

OSPF:最常用的園區網路由協議,沒有之一

IS-IS:運營商內部常用的IGP,跟BGP一起使用

BGP:作為僅剩的EGP協議,也是超大網使用。iBGP和eBGP我覺得沒必要分那麼開,就是BGP。

MBGP:BGP協議的擴展,用來實現更高級的功能(比如MPLS VPN裡面用來傳遞用戶路由,VXLAN等大二層應用裡面,用來傳遞MAC地址等)

附:關於控制層面與數據層面,我也是花了N多年才搞明白。

舉個例子,我要從成都自駕去北京,那麼高德地圖就是我的控制層面,它告訴我怎麼走;就是我的轉發層面,它把我帶到那裡。

網路裡面一樣的道理,OSPF/BGP這些原生路由協議,就是控制層面,他們會生成路由表,告訴你怎麼走。高級一點的如:MBGP/IS-IS這些通過TLV擴展,實現更高級的控制功能,而不是路由表喔!(前面介紹過)

TCP/IP、UDP、VXLAN這些封裝協議,就是典型的數據層面/轉發層面。另外需要注意,控制層面一般通過CPU進行計算處理,轉發層面一般通過ASIC硬體晶元處理。最近幾年比較火的SDN,核心思路就轉控分離,用幾台x86伺服器做控制層面(不就是CPU計算么),下面都是白牌交換機做轉發(就做轉發,也就是數據封裝解封)。


推薦閱讀:

小米新路由器是否值得購買?
哪些品牌的家用無線路由器比較穩定?
如何更改無線路由器的定位?
openwrt,ddwrt,tomato,哪個路由器固件可以較方便的實現下列功能?
電力貓是否真的那麼神?

TAG:路由器 | 邊界網關協議 | 路由協議 | 網路工程師 |