在學習MPLS之前,應該知道MPLS有兩種工作模式。
1, 幀模式-->在第三層分組頭(如IP分組頭)前加入標簽進行轉發。
2, 信元模式.--->在ATM LSR組成的MPLS網絡中,在控制平面使用MPLS交換VPI/VCI的信息,而不是采用ATM信令進行轉發.
1, 轉發等價類。FEC
如果入口路由器收到分組都到達同一子網的,則這些分組就屬於同一類。這是依據FIB中的最長匹配查找決定的。例如,假設在FIB表中有一項目的地址為1.1.1.0/24,下一跳是2.2.2.2.如果我收到了兩個IP地址分別是1.1.1.1和1.1.1.2的分組,這兩個分組都會轉發給同樣的下一條,2.2.2.2,那么這個時候這兩個報文就屬於同一個FEC.
這里可以看到,對於到6.1.1.0/24網段,不管后面的主機位,所分發的標簽,20,都是一樣的,實際上是由下游路由器對本端的outgoing label分發的20,都是一樣的。所以6.1.1.0就是一個等價轉發類。
這個和IP層面的路由表是一樣的。
對於IP層面,到相同的目的,走一樣的路由。
對於MPLS層面,到相同的目的,分發相同的標簽,那就是一樣的走相同的路徑。
2, 標簽交換.
標簽交換有三個過程:
■根據入標簽進行查找
■找到分組的出接口和出標簽.
■進行標簽交換,然后再出接口發送分組.
MPLS體系結構被分為兩個獨立的單元:控制平面和轉發轉發,如下圖所示:
這里先來說一下控制平面。
■IGP--和在只有IP的網絡中的用途相同。如果mpls網絡使用了流量工程,IGP會作為鏈路狀態協議,可以是OSPF或者是IS-IS.
■標簽分配協議. 有三種協議可以分配標簽。
cisco TDP (private protocol)
LDP (standard protocol regarding the RFC)
RSVP 資源預留協議,專門為TE 工作的。
關於轉發,傳統的IP與MPLS網絡轉發有什么不同呢?
■IP轉發是基於目的的IP地址和FIB的。
■MPLS轉發是基於MPLS標簽和標簽轉發信息庫(LFIB)的。
■MPLS轉發和IP轉發都是逐跳轉發的,IP轉發在每一跳都對分組進行識別分類,而MPLS轉發只在入口路由器進行分類,類分號了,就通過FEC進行轉發.
PS:如果不使用流量工程TE,那么所有的IGP路由協議都可以使用。但是為了將來的擴展使用,最好使用OSPF或者ISIS來作為IGP,因為MPLS TE只能支持這兩種IGP類型。具體原因以后再做詳解.
假如說流量是從PE-1 R2到R6的環回10.1.1.2.
那么這個時候控制平面和轉發平面的方向是完全相反的。
在R2上面show mpls forwarding-table,從R3到本地分發的標簽是18,從R5到R3分發的標簽是16, R6沒有向R5分發標簽,因為R5轉發數據報文的時候利用次末節點彈出機制,將標簽彈出了,這樣R6負責的就是純IP轉發了。
在R2上面:
在R3上面:
在R5上面:
所以這里可以看出,轉發層面是從左到右,控制層面的標簽分發是從右到左的.
在MPLS轉發表中,分為ilm和ftn.
分別是MPLS to MPLS和MPLS to IP.
標簽發布的時候,實際發布的內容是標簽,IP前綴和掩碼長度,這個過程稱為標簽發布。
下面就來說明一下,標簽,是如何發布的。
0-15是保留的標簽。
0-IPv4顯式空標簽。
1-路由器警告標簽。
2-IPv6顯式空標簽
3-隱式空標簽。
合法的標簽范圍是從16開始到2的20次方-1.
即16--1048575.都是合法的標簽。
local 的標簽是我發給上游路由器的標簽。而,outgoing label的標簽是下游路由器發給我的標簽。
所以轉發平面如果是從左到右的話,那么控制平面的標簽分發就是反的,是從右往左來進行標簽的分發的。
下面有一個例子,
這里如果在R3上面查看mpls 的轉發表到10.1.1.2的話。
這里可以看到。outgoing是16,那么實際上是R5的local應該是16,是R5發給R3的16.
對於R3上面的18,local,應該是R2的出標簽。
也就是說。R5上面的local是16,R2上面對應10.1.1.2的出標簽應該是18.
R3:
對了,R5的local是16,分發給R3.
在R2上面:
R2上面的出outgoing是18.這樣就符合標簽分發的原理了。
本文出自 “hank--我,只關注原理” 博客,請務必保留此出處http://361531.blog.51cto.com/351531/646548