好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

IGMP原理简介.docx

19页
  • 卖家[上传人]:公****
  • 文档编号:454893311
  • 上传时间:2023-02-04
  • 文档格式:DOCX
  • 文档大小:213.13KB
  • / 19 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • IGMP原理简介IGMP协议是IP组播在末端网络上使用的主机对路由器的信令机制,分为两个功能部 分:主机侧和路由器侧IGMP工作机制如下所述:1 .接收者主机向所在的共享网络报告组成员关系2 .处于同一网段的所有使用了 IGMP功能的组播路由器选举出一台作为查询器,查询器周期性地向该共享网段发送组成员查询消息3 .接收者主机接收到该查询消息后进行响应以报告组成员关系4 .网段中的组播路由器依据接收到的响应来刷新组成员的存在信息如果超时无响应,组 播路由器就认为网段中没有该组播组的成员,从而取消相应的组播数据转发5 .所有参与组播传输的接收者主机必须应用 IGMP协议主机可以在任意时间、 任意位置、成员总数不受限制地加入或退出组播组6 .支持组播的路由器不需要也不可能保存所有主机的成员关系, 它只是通过IGMP协议了解每个接口连接的网段上是否存在某个组播组的接收者, 即组成员而各主机只需要保存自己加入了哪些组播组IGMPvl工作机制IGMPvl协议主要基于查询和响应机制完成组播组管理在多路由器共享网段上,由三层路由协议选举出唯一的组播信息转发者( Assert Winner或DR),并作为IGMPvl的查询器,负责该网段的组成员关系查询。

      网络上 IGMPv1消息交互如图9-1所示闻9/ IGklPvl的工作机制Host A Ho钟曰 Ho带K-•—— A query ► repor!主机加入组播组的基本过程如下:1 . IGMP查询器(RouterB)周期性地向共享网段内所有主机以组播方式 (目的地址为组播地址)发送普遍组 Query查询消息该报文的目的地址为 224.0.0.1 ,表示该网段上的所有主 机和路由器2 .网段内所有主机都接收到该普遍组查询消息如果主机(如 HostB和HostC)希望加入 某组播组G1,则以组播方式发送 Report报告该报文的目白地址为 224.0.0.1,报文中携带 组播组G1的地址信息3 .网段中所有主机和路由器都接收到该 Report报告,并获知组播组 G1地址信息,此时网段中其它也希望加入该组播组 G1的主机将不再发送针对相同组播组的 Report报告同时,网段中预备加入另一组播组 G2的主机发送针对组播组 G2的Report报告以响应普遍组查询消息4 .经过查询和响应过程后,IGMP路由器了解到本网段内存在组播组 G1对应的组播组成员,则由组播路由协议生成(*, G1)组播转发项并以此作为组播数据的转发依据。

      之后,组播 路由协议将发起上游路由更新以维护组播转发树5 .组播源发出的组播数据经过组播路由到达 IGMP路由器,如果IGMP路由器上存在(*G1)组播转发项,则转发该组播数据到此共享网段, G1组播组成员主机接收该数据6 . IGMPv1中没有专门定义离开组播组的消息当主机离开某组播组后,将不再发送以此组 播组地址为目的地址的 Report报告当网段中不再存在该组播组成员后, IGMP路由器将不能收到任何针又划:匕组播组的 Report报告,则IGMP路由器删除该组播组对应的转发项IGMPv2新增功能IGMPv2对IGMPv1所做的改进主要有以下几个方面:查询器选举机制IGMPv1中,当某共享网段上存在多个组播路由器时,查询器的选择由组播路由协议决定IGMPv2中使用独立的查询器选举机制, 规定该网段上IP地址最小的组播路由器为查询器离开组机制在IGMPv1中,主机悄然离开组播组,不会向任何组播路由器发出任何通知这时组播路由器只能依靠普遍组查询消息响应超时来获知组播组成员的离开在IGMPv2中,当某主机决定离开组播组 G1时,它会向该网段以组播方式发送 IGMPLeave报文该报文的目的地址为 224.0.0.2 ,表示该网段上的所有路由器, 报文中携带组播组 G1的地址。

      随后,为了明确网段中是否还包含组播组 G1的其它成员主机,查询器会向网络中发送指定次数的特定组查询消息对指定组的查询在IGMPv1中,由组播路由器发起的普遍组查询面向该网段下的所有组播组在IGMPv2中,增加了针对特定组的查询IGMP查询器在收到主机发送的离开组播组 G1的Leave报文时,将向该网段中发送针对 G1的查询报文该报文的目的地址为组播组 G1的地址,只有属于该组播组的主机才会进行响应, 从而发送携带组播组 G1地址信息的Report报告IGMPv2和IGMPv1版本的响应消息(即Report报告)和查询消息具有相同的报文结 构,报文中仅携带组地址信息特定组查询报文也称为最后成员查询报文 IGMP查询器在收到主机发送的 IGMPLeave报文后,发送指定组查询报文的次数由健壮系数来确定最大响应时间IGMPv2中设置了最大响应时间, 以限制查询器等待主机响应组查询报文 (即发送report报文)的最长时间IGMPv3改进功能IGMPv3在继承IGMPv2的基础上进一步增强了主机的控制能力, 支持指定源/组功能:主机在加入某组播组 G的同时,能够明确的要求接收或不接收某特定组播源 S发出的组播信息。

      当主机要求从某些指定源接收组播报文时,其 IGMP Report报告中的Filter-Mode 字段 将被设置为Include 模式,并在该报告中指定组播源地址 Sources鉴于描述方便,其IGMPReport 报告可以被标记为 Include Sources (S1, S2,,,) 如果主机拒绝接收某些指定源的组播报文,则 Filter-Mode 字段将被设置为 Exclude模 式,并指定组播源地址 Sources ,表示从除指定源外的所有源地址接收组播报文其 IGMP Report 报告可以被标记为 Exclude Sources (S1, S2,,,)例如,网络中存在 S1和S2两个组播源,士^向组播组 G发送组播报文,User仅希望接收从组播源S1发往组播组 G的信息,典型组网如图 9-2所示凰『人源州的盛播流路侵 1 ► 口很?国52Gli如果主机和路由器之间应用 IGMPv1或IGMPv2, User加入到某组播组 G后,将接收到 来自组播源S1和S2的组播信息如果采用IGMPv3,主机User可以要求加入指定源 S1对 应的组播组G,或退出指定源 S2对应的组播组 G从而仅有来自S1的组播信息才能传递到 User。

      携带源地址的查询消息IGMPv3支持指定源/组查tijo IGMPv3报文中包含组播源地址字段和多种控制字段(如查询器的健壮系数、查询间隔等)进行普遍组查询时,不携带组地址,也不携带源地址;进行指定组查询时,携带 组地址,不携带源地址;进行指定源 /组查询时,携带组地址,还携带 1个或多个源地址信息包含多个组记录的响应消息IGMPv3的响应消息(即 Report报告)的目的IP地址为224.0.0.22 ,该报文携带1个或 多个组记录,在每个组记录中, 包含组播组地址、 数目不等的源地址信息 组记录可以分为多种类型,如: *当前状态记录报告了接口的当前接收状态,分为 Include 和Exclude两种状态类型Include 表示包含 指定源地址列表,Exclude表示不包含指定源地址列表 过滤模式改变记录报告接口接收状态从 Include 状态切换到Exclude 状态,或从Exclude 状态切换到Include 状态 源地址列表改变记录报告新源地址加入,或删除某源地址1. IGMP简介IGMP是Internet Group Management Protocol (互联网组管理协议) 的简称。

      它是TCP/IP协议族中负责IP组播成员管理的协议,用来在IP主机和与其直接相邻的组播路由器之间建立、 维护组播组成员关系IGMP的版本到目前为止,IGMP有三个版本:♦ IGMPv1 (由 RFC 1112 定义)♦ IGMPv2 (由 RFC 2236 定义)♦ IGMPv3 (由 RFC 3376 定义)所有版本的IGMP都支持ASM (Any-Source Multicast ,任意信源组播)模型;IGMPv3可以直接应 用于SSM (Source-Specific Multicast ,指定信源组播)模型,而IGMPv1和IGMPv2则需要在IGMP SSM Mapping技术的支持下才能应用于 SSM模型2. IGMPvl工作机制IGMPv1主要基于查询和响应机制来完成对组播组成员的管理当一个网段内有多台组播路由器时,由于它们都能从主机那里收到 IGMP成员关系报告报文(MembershipReport Message),因此只需要其中一台路由器发送 IGMP查询报文(Query Message)就足够了这就需要有一个查询器(Querier)的选举机制来确定由哪台路由器作为 IGMP查询器。

      对于IGMPv1来说,由组播路由协议(如 PIM)选举出唯一的组播信息转发者 DR ( Designated Router,指定路由器)作为IGMP查询器HOW* ES EG(00 (61> (G1)* Ouny► RrpoflIGMP查询相应示意图如上图所示,假设 Host B与Host C想要收到发往组播组 G1的组播数据,而 Host A想要收到发往组播组G2的组播数据,那么主机加入组播组以及 IGMP查询器(Router B)维护组播组成员关系的基本过程如下:(1)主机会主动向其要加入的组播组发送 IGMP成员关系报告报文以声明加入,而不必等待 IGMP查询器发来的IGMP查询报文;(2) IGMP查询器周期性地以组播方式向本地网段内的所有主机与路由器发送 IGMP查询报文(目的地址为 224.0.0.1);(3)在收到该查询报文后,关注G1的Host B与Host C其中之一(这取决于谁的延迟定时器先超时)——譬如Host B会首先以组播方式向 G1发送IGMP成员关系报告报文,以宣告其属于 G1o由于本地网段中的所有主机和路由器都能收到 Host B发往G1的报告报文,因此当 Host C收到该报告报文后,将不再发送同样针对 G1的报告报文,因为IGMP路由器(Router A和Router B)已知道本地网段中有对 G1感兴趣的主机了。

      这个机制称为主机上的IGMP成员关系报告抑制机制, 该机制有助于减少本地网段的信息流量;(4)与此同时,由于 Host A关注的是G2,所以它仍将以组播方式向 G2发送报告报文,以宣告其属 于G2;(5)经过以上的查询和响应过程,IGMP路由器了解到本地网段中有 G1和G2的成员,于是由组播路由协议(如PIM)生成(*, G1)和(*, G2)组播转发项作为组播数据的转发依据, 其中的“*”(6)当由组播源发往 G1或G2的组播数据经过组播路由到达 IGMP路由器时,由于IGMP路由器上存在(*, G1)和(*, G2)组播转发项,于是将该组播数据转发到本地网段,接收者主机便能收 到该组播数据了IGMPv1没有专门定义离开组播组的报文当运行 IGMPv1的主机离开某组播组时,将不会向其要离开的 组播组发送报告报文当网段中不再存在该组播组的成员后, IGMP路由器将收不到任何发往该组播组的报告报文,于是IGMP路由器在一段时间之后便删除该组播组所对应的组播转发项3. IGMPv2的改进与IGMPv1相比,。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.