HCIP第十四天(MPLS协议)
目錄
MPLS(多協議標簽交換)
包交換
標簽交換
包交換的優化過程
MPLS(多協議標簽交換)
包交換
數據組成數據包,在網絡中的各個節點傳遞,最準到達目標,即路由轉發的過程。
1、查兩張表,即路由表和ARP緩存表。
2、路由表的匹配原則(最長匹配原則)。
3、遞歸查找。
4、IP包頭可變長,即只能通過軟件進行處理。
控制層面:路由協議中的數據流的流動方向,目的是為了獲取未知網段的路由信息,生成路由表。
數據層面:基于設備已完善的路由表(FIB),來轉發具體的數據到達目標網段。其方向正好和控制層面相反。
標簽交換
??? 在二層封裝和三層封裝之間,添加一個和路由條目存在映射關系的標簽,之后維護一張記錄對應關系和轉發接口表,之后攜帶標簽的數據來到設備上,將先看到標簽,之后基于維護的表進行轉發,二不再看三層發的IP數據。因為標簽本身短小且定長,所以轉發效率會高于包交換。但是由于標簽交換過程需要由壓入標簽和彈出標簽的動作,所以整體對包交換效率的提升并不明顯。
控制層面:基于FEC分配標簽,并且獲取其他LSR對相同FEC分配的標簽。記錄在本地LIB表中,再結合FIB表生成LFIB表。(控制層面的功能可以通過靜態手工配置來完成,也可以通過動態協議來完成 --- LDP協議:標簽分發協議。)
數據層面:設備基于LFIB表,根據標簽進行轉發。
包交換的優化過程
1、進程交換:最早期的包交換,就是每個數據包來到設備都需要去基于目標IP查看路由表及ARP緩存表來進行轉發。
2、快速包交換:基于流的包交換,一次路由多次交換 --- 只有第一個數據包需要執行包交換的過程。
3、思科的特快交換(Cisco Express Forwading):即CEF,對路由表和ARP緩存表中的內容進行預讀取(路由表中需要遞歸查找的線遞歸好)記錄在CEF表中。并且這個CEF表可以支持硬件處理。
雖然CEF是思科的私有技術,但是各個廠商結合原理都開發出了自己的特快交換技術。護衛設備在進行數據轉發時,就查看的不是路由表,而是FIB表(轉發信息數據庫),該表支持硬件處理轉發。
???? MPLS其實就是和包交換結合共同發展的標簽交換技術。因為標簽生成需要識別三層協議,而MPLS稱為多協議標簽交換,因為他可以識別和兼容多種三層協議。
MPLS主要應用的領域:
1、用來解決BGP的路由黑洞
2、MPLS-VPN
3、MPLS-TE(流量工程),可以簡單理解為控制流量轉發發路徑。
??? 運行MPLS設備組成的網絡,我們可以稱為是一個MPLS域。域中所有運行MPLS的設備都可以被稱為LSR(標簽交換路由器)。
??? 這個標簽是每臺路由器基于自己路由表中的路由條目生成的,是陸運器的個人行為。
??? 在MPLS中,我們把具有相同特征的數據包稱為FEC(等價轉發類),簡單理解為匹配到同一個條路由條目的所有數據報文都屬于同一個FEC,一個FEC分配一個標簽。
LIB表(標簽信息表)
LFIB表(標簽信息轉發表),是LIB表和FIB表結合的產物,主要記錄的就是標簽編號和出接口及下一跳的對應關系。
??? 在整個過程中,所有MPLS域中的LSR處理自己針對某個FEC生成的標簽外還需要獲取其他LSR對相同FEC分配的標簽。
結合上面的圖來分析:
R1這臺設備為進入MPLS域中的數據壓入標簽,所以這樣的設備我們稱為:入站LSR(Ingress LSR)
在這個過程中,R2完成了一次標簽的置換動作,這樣的LSR我們稱為:中轉LSR(transit LSR)
R4是MPLS域的一個邊界,完成的是標簽的彈出動作,這樣的LSR我們稱為:出戰LSR(egress LSR)
整個數據層面數據流動的路徑為R1-R2-R3-R4,我們把這條路徑稱為LSP(標簽交換路徑)
一般一個FEC會對應一條LSP。特別注意:LSP是分方向的,如果需要實現數據的雙向互通,則必須搭建兩個方向的LSP才行。LSP的搭建方法:靜態、動態LDP
LABEL:20位,取值范圍為0-2的20次方。我們把標簽的取值范圍稱為標簽空間,每臺設備的標簽空間是獨立的。
0-15,特殊標簽值,我們在分配時一般不用這些標簽,因為他們具有特殊含義
16-1023,一般用于靜態LSP搭建使用
1023-2的20次方,LDP等可以動態分配標簽的協議使用的標簽號的范圍
EXP:占3位,主要做策略用的。一般情況下為000,可以理解為優先級,數值越大,優先級越高,可以優先轉發。
S:占1位(棧底位),我們把標簽頭部組成有序序列稱為標簽棧。該位為1,則代表是最后一個標簽,為0,則代表還有后續標簽需要處理。
TTL:相當于將TTL值換了個位置進行計數,作用和目的都是一樣的。
總結
以上是生活随笔為你收集整理的HCIP第十四天(MPLS协议)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5G三大应用场景: eMBB、uRLLC
- 下一篇: 易语言 判断数组是否包含某元素