zoukankan      html  css  js  c++  java
  • [TCP IP详解:学习笔记]IGMP:Internet组管理协议

           Internet组管理协议(IGMP),它让一个物理网络上的所有系统知道主机当前所在的多播组。多播路由器需要这些信息以便知道多播数据报应该向那些端口转发。IGMP在RFC 1112中定义。

    IGMP有固定的报文长度,没有可选数据。IGMP报文在IP首部中协议字段为2来指明。

    图1显示了长度为8字节的IGMP报文格式。

     

    图1  IGMP报文的字段格式

          

           IGMP类型为1说明是有多播路由器发出的查询报文,为2说明是主机发出的报告报文。组类型为D类IP地址。在查询报文中中组类型设置为0,在报告报文中组地址为要参加的组地址。

           IGMP报告和查询

           多播路由器使用IGMP报文来记录与该路由器相连网络中组成员的变化情况,使用规则如下():

    1. 当第一个进程加入一个组时,主机就发送一个IGMP报告。如果一个主机的多个进程加入同一组,只发送一个IGMP报告。这个报告被发送到进程加入组所在的同一接口上;
    2. 进程离开一个组时,主机不发送IGMP报告,即便是组中的最后一个进程离开。主机知道组中已不再有组成员时,在随后收到的IGMP查询中就不在发送报告报文;
    3. 多播路由器定时发送IGMP查询报文来了解是否还有任何主机包含属于多播组的进程;
    4. 主机通过发送IGMP报告来响应一个IGMP查询。

      图2显示两个IGMP报文,一个是主机发送的报告,另一个是路由器发送的查询。该路由器正在要求那个接口上的每个主机说明它加入的每个多播组。

     

    图2 IGMP的报告和查询

  • 相关阅读:
    caffe中的sgd,与激活函数(activation function)
    image retrieval数据集
    八卦
    caffe的损失函数
    caffe的输入
    rcnn spp_net hcp
    js实现幻灯片播放图片示例代码
    Checbox的操作含已选、未选及判断代码
    shell中case的用法学习笔记
    linux bash shell中case语句的实例
  • 原文地址:https://www.cnblogs.com/life91/p/3001168.html
Copyright © 2011-2022 走看看