计算机网络(八)--组播与IGMP协议

在网络数据报的传输方式中,除了单播与广播,还有一种组播。组播的出现解决了,单播过于挤占带宽,广播精确度又不够的问题。

例如,在一个局域网中有50台主机,其中30台主机需要收看同一直播,另外20台主机需要收看另一直播。若使用广播传输,则无法区分两种直播,若使用单播,则源主机需要同时传送50份视频资源,效率低,拥塞率高。而组播不仅可以有区分地传输视频,还可以做到在源站点,只发送一份视频数据,当数据即将到达局域网时,再进行复制分发,起到节省带宽的作用。

而IGMP协议便是网络层的组播协议,运行在主机与组播路由器之间,对组播进行有效的管理。

一、组播

1.什么是组播

组播在发送者和每一接收者之间实现点对多网络连接。如果一台发送者同时给多个接收者传输相同的数据,也只需复制一份相同的数据包。当网络中的某些特定用户需求特定信息时,组播源仅发送一次信息,组播路由器借助组播路由协议为组播数据包建立树型路由,被传递的信息在尽可能远的分叉路口才开始复制和分发。

2.组播的作用

组播解决了单播和广播效率低的问题,提高了数据传输效率,减少了骨干网络出现拥塞的可能性。

3.IP组播地址

IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组IP地址。

组播地址–D类地址。在IP地址那一节中,我们讲到了地址分类,其中有一个D类地址,就是属于组播地址。

由于D类地址都由1110开头,所以D类地址的范围是从224.0.0.0~239.255.255.255.一个D类地址表示一个组播组,只能作分组的目的地址,源地址总是为单播地址。

4.组播特点

​ 1)组播数据报是“尽最大努力交付”,不提供可靠交付,应用于UDP。

​ 2)对组播数据报不产生ICMP差错报文。

​ 3)并非所有D类地址都可以作为组播地址

二、IGMP协议

在对组播的出现背景和作用有所了解后,我们应注意到组播的建立是需要主机IP软件进行组播扩展,才能使主机能够在本地网络上收发组播分组。然而仅靠这一点还是不够的,因为跨越多个网络的组播转发必须依赖于路由器。路由器为建立组播转发路由必须了解每个组员在Internet的分布,这要求主机必须能够将其所在的组播组通知给本地路由器,这也是建立组播转发路由的基础。为了协调管理组播转发的一切问题,IGMP协议应运而生。IGMP协议是TCP/IP中重要标准之一,所有IP组播系统都必须支持IGMP协议。

IGMP信息封装在IP报文中,其IP协议号为2.

若一个主机想要接收发送到一个特定组的组播数据包,它需要监听发往那个特定组的所有数据包。为解决Internet上组播数据报的路径选择,主机需要通过其子网上的组播路由器来加入或离开一个组,组播中采用IGMP来完成这一任务。这样,组播路由器就可以知道网络上的组播组的成员,并由此来决定是否向它们的网络转发组播数据包。当一个组播数据包收到一个组播分组时,它检查数据包的组播目的地址,仅当接口上有那个组的成员时才转发

IGMP提供了在转发组播数据包到目的地的最后阶段所需的信息,实现如下双向的功能:

  1. 主机通过IGMP通知路由器希望接收或离开某个特定组播组的信息。
    后阶段所需的信息,实现如下双向的功能:

  2. 主机通过IGMP通知路由器希望接收或离开某个特定组播组的信息。

  3. 路由器通过IGMP周期性地查询局域网内的组播组成员是否处于活动状态,实现所连网段组成员关系的收集与维护。

猜你喜欢

转载自blog.csdn.net/weixin_44580146/article/details/106938731
今日推荐