IGMPv3协议实例分析

合集下载

IGMP V1 V2 V3 定义和区别

IGMP V1 V2 V3 定义和区别

IGMP v1支持host membership query 和host membership report
report message是由IGMP host发给IGMP router来报告它加入的组播组.
query message是由IGMP router发给IGMP client来查询IGMP host所加入的组播组.
如果hostA想要加入一个新的组播地址224.100.1.3,它会发个report信息给想要加入的组播地址,router收到后加入IGMP table.
IGMPv2,包括membership query,membership report, Leave Group message .
membership query 包括general query,group-specific query.
下面这些是一些常见的IGMP multicast address ,
Range :
224.0.0.0~239.255.255.255
Well-known multicast group address:
224.0.0.1 - all systems on the subnet
224.0.0.2 - all routers on the subnet
下面来谈谈IGMP V1,V2,V3的区别,
IGMPv1 :主机可以加入组播组。没有离开信息(leave messages)。路由器使用基于超时的机制去发现其成员不关注的组。
IGMPv2 :该协议包含了离开信息,允许迅速向路由协议报告组成员终止情况,这对高带宽组播组或易变型组播组成员而言是非常重要的。
IGMP V3,
Membership Report

SNMPv3协议解析

SNMPv3协议解析
防止SNMP消息在传输过程中被篡改,或SNMP消
息来自伪造的SNMP实体

数据加密
防止SNMP消息在传输过程中被窃听
2 SNMPv3的体系结构
2.1 SNMPv3的框架结构

SNMPv3实体的主要类型
管理器(Manager):请求发送与响应接收 代理(Agent):请求接收与响应发送 代理服务器(Proxy):请求与响应转发
3 SNMPv3的安全模型
3.1 USM的基本概念

SNMP消息的篡改与伪造,用户试图非法获得网络 设备的配置信息,或非法对网络设备进行网管操 作,这是SNMP面临的主要威胁
SNMP消息的窃听、延迟、重发与重排序,用户试 图获得SNMP消息的有用信息,或影响网络设备的 正常使用,这是SNMP面临的次要威胁
SnmpMessageProcessingModel:表示消息处理模 型的整数 SnmpEngineID:表示SNMP引擎标识符的字符串 SnmpSecurityLevel:表示安全级别的字符串

SnmpAdminString:表示管理信息的字符串
snmpFrameworkMIB组的基本结构
snmpFrameworkMIB(snmpModules 10) snmpFrameworkAdmin(snmpFrameworkMIB 1) snmpAuthProtocols(snmpFrameworkAdmin 1) snmpPrivProtocols(snmpFrameworkAdmin 2) snmpFrameworkMIBObjects(snmpFrameworkMIB 2) snmpEngine(snmpFrameworkMIBObjects 1) snmpEngineID(snmpEngine 1) snmpEngineBoots(snmpEngine 2) snmpEngineTime(snmpEngine 3) snmpEngineMaxMessageSize(snmpEngine 4) snmpFrameworkMIBConformance(snmpFrameworkMIB 3) snmpFrameworkMIBCompliances(snmpFrameworkMIBConformance 1) snmpFrameworkMIBCompliance(snmpFrameworkMIBCompliances 1) snmpFrameworkMIBGroups(snmpFrameworkMIBConformance 2) snmpEngineGroup(snmpFrameworkMIBGroups 1)

实验五 利用WIRESHARK分析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):该字段表示该报告报文中包含有几个组记录GroupRecord[i](i从1到M):一个主机可能需要点播多个组播地址的组播业务,每个记录包含了对应于其中一个组播地址的源地址列表等信息,它受到Number_of_Group_Records的大小的影响。

每一个组记录字段是一整块数据,其含有的信息是关于发送者在报告发送接口上的某一个多播组的成员关系。

每一个GroupReocrd的内部格式如下:字段说明:AuxDataLen:辅助数据长度含有在组记录中的辅助数据的实际长度,其单位是32bit字。

它有可能是0,这就表示辅助数据不存在。

IGMPv3协议原理及实现

IGMPv3协议原理及实现
改变源地址列表,源地址改变时触发,记录中包含的源地址是系统 希望加入的源S。 改变源地址列表,源地址改变时触发,记录中包含的源地址是系统 不再希望加入的源S。 报告当前状态,说明当前组的模式是EXCLUDE模式,收到查询报文时 触发,源地址列表中包含了该组不希望加入的源地址S。IS_EX(G,{}) 表示当前对G的所有源都感兴趣,相当于IGMPv2的加入报文。
IGMP v2 离开报文
离开报文目的地址为:224.0.0.2或者组播组地址, 类型:0x17
IGMP v2查询报文
注意:查询报文目的地址为:224.0.0.1, 类型:0x11
IGMPv3协议
IGMPv3: IGMPv3 在兼容和继承IGMPv1 和IGMPv2 的基础上,
进一步增强了主机的控制能力,并增强了查询和报告报文的功能。 (1)查询和报告功能增强,兼容低版本的普通组和特定组查询; 增加了对特定源组查询的支持; 批量报告:报文目的地址为:224.0.0.22,可以携带一个或多个 组记录; (2)主机空间能力增强,支持源过滤功能(INCLUDE/EXCLUDE);
用户2能够收到源为3,4的组播数据流;
组播组收到不同类型报文状态跃迁表
IGMPv3协议在FP8680上实现
FP8680采用线卡和主控两层控制机制实现IGMPv3协议;
(1)线卡记录由每个PON口发送的Report报文信息中所携 带的INCLDUE和ilter-Mode, 和源地址列表 (基于该线卡下所有用户发送的Report报文信息生成)。
IGMPv1协议介绍
IGMP: Internet 组管理协议,用于主机与路由器之间交互信息的
一种协议。共包括v1, v2, v3三种版本,当前比较常用的为 IGMPv2协 议。

IGMP协议及抓包分析

IGMP协议及抓包分析

IGMPIGMP 是Internet Group Management Protocol(互联网组管理协议)的简称。

它是TCP/IP 协议族中负责IP 组播成员管理的协议,用来在IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。

到目前为止,IGMP 有三个版本:1、IGMPv1(由RFC 1112 定义)2、IGMPv2(由RFC 2236 定义)3、IGMPv3(由RFC 3376定义)一、IGMPv11.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次查询周期过后)。

组播组超时,剪枝。

二、IGMPv22.1报文格式1、类型成员关系查询(0x11)常规查询:用于确定哪些组播组是有活跃的,即该组是否还有成员在使用,常规查询地址由全零表示;特定组查询:用于查询某具体组播组是否还有组成员。

RFC3376-IGMPv3

RFC3376-IGMPv3

RFC3376 網際網路組管理協議IGMPv3(譯)摘要本文檔說明了網際網路組管理協議的第3版,IGMPv3。

IGMP協定被IPv4系統用於向鄰接的多播路由器報告它們的組成員關係。

第3版的IGMP增加了對“源過濾”的支援,即系統能夠報告它只對接收到的發往某一特定多播組的資料報中,某些來自特定源位址的資料感興趣,或者是只對除了某些特定源位址之外的資料感興趣。

這個資訊能夠被多播路由協議用於避免把某些來自特定源位址的多播資料報發往對它不感興趣的網路。

1、簡介IGMP協定被IPv4系統(主機或路由器)用於向鄰接的多播路由器報告它們的組成員關係。

需要注意的是IP多播路由器本身也可能是一個或多個多播組的成員。

在這種情況下,它會既執行協議的“多播路由器部分”(為它的多播路由協定收集成員資訊),又執行協定的“組成員部分”(把自己的成員關係通知自己,其他主機,還有鄰接的多播路由器)。

IGMP協議還用於其他的IP多播管理功能,這通過使用組成員報告之外的其他的消息類型來實現。

這份文檔只描述組成員關係報告功能和消息。

這份文檔說明IGMP第3版。

第1版在RFC1112中說明,是第1個被廣泛使用的版本,也是第1個成為網際網路標準的版本。

第2版在RFC2236中說明,增加了對“組成員快速離開”的支持,即多播路由器獲知相連的網路中的某一個組中已經沒有組成員所花費的時間大大減少。

而第3版增加了對“源過濾”的支援,即系統有能力報告對發往某個特定多播位址的資料報,只希望接收某些特定源的,以支持特定源多播[SSM],或者只希望接收除了某些特定源的。

第3版被設計為能夠跟第1版,第2版互操作的。

多播偵聽者發現(MLD)是IPv6系統採用的一種相似的方法,MLD第1版實現了IGMP 第2版的功能,MLD第2版實現了IGMP第3版的功能。

2、用於IP多播接收的服務介面在一個IP系統內,有一個(至少概念上有)服務介面,被上層協定或者應用程式用於打開或者關閉IP層對發往某一特定IP多播位址的資料報的接收。

IGMPv3六种报告报文详细解读

IGMPv3六种报告报文详细解读

IGMPv3 六种Report 报文之间的交互关系许小明 2012-1-10一. 参数说明和拓扑1.RFC 3376中定义的1.EXCLUDE 和 INCLUDE 的定义2. 变量A和B代表的含义3.Query的含义4.GMI 的定义2.本案例中定义的简写5代表地址为192.168.1.5;6代表地址为192.168.1.6;7代表地址为192.168.1.7, 3.本试验中的拓扑图二,RFC3376定义的一些参数1.三种查询包的类型查询消息有三种类型的变体:1、“普通查询”由多播路由器发出,用于获知邻接接口(即查询所传输的网络中所相连的接口)的完整的多播接收状态。

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

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

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

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

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

2.组记录类型在一个报告消息中,有一定数量的不同类型的组记录:-“当前状态记录”由一个系统发出,用于响应在一个接口上收到的查询。

它报告了接口跟某一个多播IP地址相关的当前的接收状态。

当前状态记录的记录类型可以是下面两个值中的一个:值名字和含义1 MODE_IS_INCLUDE-标明接口相关于某一指定多播地址的过滤模式为INCLUDE。

该组记录中的源地址[i]字段含有该接口的相关于该多播地址的源列表(如果非空的话)。

2 MODE_IS_EXCLUDE-标明接口相关于某一指定多播地址的过滤模式为EXCLUDE。

该组记录中的源地址[i]字段含有该接口的相关于该多播地址的源列表(如果非空的话)。

-“过滤模式改变记录”是当本地的IPMulticastListen调用造成本地的接口层相关于某一特定多播IP地址的过滤模式的改变的时候(即从INCLUDE变到EXCLUDE,或者从EXCLUDE变到INCLUDE),由系统发出。

IGMP协议

IGMP协议

IGMP协议IGMP(Internet Group Management Protocol)是一种用于在IP多播网络中管理组成员身份的通信协议。

它允许主机向路由器发送多播组成员资格查询,以及向路由器发送多播组成员资格报告。

IGMP协议的主要作用是在主机和路由器之间提供多播组成员资格的查询和报告机制,以便路由器可以知道哪些主机属于哪些多播组,从而可以正确地转发多播数据包。

IGMP协议的工作原理如下,当一个主机希望加入一个多播组时,它会向相应的路由器发送一个IGMP成员报告。

路由器收到成员报告后,会将这个成员加入到相应的多播组中,并开始向该组发送多播数据包。

如果一个主机不再希望接收某个多播组的数据包,它会向路由器发送一个IGMP成员离开报告,路由器收到报告后会将该成员从多播组中移除,并停止向该成员发送多播数据包。

IGMP协议的版本有IGMPv1、IGMPv2和IGMPv3。

IGMPv1是最早的版本,它只支持成员报告和成员离开报告,不支持组成员查询。

IGMPv2在IGMPv1的基础上增加了组成员查询功能,以提高多播组成员管理的效率。

而IGMPv3在IGMPv2的基础上增加了对多播源的支持,使得主机可以选择特定的多播源进行数据接收。

在实际应用中,IGMP协议通常与PIM(Protocol Independent Multicast)协议一起使用,PIM协议用于在多播网络中进行路由选择和数据包转发,而IGMP协议用于管理主机的多播组成员身份。

两者结合起来,可以实现高效的多播数据传输。

总的来说,IGMP协议是在IP多播网络中起到关键作用的协议之一,它通过提供成员查询和报告机制,实现了对多播组成员的管理,保证了多播数据包能够正确地传输到各个成员。

IGMP协议的不断完善和更新,为多播网络的发展提供了重要的支持,使得多播技术在视频会议、流媒体等应用中得到了广泛的应用和推广。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档