IGMP学习总结

合集下载

实验六 IGMP协议和RIP协议

实验六  IGMP协议和RIP协议

南昌大学实验报告学生姓名:吴长福学号:8000114105 专业班级:卓越141班实验类型:□验证□综合√设计□创新实验日期:2016.12.01 实验成绩:实验六IGMP协议和RIP协议【实验目的】1.掌握IGMP协议的报文格式2.掌握IGMP协议的工作原理3.理解多播组地址到以太网地址的映射4.掌握路由协议的分类,理解静态路由和动态路由5.掌握动态路由协议RIP的报文格式,工作原理及工作过程6.掌握RIP计时器的作用7.理解RIP的稳定性【实验学时】建议4学时1、IGMP协议【实验环境配置】采用网络结构说明:主机A、C、D的默认网关是172.16.1.1;主机E、F的默认网关是172.16.0.1。

【实验原理】一、IGMP报文格式二、IP多播报文从一台计算机发送到一组特定的计算机上,叫做多播。

例如,实时信息的交付(如新闻、股市行情等),软件更新,交互会议等。

在因特网上进行多播就叫做IP多播。

IP 多播具有以下的一些特点:多播使用组地址IANA把D类地址空间分配用于IP组播地址。

所以,IP组播值的范围是:224.0.0.0—239.255.255.255。

为了更合理的利用有限的组播地址,IANA进一步对它进行了划分。

如下图所示:三、IGMP使用规则多播路由器使用IGMP报文来记录与该路由器相连网络中组成员的变化情况。

使用规则如下:1) 当第一个进程加入一个组时,主机就发送一个IGMP报告。

如果一个主机的多个进程加入同一组,只发送一个IGMP报告。

这个报告被发送到进程加入组所在的同一接口上。

2) 进程离开一个组时,主机不发送IGMP报告即便是组中的最后一个进程离开。

主机知道在确定的组中已不再有组成员后,在随后收到的IGMP查询中就不再发送报告报文。

3) 多播路由器定时发送IGMP查询了解是否有任何主机包含有属于多播组的进程。

多播路由器必须向每个接口发送一个IGMP查询。

因为路由器希望主机对它加入的每个多播组均发回一个报告,因此IGMP查询报文中的组地址被设置为0。

IGMP技术总结(2)

IGMP技术总结(2)

5. 组播模型分类根据接收者对组播源处理方式的不同,组播模型分为以下三类:∙ASM 模型:Any-Source Multicast,任意信源组播在ASM 模型中,任意一个发送者都可以作为组播源向某组播组地址发送信息。

众多接收者通过加入由该组播组地址标识的组播组以获得发往该组播组的组播信息。

在ASM 模型中,接收者无法预先知道组播源的位置,但可以在任意时间加入或离开该组播组。

∙ SFM 模型:Source-Filtered Multicast,信源过滤组播该模型继承了ASM 模型,从发送者角度来看,两者的组播组成员关系完全相同。

SFM 模型在功能上对ASM 模型进行了扩展。

在SFM 模型中,上层软件对收到的组播报文的源地址进行检查,允许或禁止来自某些组播源的报文通过。

因此,接收者只能收到来自部分组播源的组播数据。

从接收者的角度来看,只有部分组播源是有效的,组播源被经过了筛选。

∙SSM 模型:Source-Specific Multicast,指定信源组播在现实生活中,用户可能只对某些组播源发送的组播信息感兴趣,而不愿接收其它源发送的信息。

该模型为用户提供了一种能够在客户端指定组播源的传输服务。

SSM 模型与ASM 模型的根本区别在于:SSM 模型中的接收者已经通过其它手段预先知道了组播源的具体位置。

SSM 模型使用与ASM/SFM 模型不同的组播地址范围,直接在接收者与其指定的组播源之间建立专用的组播转发路径。

6. IP组播▪对于IP 组播,需要关注下列问题:∙组播源将组播信息传输到哪里?即组播寻址机制;∙网络中有哪些接收者?即主机注册;∙这些接收者需要从哪个组播源接收信息?即组播源发现;∙组播信息如何传输?即组播路由。

▪IP 组播属于端到端的服务,组播机制包括以下四个部分:∙寻址机制:借助组播地址,实现信息从组播源发送到一组接收者;∙主机注册:允许接收者主机动态加入和离开某组播组,实现对组播成员的管理;∙组播路由:构建组播报文分发树(即组播数据在网络中的树型转发路径),并通过该分发树将报文从组播源传输到接收者;∙组播应用:组播源与接收者必须安装支持视频会议等组播应用的软件,TCP/IP 协议栈必须支持组播信息的发送和接收。

IGMP学习记录

IGMP学习记录

1.IGMP 拓扑2.RO(RTA)的配置sh ip int brInterface IP-Address OK? Method Status Protocol FastEthernet0/0 10.1.1.1 YES manual up up FastEthernet1/0 192.168.1.2 YES manual up up Loopback0 1.1.1.1 YES manual up upA#conf tEnter configuration commands, one per line. End with CNTL/Z.A(config)#ip multiA(config)#ip multicast-routing//在RTA/B/C这3台路由器上均启动IP组播路由2.1 IP PIM DENSE-MODE 的配置//在RTA/B/C这3台路由器上的FA0/0、FA1/0接口均启动IP PIM组播路由协议PIM,//模式为DENSE-MODE.A(config)#int fa 0/0A(config-if)#ip pim ?bidir-neighbor-filter PIM bidir capable peering filterbsr-border Border of PIM domaindense-mode Enable PIM dense-mode operationdr-priority PIM router DR prioritynbma-mode Use Non-Broadcast Multi-Access (NBMA) mode oninterfaceneighbor-filter PIM peering filterquery-interval PIM router query intervalsparse-dense-mode Enable PIM sparse-dense-mode operationsparse-mode Enable PIM sparse-mode operationstate-refresh PIM DM State-Refresh configurationversion PIM versionA(config-if)#ip pim dense-modeA(config-if)#int*Mar 1 00:26:32.223: %PIM-5-DRCHG: DR change from neighbor 0.0.0.0 to 10.1.1.1 on interface FastEthernet0/0faA(config)#int fa1/0A(config-if)#ip pim dense-modeA(config-if)#*Mar 1 00:27:08.231: %PIM-5-DRCHG: DR change from neighbor 0.0.0.0 to 192.168.1.2 on interface FastEthernet1/0*Mar 1 00:27:39.571: %PIM-5-NBRCHG: neighbor 10.1.1.2 UP on interface FastEthernet0/0 //RTA 的FA0/0接口发现PIM邻居RTB UP*Mar 1 00:27:39.691: %PIM-5-DRCHG: DR change from neighbor 10.1.1.1 to 10.1.1.2 on interface FastEthernet0/0*Mar 1 00:28:22.123: %PIM-5-NBRCHG: neighbor 192.168.1.1 UP on interface FastEthernet1/0//RTA 的FA1/0接口发现PIM邻居RTC UPA(config-if)#endA#sh ip mrouteIP Multicast Routing TableFlags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,L - Local, P - Pruned, R - RP-bit set, F - Register flag,T - SPT-bit set, J - Join SPT, M - MSDP created entry,X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,U - URD, I - Received Source Specific Host Report,Z - Multicast Tunnel, z - MDT-data group sender,Y - Joined MDT-data group, y - Sending to MDT-data groupOutgoing interface flags: H - Hardware switched, A - Assert winnerTimers: Uptime/ExpiresInterface state: Interface, Next-Hop or VCD, State/Mode(*, 224.0.1.40), 00:04:52/00:02:42, RP 0.0.0.0, flags: DCLIncoming interface: Null, RPF nbr 0.0.0.0Outgoing interface list:FastEthernet1/0, Forward/Dense, 00:03:00/00:00:00FastEthernet0/0, Forward/Dense, 00:04:52/00:00:00A#conf tEnter configuration commands, one per line. End with CNTL/Z.A(config)#int lo0A(config-if)#ip igmp join-group 224.1.1.1 //将LO0接口加入组播组224.1.1.1,模拟一//HOST加入组播组224.1.1.1A(config-if)#^ZA#*Mar 1 00:33:27.707: %SYS-5-CONFIG_I: Configured from console by consoleA#sh ip mroute 224.1.1.1IP Multicast Routing TableFlags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,L - Local, P - Pruned, R - RP-bit set, F - Register flag,T - SPT-bit set, J - Join SPT, M - MSDP created entry,X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,U - URD, I - Received Source Specific Host Report,Z - Multicast Tunnel, z - MDT-data group sender,Y - Joined MDT-data group, y - Sending to MDT-data groupOutgoing interface flags: H - Hardware switched, A - Assert winnerTimers: Uptime/ExpiresInterface state: Interface, Next-Hop or VCD, State/Mode(*, 224.1.1.1), 00:02:33/stopped, RP 0.0.0.0, flags: DLIncoming interface: Null, RPF nbr 0.0.0.0Outgoing interface list:FastEthernet1/0, Forward/Dense, 00:02:33/00:00:00FastEthernet0/0, Forward/Dense, 00:02:33/00:00:00(172.16.1.2, 224.1.1.1), 00:02:33/00:00:27, flags: LIncoming interface: FastEthernet1/0, RPF nbr 192.168.1.1Outgoing interface list:FastEthernet0/0, Forward/Dense, 00:02:33/00:00:00(192.168.1.1, 224.1.1.1), 00:02:33/00:00:34, flags: LTIncoming interface: FastEthernet1/0, RPF nbr 0.0.0.0Outgoing interface list:FastEthernet0/0, Forward/Dense, 00:02:33/00:00:00A#sh ip mroute summaryIP Multicast Routing TableFlags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,L - Local, P - Pruned, R - RP-bit set, F - Register flag,T - SPT-bit set, J - Join SPT, M - MSDP created entry,X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,U - URD, I - Received Source Specific Host Report,Z - Multicast Tunnel, z - MDT-data group sender,Y - Joined MDT-data group, y - Sending to MDT-data groupOutgoing interface flags: H - Hardware switched, A - Assert winnerTimers: Uptime/ExpiresInterface state: Interface, Next-Hop or VCD, State/Mode(*, 224.1.1.1), 00:03:26/00:02:41, RP 0.0.0.0, OIF count: 2, flags: DL(*, 224.0.1.40), 00:11:20/00:02:10, RP 0.0.0.0, OIF count: 2, flags: DCLA#sh ip mroute summary countIP Multicast Statistics2 routes using 1600 bytes of memory2 groups, 0.00 average sources per groupForwarding Counts: Pkt Count/Pkts(neg(-) = Drops) per second/Avg Pkt Size/Kilobits per second Other counts: Total/RPF failed/Other drops(OIF-null, rate-limit etc)Group: 224.1.1.1, Source count: 0, Packets forwarded: 0, Packets received: 0Group: 224.0.1.40, Source count: 0, Packets forwarded: 0, Packets received: 0A#sh ip mroute activeActive IP Multicast Sources - sending >= 4 kbpsa negative (-) Rate counts pps being fast-droppedA#conf tEnter configuration commands, one per line. End with CNTL/Z.2.2 IP PIM SPARSE-MODE 的配置//同样的,在RTA/B/C这3台路由器上的FA0/0、FA1/0接口均启动IP PIM组播路由协议、,//模式改为SPARSE-MODEA(config)# int fa 0/0A(config-if)#ip pim sparse-modeA(config-if)#int fa 1/0A(config-if)#ip pim sparse-modeA(config-if)#exitA(config)#ip pim ?accept-register Registers accept filteraccept-rp RP accept filterautorp Configure AutoRP global operationsbidir-enable Enable Bidir-PIMbsr-candidate Candidate bootstrap router (candidate BSR)dm-fallback Fallback group mode is Denselog-neighbor-changes Log PIM neighbor up/down and DR changesregister-rate-limit Rate limit for PIM data registersregister-source Source address for PIM Registerrp-address PIM RP-address (Rendezvous Point)rp-announce-filter Auto-RP announce message filterrp-candidate To be a PIMv2 RP candidatesend-rp-announce Auto-RP send RP announcementsend-rp-discovery Auto-RP send RP discovery message (as RP-mapping agent)spt-threshold Source-tree switching thresholdssm Configure Source Specific Multicaststate-refresh PIM DM State-Refresh configurationv1-rp-reachability Send PIMv1 RP-reachability packetvrf Select VPN Routing/Forwarding instance注意:SPARSE-MODE下,可使用人工指定RP或自动RP发现方式2.2.1 人工指定SPARSE-MODE的RP地址A(config)#ip pim rp-addrA(config)#ip pim rp-address 2.2.2.2 //此时,RTB上会产生“INV ALID RP”的报错信息,具体报错信息内容见RTB的配置章节。

IGMP基础知识

IGMP基础知识

• Membership Report是主机发向想要加入的组播组,目的地址是某个 具体的组播组
Leave Group
• 当主机退出一个组时,它用Leave Group来通知本地的路由器
不再向该组发送组播数 据
• Leave Group是发向子网中所有路由器的,目的地址是224.0.0.2 • 不管是Membership Report还是Leave Group消息,它们的组地址都
Membership Report
• Membership Report用于指示一台主机希望加入一个组播组,当主机 首次加入到一个组播组时,它会主动向该组发送一个Membership Report
• Membership Report还用来响应本地路由器发出的General Query和 Group-Specific Query
• 如果主机与路由器之间运行的是IGMP v1或IGMP v2,Host B加入组播 组G时无法对组播源进行选择,无论Host B是否需要,来自Source1和 Source2的组播数据都将传递给Host B
• 当主机与路由器之间运行了IGMP v3后,Host B就可以要求只接收来自 Source1而拒绝来自Source2的组播数据
IGMP v2:支持三种包类型,Membership Query,Membership Report和Leave Group。其中,Membership Query又包括两种,分别 是正常的Query,类似于v1,查询所有的组是否有成员,还有一种是 特殊的Query,在收到主机发往某组播组的Leave Group后,路由器 所发的只查询该特定组的Query
IGMP v3工作机制
IGMPv3在兼容和继承IGMPv1和IGMPv2的基础上,进一步增强了主 机的控制能力,并增强了查询和报告报文的功能

了解IGMP协议组播协议在网络通信中的应用

了解IGMP协议组播协议在网络通信中的应用

了解IGMP协议组播协议在网络通信中的应用在网络通信中,IGMP(Internet Group Management Protocol)协议是一种用于组播通信的协议。

组播是一种将数据包同时传输给一组特定主机的通信方式,可以有效地减少网络流量和带宽的消耗。

IGMP协议主要用于在IPv4网络中支持组播通信,并且在实现多媒体和视频流传输、网络游戏和实时数据同步等方面广泛应用。

IGMP协议的基本原理是,通过将主机加入到特定的组播组中,并且通过定期发送IGMP报文来维持和管理这些组,使得主机能够接收到组播流。

IGMP报文有三种类型,分别是成员查询报文(Membership Query)、成员报告报文(Membership Report)和成员离开报文(Leave Group)。

在网络通信中的应用中,IGMP协议在以下几个方面起着重要作用:1. 组播流传输:IGMP协议允许主机加入到特定的组播组中,以接收到组播流。

这在多媒体和视频流传输方面非常有用,因为可以将流媒体的数据同时传输给一组特定的接收者,而不需要为每个接收者单独发送数据包。

这样可以有效地减少网络流量和带宽的消耗。

2. 网络游戏:在网络游戏中,IGMP协议可以用于实现多人游戏的实时数据同步。

通过将玩家加入到一个组播组中,可以将游戏数据同时传输给所有的玩家,以保持游戏的同步性。

这对于需要实时数据传输和互动的游戏非常重要。

3. 实时应用:IGMP协议还可以在其他实时应用中使用,例如视频会议和IP电话。

通过将参与会议或通话的主机加入到一个组播组中,可以实现实时的音视频传输,并且所有参与者都能够同时接收到会议或通话的内容。

总结起来,IGMP协议在网络通信中的应用非常广泛,尤其在多媒体传输、网络游戏和实时数据同步等方面起着重要的作用。

它通过允许主机加入和管理组播组,实现了有效的组播通信,从而减少了网络流量和带宽的消耗,提高了网络传输的效率。

对于那些需要同时传输给多个接收者的数据,IGMP协议是一种非常有用的通信协议。

IGMP技术总结

IGMP技术总结

IGMP技术总结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. IGMPv1 工作机制IGMPv1 主要基于查询和响应机制来完成对组播组成员的管理。

当一个网段内有多台组播路由器时,由于它们都能从主机那里收到IGMP 成员关系报告报文(Membership Report Message),因此只需要其中一台路由器发送IGMP 查询报文(Query Message)就足够了。

这就需要有一个查询器(Querier)的选举机制来确定由哪台路由器作为IGMP查询器。

对于IGMPv1 来说,由组播路由协议(如PIM)选举出唯一的组播信息转发者DR(Designated Router,指定路由器)作为IGMP 查询器。

IGMP 查询相应示意图如上图所示,假设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 成员关系报告报文,以宣告其属于G1。

IGMP协议原理60个知识点

IGMP协议原理60个知识点

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

该协议在接收者主机和组播路由器之间运行,定义了主机与路由器之间建立和维护组播成员关系的机制。

2.IGMP协议是IP组播在末端网络上使用的主机对路由器的
信令机制,分为两个功能部分:主机侧和路由器侧。

3.IGMP工作机制如下所述:
a)接收者主机向所在的共享网络报告组成员关系。

b)处于同一网段的所有使能了IGMP功能的组播路由器选
举出一台作为查询器(查询器在不同的版本中有不同
的选举机制),查询器周期性地向该共享网段发送组成
员查询消息。

c)接收者主机接收到该查询消息后进行响应以报告组成
员关系。

d)网段中的组播路由器依据接收到的响应来刷新组成员
的存在信息。

如果超时无响应,组播路由器就认为网
段中没有该组播组的成员,从而取消相应的组播数据
转发。

4.所有参与组播传输的接收者主机必须应用IGMP协议。


机可以在任意时间、任意位置、成员总数不受限制地加入。

计算机网络中的IGMP基本知识

计算机网络中的IGMP基本知识

IP-TV Server
Non Multicast Router
Multicast Router Port
General Queries Dest 224.0.0.1 TTL=1
Multicast Router Port
Configuration of Act as Querier
Enable Querier function
Multicast Router Port
4 7 15 31
Ver=1
Type=1
Unused
Checksum
Class D group address=0.0.0.0 Ver=1 Type=1 t=0x64 Checksum
IGMP V1
IGMP V2 Interval 60-120
Internet
Ports 6
**
Multicast Group 01005E010101
Ports 4,10
*
Leave Message
**
IGMP V2- Leaving a Group
Ver=1 Type=1 t=0x64 Checksum
IGMP V2 Group Specific Query
Class D group address=225.1.1.1
Ports 18 24
Internet
Multicast Router
Multicast Group 01005E010101
Ports 6
**
Multicast Group 01005E010101
Ports 4,10
*
**
Membership Report 225.1.1.1
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

IGMP学习心得:
有关IGMP的RFC文档,本人看过后,感觉实在是太枯燥泛味了,深受其“害”,为此,我对其作了一个简单的总结,如有错误之处及时指出。

在IGMP协议中定义了各种烦琐的定时器,以下我罗列出了一些比较重要的定时器。

有助于我们理解IGMP协议具体的实现过程。

查询间隔(query-interval)
查询间隔是指查询者发送普通查询(general query)之间的时间间隔。

查询报告间隔(max query response time)
就是周期性普通查询数据报中的最大响应时间,缺省值是100(10秒)。

当一台主机收到一个普通查询,它为收到查询的那个接口所在的组设置延迟定时器。

每个定时器都被设置成不同的随机值(降低并发的概率),该随机值采用主机所能达到的最高时间精度,值的范围是(0,max query response time)
组成员关系间隔
组成员关系间隔是指一台多播路由器在确定某一个网络内的某一个组内没有成员之前,必须要经过的时长。

其它查询者存在间隔(querier timeout)
通常情况下,每一个物理网络只有一个查询者。

所有的多播路由器在启动的时候,在它的每一个相连的网络中都是查询者。

如果一个多播路由器接收到另一台多播由器的一个查询消息,并且它的IP地址要比自己小,那它在该网络中要马上变成一个非查询者,因为一个子网内只允许存在一个查询者。

其它查询者存在间隔是指一台路由器在确定网络内没有其它作为查询者的路由器存在之前,必须要经过的时长。

启动查询间隔
启动查询间隔是指在查询者启动的时候,发送普通查询之间的间隔。

因为在多播路由器启动的时候,为了快速并可靠地确定组成员信息,路由器应当间隔较小的发送多个普通查询。

它的缺省值是1/4的查询间隔。

最后一个成员查询间隔(Last member query response time)
最后一个成员查询间隔是指为响应离开组消息而发送的指定组查询(group specific query)中的最大响应时间,同时它也是指定组查询间的时间间隔。

缺省值是10(1秒)。

主动报告间隔
主动报告间隔是指主机作为某一个组的成员的最初的报告之间的时间间隔,缺省值是10秒。

以上定时器中,query-interval,max query response time,querier timeout以及Last member query response time,在博达交换机中用show ip igmp interface vlan ID可以查看,也可以手动修改。

协议简述
IGMPV1是最早的因特网组播管理协议,实现了简单的组加入,组维持功能。

通过发送普通查询报文和响应报文来维持组成员和多播路由器的关系。

主机离开自己所在的组时不向查询者发送任何报文。

IGMPV2(RFC2236)
IGMPV2在IGMPV1的基础上增加了对组离开报文(leave报文)支持,并且兼容IGMPV1。

当一台主机主动加入到一个组,它立即主动向同一子网内的多播路由器发送一个V2版本的组成员报告。

为了防止最初的组成员报告可能会丢失或被破坏,主机会在较短的时间间隔内将该报告重复一到三次(deb ip igmp-host可以看到其过程,用交换机作为主机时每发送一个report,会复制一份发给它自已)。

多播路由器在系统运行时,每隔一断时间(query-interval)会向邻接接口发送一个普通查询报文(general query,组地址为224.0.0.1),当一台主机收到一个普通查询报文,若自己存在某一个组中,它就会发送一个响应报文,其目的地址是自己所在的组的地址,如果主机在发送响应报文之前收到了其它主机发的且目的地址是自己组地址的响应报文,为了减少网络中的流量,它会抑制使自己不在发送响应报文,因为多播路由器只关心组是否存在,并不在乎组内有多少成员,也不在乎这些成员分布在哪里。

当一台主机离开一个组时,它主动向多播路由器发送一个离开组消息(组地址为224.0.0.2)。

当多播路由器收到一个离开组消息时,它会在短时间内每隔一定的时间(最后一个成员查询间隔)发送一个指定组查询(specific query)报文。

这些指定组查询的最大响应时间被设置为(最后一个成员查询间隔)。

如果最后一个查询超时了,还是没有收到报告,多播路由器就假定这个组已经没有本地成员了。

如果该组内的其它成员收到该组的指定组查询报文,它会向多播路由器(查询者)发送响应(report)报文,告诉查询者,这个组内还有成员在,请不要删除。

IGMPV3(RFC3376)
IGMP的V3版本相对于V2版本来说,增加了对源过滤的支持,同时兼容V1,V2版本。

即主机有能力向查询者报告只接收某些特定源发送过来的组播数据(include模式),或者是只接收除某些特定源之外的组播源发送过来的数据(exclude模式)
IGMPV3中的源过滤有两种模式,即INCLUDE和EXCLUDE模式,在include模式下,只有来自源过滤列表(source-list)列出的那些IP源地址的并发往指定多播地址的数据报才会被接收。

在exclude模式下,只有来自除了源过滤列表列出的那些IP源地址之外的源地址,并发往指定多播地址的数据才会被接收。

若用博达交换机模拟主机简单地加入一个组,不配置源过滤列表,则向子网内的多播由器发送TO_EX NULL报文,即表示工作在EXCLUDE模式,源过滤列表为空。

若离开一个组则发送TO_IN NULL报文。

(注:V3版报告在发送时,目的地址是224.0.0.22)当然,我们也可以配置带有源过滤列表的组加入命令。

如:ip igmp join-group 225.0.0.8 include 1.0.0.8。

查询的变体
查询消息有三种类型的变体(V3的查询报文中包含有关源地址消息的字段):
1、“普通查询”(general query):由多播路由器发出,用于获知邻接接口(即查询所传输的网络中所相连的接口)的完整的多播接收状态。

在一个普通查询中,组地址字段和源数量(N)字段都为0。

2、“指定组查询”(group specific query):由一台多播路由器发出,用于获知邻接接口中跟某一个IP地址相关的多播接收状态。

在指定组查询中,“组地址”字段含有需要查询的那个组地址,源数量(N)字段为0。

3、“指定组和源查询”(grp-src specific query):由一台多播路由器发出,用于获知邻接
接口是否需要接收来自指定的这些源的,发往指定组的多播数据报。

在一个指定组和源的查询中,组地址字段含有要查询的多播地址,源地址字段含有相关的源地址。

相关文档
最新文档