IP多播的优点:
单播:
- 浪费带宽
- 增加CPU负担
- 扩展性差
多播:Scalable(可扩展)
多播分组:
多播地址为D类地址:224.0.0.0~239.255.255.255
每种网络都有封装多播分组的方法:
- 对于点到点网络,把IP多播分组直接封装成帧然后从接口发送出去
- 对于以太网,用IP多播地址的低23位替换地址01-00-5E-00-00-00的低23位得到多播MAC地址,然后封装成帧。
网络中(路由选择域或AS)中的任何一台主机都可以做源主机。所有通过设置多播地址而加入该多播组的主机都是目的主机,称为组成员(group membership)。网络中的路由器负责把多播分组转发给所有加入了该多播组的主机。多播分组的源地址为单播地址,有效载荷一般使用UDP分组。
多播IP地址:
逆向路径广播(Reserve Path Broadcasting):
如果每台主机都要接收多播分组,则可以采用扩散的方法,但是,简单扩散会产生回路,可以采用逆向路径广播解决。
逆向路径广播规定:当一个路由器收到一个源地址为S发往组G的多播分组<S,G>时,当且仅当该分组到来的接口在从该路由器到S的最短路径(parent link)上时,该路由器才在它的其他接口广播(flooding)该分组。
逆向路径多播(Reverse Path Multicasting):
对于基于一个源地址的组播流,如果路由器的所有下游接口均无该组成员或已被剪枝,则它通过其双亲链路向上发送剪枝消息(prune message)。路由器不把多播分组从剪枝口转发出去。
剪枝超时失效 嫁接(graft)
DVMRP和PIM-DM:
- 距离向量多播路由协议(Distance Vector Multicast Routing Protocol,DVMRP)是在距离向量算法(RIP)的基础上使用逆向路径多播算法实现的多播路由算法。逆向路径多播算法一般用于组成员较多的情况下。
- 从逆向路径多播算法的描述可以看出,只是它只需要知道到源主机的最短路径的接口,与使用什么内部网关协议无关。协议无关多播-稠密模式 (Protocol Independent Multicast – Dense Mode, PIMDM)协议采用逆向路径多播算法实现的。
-
MOSPF 协议是另一种用于组成员稠密方式下的多播协议。
-
协议无关多播 - 稀疏模式协议 (Protocol Independent Multicast –Sparse Mode , PIM-SM) 用实现于组成员稀疏情形下的多播。
-
运行这些多播协议并不需要知道哪些主机是组成员,但是需要知道哪些直连网上有组成员? 这是通过 IGMP 协议知道的。
IGMP协议:
IGMP协议(Internet Group Management Protocol) 用于路由器查询与它直连的网络上是否存在组成员。
下图是IGMPv1的工作原理图。 IGMPv1协议只能对某个接口查询所有组,如果三次查询在十秒内都没有收到响应报告,则认为该接口没有任何组成员。
IGMPv2协议可以直接针对某个组进行查询,而且主机加入组和离开组都要发通告。
MOSPF:
如果使用OSPF协议,路由器可以通过Group Membership LSA把自己的直连网组成员信息传遍整个AS,最后,所有AS的路由器都在原拓扑结构图上标志哪些节点有组成员。 这样, 每个节点就可以计算出源节点到组成员的最短路径多点播送生成树。
- 用Group Membership LSA把标志有多播组成员路由器的信息扩散出去
- MOSPF路由器在收到多播分组时为每个源和多播组对建造一颗生成树。
- 由于计算量很大, MOSFP不适用于大型网络。思科不支持MOSFP。
答;如果节点之间的距离都大于0,只会朝离源主机的距离更远或相同的节点扩
散。