• Lab multicast msdp


    MSDP Lab:

    IBGP —— AS 100:R4 is RR ( R4-R2 / R4-R3 )、AS 200:R5 is RR ( R5-R7 / R5-R6 )
    EBGP—— R2-R5 / R4-R6 每个路由器通告环回口
    R1 为接收者,能够接收源 R5/R6/R7 发向 239.1.1.1 的组播流

    1、Bridge
    2、IGP(OSPF,其中 R1:no ip routing)
    3、BGP,每个路由器通告自己的环回接口
    4、将黑色接口运行 PIM SM
    5、R2 是 AS 100 的 BSR/RP 候选者,R7 是 AS 200 的 BSR / RP 候选者
    6、R4 和 R6 分别要作为两个域的 BSR 边界设备,以防止 BSR 信息的泄露
    r4(config)#interface e0/0.46
    r4(config-subif)#ip pim bsr-border 
    r6(config)#interface e0/0.46
    r6(config-subif)#ip pim bsr-border 
    r4#sh ip pim bsr-router                                      
    PIMv2 Bootstrap information                                  
      BSR address: 2.2.2.2 (?)                                   
      Uptime:      00:00:28, BSR Priority: 0, Hash mask length: 0
      Expires:     00:01:41                                      

    没有使用上述命令 BSR 信息将会默认泄漏到所有的 BGP 邻居中(包括 eBGP 关系)
    r4#show ip pim bsr-router                                    
    PIMv2 Bootstrap information                                  
      BSR address: 7.7.7.7 (?)                                   
      Uptime:      00:03:23, BSR Priority: 0, Hash mask length: 0
      Expires:     00:02:00                                      

    7、R1 作为接收者加入组 239.1.1.1
    r1(config)#interface e0/0.13
    r1(config-subif)#ip igmp join-group 239.1.1.1
    注意:AS 100 因为有接收者的出现,则 R3 会向 R2(RP)加入 SPT(*,239.1.1.1)
    r4#show ip pim neighbor(“*”表示是 border)

    8、R4 以环回口 4.4.4.4 为源往 239.1.1.1 发送组播流,R3 默认做 SPT 切换行为,这样 R3 会从 SPT 得到组播数据包

    9、AS 200 R5 以 5.5.5.5 为源发组播包去往 239.1.1.1,默认情况下因为 R5 的组播流会向 AS 200 的 RP(7.7.7.7)注册。这样就会造成 AS 100 的 RP 有接收者,但找不到源,AS 200 的 RP 知道源但找不到接收者

    做完以上 7 步,共享树和源树断裂了,不能够通信,因此需要做第 8 步
    因为 R1 作为接收端向本域的 RP(R2)加入(*,239.1.1.1),但 AS 200 的源(R5/R6/R7)也只能向本域 的 RP(R7)注册 SPT
    MSDP Session 将 RP(R7)的活动源信息(SA)发给它的邻居 R2。这样 R2 就可以加入 SPT,从而解决了域间组播通信的问题

    10、建立 R2 和 R7 的 MSDP 邻居关系
    r2(config)#ip msdp peer 7.7.7.7 connect-source loopback 0 remote-as 200
    r7(config)#ip msdp peer 1.1.1.1 connect-source loopback 0 remote-as 100

    r7#show ip msdp summary
    r7#show ip msdp summary                                                  
    MSDP Peer Status Summary                                                 
    Peer Address     AS    State    Uptime/  Reset SA    Peer Name           
                                    Downtime Count Count                     
    2.2.2.2          100   Up       00:10:39 0     0     ?                   

    r7#show tcp brief(查看打开的TCP端口)
    r7#show tcp brief                                                        
    TCB       Local Address               Foreign Address             (state)
    B699B968  7.7.7.7.179                 5.5.5.5.43299               ESTAB  
    B6681618  7.7.7.7.50843               5.5.5.5.646                 ESTAB  
    B6BA70D0  7.7.7.7.639                 2.2.2.2.14952               ESTAB  
    B6058CB8  7.7.7.7.42715               6.6.6.6.646                 ESTAB  
    *分别以 R5/R6 为源向 R1 发组播流,结果能够通信是因为 R3 默认做了 STP 切换

    12、关闭 R3 SPT 自动切换功能,继续以 5.5.5.5 为源发组播包去往 239.1.1.1,由于 R2 通过 MSDP 得到(5.5.5.5,,239.1.1.1)的 SA 信息后,需要向源 5.5.5.5 加入源树,此时 RPF 校验失败。因为 R2/R5 之间的链路没有开启组播路由协议   (为什么RPF失败
    r3(config)#ip pim spt-threshold infinity(关闭 SPT 的自动切换功能)

    r2#show ip rpf 5.5.5.5
    r2#show ip rpf 5.5.5.5                                                   
     failed, no route exists                                                 

    解决校验问题方案:
    (1) 写静态路由(不推荐)
    r2(config)#ip mroute 5.5.5.5 255.255.255.255 24.1.1.4
    r2#show ip rpf 5.5.5.5                                                   
    RPF information for ? (5.5.5.5)                                          
      RPF interface: Ethernet0/0.24                                          
      RPF neighbor: ? (24.1.1.4)                                             
      RPF route/mask: 5.5.5.5/32                                             
      RPF type: multicast (static)                                           
      Doing distance-preferred lookups across tables                         
      RPF topology: ipv4 multicast base                                      
    r2 对于邻居 r5 通过RPF校验

    (2) 建立 MBGP(IPv4 Multicast BGP)邻居关系:
    建立 MBGP 邻居关系 = R2 <--> R4 <--> R6 <--> R5,并且 R5 通告 5.5.5.5(这条路由不能用于转发数据,只能用于进行 RPF 校验,但是组播路由比单播路由的优先级更高)

    r2(config)#router bgp 100
    r2(config-router)#address-family ipv4 multicast
    r2(config-router-af)#nei 4.4.4.4 activate 

    r4(config)#router bgp 100
    r4(config-router)#neighbor 6.6.6.6 remote-as 200
    r4(config-router)#neighbor 6.6.6.6 update-source loopback 0
    r4(config-router)#neighbor 6.6.6.6 ebgp-multihop
    r4(config-router)#address-family ipv4 multicast
    r4(config-router-af)#nei 2.2.2.2 activate 
    r4(config-router-af)#nei 2.2.2.2 next-hop-self
    r4(config-router-af)#nei 6.6.6.6 activate 

  • 相关阅读:
    sqlserver sql优化案例及思路
    mysql执行计划常用说明
    MYSQL 的rownum
    innodb crash
    spring-mybatis源码追踪
    mylyn提交到JIRA的日期格式错误
    [google面试CTCI] 2-1.移除链表中重复元素
    [google面试CTCI] 2-0.链表的创建
    [google面试CTCI] 1-8.判断子字符串
    [google面试CTCI] 1-7.将矩阵中特定行、列置0
  • 原文地址:https://www.cnblogs.com/cyrusxx/p/12824087.html
Copyright © 2020-2023  润新知