天天看點

MPLS-聚合路由對LSP的破壞--進階feature

Technorati 标簽: MPLS,CCIE,聚合,agg,LDP

一個FEC,隻會為同一個路由配置設定标簽.

同一個路由的含義:相同的字首,相同的掩碼.

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

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

路由彙總在MPLS域内:

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

MPLS-聚合路由對LSP的破壞--進階feature

路由彙總,會破壞MPLS域内不是同一條路由(字首/掩碼絕對相同)

彙總以後,以彙總點為中心,一條FEC會被分割成兩端.

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

這樣,這個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鍊路的先決條件.

MPLS-聚合路由對LSP的破壞--進階feature

從R4到R5是一條路徑,可以通過traceroute來進行檢視:

MPLS-聚合路由對LSP的破壞--進階feature

從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路徑的情況:

現在,R1,2,3,4,5,中間我們做一個路由聚合,讓大家5台裝置對這個字首的認識不統一,看看會有什麼樣的情況發生.

最終標明R2做一個路由彙總.把/32位的路由彙總成/24位.

OSPF在同一個區域是不能做彙總的,是以環境需要稍微改造一下,R2--R3--R5屬于區域1中.

MPLS-聚合路由對LSP的破壞--進階feature

在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的結果是:

MPLS-聚合路由對LSP的破壞--進階feature

這裡可以看到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為分界點.

下面是整個标簽準發的整個流程:

MPLS-聚合路由對LSP的破壞--進階feature

最後,再來整理一下标簽分發的過程:

1,R4始發該封包:

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

MPLS-聚合路由對LSP的破壞--進階feature

在R4上面,outgoing的标簽應該是R1針對55.1.1.0/24配置設定過來的:

MPLS-聚合路由對LSP的破壞--進階feature

這樣,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彈出該标簽.

MPLS-聚合路由對LSP的破壞--進階feature

因為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表:

MPLS-聚合路由對LSP的破壞--進階feature

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的标簽轉發表:

MPLS-聚合路由對LSP的破壞--進階feature

當R3收到标簽是302的MPLS封包,會pop掉标簽,然後通過Et0/0發送純IP封包給R5.

繼續閱讀