计算机网络:IP多播协议

一、多播分组

多播地址为D类地址:224.0.0.0 - 239.255.255.255.

每种物理网络都有封装多播分组的方法:

  • 对于点到点网络,把IP多播分组直接封装成帧然后从接口发出去;
  • 对于以太网,用IP多播地址的低23位替换地址01-00-5E-00-00-00的低23位得到多播MAC地址,然后封装成帧。
帧格式:帧头部IP头部IP Payload(UDP)帧尾
对应内容:多播MAC地址多播IP地址目的端口号 

网络中任何一台主机都可以做源主机。所有通过设置多播地址而加入该多播组的主机都是目的主机,称为组成员(group membership)。 网络中的路由器负责把多播分组(目的地址为多播地址的分组)转发给所有加入了该多播组的主机。

多播分组中的源地址为单播地址,有效载荷一般使用UDP分组。

多播时路由器通过IGMP协议知道哪里有要接收多播分组的主机(IGMP协议:多播路由协议,主机告诉和它相邻的路由器它要接收哪些多播地址发来的消息),再查路由表决定如何转发分组。

二、逆向路径广播/多播

1、广播

逆向路径广播规定:当一个路由器收到一个源地址为S发往组G的多播分组<S,G>时,当且仅当该分组到来的接口在从该路由器到S的最短路径(Parent Link)上时,该路由器才在它的起它接口广播(flooding)该分组。

用多播分组<S,G>中的S查路由表得到接口,如果得到的接口与当前收到该路由表的接口一样,则扩散,否则不扩散。

查到了表明S与该接口的距离是S主机到路由器的最短路,这样的话扩散则会让多播分组越来越远离源S。

2、多播

对于基于一个源地址的组播流,如果路由器的所有下游接口均无该组成员或已经被剪枝,则它通过其双亲链路向上发生剪枝消息(Prune Message).路由器不会把多播分组从剪枝口转发出去。

如果被剪枝的网络中新增了该组成员,则:

3、PIM-DM和DVMRP

  • 逆向路径多播算法一般用于组成员较多的情况下。运行逆向路径多播算法的路由器只需要知道到源主机的最短路径的接口,与使用什么内部网关协议无关。协议无关多播-稠密模式(Protocol Independent Multicast - Dense Mode, PIM-DM)协议就是采用逆向路径多播算法实现的。
  • 距离向量多播路由协议(Distanse Vector Multicast Routing Protocol, DVMRP),是在距离向量算法的基础上使用逆向路径多播算法实现的多播路由算法。

三、IGMP协议

  • 用于路由器查询与它直连的网络上是否存在组成员。
  • IGMPv1:只能对某个接口查询所有组,若三次查询在10秒内都没有收到响应报告,则认为该接口没有任何组成员;
  • IGMPv2:可以直接针对某个组进行查询,而且主机加入组和离开组都要发通告;

四、MOSPF

  • 使用OSPF协议,路由器可以通过Group Membership LSA把自己的哪些直连网有组成员的信息传遍整个AS,最后,所有AS的路由器都在原拓扑结构图上标志哪些(网络)节点有组成员。这样每个节点就能计算出源节点到组成员的最短路径多点播送生成树。
  • 形成的是最短路径树,而不是最小开销树

五、PIM-Sparse Mode

建立共享源树

  • RP:Rendezvous point(汇集点),汇集了所有组成员消息;
  • 路由器定期向RP发送Join分组,路由器收到Join分组则说明收到的接口可以连接到G的组成员
  • 转发目的地址为G的多播分组时只从收到过Join(*,G)的接口转发出去;

  • 源站点可以通过RP转发多播分组:源站点通过注册消息进行封装后把多播分组发送给RP,RP解封装后直接向共享树转发多播分组;
  • 多路访问网络选择IP最大的路由器为指定路由器,用来转发多播分组;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值