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 Snooping协议简介

IGMP Snooping协议简介 3.1.1 igmp snooping原理 igmp snooping运行在数据链路层,是二层以太网交换机上的组播约束机制,用于管理和控制组播组。 当二层以太网交换机收到主机和路由器之间传递的igmp报文时,igmp sno oping分析igmp报文所带的信息。当监听到主机发出的igmp主机报告报文时,交换机就将该主机加入到相应的组播表中;当监听到主机发出的igmp离开报文时,交换机就将删除与该主机对应的组播表项。通过不断地监听igmp报文,交换机就可以在二层建立和维护mac组播地址表。之后,交换机就可以根据mac 组播地址表转发从路由器下发的组播报文。 没有运行igmp snooping时,组播报文将在二层广播,如图3-1所示。 运行igmp snooping后,报文将不再在二层广播,而是进行二层组播,如图 3-2所示.

3.1.2 igmpv3 snooping简介 s9500交换机支持igmpv1、 igmpv2、igmpv3协议。igmpv3协议是在igmpv 2报文的基础上的扩充。igmpv3允许主机指定接收某些网络发送的某些组播组,相比以前的版本,增加了主机的控制能力,不仅可以指定组播组,还能指定组播的源。 igmp查询报文分通用查询报文、特定组查询报文,下文着重介绍igmpv3新增的报文。 3.1.3 查询报文 igmpv3新增特定源组查询报文格式如下,从图中可以分辨igmpv2、igmpv3查询报文的格式的不同: 对于通用查询报文,igmpv2报文长度为8字节,igmpv3长度为12字节。 对于特定组查询报文,igmpv2报文长度为8字节,igmpv3长度大于等于12字节。 igmpv3特定源组查询报文,长度大于12字节。

IGMP协议及抓包分析

IGMP IGMP 是Internet Group Management Protocol(互联网组管理协议)的简称。它是TCP/IP 协议族中负责IP 组播成员管理的协议,用来在IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。 到目前为止,IGMP 有三个版本: 1、IGMPv1(由RFC 1112 定义) 2、IGMPv2(由RFC 2236 定义) 3、IGMPv3(由RFC 3376定义) 一、IGMPv1 1.1报文格式 1、版本: 版本字段包含IGMP版本标识,因此设置为1。 2、类型: 成员关系查询(0x11) 成员关系报告(0x12) 3、校验和 4、组地址: 当一个成员关系报告正被发送时,组地址字段包含组播地址。 当用于成员关系查询时,本字段为0,并被主机忽略。 1.2组成员加入过程 当一个主机希望接收一个组播组的数据,则发送成员加入报告给组播组。

IGMPv1 join包如下: 1.3查询与响应过程 路由器RTA(IGMP查询器)周期性地(默认60秒)向子网内所有主机(224.0.0.1代表子网内所有主机)发送成员关系查询信息。

所有主机收到IGMPv1成员关系查询信息,一主机首先向组播组发送IGMPv1成员关系报告。 组的其他成员监听到报告后抑制自己的成员关系报告发送。 1.4 抑制机制 当主机收到IGMP成员关系查询时,对它已经加入的每个组播组启动一个倒计数报告计时器。各个报告计时器初始值为从0到最大响应之间一个随机数,默认值是10秒。 计时器到时的主机则主动发送成员关系报告,目的地为该主机所属的组地址。 其它主机收到该成员关系报告,则抑制成员关系报告的发送,并删除计时器。 1.5 组成员离开过程 主机“默不作声”地离开组(不发送报告了)。 路由器发送成员关系查询信息。 路由器没有收到该组的IGMP报告,则再发送成员关系信息(3次查询周期过后)。 组播组超时,剪枝。 二、IGMPv2 2.1报文格式 1、类型 成员关系查询(0x11) 常规查询:用于确定哪些组播组是有活跃的,即该组是否还有成员在使用,常规查询地址由全零表示; 特定组查询:用于查询某具体组播组是否还有组成员。 版本2成员关系报告(0x16) 版本1成员关系报告(0x12) 离开组消息(0x17)

lw-igmpv3协议在xorp平台上的分析与实现

LW-IGMPv3协议在XORP平台上的分析与实现1 刘吉雯 北京邮电大学网络与交换国家重点实验室,北京 (100876) E-mail:serenemarch@https://www.360docs.net/doc/af11360970.html, 摘要:互联网组管理协议是IP组播框架中极为重要的组成部分,目前网络中广泛采用的IGMPv3协议引入的源过滤的机制虽然可以很好地支持源特定组播模型,但同时却增加了路由器实现的复杂性。针对此问题,华为公司提出一种名为LW-IGMPv3的IGMP路由器端协议简化方案,通过删减排除模式、简化消息处理流程等一系列改进,旨在提高IGMP协议和组播路由协议在IP组播大规模应用中的性能表现。本文详细阐述了此简化方案的改进依据、原理和特性,并通过在开源路由器平台XORP上实现LW-IGMPv3协议,对此简化方案的可行性进行分析。 关键词:IP组播,互联网组管理协议,XORP,LW-IGMPv3 1.引言 随着IPTV,视频会议,多媒体远程教学,远程医疗等应用的开展,组播技术的优势和重要性逐渐显现出来。采用单播技术构建的传统网络已经无法满足新兴宽带网络应用在带宽和网络服务质量方面的要求,随之而来的是网络延时、数据丢失等等问题。此时通过引入IP组播技术,有助于解决以上问题 IGMP协议是IP组播体系架构的一个重要组成部分,在IGMP的最新版本IGMP版本3(IGMPv3) [1]中,协议的逻辑结构过于复杂,不利于实际应用,且原协议中的一些状态在目前的一般组播应用中并没有相应的场景。通过对IP组播体系结构的研究,我们在华为公司的“轻量级互联网组管理协议草案”的基础上,提出一种轻量级互联网组管理协议(LW-IGMPv3),通过简化协议逻辑架构,从而减轻路由器的负担,提高路由器效率,为组播路由协议提供更好的接入服务。 为了协议实现简便,文中特引入开源路由器平台XORP,XORP全称为可扩展的开放性路由平台(eXtensible Open Router Platform)。XORP得到了Intel,美国国家科学资金,微软,Vyatta等机构和公司的支持。XORP运行在Linux或者FreeBSD操作系统平台上(最近版本支持windows2003),它为当前大多数的路由协议提供了支持,比如BGP,OSPF,RIP等。XORP作为一个低成本的路由器平台,它没有特别高的配置要求,作为一个软件路由器平台可以运行在普通的个人计算机或服务器,能达到100Mb/s的网络路由要求。XORP采用一种新颖的进程间通信架构,通过不同的模块分别处理各种协议,这使得我们仅需修改IGMP协议模块就可快速实现新的协议机制。 本文第2节将详细描述轻量级组管理协议的简化方案,第3节介绍LW-IGMPv3在XORP 平台上的实现,第4节对LW-IGMPv3的协议兼容性进行分析,第5节总结全文。 2.轻量级互联网组管理协议(LW-IGMPv3) 2.1互联网组管理协议(IGMP)协议 IGMP协议运行于主机和与之直接相连的组播路由器之间,它提供了主机和组播路由器之间维护组成员关系的机制。IGMP协议实现的功能分为组播路由器部分和主机部分。如果主机想加入某个组播组,首先主动子网内的查询路由器发送组播组成员关系报道报文,该报 1本课题得到华为公司项目基金的资助。

IGMP(Internet组管理协议)报文及协议

13.1 引言 12.4节概述了IP多播给出,并介绍了D类IP地址到以太网地址的映射方式。也简要说明了在单个物理网络中的多播过程,但当涉及多个网络并且多播数据必须通过路由器转发时,情况会复杂得多。 本章将介绍用于支持主机和路由器进行多播的Internet组管理协议(IGMP)。它让一个物理网络上的所有系统知道主机当前所在的多播组。多播路由器需要这些信息以便知道多播数据报应该向哪些接口转发。IGMP在RFC 1112中定义[Deering 1989]。 正如ICMP一样,IGMP 也被当作IP 层的一部分。IGMP报文通过IP数据报进行传输。不像我们已经见到的其他协议,IGMP有固定的报文长度,没有可选数据。图13-1显示了IGMP报文如何封装在IP数据报中。 IGMP报文通过IP首部中协议字段值为2来指明。 13.2 IGMP报文 图1 3 - 2显示了长度为8字节的IGMP报文格式。 这是版本为1的IGMP。IGMP类型为1说明是由多播路由器发出的查询报文,为2说明是主机发出的报告报文。检验和的计算和ICMP协议相同。 组地址为D类IP地址。在查询报文中组地址设置为0,在报告报文中组地址为要参加的组地址。在下一节中,当介绍IGMP如何操作时,我们将会更详细地了解它们。 13.3 IGMP 协议 13.3.1 加入一个多播组 多播的基础就是一个进程的概念(使用的术语进程是指操作系统执行的一个程序),该进程在一个主机的给定接口上加入了一个多播组。在一个给定接口上的多播组中的成员是动态的—它随时因进程加入和离开多播组而变化。 这里所指的进程必须以某种方式在给定的接口上加入某个多播组。进程也能离开先前加入的多播组。这些是一个支持多播主机中任何API所必需的部分。使用限定词“接口”是因为多播组中的成员是与接口相关联的。一个进程可以在多个接口上加入同一多播组。 Stanford大学伯克利版Unix中的IP 多播详细说明了有关socket API的变化,这些变化在Solaris 2.x和ip(7)的文档中也提供了。 这里暗示一个主机通过组地址和接口来识别一个多播组。主机必须保留一个表,此表中包含所有至少含有一个进程的多播组以及多播组中的进程数量。

IP组播路由协议详细介绍

IP组播路由协议详细介绍 一、概述 1、组播技术引入的必要性 随着宽带多媒体网络的不断发展,各种宽带网络应用层出不穷。IP TV、视频会议、数据和资料分发、网络音频应用、网络视频应用、多媒体远程教育等宽带应用都对现有宽带多媒体网络的承载能力提出了挑战。采用单播技术构建的传统网络已经无法满足新兴宽带网络应用在带宽和网络服务质量方面的要求,随之而来的是网络延时、数据丢失等等问题。此时通过引入IP组播技术,有助于解决以上问题。组播网络中,即使组播用户数量成倍增长,骨干网络中网络带宽也无需增加。简单来说,成百上千的组播应用用户和一个组播应用用户消耗的骨干网带宽是一样的,从而最大限度的解决目前宽带应用对带宽和网络服务质量的要求。 2、IP网络数据传输方式 组播技术是IP网络数据传输三种方式之一,在介绍IP组播技术之前,先对IP网络数据传输的单播、组播和广播方式做一个简单的介绍: 单播(Unicast)传输:在发送者和每一接收者之间实现点对点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也必须相应的复制多份的相同数据包。如果有大量主机希望获得数据包的同一份拷贝时,将导致发送者负担沉重、延迟长、网络拥塞;为保证一定的

服务质量需增加硬件和带宽。 组播(Multicast)传输:在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包。它提高了数据传送效率。减少了骨干网络出现拥塞的可能性。 广播(Broadcast)传输:是指在IP子网内广播数据包,所有在子网内部的主机都将收到这些数据包。广播意味着网络向子网每一个主机都投递一份数据包,不论这些主机是否乐于接收该数据包。所以广播的使用范围非常小,只在本地子网内有效,通过路由器和交换机网络设备控制广播传输。 二、组播技术 1、 IP组播技术体系结构 组播协议分为主机-路由器之间的组成员关系协议和路由器-路由 器之间的组播路由协议。组成员关系协议包括IGMP(互连网组管理协议)。组播路由协议分为域内组播路由协议及域间组播路由协议。域内组播路由协议包括PIM-SM、PIM-DM、DVMRP等协议,域间组播路由协议包括MBGP、MSDP等协议。同时为了有效抑制组播数据在链路层的扩散,引入了IGMP Snooping、CGMP等二层组播协议。 IGMP建立并且维护路由器直联网段的组成员关系信息。域内组播路由协议根据IGMP维护的这些组播组成员关系信息,运用一定的组播路

实验五 利用Wireshark分析IGMP协议

协议分析实验报告 年级:姓名:学号: 实验日期: 2013-04-10 实验名称:利用wireshark分析IGMP协议 一、实验目的 分析IGMP协议 二、实验环境 与因特网连接的计算机,操作系统为Windows,安装有Wireshark、IE等软件。 三、协议简介 Internet 组管理协议(IGMP)是因特网协议家族中的一个组播协议,用于IP 主机向任一个直接相邻的路由器报告他们的组成员情况。IGMP 信息封装在IP 报文中,其IP 的协议号为2。 它用来在ip主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。igmp不包括组播路由器之间的组成员关系信息的传播与维护,这部分工作由各组播路由协议完成。所有参与组播的主机必须实现igmp。 报告报文 字段说明: Type(8bit) 0x22 成员关系报告 Reserved( 8bit)和Reserved( 16bit): 都是表示保留字段,不过在IGMP中为了使它们都保持对应的长度,所以才有了长度上的区别,它在发送的时候是以0填充,在接收的时候是不作任何处理的。校验和

校验和是对整个IGMP消息以16位为一段进行取反求和。为了计算校验和,校验和字段首先必须被置0。当收到一个数据,在处理之前,必须先对校验和进行验证。 Number_of_Group_Records(M): 该字段表示该报告报文中包含有几个组记录 Group Record[i] (i 从1 到M): 一个主机可能需要点播多个组播地址的组播业务,每个记录包含了对应于其中一个组播地址的源地址列表等信息,它受到Number_of_Group_Records的大小的影响。 每一个组记录字段是一整块数据,其含有的信息是关于发送者在报告发送接口上的某一个多播组的成员关系。 每一个Group Reocrd的内部格式如下: 字段说明: Aux Data Len: 辅助数据长度含有在组记录中的辅助数据的实际长度,其单位是32bit字。它有可能是0,这就表示辅助数据不存在。 Number_of_Group_Sources: 源数量(N)字段标明在组记录中存在多少源地址。 MulticastAddress: 多播地址字段标明该组记录从属的多播IP地址。 SourceAddress[i]: 源地址[i]字段是一个数组,含有n个单播地址。n就是该记录的源数量(N)字段的值。 Auxiliary Data: 辅助数据字段如果存在,它含有关于该组记录的一些附加信息。本文档所描述的协议IGMP v3,没有定义任何辅助数据。所以,IGMPv3的实现在任何传输的组记录中都不应该含有任何辅助数据(即必须把Aux Data Len字段置0)。并且在收到的所有组记录中,必须忽略辅助数据的存在。关于辅助数据的语法和内部编码会由将来版本的使用该字段的IGMP或其扩展定义。 附加数据:

组播路由协议配置(cisco)

常用组播路由协议配置方法 1IGMP协议配置 1.1 IGMP基本设置 1.1.1配置路由器加入到一个组播组: Router(config-if)# ip igmp join-group 225.2.2.2 1.1.2控制某个接口下主机能够加入的组播组 ip igmp access-group access-list 【例如】 Router(config)# access-list 1 225.2.2.2 0.0.0.0 Router(config)# interface ethernet 0 Router(config-if)ip igmp access-group 1 ACL可以同时对组播报文的源和目的地址控制,达到过滤组播源,同时也能过滤特定 接收主机的作用,例如: Deny all state for a group G deny igmp any host G permit igmp any any Deny all state for a source S deny igmp host S any permit igmp any any Permit all state for a group G permit igmp any host G Permit all state for a source S permit igmp host S any Filter a particular source for a group G deny igmp host S host G permit igmp any host G 1.1.3IGMP版本切换 Router(config-if)# ip igmp version {2|3} 1.1.4IGMP查询间隔时间:默认60s Router(config-if)# ip igmp query-interval 120 1.1.5IGMP查询超时时间:默认为2倍的查询间隔时间 Router(config-if)# ip igmp query-timeout 30 1.1.6IGMP查询最大响应时间:默认为10s Router(config-if)# ip igmp query-max-response-time 8

详解IGMP(Internet组管理协议)报文及协议

1引言 本文将介绍用于支持主机和路由器进行多播的Internet组管理协议(IGMP)。它让一个物理网络上的所有系统知道主机当前所在的多播组。多播路由器需要这些信息以便知道多播数据报应该向哪些接口转发。IGMP在RFC1112中定义[Deering1989]. 正如ICMP一样,IGMP也被当作IP层的一部分。IGMP报文通过IP数据报进行传输。不像我们已经见到的其他协议,IGMP有固定的报文长度,没有可选数据。图13-1显示了IGMP报文如何封装在IP数据报中。 IGMP(Internet组管理协议)报文及协议(图一) IGMP报文通过IP首部中协议字段值为2来指明。 2IGMP报文 图13-2显示了长度为8字节的IGMP报文格式。 IGMP(Internet组管理协议)报文及协议(图二) 这是版本为1的IGMP.IGMP类型为1说明是由多播路由器发出的查询报文,为2说明是主机发出的报告报文。检验和的计算和ICMP协议相同。 组地址为D类IP地址。在查询报文中组地址设置为0,在报告报文中组地址为要参加的组地址。在下一节中,当介绍IGMP如何操作时,我们将会更详细地了解它们。 3IGMP协议 3.1加入一个多播组

多播的基础就是一个进程的概念(使用的术语进程是指操作系统执行的一个程序),该进程在一个主机的给定接口上加入了一个多播组。在一个给定接口上的多播组中的成员是动态的—它随时因进程加入和离开多播组而变化。 这里所指的进程必须以某种方式在给定的接口上加入某个多播组。进程也能离开先前加入的多播组。这些是一个支持多播主机中任何API所必需的部分。使用限定词“接口”是因为多播组中的成员是与接口相关联的。一个进程可以在多个接口上加入同一多播组。 Stanford大学伯克利版Unix中的IP多播详细说明了有关socket API的变化,这些变化在Solaris2.x和ip(7)的文档中也提供了。 这里暗示一个主机通过组地址和接口来识别一个多播组。主机必须保留一个表,此表中包含所有至少含有一个进程的多播组以及多播组中的进程数量。 3.2IGMP报告和查询 多播路由器使用IGMP报文来记录与该路由器相连网络中组成员的变化情况。使用规则如下: 1)当第一个进程加入一个组时,主机就发送一个IGMP报告。如果一个主机的多个进程加入同一组,只发送一个IGMP报告。这个报告被发送到进程加入组所在的同一接口上。 2)进程离开一个组时,主机不发送IGMP报告,即便是组中的最后一个进程离开。主机知道在确定的组中已不再有组成员后,在随后收到的IGMP查询中就不再发送报告报文。 3)多播路由器定时发送IGMP查询来了解是否还有任何主机包含有属于多播组的进程。多播路由器必须向每个接口发送一个IGMP查询。因为路由器希望主机对它加入的每个多播组均发回一个报告,因此IGMP查询报文中的组地址被设置为0. 4)主机通过发送IGMP报告来响应一个IGMP查询,对每个至少还包含一个进程的组均要发回IGMP报告。 使用这些查询和报告报文,多播路由器对每个接口保持一个表,表中记录接口上至少还包含一个主机的多播组。当路由器收到要转发的多播数据报时,它只将该数据报转发到(使用相应的多播链路层地址)还拥有属于那个组主机的接口上。 图13-3显示了两个IGMP报文,一个是主机发送的报告,另一个是路由器发送的查询。该路由器正在要求那个接口上的每个主机说明它加入的每个多播组。

IGMP报文格式及协议分析

1、多播:用于向多个目的地址传送数据。 多播地址:地址由固定的4位1110 + 28位多播组ID构成,范围从224.0.0.0到239.255.255.255。 2、主机组:能够接收发往一个特定多播组地址数据的主机集合。一些多播组地址被IANA 确定为知名地址,他们也被当作永久主机组。例如:224.0.0.1代表“该子网内的所有系统组”,224.0.0.2代表“该子网内的所有路由器组”。多播地址224.0.1.1用作网络时间协议NTP。 3、多播组地址到以太网地址的转换 IANA(互联网数字分配机构)拥有一个以太网地址块,即高位24bit为00:00:5e,这意味着该地址块所拥有的地址范围从00:00:5e:00:00:00到00:00:5e:ff:ff:ff。IANA将其中的一半分配为多播地址。为了指明一个多播地址,任何一个以太网地址的首字节必须是01,这意味着与IP多播相对应的以太网地址范围从01:00:5e:00:00:00到01:00:5e:7f:ff:ff。 将多播地址的低23位映射到以太网地址的低23位,高25位为固定的24位的01:00:5e 加1位0。这样就从多播组ip地址得到了对应的多播组mac地址。 由于多播组地址的高5位(即1110的后5位)在映射过程中被忽略,因此每个以太网多播地址对应的多播组不是唯一的,由于地址映射不是唯一的,所有需要设备驱动程序或IP 层对数据报进行过滤。 4、IGMP:internet组管理协议 用于让一个物理网络上的所有系统知道主机当前所在的多播组。多播路由器使用IGMP 报文来记录与该路由器相连网络中组成员的变化情况,首先,主机发送加入组播组报文到组播组,为了可靠,可以采取定时发送的方式向组播组发送加入报告报文。同时组播组也会定发送查询报文,收到查询报文后回复报告报文。如果主机已经离开了组播组则在收到查询报文后不发送报告报文。IGMP被当做IP层的一部分,IGMP报文通过IP数据报进行传输。其数据格式如下: 20字节的IP首部+8字节的IGMP报文

IGMP 组播协议

1.IGMP (V3) Internet Group Management Protocol IP D类地址:224.0.0.0 ~ 239.255.255.255 (前4个比特为1110) IGMP用于主机和路由器之间的通信(它也定义了路由器和主机的行为),从而进行组播组的管理,它使得一台主机可以接收: 1)发往某个组播组的数据包 2)从某些主机发往某个组播组的数据包 3)不是从某些主机发出的,发往某个组播组的数据包 IGMP协议: 1)组播路由器保存所有临近网络中有成员存在的组播组列表。(不是所有成员的列表) 2)IGMP只有两类消息,查询(路由器查询是否有主机处于组播组)和报告(主机报告自己加入,处于,或离开组播组)。(IGMP-V2中还有一个离开组消息) 3)查询消息由路由器发往主机,分为 一般查询(General Query):目的地址为224.0.0.1,数据包中组地址为0,源数量为0 指定组查询(Group-Specific Query):目的地址为指定的组播地址,数据包中组地址为指定的组播地址,源数量为0 指定组和源查询(Group-and-Source-Specific Query):目的地址为指定的组播地址,数据包中组地址为指定的组播地址,源数量不为0 4)一般查询的周期: IGMP-V1:正常一分钟不超过一次(路由器启动时周期短) IGMP-V2/3:缺省125秒(路由器启动时为1/4查询周期),一般查询消息中的最大的响应时间默认值为100(10秒),启动查询消息数量为健壮变量(Robustness Variable) 查询消息 5)不同IGMP版本的报告消息类型不一样:V1:0x12; V2: 0x16; V3: 0x22 6)IGMP-V3报告的记录类型 MODE_IS_INCLUDE (包含某些源) MODE_IS_EXCLUDE (排除某些源) CHANGE_TO_INCLUDE_MODE (改变为包含某些源)

组管理协议IGMP

组管理协议IGMP 在一个组播路由器建立路由,传送其组播群组成员关系信息之前,它必须确定在本地网络上有一个或多个主机是否加入了某个组播群组。为此,组播路由器和实现组播的主机必须使用互连网组管理协议IGMP(Internet Group Management Protocol)来进行群组成员关系信息的通信。利用IGMP,组播路由器可判断在与自己连接的任何一个网络上,是否存在组播组的一些成员;如存在组成员,组播路由器便可加入一个特定的组播组,并将组播数据转发给加入该组的主机。因此IGMP被主机用来通知直连的路由器,令其加入一个组播组,使组播网具有动态性和灵活性。 最初的IGMP规范是在RFC1112文件里详细定义的,我们通常将这套规范称为“IGMP版本1”,由斯坦福大学的S.Deering成文于1989年8月。后来又由施乐PARC公司的W.Fenner对最早的IGMP版本1进行了大幅更新,更新的结果就是RFC2236文件即IGMP版本2。两个版本的IGMP相互间可进行少许操作。在IGMP 版本2临近正式批准时。IDMR已经开始IGMP版本3的研究工作,现在已有的draftdraft-ietf-idmr-igmp-v3-05.txt。IGMPv1中定义了基本的组成员查询和报告过程,IGMPv2在此基础上添加了组成员快速离开的机制,IGMPv3中增加的主要功能是成员可以指定接收或指定不接收某些组播源的报文。 5.2组播路由协议 组播路由协议用于建立组播转发树,组播信息沿组播树转发。组播路由的研究一开始是集中于平面的网络拓扑(Flat Topology)上,而非Internet层次性的拓扑结构(hirerarchical Topology)上,我们称这些路由协议为域内组播路由协议。它们一般可分为两类:密集模式DM协议、稀疏模式sM协议。 5.2.1DM模式 在DM模式下,数据包通过泛洪方式流向每个路由器的所有网络接口,网络中的任何一个路由器都知道每个目前活动的发送源的组播地址和源IP地址。由于DM模式总是为使目的客户能够准确接收到信息而产生不必要的数据流量,因此,它对于大型或具有冗余功能的网络而言并非一种理想的组播实现方式。DM模式下,常用的路由协议是密集模式下的协议独立组播协议PIM—DM、距离向量组播路由协议DVM RP以及开放最短路径路由协议的组播扩展MOSPF等。 5.2.2SM模式 SM模式解决用来解决网络中只有少量用户时的泛洪问题,并针对少数用户

路由协议分析实验七 IGMP协议分析

实验七、IGMP协议分析 一、实验目的 (1)掌握主机加入多播组和退出多播组的工作方式。 (2)理解路由器如何判断网络中的多播用户是否存在。 (3)掌握IGMPv1和IGMPv2的区别。 二、实验拓扑 图7-1 IGMP协议分析实验拓扑 三、实验步骤 1、搭建实验拓扑,给路由器R1和R2以及PC3配置IP地址,IP地址第二字节修改为自己学号后3位。 2、在R1、R2和PC3上的f0/0接口配置IGMP版本为v1,参考命令如下: R1(config)#int f0/0 R1(config-if)#ip igmp version 1 R2和PC3参考R1配置 2、在PC3的接口f0/0上启动抓包,在R1和R2上启动多播路由协议,参考命令如下: R1(config)#ip multicast-routing R1(config)#interface f0/0 R1(config-if)#ip pim dense-mode R2参考R1的配置命令配置 问题1:在R1上查看谁是DR?参考命令: R1#show ip igmp interface f0/0 问题2:查看抓取到的数据包,是哪个路由器在发查询包? 3、将PC3加入多播组224.1.1.1,将第二字节修改为自己学号后3位,参考命令如下: PC3(config)#int f0/0 PC3(config-if)#ip igmp join-group 224.1.1.1 问题3:查看抓取到的数据包,路由器发送查询的时间间隔是多少? 问题4:在R1中查看多播组,一共有几个多播组,分别是什么? 根据抓取到的查询包和report包填写表8-1

IGMP协议详解与测试方法

拟 制 人时 间 IGMP 协议详解与测试方法 1 基本信息 1.1 摘要 本文主要介绍IGMP协议与我司终端产品IGMP的测试方法。 1.2关键字 IGMP,SNOOPING 1.3 缩略语 IGMP Internet Group Management Protocol Internet 组管理协议SMB SmartBits 思博伦通信网络分析仪CPE Customer Premise Equipment 用户侧设备

2 协议解释 2.1 IGMP 作用 ? 实现一对多数据流业务,有很多种实现方式,如广播,但是浪费带宽,会造成广播风暴: ? 如果用IGMP 的话,根据成员的需要去接受数据流业务: 组播成员2 组播成员1

2.2 IGMP协议 ?IGMP协议用于IPv4系统向任何邻居组播路由器报告其组播成员资格。IP组播路由器自己本身也可以是一到多个组播组的成员。这时,组播路由器要实现协议的组播路由器部分和组成员部分。 ?报文格式 IGMP V1 报文格式 Ver Type Reserved Checksum Group Address IGMP V2 报文格式 Type Max Resp Time Checksum Group Address Membership Query: 成员关系查询(0x11) V1 Membership Report: 版本 1 成员关系报告(0x12) V2 Membership Report: 版本 2 成员关系报告(0x16) Leave Group: 离开组报告(0x17) ?IGMP组播地址 组播IP地址用于标识一个IP组播组。IANA把D类地址空间分配给IP组播,其范围是从224.0.0.0到239.255.255.255。如下图所示(二进制表示),IP组播地址前四位均为1110。 八位组(1)八位组(2)八位组(3)八位组(4) 1110XXXX XXXXXXXX XXXXXXXX XXXXXXXX 组播地址的分类: 保留——224.0.0.0 - 224.0.0.255 用户组播地址——224.0.1.0 - 238.255.255.255 本地管理组——239.0.0.0 - 239.255.255.255 (用于私人组播领域,类似私有IP地址)

实验六 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。 4) 主机通过发送IGMP报告来响应一个IGMP查询,对每个至少还包含一个进程的 组均要发回IGMP报告。使用这些查询和报告报文,多播路由器对每个接口保持一个表,表中记录接口上至少还包含一个主机的多播组。当路由器收到要转发的多播数据报时,它只将该数据报转发到(使用相应的多播链路层地址)还拥有属于那个组主机的接口上。 【实验步骤】 练习一:观察IGMP报文 1. 在主机B的17 2.16.1.1对应的接口、172.16.0.1对应的接口分别启动网络协议分析器并设置过滤条件(提取IGMP)。 2. 在主机B上启动IGMP协议: 在主机B的命令行下使用“igmp_config”命令启动IGMP协议。 主机B的命令行下使用“igm p_config "172.16.1.1的接口名" route” 命令将172.16.1.1接口设置为“IGMP路由器”。 主机B的命令行下使用“igmp_config "172.16.0.1的接口名" route”命令将172.16.0.1接口设置为“IGMP路由器”。 3. 观察主机B上协议分析器所采集到的数据。 找到“成员关系查询”报文,并填写下表:

IGMP协议

IGMP协议一九九八年十二月

目录 一、为什么要多播? (3) 二、IP多播的应用 (7) 三、IP多播服务模型 (9) 四、IGMPv1 (14) 五、IGMPv2 (18) 六、IGMP版本1和版本2的互操作性 (32)

一、为什么要多播?

●单播传送发送数据的多个拷贝,每个拷贝发送到一个接收者 ?主机发送数据的3个拷贝,网络分别转发至少个不同的接收者 ?主机一次只能发送至一个接收者 ●多播传送发送数据的一个拷贝到多个接收者 ?主机发送数据的一个拷贝,网络在每个接收者的最后可能存在的一跳复制它,在一个给定的网络上每一个包只存在一次。 ?主机可同时发送数据到多个接收者

● 在一对多或多对多的环境中,多播传送比单播传送提供了更多优点: ? 提高效率:有效网络带宽得到了更有效地使用,因为重复数据流被单一传送所代替。 ? 优化性能:需要转发和处理的数据量更少。 ? 分布式应用:在单点传送的情况下,随着需求与应用的增长,多点应用将不太成为可能,因为单点传送中客户数量不能逐步增多。 ? 从图中可以看到,使用单播传送传输率以1:1的比率随客户数据增长,而使用多播传送,传输率不随着客户数量增长而增长。

●多播缺点 --大多数的多播应用都是基于UDP的。和类似的单播、TCP应用相比这会导致一些边界作用。 --尽力传送机制会导致一些偶然的包丢失,许多实时多播应用(如音频、视频)可能会受到掉包的影响。同样,在这一类应用的应用层要求丢失数据重传是不可行的。 . 在声音应用中频繁的数据丢失会合声音模糊、失真,严重时会使内容无法理解。 . 在视频应用中适度的掉包有时会由于人眼的影响而得到较好的容忍。然而,即使很小的掉包率也会使一些压缩算法受到很严重的影响。当解压算法在恢复时,画面会模糊或冻结。 --随着基于UDP的多播应用的增长,无拥塞控制将会导致网络整体性能下降。 --由于多播网络拓扑结构的改变包的复制可能会偶然发生。应用程序应该预想到会有偶然发生的复制的包到达并进行相应设计。

相关主题
相关文档
最新文档