天天看點

【HCIE-R&S 天梯路】MSDPMSDP(TCP:639)

MSDP(TCP:639)

Multicast Source Discovery Protocol多點傳播源發現協定(僅用于IPv4 PIM-SM(不含SSM))

MSDP作用:讓不同多點傳播域的RP,知道多點傳播源位置

  • 因為多點傳播基于IGP協定,同一個多點傳播域的PIM路由器,全部需要知道RP的位置。在跨AS場景下,需要MSDP
  • MSDP不傳輸多點傳播資料

它僅在RP之間使用SA封包單點傳播傳遞(S,G)表項,使其他域組成員知道S位置,建構SPT樹。

【HCIE-R&S 天梯路】MSDPMSDP(TCP:639)
  • 精确地講,這裡的AS應指的是不同多點傳播域(擁有不同RP)

如圖,

  1. Source活躍後,頭一跳路由器向AS1中RP(R2)注冊。
  2. R2作為起源RP,使用MSDP協定向其他MSDP對等體(通常是RP)通告SA封包。
  3. AS2中,R4不是RP(但R4是MSDP中繼),轉發SA封包到接收者AS的RP(R5、R6)中。
  4. R5、R6下存在接收者,根據收到的SA封包,知道了(S,G)資訊,朝着Source方向建構SPT(RPF方向,單點傳播方向)
  5. 實際上R6是RP,建立了到S的最短路徑樹,但不一定是接收者DR(R7)的最短路徑樹,是以R7知道了S的位置後,再建構SPT樹

MSDP對等體建立過程

【HCIE-R&S 天梯路】MSDPMSDP(TCP:639)

SA(Source-Active)封包

  • SA消息通告給不同多點傳播域的RP,讓各RP知道多點傳播源IP

SA封包封裝【IP【TCP 639【TLV】】】

       SA消息内容:      Source IP               多點傳播源IP

                                    Group                     組位址

                                    Source RP IP         多點傳播源所在多點傳播域的RP

【HCIE-R&S 天梯路】MSDPMSDP(TCP:639)

SA封包的RPF檢查

【HCIE-R&S 天梯路】MSDPMSDP(TCP:639)

如圖,源RP發送SA消息給自己MSDP對等體,R4收到2份SA消息。

為了防止SA消息成環,MSDP裝置收到SA消息時,需要RPF檢查。

以R4為例,

       R4收到SA後,确定到源RP的最佳下一跳RP=R2(稱為RPF對等體),選擇RPF接口

       不是RPF接口傳來的SA丢棄(R3的SA)

RPF接口是由 單點傳播路由(BGP、IGP)、MBGP、靜态多點傳播路由 共同決定的

Mesh Group

将所有RP建立全互聯的IBGP鄰居關系,并成為一個Mesh Group

  • Mesh Group組成員SA消息僅傳一跳
  • Mesh Group組成員發來的SA不進行RPF檢查,直接接收

同AS MSDP配置

【HCIE-R&S 天梯路】MSDPMSDP(TCP:639)

相同AS,不同多點傳播域

1.        IGP(實際中,跨域多點傳播RP之間單點傳播路由可達就行)

2.        PIM-SM

[all R]      multicast routing-enable

[all R-G]  pim sm                        //多點傳播流量經過的接口開啟PIM-SM,環回口可不開

[R1、R2] pim

                static-rp 1.1.1.1

[R3、R4] pim

                static-rp 4.4.4.4

[R4-G]    igmp enable

3.        MSDP

[R1] msdp

       peer 4.4.4.4 connect-interface LoopBack0

[R4] msdp

       peer 1.1.1.1 connect-interface LoopBack0

[RP] display msdp sa-cache        //檢視SA消息

跨AS MSDP配置

【HCIE-R&S 天梯路】MSDPMSDP(TCP:639)
  1. AS 100、AS 200内部IGP
  2. R2-R3建立EBGP鄰居關系
  3. 全網PIM-SM協定(靜/動RP)
  4. MSDP(R1、R4互指)

需要考慮的問題:

1.        如果采用動态RP的方式。C-BSR封包逐跳、多點傳播,會跨AS發送。使得RP資訊跨AS傳遞并共同選舉,不妥。

        [R2-G0/0/1]

        [R3-G0/0/0]   pim bsr-boundary       //設定BSR邊界,不傳Bootstrap封包

2.        R4-R1需要路由互通(建構SPT樹、MSDP傳SA)

           在R2、R3上釋出各RP位址的BGP路由,并将BGP引入IGP

3.        RP4最終需要朝着源S,建立SPT(需要源的路由)

           R2的BGP引入192.168.1.0/24

MSDP實作任播(Anycast)RP

任播RP,多個RP在同AS内使用相同IP

【HCIE-R&S 天梯路】MSDPMSDP(TCP:639)
  1. IGP
  2. PIM-SM(IGMP)

實作任播RP需要:

1.        R1、R4配置相同的IP位址作為C-RP位址,并通告進IGP。各路由器會自動選擇“近”的

2.        部屬C-BSR盡量在其他裝置(或其他IP接口,增加可靠性)。BSR通過Bootstrap封包逐跳、多點傳播告訴了全網,RP=14.1.1.1

此時,AS内部相當于分成了2個多點傳播域(左邊4台、右邊3台)

出現一個問題,當多點傳播源S活躍時,源DR2需要向RP注冊(R2向最近的RP1注冊)

這就R2、R1上存在(S,G)表項。而R3、R4上無(S,G)表項。PC4收不到多點傳播流量

是以還需要在R1-R4上啟用MSDP,讓R1通過SA消息告訴R4多點傳播源的IP

3.        R1-R4使用别的IP接口,建立MSDP鄰居(Loopback1:1.1.1.1-4.4.4.4)

           [R1、R4] msdp

                           peer 4.4.4.4 connect-interface LoopBack1

        這裡還存在一個問題:

        MSDP發送的RA消息中,攜帶着源DR的IP(兩邊都是14.1.1.1沖突)。

        還需要指令 [R1、R4]   msdp

                                             originating-rp LoopBack1

最終,R1、R4都有(S,G)表項。任播RP實作。

繼續閱讀