PIM-DM/SM
来源:互联网 发布:淘宝网最新版本下载 编辑:程序博客网 时间:2024/04/25 09:58
PIM-SM模式和PIM-DM模式除了在发现组成员的方式上不同之外,记录路由表的方式也不一样,例如网络中有一个组,地址为:224.1.1.1,发送者为100.1.1.1,PIM-SM模式记录为(*,224.1.1.1),可以看出,PIM-SM模式并不关心组播的源地址,而统统将源地址使用星号*来表示,这样一来,PIM-SM为一个组只记录一个条目,而不管这个组有多少个发送者。这样的记录方式称为(*,G),其中*就是组播源地址,G就是组地址。如果有10个组,每个组有5个发送者,使用(S,G)的记录方式,需要记录10×5=50条,而使用(*,G)的记录方式,则只需要10条,所以使用PIM-SM模式,可以大大缩减组播路由表的空间,从而大大节省系统资源。PIM-SM模式不仅需要记录(*,G)信息,也和PIM-DM模式一样需要记录在该组中,哪些接口是出口,从此接口将数据发给接收者。但是与PIM-DM模式不同的是,PIM-SM模式只记录连接着接收者的接口,其它没有接收者,不需要接收组播的接口是不会被记录的。比如路由器上有5个接口有PIM邻居,其中只有一个是出口,再去掉1个RPF接口,还剩3个PIM接口是不需要接收组播的,在PIM-DM模式中,会记录下一个RPF口和一个forwarding状态的出口,以及三个不需要接收组播的pruning状态的接口,而在PIM-SM模式中,只会记录一个RPF口和一个forwarding状态的出口,其它的都不作记录,因此,PIM-SM模式的接口记录方式会比PIM-DM模式更省资源。
在PIM-SM中,因为(*,G)形式的记录中不知道组播源的地址,也就无法完成RPF检测,但是又由于接收者收到的数据,都应该是RP发来的,路由器也就认为PIM-SM中的组播源地址,就是RP的地址,在这种情况下,路由器会以RP的地址为源地址做RPF检测,但是在下面的拓朴中,就会出现问题:
如上图所示,当所有路由器都认为RP地址23.1.1.3就是组播源地址时,这样去做RPF检测,在R4上检测时,因为R4的路由表中会显示从接口S0/0出去可以到达23.1.1.3,所以组播从R4的S0/0被发进来时,则RPF检测可以通过,所以在R4上没有任何问题。当在R2上做RPF检测时,因为R2的路由表中显示到达23.1.1.3应该从接口F0/1出去,所以R2只会接收从接口F0/1发进来的组播,从其它接口发进来的,都会被认为是环路而被丢弃。因此在真正的源12.1.1.1将组播从R2的F0/0发进来时,R2会因为RPF检测失败,从而丢弃所有的组播数据,这样一来,组播也就无法通信了。
在PIM-SM中,组播源没有机制用来宣告自己的存在,又因为PIM路由器都认为RP才是组播源,而当直接的组播源向RP发送组播时,会导致某些路由器RPF检测失败,因此在PIM网络中,真正的源需要向RP发送注册消息,以宣告自己的存在,而发送注册消息在多路访问的网络中则是由DR来代为完成的。真正的源向RP发出第一个组播包时,DR将此包封装在单播中发向RP,这称为注册,发送的注册消息会从DR到RP之间建立一条源树,也就是(S,G)的记录,这样,在源到RP之间创建的源树就可以帮助避免RPF检测失败,当RP和真正的源之间创建(S,G)条目之后,就会通知DR停止以单播发送,从而转回发送真正的组播。因为由于误认为RP是源而导致RPF检测失败的情况,只有在RP到源这段上游网络中的路由器才会存在,而RP到组成员的这段网络中是不会出现这种情况的。由此可以想象得出,当源所在的网络需要向RP发送数据包时,应该将DR的位置选为最靠近RP的路由器,否则也会因为RPF检测失败而导致组播不通。
- PIM-DM/SM
- PIM-DM与SM对比
- PIM-DM/SM (1)
- RPF机制,PIM-DM工作机制,PIM-SM工作机制
- RPF机制,PIM-DM工作机制,PIM-SM工作机制
- PIM-DM/SM (2)(协议包的区别)
- 组播(IGMP,IGMP SNOOPING,PIM-DM,PIM-SM,MSDP,MBGP)
- 简述 RPF机制,PIM-DM工作机制,PIM-SM工作机制
- 组播讲义(IGMP,IGMP SNOOPING,PIM-DM,PIM-SM,MSDP,MBGP)
- PIM-DM
- PIM SM 报文转发规则
- PIM SM + IGMP Snooping 适用性测试
- cisco 组播PIM-DM配置
- H3C AR路由器 debugging PIM DM命令
- IP Multicast: PIM-SM Auto-RP and BootStrap
- PIM-SM协议初探(一)路由角色选举
- PIM-SM协议初探(二)RPT构建
- PIM-SM协议初探(三)SPT构建
- 历届中国大数据技术大会PPT精粹(一)
- C++ map的基本操作和使用
- 最大子矩阵和问题
- C#学习初级总结
- Windows下安装Django及WEB服务启动
- PIM-DM/SM
- ByteBuffer.allocate() vs. ByteBuffer.allocateDirect()
- sockaddr与sockaddr_in
- const 作用和用法
- linux mtr 命令详解
- sftp
- 互联网教育的未来
- Linux远程开机
- adb shell dumpsys 查看包名类名的神器