PIM-DM

PIM-DM(Protocol Independent Multicast Dense Mode)协议独立的组播模式,PIM-SM(Protocol independent Multicast Sparse Mode)协议无关的主播模式。前者基于Source-Based Tree 基于源树,后者基于Group-Shared Tree 组稀疏模式。
PIM-DM主要采用扩散-剪枝的方式来转发组播数据流。对于组播成员稀少的网络,PIM-DM会产生大量的剪枝报文,如果网络报文过大,则扩散-箭枝的周期就会比较长,因此PIM-DM一般适合于规模较小、组播成员比较密集的网络。
PIM-DM首先假设网络中的每个子网都存在至少一个组成员,并将组播数据包从组播源扩散到网络中的所有路由器,然后,对于实际上没有组成员的分支进行剪枝操作。所谓剪枝(Prune),就是路由器向上游节点发送剪枝消息,通知上游节点不用再转发组播数据到该分支。上游节点收到剪枝消息后,会将相应的接口从其组播转发表项(S,G,)中删除,只保留包含组成员的分支,这样便可减少网络资源的消耗。另外,各个被剪枝的节点同时还提供了超时机制,当剪枝超时后(默认为210s)将重新开始扩散-剪枝过程。被裁剪的分支如果临时有组播数据转发需求,也可以使用嫁接(Graft)机制主动请求恢复组播数据的转发。
周期性的扩撒-剪枝行为是PIM-DM的一个重要特征,通过这样的行为,PIM-DM可以构建并动态地维护一棵从组播源到组成员的单向无环的SPT(Shortest Path Tree)。SPT是以组播源为根、组播组成员为枝叶的组播源到组成员的一棵最短路径树,此树也就是组播数据的转发路径。组播数据的转发中会出现上游接口和下游接口这两个概念,路由器收到组播数据的接口称为上游接口,转发组播数据的接口称为下游接口。
在PIM-DM网络中,路由器需要周期性地发送Hello消息来发现邻居并维护PIM邻居关系。此外,Hello消息还有一个重要的作用:路由器会通过比较Hello消息中携带的优先级和IP地址,为多路由器网段选举出DR(Designated Router),并以它作为IGMPv1中的查询器。

下图一台组播服务器MSC1和3台终端PC,所有路由器都运行OSPF,并且都位于区域0。在网络中部署PIM-DM,从而实现以组播的方式向PC播放视频
在这里插入图片描述

R1接口配置:
在这里插入图片描述
R2接口配置:
在这里插入图片描述
R3接口配置:
在这里插入图片描述
R4接口配置:
在这里插入图片描述
R5接口配置:
在这里插入图片描述

1.在每台路由器上配置OSPF协议,通告直连网段。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在R1上查看OSPF的邻居建立情况。display ospf peer brief
在这里插入图片描述
在R1上查看路由表 display ip routing-table
在这里插入图片描述

2.配置PIM-DM
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述 在这里插入图片描述
在这里插入图片描述
2.在R1上查看PIM邻居关系的建立情况。display pim neighbor
在这里插入图片描述
可以看到R1与R2、R3、R4成功建立了PIM邻居关系。

在R2、R3、R4、R5的用户侧接口下使能IGMP。
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]igmp enable

[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]igmp enable

[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]igmp enable

[R5]int g0/0/1
[R5-GigabitEthernet0/0/1]igmp enable

查看R2的IGMP接口信息。display igmp interface
在这里插入图片描述
可以看到R2的E0/0/1接口IGMP功能已经使能。

在组播服务器MCS1上使用组播地址224.1.1.1播放视频,当路由器接收到组播源发送的组播数据后便会自动生成组播路由。
在这里插入图片描述
查看R1的组播路由表。
在这里插入图片描述
可以看到,组播源地址为172.16.1.1,组播组的IP地址为224.1.1.1,R1的上游接口为GE2/0/0

MCS1使用组播地址224.1.1.1播放视频后,由于PC1没有加入该组播组,所以R2没有收到IGMP加入消息,R2会认为自己没有连接任何组成员。R2在收到R1发送的组播数据后,会向R1发送枝剪消息。R1收到剪枝消息后,会立即向R2发送组播数据包。在R2的G0/0/0接口抓包查看剪枝消息的数据包。
在这里插入图片描述

让PC1使用IGMPv2加入组播组224.1.1.1,R2收到PC1的加入消息后,会立即发送Graft消息给R1,RI收到后会立即开始重新转发组播数据包,R2再转给PC1,PC1启动VLC,便可观看视频。
在这里插入图片描述
可以看到R2向R1发送了一个Graft消息后,R1立即回应了一个Graft-Ack消息,然后开始向R2转发UDP的组播数据流。
在这里插入图片描述

3.PIM-DM,DR的选举
假定PC2使用IGMPv1加入组播组224.1.1.1,PC2通过交换机同时连接到R3和R4,为避免收到重复的IGMP查询消息,R3和R4之间需要选举一个查询器,查询报文仅由查询器发送。IGMPv1中查询器的选举由组播路由协议决定,PIM-DM选举出来的DR既为IGMPv1中的查询器。

[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]igmp version 1

[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]igmp version 1

在这里插入图片描述
在这里插入图片描述
可以看到PIM-DM选举出的DR为R4(优先级一样时,IP地址较大者为DR)

验证IGMPv1的查询路由器是否就是PIM-DM选举出来的DR。在R3和R4上查看关于查询器(Querier)的情况
在这里插入图片描述
在这里插入图片描述
可以看到IGMPv1的查询器就是PIM-DM选举出来的DR。

4.观察PIM-DM中的Assert机制
由于R3\R4从上游接收到组播报文后,都会向下游网络转发改组播报文,这样就会导致下游节点R5收到两份完全相同的组播报文。为了避免这种情况的发生,PIM-DM 采用了 Assert 机制来选定一个唯一的转发者,既:对于一个特定的组播组,如果同一网段上存在多个上游路由器,者这些上游路由器中的组播源的路径开销最小者将被选举为转发者;若开销相同,则IP地址最大的路由器将被选举为转发者。只有转发者才能向该网段转发相应的组播数据报文,其它落选路由器应裁剪掉对应的接口,禁止向该网段转发相应的组播数据报文。

在PC3上使用IGMPv2加入组播组224.1.1.1,在R5的GE0/0/0接口查看报文情况。
在这里插入图片描述
观察到R5收到了来自R3(20.0.2.253)和R4(20.0.2.254) 发送的 Assert 报文。由于R3和R4去往组播源的路径开销相同,所以R4凭着较大的IP地址成为了转发者。抓包显示 Assert 机制选定的唯一一个转发者是R4的(20.0.2.254) 既R4转发给R5的组播视频流。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值