MPLS ×××路由傳播及數據轉發詳解

配置就不說了,看前面的博文吧!redis

1.CE與PE VRF私網路由的傳播數據庫

CE全局路由表中的IPV4路由,通過PE-CE間的路由協議(能夠是RIP、OSPF、EIGRP、BGP等)傳播到PE相應的VRF路由表中。在PE上,與CE進行路由交換的路由協議(路由協議進程或路由協議實例)都須要綁定到相應的VRF;在綁定的VRF的接口上,只能啓動本VRF的路由協議;所以 ,在PE上,CE通告過來的路由信息將交給相應的VRF路由進程或路由實例處理,並將計算出來的IPV4路由加入到該進程或該實例相對應的VRF路由表中。ide

2.PE VRF路由導出到MP_BGP表學習

   VRF路由表中的IPV4路由,經過network/redistribute發佈至MP_BGP的時候,打上RD和RT(export),變成×××v4路由,並分佈MPLS私網標籤(由MP_BGP從全局標籤空間中隨機分發,不會與公網標籤有重疊),加入到MP_BGP表。同時,將這些MPLS私網標籤存入本PE的MPLS標籤轉發表。遞歸

3.PE-PE MP_BGP ×××v4路由傳播接口

PE將MP_BGP表中的×××v4路由造成MP_BGP路由更新,經過PE-PE之間的MP_IBGP鄰居傳播給遠端的PE,遠端PE收到路由更新後,將這此×××v4路由加入到MP_BGP表。進程

4.MP_BGP ×××v4路由匹配導入VRFip

在PE上,MP_BGP表中的×××v4路由自動與VRF的RT(import)進行匹配,匹配上的×××v4路由,去掉RD、RT,變成ipv4路由,導入到相應的VRF路由表中;同時,將這些×××v4路由所攜帶的MPLS私網標籤存入該VRF路由表或VRF標籤轉發表中.路由

5.PE VRF-CE私網路由傳播it

VRF路由表中的從MP_BGP ×××v4導入的路由,經過redistribute重發布至本VRF的路由進程或路由實例的數據庫中(PE-CE EBGP除外),通過PE-EC間路由協議(RIP、OSPF、BGP等)通告給CE,CE進行路由計算後,將這些路由加入到全局路由表中,如上圖。

LDP分發標籤:

首先PE1全局路由表中有1.1.1.1/32的直連路由,而後LDP爲全部的IGP路由分發標籤,由於是倒數第一跳,因此分發一個特殊標籤3(你們注意一下,在MPLS轉發表中不能看到我上面寫的那個表,

由於標籤3是不會加入到MPLS中的,也就不會造成轉發表了),P2收到後,保存至MPLS轉發表中,同時P2經過IGP路由協議也能學習到1.1.1.1的路由,也爲它分發標籤爲25,因此P2的MPLS轉發表如上圖(固然P2能收到這條路由的多個標籤,會進行優選選跟IGP路由表中的下一跳相同的)。同理P3和PE4,都會收到標籤和分發標籤,而後進行優選進轉發表中!見上圖!

MPLS ×××數據轉發

結合上面兩張圖,分析CE5訪問CE6的過程(注意:數據流與路由流是相反的,下面的路由流傳播與上面分析相似):

1.CE收到IP數據包,查找全局路由錶轉發,轉發至PE的VRF接口

CE5收到IP數據包,查找全局路由表,查到出接口爲S8,下一跳爲S7,將IP數據包轉發至PE4的VRF接口

2.PE VRF接口收到IP數據包,查找VRF路由表,壓入私網標籤和公網標籤

  在PE4上,綁定了VRF的接口收到IP數據包,查找本VRF的VRF路由表或標籤轉發表,查到該數據包匹配的路由的私網OUT標籤爲33,下一跳爲遠端PE1的LOOPBACK地址1.1.1.1。該下一跳不是PE4直連的,須要進行遞歸查找,以1.1.1.1爲目標地址查找本PE的全局路由表和MPLS標籤轉發表,查到1.1.1.1的公網OUT標籤26,及出接口和下一跳。PE4將IP數據包先打上私網標籤33再打上公網標籤26(注意公網標籤在最外面,棧底位爲0,最裏面的私網標籤棧底位爲1),再轉發給下一個LSR也就是P3.

3.P設備收到MPLS數據包,查找標籤轉發表,交換公網標籤

PE3收到數據包,查轉發表,交換公網標籤,用25替代26,TTL-1將數據轉發給下一個LSR。

4.倒數第二跳收到MPLS數據包,查找標籤轉發表,彈出公網標籤

  P2收到MPLS數據包,查MPLS轉發表,發現出標籤爲3,彈出公網標籤,而後轉發給倒數第一跳。

5.遠端PE收到MPLS數據包,查找標籤轉發表,彈出私網標籤

PE1收到MPLS數據包,查找標籤轉發表,發現OUT標籤是Untagged,刪除標籤根據下一跳轉發,將數據發送出去。(若是OUT標籤是Aggregate,則刪除標籤,查IP路由表完成轉發,由於在MPLS轉發表中沒有出接口和下一跳)

6.遠端CE收到IP數據包,查找全局路由錶轉發

  CE6收到PE1發來的IP數據包,查找全局路由表進行數據轉發,而後發回應答報文,以上過程逆過程!

補充:MPLS標籤操做

PUSH  向IP或MPLS報文中,壓入一層或幾層MPLS標籤,並把該MPLS報文直接轉發到下一個LSR

SWAP  把MPLS報文的最外層MPLS標籤,交換成下一個LSR須要的MPLS標籤,並把該MPLS報文直接轉發到下一個LSR

POP       刪除MPLS報文的最外層MPLS標籤,並把該報文直接轉發到下一個LSR

Untag     刪除MPLS標籤,並把該IP報文直接轉發到下一跳路由器

Aggreate  刪除MPLS標籤,查找IP路由表,並把該報文轉發到下一跳路由器

相關文章
相關標籤/搜索