探索IP多播:高效的网络通信技术


IP多播是一种高效的网络通信技术,能够显著节约网络资源,尤其在需要一对多通信的场景中。本文将为基础小白介绍IP多播的基本概念、工作原理及应用实例,帮助大家更好地理解和应用这种技术。

1. IP多播的基本概念

IP多播是由史蒂夫·迪林(Steve Deering)于1988年首次提出的概念。1992年,IETF在互联网范围内首次试验了IP多播,用于IETF会议声音的多播。当时有20个网点可以同时听到会议的声音。随着互联网用户数目的急剧增加以及多媒体通信的发展,IP多播成为了一种热门技术。

1.1 多播 vs 单播

单播是指一个源点向一个终点发送数据,而多播是指一个源点向多个终点发送数据。多播可以显著节约网络资源。例如,如果一个视频服务器需要向90个主机传送同样的视频节目,单播方式需要发送90个副本,而多播方式只需发送一次,路由器在转发时复制分组即可。

1.2 多播组和D类地址

多播组的标识符是D类地址。D类地址的前四位是1110,因此D类地址范围为224.0.0.0到239.255.255.255。多播数据报使用D类地址作为目的地址,这样就可以标志一个多播组。D类地址不能用于源地址,并且多播数据报不产生ICMP差错报告报文。

1.3 多播的优势

当多播组的主机数量很大时(例如成千上万个),采用多播方式可以明显减少网络中各种资源的消耗。多播路由器(Multicast Router)负责转发多播数据报,并且还可以转发普通的单播IP数据报。

2. 在局域网上进行硬件多播

硬件多播是在局域网上进行的多播。局域网支持硬件多播,只要将IP多播的地址映射成局域网的硬件多播地址,就可以利用硬件多播来实现局域网内的IP多播。

2.1 映射关系

IANA将以太网地址块中从01-00-5E-00-00-00到01-00-5E-7F-FF-FF的多播地址块用于映射IP多播的地址。例如,多播IP地址224.128.64.32和224.0.64.32都转换成以太网硬件多播地址01-00-5E-00-40-20。由于映射关系不是唯一的,因此收到多播数据报的主机还需要在IP层进行过滤。

3. IP多播协议

IP多播需要两种协议:互联网组管理协议(IGMP)多播路由选择协议

3.1 互联网组管理协议(IGMP)

IGMP使多播路由器知道本地局域网上的多播组成员信息。IGMP的主要任务是让连接在本地局域网上的多播路由器知道是否有主机参加或退出了某个多播组。

3.2 多播路由选择协议

多播路由选择协议的任务是在多播路由器之间为每个多播组建立一棵连接源和所有拥有该组成员的路由器的多播转发树。IP多播数据报沿着多播转发树进行洪泛传送,最终被传送到所有的组成员。

4. 互联网组管理协议(IGMP)

IGMP已历经了三个版本:IGMPv1、IGMPv2和IGMPv3。IGMP有三种类型的报文:成员查询报文成员报告报文离开组报文。IGMP报文封装在IP数据报中传输,IP协议号为2。

4.1 加入多播组

当一个主机要加入某个多播组时,发送一个IGMP成员报告报文。多播路由器会维护一个多播组列表,记录本网络中的多播组地址。

4.2 监视成员变化

多播路由器周期性地发送成员查询报文,收到报文的多播组成员将发送成员报告报文作为应答。为了减少不必要的重复应答,IGMP采用了一种延迟响应策略。

4.3 离开多播组

主机要退出一个多播组时,可主动发送一个离开组报文。多播路由器在收到离开组报文后,会向该组发送一个特殊IGMP成员查询报文,若没有收到成员报告报文,则将该组从多播组列表中删除。

5. 多播路由选择协议

多播路由选择的基本任务是为每个多播组建立一棵多播转发树。多播路由选择协议有两种基本方法:基于源树组共享树

5.1 基于源树的多播路由选择

基于源树的多播路由选择最典型的算法是反向路径多播(RPM) 算法。该算法先利用反向路径转发(RPF)建立一棵广播转发树,再利用剪枝算法将非成员的下游路由器剪除,获得多播转发树。

5.2 组共享树的多播路由选择

组共享树方法在每个多播组中指定一个中心路由器,以此中心路由器为根建立一棵连接所有成员路由器的生成树。多播组的所有源共享这一棵多播转发树。

6. 实际应用

尽管IETF努力推动全球MBONE的建设,至今IP多播在互联网上还没有得到大规模的应用。目前IP多播主要应用在一些局部的园区网络、专用网络或者虚拟专用网络中。P2P技术的广泛应用推动了应用层多播技术的发展,许多视频流公司和内容分发公司通过构建自己的应用层多播覆盖网络来分发内容。

总结

IP多播是一种高效的网络通信技术,通过理解其基本概念和工作原理,可以更好地应用这种技术,节约网络资源,提高通信效率。无论是在局域网还是广域网中,IP多播都展示出了其强大的优势和广阔的应用前景。

图文来源:《计算机网络教程》第六版微课版

  • 23
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CongSec

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值