一、了解MPLS背景
1、傳統(tǒng)的 IP 數(shù)據(jù)轉(zhuǎn)發(fā)是基于逐跳式的,每個(gè)轉(zhuǎn)發(fā)數(shù)據(jù)的路由器都要根據(jù) IP 包頭的目的地址查找路由表來(lái)獲得下一跳的出口,這是個(gè)繁瑣又效率低下的工作,主要的原因是兩個(gè):1、有些路由的查詢必須對(duì)路由表進(jìn)行多次查找,這就是所謂的遞歸搜索;2、由于路由匹配遵循最長(zhǎng)匹配原則,所以迫使幾乎所有的路由器的交換引擎必須用軟件來(lái)實(shí)現(xiàn),用軟件實(shí)現(xiàn)的交換引擎和 ATM 交換機(jī)上用硬件來(lái)實(shí)現(xiàn)的交換引擎在效率上無(wú)法相 抗衡。當(dāng)今的互聯(lián)網(wǎng)應(yīng)用需求日益增多,對(duì)帶寬、對(duì)時(shí)延的要求也越來(lái)越高。如何提高轉(zhuǎn)發(fā)效率,各個(gè)路由器生產(chǎn)廠家做了大量的改進(jìn)工作,如 Cisco 在路由器上提供 CEF(Cisco Express Forwarding)功能、修改路由表搜索算法等等。但這些修補(bǔ)并不能完全解決目前互聯(lián)網(wǎng)所面臨的問(wèn)題。
2、IP 和 ATM 曾經(jīng)是兩個(gè)互相對(duì)立的技術(shù),各個(gè) IP 設(shè)備制造商和 ATM 設(shè)備制造商都曾努力想吃掉對(duì)方,想 IP 一統(tǒng)天下,或者 ATM一家獨(dú)秀!但是最終是這兩種技術(shù)的融合,那就是 MPLS(Multi-Protocol Label Switching)技術(shù)的誕生!MPLS 技術(shù)結(jié)合和 IP 技術(shù)信令簡(jiǎn)單和 ATM 交換引擎高效的優(yōu)點(diǎn)!
二、MPLS標(biāo)簽
1、標(biāo)簽結(jié)構(gòu)
IP 設(shè)備和 ATM 設(shè)備廠商實(shí)現(xiàn) MPLS 技術(shù)是在各自原來(lái)的基礎(chǔ)上做的,對(duì)于 IP 設(shè)備商,它修改了原來(lái) IP 包直接封裝在二層鏈路幀中的規(guī)范,而是在二層和三層包頭之間插了一個(gè)標(biāo)簽(Label),而 ATM 設(shè)備制造商利用了原來(lái) ATM 交換機(jī)上的 VPI/VCI 的概念,在使用 Label 來(lái)代替了 VPI/CVI,當(dāng)然 ATM 交換機(jī)上還必修改信令控制部分,引入了路由協(xié)議,ATM 交換使用了路由協(xié)議來(lái)和其他設(shè)備交換三層的路由信息。
1)、20 比特的 LABEL 字段用來(lái)表示標(biāo)簽值,由于標(biāo)簽是定長(zhǎng)的,所以對(duì)于路由器來(lái)說(shuō),可以分析定長(zhǎng)的標(biāo)簽來(lái)做數(shù)據(jù)包的轉(zhuǎn)發(fā),這是標(biāo)簽交換的最大優(yōu)點(diǎn),定長(zhǎng)的標(biāo)簽就意味這可以用硬件來(lái)實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā),這種硬件轉(zhuǎn)發(fā)方式要比必須用軟件實(shí)現(xiàn)的路由最長(zhǎng)匹配轉(zhuǎn)發(fā)方式效率要高得多!
2)、3 比特的 EXP 用來(lái)實(shí)現(xiàn) QOS
3)、1 比特 S 值用來(lái)表示標(biāo)簽棧是否到底了,對(duì)于 VPN,TE 等應(yīng)用將在二層和三層頭之間插入兩個(gè)以上的標(biāo)簽,形成標(biāo)簽棧。
4)、8 比特 TTL 值用來(lái)防止數(shù)據(jù)在網(wǎng)上形成環(huán)路
2、LSR設(shè)備及MPLS架構(gòu)
能支持標(biāo)簽交換的路由器為 LSR(Label Switch Router)
LSR 的體系結(jié)構(gòu)分為兩塊:
1). 控制平面(Control Plane)
該模塊的功能是用來(lái)和其他 LSR 交換三層路由信息,以此建立路由表;和交換標(biāo)簽對(duì)路由的綁定信息,以此建 LabelInformation Table(LIB)標(biāo)簽信息表。同時(shí)再根據(jù)路由表和 LIB 生成 Forwarding InformationTable(FIB)表和 Label Forwarding Information Table(LFIB)表。控制平面也就是我們一般所說(shuō)的路由引擎模塊!
2).數(shù)據(jù)平面(Data Plane)
數(shù)據(jù)平面的功能主要是根據(jù)控制平面生成的 FIB 表和 LFIB 表轉(zhuǎn)發(fā) IP 包和標(biāo)簽包。對(duì)于控制平面中所使用的路由協(xié)議,可以使用以前的任何一種,如 OSPF、RIP、BGP 等等,這些協(xié)議的主要功能是和其他設(shè)備交換路由信息,生成路由表。這是實(shí)現(xiàn)標(biāo)簽交換的基礎(chǔ)。在控制平面中導(dǎo)入了一種新的協(xié)議—LDP,該協(xié)議的功能是用來(lái)針對(duì)本地路由表中的每個(gè)路由條目生成一個(gè)本地的標(biāo)簽,由此生成 LIB 表,再把路由條目和本地標(biāo)簽的綁定通告給鄰居 LSR,同時(shí)把鄰居LSR 告知的路由條目和標(biāo)簽幫定接收下來(lái)放到 LIB 表里,最后在網(wǎng)絡(luò)路由收斂的情況下,參照路由表和 LIB 表的信息生成 FIB 表和 LFIB 表。
3、MPLSVPN
1)、為了讓 PE 路由器上能區(qū)分是哪個(gè)本地接口上送來(lái)的 VPN 用戶路由,在 PE 路由器上創(chuàng)建了大量的虛擬路由器,每個(gè)虛擬路由器都有各自的路由表和轉(zhuǎn)發(fā)表,這些路由表和轉(zhuǎn)發(fā)表統(tǒng)稱為 VRF(VPN Routing and Forwarding instances)。一個(gè) VRF 定義了連到 PE路由器上的 VPN 成員。VRF 中包含了 IP 路由表,IP 轉(zhuǎn)發(fā)表(也成為 CEF 表),使用該 CEF 表的接口集和路由協(xié)議參數(shù)和路由導(dǎo)入導(dǎo)出規(guī)則等等。在 VRF 中定義的和 VPN 業(yè)務(wù)有關(guān)的兩個(gè)重要參數(shù)是 RD(Route Distinguisher)和 RT(Route Target).有了虛擬路由器就能隔離不同 VPN 用戶之間的路由,也能解決不同 VPN 之間 IP 地址空間重疊的問(wèn)題。
2)、BGP/MPLS IP VPN是一種L3VPN(Layer 3 Virtual Private Network)。它使用BGP(Border Gateway Protocol)在服務(wù)提供商骨干網(wǎng)上發(fā)布VPN路由,使用MPLS(Multiprotocol Label Switch)在服務(wù)提供商骨干網(wǎng)上轉(zhuǎn)發(fā)VPN報(bào)文。這里的IP是指VPN承載的是IP(Internet Protocol)報(bào)文。
3)、BGP/MPLS IP VPN的基本模型由三部分組成:CE、PE和P。
CE(Customer Edge):用戶網(wǎng)絡(luò)邊緣設(shè)備,有接口直接與服務(wù)提供商網(wǎng)絡(luò)相連。CE可以是路由器或交換機(jī),也可以是一臺(tái)主機(jī)。通常情況下,CE“感知”不到VPN的存在,也不需要支持MPLS。
PE(Provider Edge):是服務(wù)提供商網(wǎng)絡(luò)的邊緣設(shè)備,與CE直接相連。在MPLS網(wǎng)絡(luò)中,對(duì)VPN的所有處理都發(fā)生在PE上,對(duì)PE性能要求較高。
P(Provider):服務(wù)提供商網(wǎng)絡(luò)中的骨干設(shè)備,不與CE直接相連。P設(shè)備只需要具備基本MPLS轉(zhuǎn)發(fā)能力,不維護(hù)VPN信息。
PE和P設(shè)備僅由服務(wù)提供商管理;CE設(shè)備僅由用戶管理,除非用戶把管理權(quán)委托給服務(wù)提供商。
如果喜歡這段內(nèi)容,歡迎大家點(diǎn)贊、收藏、分享、轉(zhuǎn)發(fā)。歡迎網(wǎng)絡(luò)技術(shù)愛好者加入網(wǎng)絡(luò)狂熱愛好者圈子交流,圈內(nèi)持續(xù)更新分享【干貨】網(wǎng)絡(luò)技術(shù),堅(jiān)持下去你會(huì)發(fā)現(xiàn)有意外的成長(zhǎng)和收獲!