Multicast(组播)实验

PIM-DM 与协议无关的密集模式
虽然进行了修剪,但是( S*G )还是要保留在每台路由器上,并且每隔 3 分钟又要进行一次全网的泛洪,又再次修剪。
 
组播实验:
  我们在这里将这四台路由器上面配置了 IP 地址,然后在 R2/1 上面配置了路由协议。
开启 IP 组播路由协议:
Source(config)#ip multicast-routing
进入接口设置密集模式:
Source(config)#int s1/0
Source(config-if)#ip pim dense-mode
这个只需要在 R4 上面开启,但是在 R3 上面不需要去开启。
R2 上面配置:
R2(config)#ip multicast-routing
R2(config)#int s1/1
R2(config-if)#ip pim dense-mode
R2(config-if)#int s
*Aug 29 15:04:24.135: %PIM-5-NBRCHG: neighbor 24.0.0.4 UP on interface Serial1/1
R2(config-if)#int s1/0
R2(config-if)#ip pim dense-mode
R2(config-if)#
R2 做为中间路由器必须将所有接口都配置密集模式
R1 也是一样
R1(config)#ip multicast-routing
R1(config)#int s1/0
R1(config-if)#ip pim dense-mode
R1(config-if)#int s/1
*Aug 29 15:05:28.759: %PIM-5-NBRCHG: neighbor 12.0.0 .2 UP on interface Serial1/0
R1(config-if)#int s1/1
R1(config-if)#ip pim dense-mode
R1(config-if)#exit
R1(config)#
R3 上面配置:
R3(config)#int s1/0
R3(config-if)#ip igmp join-group 224.1.1.1
R3(config-if)#
这条命令是加组
它会主动发送一个组成员关系给他的上游路由器。
查看:
R1#sh ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report,
       Z - Multicast Tunnel, z - MDT-data group sender,
       Y - Joined MDT-data group, y - Sending to MDT-data group
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode
 
(*, 224.1.1.1), 00:01:13/00:02:15, R P 0.0.0 .0, flags: DC  没有发包表现为 *
  Incoming interface: Null, RPF nbr 0.0.0 .0
  Outgoing interface list:
    Serial1/1, Forward/Dense, 00:01:13/00:00:00
    Serial1/0, Forward/Dense, 00:01:13/00:00:00
 
(*, 224.0.1.40), 00:02:29/00:00:31, R P 0.0.0 .0, flags: DCL
  Incoming interface: Null, RPF nbr 0.0.0 .0
  Outgoing interface list:
    Serial1/0, Forward/Dense, 00:02:29/00:00:00
 
R1#
查看 R1 的组播路由。
 
Source#ping 224.1.1.1  对于组播地址的 PING 只发一个包。
 
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 224.1.1.1, timeout is 2 seconds:
 
Reply to request 0 from 13.0.0 .3, 468 ms
Source#
再去 R1 上面查看组播路由:
R1#sh ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report,
       Z - Multicast Tunnel, z - MDT-data group sender,
       Y - Joined MDT-data group, y - Sending to MDT-data group
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode
* 就相当于汇总
(*, 224.1.1.1), 00:05:05/stopped, R P 0.0.0 .0, flags: DC
  Incoming interface: Null, RPF nbr 0.0.0 .0
  Outgoing interface list:
    Serial1/1, Forward/Dense, 00:05:05/00:00:00
    Serial1/0, Forward/Dense, 00:05:05/00:00:00
 
(24.0.0.4, 224.1.1.1), 00:02:19/00:00:48, flags: T  T 表示源分发树
 
  Incoming interface: Serial1/0, RPF nbr 12.0.0 .2     邻居关系
  Outgoing interface list:  组播流出接口
    Serial1/1, Forward/Dense, 00:02:19/00:00:00  使用的密集模式
 
(*, 224.0.1.40), 00:06:21/stopped, R P 0.0.0 .0, flags: DCL
  Incoming interface: Null, RPF nbr 0.0.0 .0
  Outgoing interface list:
    Serial1/0, Forward/Dense, 00:06:21/00:00:00
退组:
选在 R4 上面去 PING 50 个包:
Source#ping 224.1.1.1 repeat 50
 
Type escape sequence to abort.
Sending 50, 100-byte ICMP Echos to 224.1.1.1, timeout is 2 seconds:
 
Reply to request 0 from 13.0.0 .3, 416 ms
Reply to request 1 from 13.0.0 .3, 228 ms
Reply to request 2 from 13.0.0 .3, 120 ms
Reply to request 3 from 13.0.0 .3, 160 ms..............................................
这里后面点就表示这条树已经不存在了。
Source#
R3 上面退组:
R3(config)#int s1/0
R3(config-if)#no ip igmp join-group 224.1.1.1
再去 R1 上面去看看退组以后的效果:
R1#sh ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
       L - Local, P - Pruned, R - RP-bit set, F - Register flag,
       T - SPT-bit set, J - Join SPT, M - MSDP created entry,
       X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
       U - URD, I - Received Source Specific Host Report,
       Z - Multicast Tunnel, z - MDT-data group sender,
       Y - Joined MDT-data group, y - Sending to MDT-data group
Outgoing interface flags: H - Hardware switched, A - Assert winner
 Timers: Uptime/Expires
 Interface state: Interface, Next-Hop or VCD, State/Mode
 
(*, 224.1.1.1), 00:11:32/stopped, R P 0.0.0 .0, flags: D
  Incoming interface: Null, RPF nbr 0.0.0 .0
  Outgoing interface list:
    Serial1/0, Forward/Dense, 00:11:32/00:00:00
 
(24.0.0.4, 224.1.1.1), 00:01:00/00:02:11, flags: PT 标志位为 PT/ 修剪的源分发树
  Incoming interface: Serial1/0, RPF nbr 12.0.0 .2
  Outgoing interface list: Null  进行了修剪,出接口为空。
 
(*, 224.0.1.40), 00:12:48/stopped, R P 0.0.0 .0, flags: DCL
  Incoming interface: Null, RPF nbr 0.0.0 .0
  Outgoing interface list:
    Serial1/0, Forward/Dense, 00:12:48/00:00:00
R2 R1 上面是一样的效果。
 
PIM-SM
要同时使用源分发树和共享分发树:从 RP 到接收端使用的是共享分发树
两种情况下使用源分发树:
1、  从源的第一跳路由器到 RP 之间使用源分发树;用于源向 RP 注册时使用
2、  当从源的第一跳路由器到 RP 之间使用源分发树并且从 RP 到接收端使用共享分发树时,路由器智能的发现了在源和接收方之间还有比现在更好的路径可用,就切换到那条更好的路径上去传输,在那条更好路径上使用的就是源分发树;这就叫源分发树 switchover
四个步骤:
1、  RP 的发现:所有的分支路由器都知道 RP 在什么地方,必须是可达的。
2、  共享分发树的构建: RP 与接收端
3、  源向 RP 的构建
4、  STP Switchover 找到一条更好的路由,就抛弃了以前的 RP
实验:第一步分支路由器发现 RP ,当然也包括最初的定义 RP
第一、手工的指定那台是 RP
第二、自动选举 RP Auto-RP
1 、它允许所有的分支路由器,去自动的发现这个 RP
2 、在任何 PIM-SM 域里面不管在任何时间任何组里面只能有一个 RP
3 、第一个组播组被映射到单个的 RP (组到 RP 的映射)
为了保证为了阻止单个 RP 失败,我们都宣告自己为 RP ,但最终决定谁来作 RP ,我们都成为 C-RP
4 、第一个 C-RP 都要宣称自己是 RP ,并且每一个 C-RP 每隔 60 秒宣告一次我是 RP ,并且发送给 224.1.1.39
只有一台路由器在监听( 224.1.1.39 ),这台路由器就叫 MAPPING AGENT 来判断谁成为 RP
选举原则就是我通告的地址进行比较,谁大成为 RP
MAP Ag 选出了 RP 以后,它就会发送 224.0.0.40 给其他路由器,这时所有的路由器都去监听这个地址。
MAPPING AGENT (映射代理)可以配置。
 
C-RP 默认认为所有组播组服务 224.0.0.0/4 C-RP 的选举原则是谁的 IP 地址(随着通告信息发送)大谁就是 RP ,往 224.0.0.39 上发;注意一个 C-RP 也可以通告它自己是其它组的 RP ;仅仅只有 MAPPING AGENT 路由器监听这个地址 224.0.0.39 ,由它通过最高 IP 地址决定谁能成为 RP ;组播组和选出的 RP 会形成一个映射叫做组到 RP 的映射; MAPPING AGENT 路由器周期性的往 224.0.0.40 上发送 RP 发现消息,所有的路由器都监听这个地址
 
RP 的发现有两种方式:
1 、手工静态在每台路由器上配置 R 4/1/2
Ip pim rp-address x.x.x.x
R4 的配置:
Host Source
Ip route 0.0.0 .0 0.0.0.0 24.0.0.2 确保路由通畅
Ip multicast-routing 启用组播路由先择协议
Ip pim autorp listener 监听 MAP-agent 发送的关于 RP 的信息
Int s1/0
Ip pim sparse-mode
 
R2
Ip multicast-routing
Ip pim autorp listener
接口下面启用
Ip pim send-rp-announce loop 2 scope 10 此命令说明 R2 是台 C-RP ,以 LOOP2 作为通告接口,它的地址作为竞选 RP 的竞争地址,通告传播范围 scope 默认是 1 ,改为 10 ,其实就是 TTL 值,此时回车表示该 C-RP 为所有组服务,如果需要指定,继续往下配置。
 
R1 的配置:
Ip multicast-routing
Ip pim autorp listener
 
Ip pim send-rp-discovery loop 1 scope 10 此命令说明了 R1 是台 MAP-Agent
R3 的配置:
Ip multicast-routing
Ip pim autorp listener
 
Ip pim send-rp-announce loop 3 scope 10
R5 的配置:
Ip igmp join-group 224.1.1.1 加组命令
查看: R 4/2/1 #sh ip pim nei 看组播路由器的邻居
Source#ping 224.1.1.1 对于组播地址的 PING 只发一个包
Source#sh ip pim rp mapping 如果能看到以下的内容,则说明源在 RP 上面注册已经成功
 
第二步构建共享分发树:
一但所有的分支路由器发现了 RP ,他们就会构建一个( * G
上图中的路由器是指从 RP 到接收端所经过的路由器
修剪?
第三步源去 RP 注册,源不管 RP 在哪,它只把流量发送给与自己直连的第一台路由器,这台路由器就会去查看自己是否有 group-RP 的映射条目,也就是说这个路由器必须知道 RP 在哪里,知道后通过单播路由表向外发送一个 PIM 的注册消息,当 RP 收到注册消息后,它做 abc 三件事:
A、 RP 将全创建一个( S G )条目放在他的组播表里面,而且它全生成一个源分发树。
B、 一但源分发树建立起来以后,流量将发送给 RP ,它将发送一个 PIM Reginter-Stop Mennge 停止注册。
C、 一但 RP 收到了从源发过来的流量,它将通过它与接收端的共享分发树转发流量。
第四步: switchover 此处不再介绍了(它还是依赖于 IGP

你可能感兴趣的:(职场,休闲,Multicast,组播,ccnp)