本文編譯自networkfuntimes,作者Juniper Network網(wǎng)絡工程師Chris。
編者按:盡管 MPLS 技術已經(jīng)相當成熟,有關它的文章數(shù)不勝枚舉,涵蓋了從基本原理到 SR-MPLS 等方方面面。然而,令人意外的是,實際上大多數(shù)網(wǎng)絡工程師并沒有真正理解 MPLS。Juniper Network網(wǎng)絡工程師Chris通過他的個人經(jīng)歷對此進行了闡述。
失敗的 MPLS 面試
大約13年前,我在一家ISP公司從事二線支持工作。每天,我都在處理被稱作“MPLS電路”的客戶問題。當時,我并不明白這究竟意味著什么,但我清楚自己每天都在解決這些問題。于是,我決定參加一次與MPLS相關的工作面試。
我至今仍記得我的第一次面試。第一個問題是:“如何使用MPLS構(gòu)建BGP-free core”。
我一頭霧水。
我對面試官的問題毫無頭緒,接下來又被問及流量工程和RSVP等問題……整個面試過程讓我感到十分困惑。原來我對“MPLS”的理解完全錯了。
那次面試讓我認識到,當人們談論“購買MPLS電路”時,實際上是在使用MPLS這個術語來特指MPLS的一個具體用例,而非更廣泛的技術概念。
根據(jù)我多年來的經(jīng)驗,你現(xiàn)在也很有可能正在犯這個錯誤。
認知錯誤
MPLS在實質(zhì)上是支撐幾乎所有互聯(lián)網(wǎng)服務提供商的技術。它并非一種會很快被取代的技術,事實上,它每年都在不斷改進。
然而,每當提到MPLS時,總會有人聲稱“SD-WAN將取代MPLS”。但事實上,他們所指并非真正的MPLS,而是MPLS VPN,尤其是第三層MPLS VPN。接下來,我們將詳細探討這一誤解的含義,以及兩者之間的區(qū)別。
正是因為這種誤解,很多人不再深入學習MPLS。他們聽說這是一種即將被“SD-WAN取代”的技術,于是錯失了MPLS背后實際、更廣泛含義的技術。
那么,MPLS 究竟是什么?
這個問題的答案很長。
MPLS 是一種服務提供商用來管理網(wǎng)絡流量的技術。
通常,路由器會根據(jù)目標 IP 地址來轉(zhuǎn)發(fā)數(shù)據(jù)包。然而,在大型網(wǎng)絡中,特別是互聯(lián)網(wǎng)服務提供商的網(wǎng)絡中,這種簡單的方式就不夠用了。
首先,這些網(wǎng)絡需要處理大量的路由信息,每個路由器都必須知道整個互聯(lián)網(wǎng)的路由信息,以便能夠正確地轉(zhuǎn)發(fā)數(shù)據(jù)包。此外,服務提供商可能希望為不同的流量指定不同的路徑,而不是總是選擇最短路徑。
為了實現(xiàn)這一點,我們可以在網(wǎng)絡的兩端設置兩臺路由器,并通過一個隧道來傳輸數(shù)據(jù)。這個隧道可以沿著我們指定的路徑,或者根據(jù)路由器的約束條件計算出的路徑傳輸數(shù)據(jù)包。
隧道傳輸數(shù)據(jù)包的一種方式是在數(shù)據(jù)包上添加一個標簽,該標簽告訴下一個路由器該數(shù)據(jù)包應該如何轉(zhuǎn)發(fā)。這種標簽的好處是接收路由器不需要查看目標 IP 地址,只需要根據(jù)標簽來進行轉(zhuǎn)發(fā)。
例如,下圖中有十個路由器,R1 和 R5 之間有兩條隧道。藍色隧道采用最短路徑,可以專用于最重要的流量。紅色隧道采用較長的路徑,可以用于不妨礙最重要流量的best-effort流量。
MPLS(多協(xié)議標簽交換)就是通過標簽交換來實現(xiàn)這一點的技術。
它允許在數(shù)據(jù)包上添加標簽,并根據(jù)這些標簽來轉(zhuǎn)發(fā)數(shù)據(jù)包,而不是根據(jù)目標 IP 地址。這樣一來,我們就可以在大型網(wǎng)絡中更有效地管理流量,并為不同的流量分配不同的路徑。
看到這里有人想問,為什么需要隧道?
原因有很多,以下是 MPLS 隧道的一些潛在用例:
1. BGP-free core:在核心路由器上運行時,不需要存儲完整的互聯(lián)網(wǎng)路由表,只需根據(jù)標簽來轉(zhuǎn)發(fā)數(shù)據(jù)包。
2. 優(yōu)先級隧道:創(chuàng)建采用最佳路徑的高優(yōu)先級隧道,以及采用較長路徑到達目的地的低優(yōu)先級隧道,通過將流量映射到這些隧道,可以將高優(yōu)先級和低優(yōu)先級的流量分開。
3. 動態(tài)路徑調(diào)整:可以在檢測到網(wǎng)絡擁塞問題時動態(tài)更改路徑。
4. 資源優(yōu)化:自動將低優(yōu)先級隧道移動到不同的路徑,以確保重要隧道能夠訪問最佳資源。
5. IPv4 到 IPv6 隧道:在 IPv4 核心上傳輸 IPv6 流量。
6. 多播隧道:在核心中運行多播隧道,如為客戶提供 IPTV。
7. VPN 隧道:通過核心網(wǎng)對客戶的三層或二層 VPN 流量進行隧道傳輸。
8. 連接服務提供商站點:大型服務提供商可以將較小服務提供商的兩個站點連接在一起,使兩個站點看起來像是合二為一,而較大的服務提供商則充當這些站點之間的隱形隧道。
這些只是 MPLS 在現(xiàn)代服務提供商網(wǎng)絡中的一小部分基本用例。
標簽交換路徑
在前面的討論中,我們提到了許多關于“隧道”的內(nèi)容,實際上,“隧道”的另一個名稱就是“標簽交換路徑”,而創(chuàng)建隧道的協(xié)議有很多種。
其中之一是LDP標簽分發(fā)協(xié)議(Label Distribution Protocol)。LDP可以創(chuàng)建遵循最佳路徑度量的隧道,同時也可以執(zhí)行IPv6隧道、客戶VPN隧道以及無BGP核心等操作。
此外,還有RSVP源預留協(xié)議(Resource Reservation Protocol),它以其流量工程功能而聞名。
另一種較新的方法是分段路由(Segment Routing),特別是SR-MPLS,它也提供了上述許多功能。
MPLS允許在數(shù)據(jù)包上添加標簽,然后根據(jù)這些標簽來轉(zhuǎn)發(fā)數(shù)據(jù)包。MPLS與BGP的結(jié)合可以為整個互聯(lián)網(wǎng)賦能,因此MPLS將在很長一段時間內(nèi)繼續(xù)存在。
“網(wǎng)絡總是在變化,沒有人知道未來會發(fā)生什么,但如果一個18歲的年輕人今天開始在服務提供商行業(yè)工作,并在退休后仍然使用MPLS,那一點也不令人驚訝。這正顯示了MPLS對現(xiàn)代互聯(lián)網(wǎng)的重要性!”
人們認為 MPLS 意味著什么?
MPLS的一個用例是通過核心網(wǎng)隧道傳輸客戶VPN流量。
想象一下,一個客戶在全國各地有數(shù)十個站點。每個站點都有至少一個私有IP地址范圍的LAN,并且需要連接到其他站點的各個LAN。這種連接可以是全網(wǎng)狀的,每個站點都可以訪問其他所有站點,也可以只是在幾個選定的站點之間,或者只是從總部中心向外擴展。
由于運行 MPLS 的服務提供商只查看數(shù)據(jù)包上的標簽,而不是 IP 本身,這使得服務提供商能夠使用 MPLS 為此類客戶提供 VPN 服務。客戶流量可以使用唯一的 MPLS VPN 標簽進行標記,然后通過標簽交換路徑進行隧道傳輸。隧道另一端的接收服務提供商路由器將該 VPN 標簽映射到特定客戶,從而使該客戶的流量在邏輯上與任何其他客戶(甚至是使用完全相同的私有 IP 的客戶)分開。
一般來說,MPLS VPN 有兩種“類型”。
一種是“三層VPN”(有時稱為L3VPN、IPVPN或VPNv4),服務提供商了解每個站點的LAN范圍,并在自己的網(wǎng)絡中發(fā)布它們,將它們標記為屬于特定客戶VPN。不論是用BGP、OSPF,或者可能只用靜態(tài)路由,服務提供商的邊緣路由器都有一個用于該客戶VPN的三層路由表。
另一種是“二層VPN”,服務提供商不學習第三層IP范圍,而是執(zhí)行以下兩項操作之一:
1)可以充當將兩個站點連接在一起的虛擬線路,以便從一端進入的幀通過隧道傳輸?shù)搅硪欢?。服務提供商不需要在這里學習MAC地址,因為從一端進入的所有流量都會在另一端發(fā)出。
2)充當虛擬交換機,服務提供商實際上可以在其中學習MAC地址。對于托管WAN電路的現(xiàn)場客戶設備而言,它可以直接獲知其他站點設備的MAC地址。但實際上,就像物理交換機一樣,服務提供商正在無形地檢查流量,了解所有MAC地址的位置,并相應地轉(zhuǎn)發(fā)和洪泛流量。VPLS(虛擬專用LAN服務)和EVPN(以太網(wǎng)VPN)是實現(xiàn)這一目的的兩種不同方式。
“MPLS 電路”
不知道從什么時候開始,MPLS電路(MPLS circuits)這個詞被用來代指MPLS VPN。
有趣的是,通過這些所謂的MPLS電路傳輸?shù)臄?shù)據(jù)包實際上并不攜帶任何MPLS標簽!標簽只出現(xiàn)在網(wǎng)絡的服務提供商部分??蛻衄F(xiàn)場路由器根本不支持MPLS。相反,WAN電路的服務提供商端的接口將從公共互聯(lián)網(wǎng)中取出,并放置到客戶的私有路由實例中。然后,服務提供商使用MPLS在其網(wǎng)絡中傳輸VPN流量。
因此,嚴格來說,MPLS電路并不涉及任何MPLS技術。
這種誤用的結(jié)果是,許多網(wǎng)絡工程師錯誤地認為“MPLS”這個術語只有MPLS VPN 和 L3VPN一個含義。他們也不了解標簽、標簽交換路徑、LDP 或 RSVP等相關概念。
“SD-WAN 是 MPLS 殺手?”
自2010年代以來,關于“SD-WAN是MPLS的殺手”的言論層出不窮。
很多人只熟悉MPLS L3VPN,就宣稱MPLS即將退出歷史舞臺,因為他們沒有意識到MPLS一詞還有另一個更廣泛的含義。
我已經(jīng)記不清我寫過多少篇關于MPLS流量工程或BGP-free core的文章,但還是有很多人評論“我不認為MPLS有未來”或“我認為SD-WAN將取代MPLS”。
然而,MPLS不會很快消失。
就其價值而言,我不認為SD-WAN會“殺死”MPLS VPN。SD-WAN和MPLS VPN都有各自的用例,各有優(yōu)缺點。只能說隨著時間的推移,一種解決方案可能會比另一種更受歡迎。
審核編輯 :黃飛
評論
查看更多