单播方式所存在的问题
1.重复流量过多
2.消耗设备和链路带宽资源
3.难以保证传输质量
广播方式存在的问题:
1.地域范围限制
2.安全性无法保障
3.有偿性无法保证
广播方式下,信息发送者与用户主机被限制在一个共享网段中,且该网段所有用户主机都能收到该信息
组播:
优势:
1.无重复流量
2.节省设备与带宽资源
3.安全性高
4.有偿性很高
ASM:任意源组播
发送者是任意的,如果加入了某个组播组,就会收到所有的发给该组的组播数据,他并不知道发送者的位置
SSM:指定源组播
接受者可以指定收到哪些源发来的指定数据
PIM:直接利用单播路由表的路由信息进行组播报文RPF检查,创建组播路由表项,转发组播报文
DM:密集模式
SM:稀疏模式
封装在IP报文当中
协议号:103
组播地址:224.0.0.13
路由器如何转发组播报文
路由器需要依据哪些信息进行转发
1.各接口
PIM-DM基本概述
采用“推模式”转发组播报文
PIM-DM的关键任务:
建立SPT(最短路径树)
PIM-DM的工作机制
DM:
邻居发现
使用Hello机制发现邻居,周期时间是30s
hold时间:Hello时间的3.5倍 105s
选举DR的规则:
优先级高的成为DR
若相同,则.IP地址大的为优
作用:为了给运行igmpV1的提供查询者
RPF(源检测机制)
作用:为了防止组播报文的重复和扩散
(S,G)
(*,G)
*代表所有
G代表一个组
S代表源
2.扩散和剪枝
扩散的过程
路由器接收到组播报文的时候进行RPF检查
如果RPF检查通过,则创建(S,G)表项,也就是检查上行接口是不是源发过去的接口,如果是,则将数据向下行进行转发,如果RPF检查没有通过,则丢弃该报文
剪枝的过程:
当下游节点没有组播组成员,则向上游节点发送Prune消息,通知上游不在向这个节点发送数据,上游节点收到这个Prune消息之后,就删除这个组播组。
扩散和剪枝周期性进行,每3分钟重复一次。
3.状态刷新
周期性的去刷新剪枝状态
4.嫁接(Graft机制)
新的组成员加入组播组后,则向上游发送一个Graft的消息,请求上游路由器恢复对应出口的转发,上游路由器收到Graft的消息之后,向下游回复Graft Ack消息并将出街口回复为转发状态
5.断言(Assert)
避免重复组播报文
上图所示,RTA,RTB,RTC都会向RTD发送组播报文,三份重复的组播报文浪费带宽资源
所有,为了避免这种情况,PIM路由器在收到邻居路由器发送的组播报文的时候,会以组播的方式向本网段发送Assert消息,其他的PIM路由器收到Assert消息之后,会将自身的参数和对方的报文进行比较,进行Assert竞选
选举规则:
优先级以大为优
度量值以小为优
IP地址以大为优
PIN-DM的局限性
适用于组播成员分布较为密集的园区网络
在族必成员较为稀疏的网络中,组播流量的周期性扩散会给网络带来较大的负担
PIM:直接利用单播路由表的路由信息进行组播报文RPF检查,创建组播路由表项,转发组播报文
PIM-DM
使用“拉模式”转发组播报文
PIM-SM的关键任务:
建立RPT:汇聚点树,也称共享树
建立SRT:最短路径树
适用于组播成员较为稀疏的网络环境
汇聚点RP:
1.充当RPT树的根节点
2.共享树中的所有组播流量都经过RP转发给接受者
3.所有PIM路由器都要知道RP的位置
手工指定:适用于小型网络,会选择与组播源直连的路由器充当RP,组播源只有一个的时候
组播源比较密集的时候,会选择靠近组播源的路由器作为RP
接受者比较密集的时候,会选择靠近接受者的路由器作为RP
动态选举
首先会调出几个核心的路由器作为c-RP(候选RP)
组播源比较密集的时候,会选择靠近组播源的几个路由器作为c-RP
接受者比较密集的时候,会选择靠近接受者的几个路由器作为c-RP
RPT(共享树)建立的过程
①主机加入组播组的时候,发送IGMP成员通告
②向上游发送(*,G)join消息
③join消息到达RP的过程中,沿途各种路由器都会产生相应的join消息
SRT的建立过程
①组播源向组播组发送第一个组播报文
②源端的DR将该组播报文封装成Register报文并以单播的方式发给RP
③RP收到注册消息后,解封装,提取报文,并将该组播报文沿RPT分支转发给接受者
④同时,RP向DR发送一个join消息,沿途路由器都会生成(S,G)表项,然后,一个SRT就建立完成