实验拓扑:
案例配置需求:
1、 设备之间互联的IP如图所示;
2、 R1 和R2设备互联使用12.1.1.X/24,X表示设备编号,如R1使用12.1.1.1/24,R2使用12.1.1.2/24,其它设备互联同上;
3、 AS100内IGP协议运行OSPF协议,AS200内IGP协议运行EIGRP协议;
4、 R3和R4配置运行BGP协议,建立EBGP邻居关系;
5、 配置组播稀疏模式,其中R3和R4为RP,在AS100,配置静态RP地址为3.3.3.3,在AS200,配置静态RP地址为4.4.4.4;
6、 R1作为组播源,R6作为239.1.1.1的组播接收者;
7、 R4根据MBGP做RPF检测,其它路由器根据单播路由表做RPF检测;
8、 R3和R4配置BGP协议,单播流量走S1/1线路。组播流量走S1/2线路;
9、 R3和R4使用Loopback0口建立MSDP;
配置思路:
1.先配置IP地址
2.R1 R2 R3运行OSPF协议
R1:
router ospf 100
router-id 1.1.1.1
log-adjacency-changes
network 12.1.1.0 0.0.0.255 area 0
R2:
router ospf 100
router-id 2.2.2.2
network 12.1.1.0 0.0.0.255 area 0
network 23.1.1.0 0.0.0.255 area 0
R3:
router-id 3.3.3.3
log-adjacency-changes
network 3.3.3.3 0.0.0.0 area 0
network 23.1.1.0 0.0.0.255 area 0
3.R4 R5 R6运行EIGRP协议
R4:
router eigrp 100
network 4.4.4.4 0.0.0.0
network 45.1.1.0 0.0.0.255
no auto-summary
R5:
router eigrp 100
network 45.1.1.0 0.0.0.255
network 56.1.1.0 0.0.0.255
no auto-summary
R6:
router eigrp 100
network 56.1.1.0 0.0.0.255
no auto-summary
4.R3 R4配置BGP
R3:
router bgp 100
bgp router-id 3.3.3.3
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 34.1.1.4 remote-as 200
neighbor 43.1.1.4 remote-as 200
!
address-family ipv4
neighbor 34.1.1.4 activate
no auto-summary
no synchronization
network 3.3.3.3 mask 255.255.255.255
保证MSDP单播可达,能够建立MSDP连接
network 12.1.1.0 mask 255.255.255.0
通过BGP,将组播源路由传递到AS200,保证R5能通过RPF检测
exit-address-family
!
address-family ipv4 multicast
neighbor 43.1.1.4 activate
no auto-summary
network 12.1.1.0 mask 255.255.255.0
题目要求R4通过MBGP检测,RPF检测顺序,默认MBGP优于单播路由表
exit-address-family
R4:
router bgp 200
bgp router-id 4.4.4.4
no bgp default ipv4-unicast
bgp log-neighbor-changes
neighbor 34.1.1.3 remote-as 100
neighbor 43.1.1.3 remote-as 100
!
address-family ipv4
neighbor 34.1.1.3 activate
no auto-summary
no synchronization
network 4.4.4.4 mask 255.255.255.255
exit-address-family
!
address-family ipv4 multicast
neighbor 43.1.1.3 activate
no auto-summary
exit-address-family
查看 BGP邻居关系表:
查看路由表:
R4:
access-list 1 permit 12.1.1.0 0.0.0.255
route-map ccie permit 10
match ip address 1
router eigrp 100
redistribute bgp 200 metric 10000 100 255 1 1500 route-map ccie
重分步组播源网段12.1.1.0/24,为了让R5能够通过RPF检测
查看路由:
接着配置组播基本命令:
R2:
ip multicast-routing
interface FastEthernet0/0
ip pim sparse-mode
interface FastEthernet0/1
ip pim sparse-mode
ip pim rp-address 3.3.3.3
R3:
ip multicast-routing
interface FastEthernet0/1
ip pim sparse-mode
interface Serial1/2
ip pim sparse-mode
ip pim rp-address 3.3.3.3
R4:
ip multicast-routing
interface FastEthernet0/1
ip pim sparse-mode
interface Serial1/2
ip pim sparse-mode
ip pim rp-address 4.4.4.4
R5:
ip multicast-routing
interface FastEthernet0/0
ip pim sparse-mode
interface FastEthernet0/1
ip pim sparse-mode
ip pim rp-address 4.4.4.4
在R3 R4上配置MSDP
R3:
ip msdp peer 4.4.4.4 connect-source Loopback0 remote-as 200
ip msdp originator-id Loopback0
R4:
ip msdp peer 3.3.3.3 connect-source Loopback0 remote-as 100
ip msdp originator-id Loopback0
配置R6加入组播组
interface FastEthernet0/0
ip igmp join-group 239.1.1.1
验证结果:
/–串口链路默认不选举DR,DR用0.0.0.0表示–/
查看RP信息
查看主机加入组播组
查看共享树的建立
测试组播的连通性
组播注册流程
(1)R1发给R2一个组播注册包
(2)R2将该注册包以单播形式发送给RP(3.3.3.3),因为此时未建立任何组播分发树,无法传递组播流量。
(3)R3提取单播包中的组播数据报文,封装到MSDP报文,单播发送给R4,源地址和目的地址是配置MSDP使用的地址。此时数据包是通过S1/1链路发送给R4。
(4)R4收到MSDP报文,查看组播路由表中已经建立了关于239.1.1.1的共享树,说明有主机需要接收239.1.1.1的组播流量。此时,R4会从S1/2链路回应一个PIM join/prune报文给R3。
(5)R3收到R4的PIM join/prune之后,也发送一个PIM join/prune,建立S,G)条目,最终形成源树。
查看源树:
查看MSDP
R3#show ip msdp peer
MSDP Peer 4.4.4.4 ?), AS 200 configured AS)
Connection status:
State: Up, Resets: 0, Connection source: Loopback0 3.3.3.3)
UptimeDowntime): 00:21:21, Messages sent/received: 24/21
Output messages discarded: 0
Connection and counters cleared 00:22:21 ago
SA Filtering:
Input S,G) filter: none, route-map: none
Input RP filter: none, route-map: none
Output S,G) filter: none, route-map: none
Output RP filter: none, route-map: none
SA-Requests:
Input filter: none
Peer ttl threshold: 0
SAs learned from this peer: 0
Input queue size: 0, Output queue size: 0
MD5 signature protection on MSDP TCP connection: not enabled
Message counters:
RPF Failure count: 0
SA Messages in/out: 0/4
SA Requests in: 0
SA Responses out: 0
Data Packets in/out: 0/1
案例总结:
1、 在不同的PIM-SM域之间建立MSDP连接时,是使用TCP 639, IP地址高的初始化TCP连接,60秒一次keepalive,75秒后没数据或keepalive则重建TCP。
2、 组播源向RP注册之后,那么RP将这些源信息通过在MSDP连接上发送Source-Active SA)到远程RP,以提供组播源的信息。因为RP收到Source-Active SA)后,也是要做RPF检测。
3、 MSDP只能在PIM-SM下使用
4、 组播路由协议依赖于现有的单播路由信息、MBGP路由或组播静态路由来创建组播路由表项。组播路由协议在创建组播路由表项时,运用了RPF(Reverse Path Forwarding,逆向路径转发)检查机制,以确保组播数据能够沿正确的路径传输,同时还能避免由于各种原因而造成的环路。
5、 在执行RPF检查时,路由器同时查找单播路由表、MBGP路由表和组播静态路由表,具体过程如下
首先,分别从单播路由表、MBGP路由表和组播静态路由表中各选出一条最优路由:
然后,从这三条最优路由中选择一条作为RPF路由:
如果配置了按照最长匹配选择路由,则从这三条路由中选出最长匹配的那条路由;
如果这三条路由的掩码一样,则按照组播静态路由、MBGP路由、单播路由的顺序进行选择。