网络层的组播用于向某些特定的主机群发消息,而不必给每一个主机都单独发送消息。与单播路由相比,相同点是路由算法在网络层仍发挥着重要作用,但是不同点是处理组播包的路由器必须建立和维护组播连接的状态信息。

    组播通常采用间接的方式进行组播:每一组接收者有一个统一的“标识符”,将包传送到与该“标识符”相连的所有接收者,而不是把所有接受者的目的地址都放在IP组播包里面的直接法。这是显而易见的,因为当某个组播的主机很多的时候地址太多会严重影响消息传递的效率。发送方应该知道组里面有多少成员(并且成员应该随意加入和退出),并且路由器应该知道怎么把组播数据包传递给所有有连接某一个组播的主机的路由器。如下图所示:

    图中蓝色的是组播路由器,带g符号的是参加某一个组播的主机。那么假设某个源是组播源,它想发送消息给所有的加入某个组播的主机,那么首先他应该把消息发送给所有组播路由器;之后组播路由器再把消息发送给自己的加入组播的主机。
    从上面的步骤来看,主要就两个部分,所以网络层的组播协议主要也由两个部分组成:IGMP协议(Internet组管理协议)以及组播路由协议。IGMP协议用于用户进程通过该协议提出加入/退出某个组的请求,也就是说路由器通过这个协议了解自己局域网下面哪些主机加入了哪些组;组播路由协议用于保证所有组播路由器都能收到组播包。这篇文章着重讲一下IGMP,而文章后面的拓展部分则是关于组播路由算法。
    IGMP协议工作在主机与其直接相连的路由器之间,主机用它来通告它想加入某个组播组,路由器用它来发现所连网络上是否有主机属于某个组播组。路由器用它来发现所连网络上是否有主机属于某个组播组,并且定期探询表中成员以便确定该主机组是否仍然存在。
    如果路由器下某个主机想加入一个组:

    加入的过程如下:
    ①H1发送“Membership-Report”消息告知想加入组地址224.2.0.1。
    ②R1接收到成员报告消息后将所有发给224.2.0.1的包都转发到net1
    ③R1定期向224.0.0.1(所有的组成员)发送“Membership-Query”消息确认是否还有组员。

    如果某个主机想退出组的过程如下:

    ①H1发送“Leave-Group ”消息到224.0.0.2(所有组播路由器)
    ②R1接收此消息
    ③R1停止转发目的地为224.2.0.1的报文到net1(如果在net1上再也没有属于224.2.0.1组的成员)

    通过IGMP协议,组播路由器就知道自己局域网下面主机加入和退出组播的情况。如果有加入,那么当组播数据包来的时候就转发给自己的主机,反之如果都退出了就会发送“prune”信息给自己的上级路由器,就不会有组播数据包发送给自己了。

    拓展阅读

    IP组播之组播路由算法

原文地址:https://blog.csdn.net/hanzhen7541/article/details/79064937

IGMP协议——IP组播之组管理协议相关推荐

  1. IP组播之组管理协议IGMP

    网络层的组播用于向某些特定的主机群发消息,而不必给每一个主机都单独发送消息.与单播路由相比,相同点是路由算法在网络层仍发挥着重要作用,但是不同点是处理组播包的路由器必须建立和维护组播连接的状态信息. ...

  2. 【H3C V7交换机实战课程-8】IP组播配置与管理-王达-专题视频课程

    [H3C V7交换机实战课程-8]IP组播配置与管理-10489人已学习 课程介绍         本课程是以H3C新的Comware V7版本操作系统为基础,以实战方式介绍H3C设备的IGMP.PI ...

  3. IP组播配置与管理实战——5

    组播VLAN配置与管理 组播VLAN(Multicast VLAN)一般部署于设备的网络侧来实现组播流汇聚,然后将组播报文在用户VLAN内复制分发.华为S系列交换机支持基于用户VLAN和基于接口两种方 ...

  4. IP组播配置与管理——5

    组播VLAN配置与管理 组播VLAN(MulticastVLAN)一般部署于设备的网络侧来实现组播流汇聚,然后将组播报文在用户VLAN内复制分发.华为S系列交换机支持基于用户VLAN和基于接口两种方式 ...

  5. IP组播之组播路由算法

    上一篇文章说的是组管理协议IGMP,它是用来给组播路由器确定自己局域网下面有哪些主机加入了哪些组播的.那么这篇文章就说说IP组播另一个重要协议,组播路由协议.组播路由协议用于在路由器之间共享组信息,为 ...

  6. 交换机组播协议-二层组播/三层组播总结

    一.组播介绍: 组播技术解决的是以最小的网络开销实现单点发送,多点接收的问题.就实现点对多点数据传输问题,比广播/单播传输更高效,更能节省网络带宽,降低网络负载. 当ip网络中某Rx主机需要接收信息时 ...

  7. IP组播----组播基础 组播服务模型、组播地址

    一.简介 IPv4传输方式有三种:单播.组播.广播 单播:信息源为每个需要信息的主机都发送一份独立的报文 组播:信息源将保温发送到一个特定的组播IP地址,只有加入了这个组的主机才能接收 广播:信息源将 ...

  8. 组播侦听者发现协议MLD

    MLD简介 组播侦听者发现协议MLD(Multicast Listener Discovery)是负责IPv6组播成员管理的协议,用来在IPv6成员主机和与其直接相邻的组播路由器之间建立和维护组播组成 ...

  9. MLD(组播侦听发现协议)

    1.协议的概述 组播侦听发现协议MLD用于IPv6组播中的组成员管理,其基本原理和功能与IGMP相似.MLD的目的是使能每个IPv6路由器发现在其直连网络上的组播侦听者(即希望接收组播数据的节点)的存 ...

最新文章

  1. 为什么明星公司会选择Go作为编程语言?
  2. AlertDialog显示错误 Unable to add window token null is not for an application
  3. python边缘检测
  4. linux控制流程,Linux-流程控制:for 循环
  5. oracle技术之检查点及SCN深入研究
  6. Initiate Field Service Jobs
  7. mySQL(关系型数据库管理系统)编辑
  8. Orleans 知多少 | 3. Hello Orleans
  9. 渗透技巧——利用netsh抓取连接文件服务器的NTLMv2 Hash
  10. matlab mex gcc 支持c99
  11. Forking AfterBurn into Maya
  12. 使用REST风格架构您需要知道的一些事
  13. Python——对象
  14. 在python中画正态分布图像
  15. 【数据结构】平行四边形数量
  16. linux格式化fat的命令,Linux磁盘格式化命令详解
  17. vue以post的方式发请求,传参在url中
  18. 你考软考的心路历程是什么?
  19. ffmpeg视频特效
  20. Oracle的Connect By用法及理解

热门文章

  1. vue引入bootstrap、jquery
  2. 常用的关系型数据库的优劣与选择
  3. Frameset使用教程
  4. mongodb batchInsert
  5. Scalable Web Architectures: Common Patterns and Approaches
  6. 江苏大学考研885程序设计 - 谭浩强课后习题
  7. 日常积累--javaweb
  8. 港股打新之卖出策略(暗盘和首日)
  9. mysql从挂了数据怎么恢复_详解MySQL误操作后怎样进行数据恢复
  10. IT报表开发者必看:别加班了,真正解放双手的低代码开发神器来了