輕鬆理解BGP/MPLS IP ***的報文轉發原理

如下內容摘自筆者編著、華爲公司受權出版,並做爲華爲ICT培訓官方教材的《華爲MPLS ×××學習指南》一書(《華爲MPLS技術學習指南》爲其必備配套圖書)。跨域

在基本BGP/MPLS IP ×××應用中(不包括跨域的狀況),對×××報文轉發原理的理解很是重要,也是許多正在進軍華爲HICE認證的朋友認爲的一個難點,在此專門進行講解。基本BGP/MPLS IP ×××應用中,私網用戶發送的×××報文采用兩層MPLS標籤方式進行轉發:
app

  • 外層(公網)標籤在骨幹網內部進行交換,指示從本端PE到對端PE的一條LSP×××報文利用這層標籤能夠沿LSP到達對端PEide

公網隧道能夠是LSP隧道、MPLS TE隧道和GRE隧道。當公網隧道爲LSP隧道或MPLS TE隧道時,公網標籤爲MPLS LSP標籤(MPLS TE隧道的CR-LSP也是採用LSP標籤);當公網隧道爲GRE隧道時,公網標籤爲GRE封裝。學習

  • 內層(私網)標籤在從對端PE到達對端CE時使用,指示報文應被送到哪一個Site,這就是爲不一樣路由或不一樣×××實例所分配的私網路由標籤。spa

   當PE之間已在經過MP-BGP相互發布×××-IPv4路由時,會將本端所學習的每一個私網×××-IPv4路由所分配的私網標籤通告給了對端PE,這樣對端PE根據報文中所攜帶的私網標籤能夠找肯定報文所屬的×××實例,而後再經過查找該×××實例的路由表,將報文正確地轉發到相應的Site3d

【說明】特殊狀況下,屬於同一個×××的兩個Site鏈接到同一個PE時,PE不須要爲×××報文封裝內、外層標籤,只需查找對應×××實例的路由表,而後再找到報文的出接口便可將報文轉發至相應的Siteorm

   下面以圖1-22爲例說明BGP/MPLS IP ×××報文的轉發過程。圖中是CE1發送報文給CE2的過程,其中,I-L表示內層標籤,O-L表示外層標籤。本示例中內、外層標籤均爲MPLS LSP標籤。blog

1.png

1CE1Ingress PE發送一個要訪問遠端CE2所鏈接Site中目標主機的×××報文。
接口

  (2Ingress PE從綁定了×××實例的接口上接收×××數據包後進行以下操做:ip

  • 先根據綁定的×××實例的RD屬性查找對應×××的轉發表(VRF)。

  • 再根據×××報文中的目的IPv4前綴,查找對應的Tunnel ID,而後將報文打上對應的私網(內層)標籤(I-L),根據Tunnel ID找到隧道。

  • ×××報文從找到的隧道發送出去,發出以前×××報文要加裝一層公網(外層)MPLS標籤(O-L1)。此時×××報文中攜帶有兩層MPLS標籤。

   接着,該報文攜帶兩層MPLS標籤穿越骨幹網。骨幹網的每臺P設備都僅對該×××報文的外層標籤進行交換,內層私網路由標籤保持不變。如圖1-23Ingress PEEgress PE發送的一個ICMP請求報文的報文結構示例,他包括了兩層MPLS標籤,其中外層標籤爲1025MPLS Bottom os labelstack:0,表示後面還有MPLS標籤,非棧底標籤),內層標籤爲1026MPLS Bottom os labelstack:1,表示此爲MPLS棧底標籤)。

2.png

   【經驗提示】由於Egress節點爲倒數第二跳分配的標籤一般是支持PHP特性的,因此在倒數第二跳把報文傳輸Egress節點時會先彈出外層標籤。這樣一來,Egress接收到的報文每每只帶有一層標籤。如圖1-24Ingress PE鏈接P的接口上接收到來自對端的響應ICMP報文的報文結構示例,其中顯示只有一層MPSL標籤(MPLS Bottomos label stack:1,表示此爲MPLS棧底標籤)。在EgressPE鏈接P的接口接收ICMP請求報文的報文結構同樣,也只有一層MPLS標籤,也是由於外層標籤在倒數第二跳(P)彈出了。

    這樣一來,能夠想象,若是是兩PE相連,則報文在PE間直連鏈路上傳輸時均只帶一層MPLS標籤,這層標籤就是內層私網標籤,由於此時兩PE互相爲對方的倒數第二跳,在發送報文時會彈出外層的MPLS標籤。但在這種PE直連狀況下,咱們通常配置是不支持PHP,這樣兩個直連的PE在發送報文時就不會彈出外層標籤了。

3.png

 (3Egress PE收到該攜帶兩層標籤的報文後,交給MPLS協議模塊處理。MPLS協議將去掉外層標籤(本示例最後的外層標籤是O-L2,但若是應用了PHP特性,則此標籤會在到達Egress PE以前的一跳P彈出,Egress PE只能收到帶有內層標籤的報文,參見圖1-24)。

   (4)剝離了外層LSP標籤後,Egress PE就能夠看見內層標籤I-L,先根據內層私網路由標籤查找到×××實例,而後經過查找該×××實例的路由表,可肯定報文要轉發的目的Site和出接口。

同時,Egress PE發現報文中的內層標籤處於棧底,因而將內層標籤剝離,根據對應的×××實例路由表項將報文發送給CE2。此時報文是個純IP報文。

   這樣,報文就成功地從CE1傳到CE2了,CE2再按照普通的IPv4報文轉發過程將報文傳送到目的主機。以上報文轉發的流程可用圖1-25進行描述。

4.png

相關文章
相關標籤/搜索