igmp是负责ip组播成员管理的协议_IGMP协议

igmp是负责ip组播成员管理的协议_IGMP协议组播协议分为主机-路由器之间的组成员关系协议和路由器-路由器之间的组播路由协议。组成员关系协议包括IGMP(互连网组管理协议)。组播路由协议分为域内组播路由协议及域间组播路由协议。域内组播路由协议包括PIM-SM、PIM-DM、DVMRP等协议,域间组播路由协议包括MBGP、MSDP等协议。IGMP(InternetGroupManagementProtocol)作为因特网组管理协议,是TCP/IP协议族中负责IP组播成员管理的协议,它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

目录

前言

一、协议体系

二、IGMP协议介绍

三、IGMPv1报文格式

四、IGMPv1

IGMPv1组成员加入

 IGMPv1响应抑制机制

 IGMPv1组成员离开

总结

前言

上一篇文章介绍了IP组播的原理,文章链接如下:https://blog.csdn.net/Adsjddjjej/article/details/126305279

在了解了IP组播的原理之后,本文将介绍IP组播最底层的协议——IGMP协议版本中的IGMPv1

一、协议体系

组播协议分为主机-路由器之间的组成员关系协议和路由器-路由器之间的组播路由协议。组成员关系协议包括IGMP(互连网组管理协议)。组播路由协议分为域内组播路由协议及域间组播路由协议。域内组播路由协议包括PIM-SM、PIM-DM、DVMRP等协议,域间组播路由协议包括MBGP、MSDP等协议。

igmp是负责ip组播成员管理的协议_IGMP协议

igmp是负责ip组播成员管理的协议_IGMP协议

二、IGMP协议介绍

IGMP(Internet Group Management Protocol)作为因特网组管理协议,是TCP/IP协议族中负责IP组播成员管理的协议,它用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。

IGMP建立并且维护路由器直联网段的组成员关系信息。域内组播路由协议根据IGMP维护的这些组播组成员关系信息,运用一定的组播路由算法构造组播分发树进行组播数据包转发。

IGMP协议运行于主机与主机直接相连的组播路由器之间。

IGMP工作机制:

  1. 接收者(主机)向所在的共享网络报告组成员关系。
  2. 查询者(路由器)周期性地向该共享网段发送组成员查询信息。
  3. 接收者主机接收到查询消息后进行响应以报告组成员关系。
  4. 网段中的组播路由器依据接收到的响应来刷新组成员的存在信息。

igmp是负责ip组播成员管理的协议_IGMP协议

对于IGMP协议的发展,目前一共有3个版本,分别是IGMPv1,IGMPv2以及IGMPv3。

igmp是负责ip组播成员管理的协议_IGMP协议

这三个版本的协议,只需要从以下几点去认识,实际上就比较好理解了:

        ①接收者的加入过程

        ②组成员的维护过程

        ③接收者的离开过程

IGMPv1定义了基本的组成员查询和报告过程

IGMPv2在IGMPv1的基础上添加了组成员快速离开的机制

IGMPv3增加的主要功能是成员可以指定接收或指定不接收某些组播源的报文。

三、IGMPv1报文格式

igmp是负责ip组播成员管理的协议_IGMP协议

  • 版本:IGMP版本标识,版本1为1。IGMPv2的报文中没有该字段。
  • 类型:类型字段。表示IGMP报文类型。IGMPv1支持两种类型的报文:
    • 成员关系查询(0x11):路由器周期性的发送成员关系查询报文去查询是否有组播成员。默认查询周期为60秒
    • 成员关系报告(0x12):成员关系报告用于表示主机想加入某个组播组。
    • 成员关系报告的发送可以被动发送也可主动发送。
      • 被动发送是指当主机收到成员关系查询消息后如果对某个组播组感兴趣想加入组播组时发送成员关系报告。
      • 主动发送是指如果主机想加入某个组播组时,可以不用等待成员关系查询报文,而主动地发送成员关系报告。
  • 组地址:不同类型的IGMP报文中组地址不同。
    • 成员关系报告报文中,组地址为某个特定的组播地址。

成员关系查询报文中,组地址为0。

四、IGMPv1

IGMPv1组成员加入

igmp是负责ip组播成员管理的协议_IGMP协议

主机PC3发送IGMP成员关系报告,表示希望加入组播IP地址为224.1.1.1的组播组。

IGMPv1的查询与响应

IGMPv1的查询与响应过程如下:

  • IGMP查询器周期性地向共享网段内所有主机以组播方式(目的地址为224.0.0.1)发送成员关系查询消息(组地址为0)。(查询周期为60s)
  • 网络内所有主机都接收到该查询消息,如果某主机(如PC1、PC2和PC3)对任意组播组G感兴趣,则以组播方式发送“成员关系报告”报文(其中携带组播组G的地址)来宣告自己将加入该组播组,假设PC2首先发送此报告。(实验效果为,IGMP响应报告的目的地址应该为加入的组播组地址)
  • 经过查询/响应过程后,IGMP路由器了解到本网络内存在组播组G对应的接收者,生成(*,G)组播项并依此作为组播信息的转发依据
    • *表示任意组播源,G表示某个组播组。

IGMPv1规定,当共享网络中有多台路由器时,由组播路由协议选举查询器。不同的组播路由协议有不同的选举机制。(运行PIM DM或PIM SM的网段会选举DR,同时该DR也是IGMPv1的查询器)

igmp是负责ip组播成员管理的协议_IGMP协议

 IGMPv1响应抑制机制

  • IGMP成员关系查询报文是目的地址是224.0.0.1,就是说网段内所有的设备都会接收到该查询报文。
  • 但并不是所有接收到该报文的主机都会响应查询请求的。
  • 本例中只有一个主机会以成员关系报告报文响应,而其他主机则抑制成员关系报告的发送。
  • 实际上主机收到IGMP成员关系查询时,会对它已经加入的每个组播组启动一个倒计数报告计时器,计时器的值默认为0到最大响应值,IGMPv1中计时器最大响应值固定使用10秒。计时器到时的主机则主动发送成员关系报告,组地址为该组播组地址,目的地址为加入的组播组的地址,于是网段内其它主机都会收到该成员关系报告报文,接收到成员关系报告报文的主机抑制成员关系报告的发送,并删除计时器。(所以这些被抑制的路由器也就知道自己不是Last Reporter了)
  • 当路由器周期性的发送成员关系查询报文时,每个主机都会再次启动计时器进行查询/响应/抑制。(路由器查询间隔为60秒)

igmp是负责ip组播成员管理的协议_IGMP协议

 IGMPv1组成员离开

  • 由于IGMPv1版本没有定义专门离开组播组的消息,因此主机离开组时是默默离开不发送任何报文。
  • 而组播路由器如何知道用户已经离开组播组呢?IGMPv1主要是基于查询无响应进而超时的思路实现的。
  • 成员悄悄离开组播组,不发送任何报文。路由器依旧周期性的发送成员关系查询报文,周期为60秒,当路由器发送3次成员关系查询报文都没有收到响应的成员关系报告报文时,路由器认为组内已经没有成员,不再向该网段转发组播报文。

igmp是负责ip组播成员管理的协议_IGMP协议

 

总结

以上就是今天要讲的内容,本文介绍了IGMP协议版本中的IGMPv1协议,从接收者的加入过程、组成员的维护过程、接收者的离开过程三个方面介绍了IGMPv1协议的实现过程,下一节将介绍IGMPv2协议。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/193995.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 五子棋 人机对战 思路「建议收藏」

    五子棋 人机对战 思路「建议收藏」五子棋之人机对战思路:1,棋盘与棋子的实现2,玩家下完棋后,计算机要根据当前玩家所下的棋子找出最佳下棋点3,输赢的判断之前已经把人人对战的大概方法实现了,接下要实现的是人机的对战。我的思路如下(当然只是思路哈~还没具体实现呢):其实人机对战就是就在我们下完一步起后,通过电脑分析下一步该走哪,对此做出判断并在最佳的位置上出棋。1,首先需要定义权值,我做…

  • Windows下如何强制删除文件夹及文件的命令「建议收藏」

    Windows下如何强制删除文件夹及文件的命令「建议收藏」点击Win输入cmd以管理员身份打开输入命令:rd/s/q盘符:\某个文件夹(强制删除文件文件夹和文件夹内所有文件)例如rd/s/qF:\AdobePhotoshop\AdobePhotoshopCS6del/f/s/q盘符:\文件名(强制删除文件,文件名必须加文件后缀名)例如del/f/s/qF:\护眼精灵\huyanjingling.rarhttps://blog.csdn.net/hanhanwanghaha欢迎关注这个超级无敌可爱的人鸭,有什么问

  • Nginx(四):Nginx配置实战

    Nginx(四):Nginx配置实战

  • PS 命令之get-adgroupmember!

    PS 命令之get-adgroupmember!如果get-adgroup是查询我们的用户组的话,那么Get-adgroupmember就是查询出我们的组的成员的的命令了,这个命令的使用方式多数场景和我们的上面命令get-adgroup一起使用了。我们先来看怎么得出某个组的成员

  • pytest的使用_pytest测试框架从入门到精通

    pytest的使用_pytest测试框架从入门到精通Pytest执行用例规则Pytest在命令行中支持多种方式来运行和选择测试用例1.对某个目录下所有的用例pytest2.对模块中进行测试pytesttest_mod.py3.对文件夹进行

  • pycharm菜单栏不见了_pycharm左侧项目栏隐藏

    pycharm菜单栏不见了_pycharm左侧项目栏隐藏ctrl+Alt+shif打开搜索窗口,然后输入Experimentalfeatures 取消linux.native.menu选项的复对勾,应用更改并关闭,重启PyCharm。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号