MPLS-聚合路由對LSP的破壞--高級feature

Technorati 標籤: MPLS,CCIE,聚合,agg,LDPide

 

一個FEC,只會爲同一個路由分配標籤.學習

同一個路由的含義:相同的前綴,相同的掩碼.測試

那麼有一個比較典型的狀況會破壞這個規則:彙總。spa

過來的時候是明細,分發出去是彙總.雖然符合路由查找的規律,大網段包含小網段,但是對於FEC來講,是破壞了FEC的模型。3d

路由彙總在MPLS域內:router

在下面這個彙總的圖中來講.C是彙總點.blog

clip_p_w_picpath002

路由彙總,會破壞MPLS域內不是同一條路由(前綴/掩碼絕對相同)接口

彙總之後,以彙總點爲中心,一條FEC會被分割成兩端.進程

在上面的圖中,從Router E傳回來一個路由. 10.1.1.0/24, 24位的掩碼,傳到D,最後傳到C,這個時候C作一個彙總,彙總成/16位的掩碼從C通告給B,B再給A.前提是C只發送彙總路由,抑制明細路由.ip

這樣,這個LSP已經被破壞成了兩段.

最終,數據流在MPLS域中轉發,由一條LSP變成了兩條LSP.以router C爲分界點.

非鏈路聚合,一條完整FEC路徑的狀況:

下面這個拓撲圖,R4 有一個環回口.44.1.1.1/32

R5也有一個環回口:55.1.1.1/32

期間,R4,R1,R2,R3,R5,全部設備對該兩條路由的認識都是同樣的(掩碼相同,前綴相同)

這樣才能造成一個完成FEC鏈路的先決條件.

clip_p_w_picpath004

從R4到R5是一條路徑,能夠經過traceroute來進行查看:

clip_p_w_picpath006

從traceroute的結果來講,對於R4上面的55.1.1.1,R1分配的標籤是102.

R2爲55.1.1.1分配的標籤是202.

R3爲55.1.1.1分配的標籤是302.

R5上面,由於55.1.1.1/32是直連,分配的標籤是implict-null(3), 一個空標籤.

因此traceroute的路徑是:

label: 102-->202-->302-->(3)implict-null

這裏整條路徑是一條路徑.沒有作鏈路聚合.

鏈路聚合,一條不完整FEC路徑的狀況:

下面這個拓撲圖,R4 有一個環回口.44.1.1.1/32

R5也有一個環回口:55.1.1.1/32

如今,R1,2,3,4,5,中間咱們作一個路由聚合,讓你們5臺設備對這個前綴的認識不統一,看看會有什麼樣的狀況發生.

最終選定R2作一個路由彙總.把/32位的路由彙總成/24位.

OSPF在同一個區域是不能作彙總的,因此環境須要稍微改造一下,R2--R3--R5屬於區域1中.

clip_p_w_picpath008

在R2上面的ospf進程中,對area1進行一個55.1.1.1/32--->55.1.1.0/24的路由彙總.

最終通告給R1和R4,意思是R1和R4上面學習到的路由針對於55.1.1.0/24是24位的掩碼,而不是32位的。

最終,R4 traceroute 55.1.1.1的結果是:

clip_p_w_picpath010

這裏能夠看到R4的數據包到了R1,R1對55.1.1.0/24分配的標籤是100.

當數據包到了R1之後,R2由於55.1.1.0/24是直連,因此分配的是空標籤給R1.R1將100標籤移除.將IP報文送給R2.

R2拿到這個IP報文,通過查詢,目的是55.1.1.1,他上面有55.1.1.1/32的路由,R3會爲這個前綴分配一個標籤30x給R2.

這個時候R2再將這個IP報文壓入標籤30x,而後進入MPLS轉發流程.

R2壓入30x的標籤進入該報文,送到R3,由於R5上面55.1.1.1/32是直連路由,R5會分配空標籤(3)給該前綴,而且將(3)分發給R3.

因此該MPLS包送到R3的時候,R3會移除以前的30x,而後剝離標籤,直接發送IP報文給R5.

因此自己一段完整的LSP,最後被分割成了兩斷。

以R2爲分界點.

下面是整個標籤準發的整個流程:

clip_p_w_picpath012

最後,再來整理一下標籤分發的過程:

1,R4始發該報文:

R4上面,路由表中對於55.1.1.x/24是24位的,由於R2作了area1的彙總,不會有明細32位的路由:

clip_p_w_picpath014

在R4上面,outgoing的標籤應該是R1針對55.1.1.0/24分配過來的:

clip_p_w_picpath016

這樣,IP包進入R4,而後R4 PUSH進一個100的標籤.將該MPLS報文轉發給R1.

2, R1轉發MPLS報文.

R1上面對於55.1.1.0/24的路由前綴,是由R2分配的標籤.

由於55.1.1.0/24是由R2產生的,也能夠認爲是R2的直連路由,因此R2會分配一個空標籤給R1.

R1如今收到標籤爲100的MPLS報文,會作的動做是pop彈出該標籤.

clip_p_w_picpath018

由於R1爲55.1.1.0/24分配的是一個(3),隱式空標籤.

因此R1收到了相關的100標籤的報文,直接彈出,而後經過接口eth0/0發送給R2.

==============至此,第一個LSP已經完畢了===========================

==============下面是第二條LSP====================================

3, R2收到IP報文,繼續PUSH而後轉發MPLS報文給R3.

R2這個時候收到一個報文,目的地址是55.1.1.1.

IP進,MPLS出,應該查詢cef表:

clip_p_w_picpath020

R3爲55.1.1.1/32路由前綴分配的標籤是302.R2會將302做爲出口PUSH進入那個IP包.而後經過e1/0轉發給R3.

4, R3收到MPLS報文,pop掉標籤,純IP轉發給R5.

由於55.1.1.1/32是R5的直連路由,因此R5會分配空標籤(3)給LDP鄰居R3.

MPLS進,mpls出,查看R3的標籤轉發表:

clip_p_w_picpath022

當R3收到標籤是302的MPLS報文,會pop掉標籤,而後經過Et0/0發送純IP報文給R5.

最終R5收到了相關IP報文,本地直連路由。單向通信搞定。

因此最終的測試結果是:

clip_p_w_picpath024

相關文章
相關標籤/搜索