首页 > 编程知识 正文

igmp snooping功能,igmpsnooping协议标准

时间:2023-05-04 13:20:57 阅读:114769 作者:2158

简介internetgroupmanagementprotocol

互联网组管理协议,负责IPv4多播成员管理协议

在接收主机和多播路由器之间传递IGMP消息组成员的管理功能,建立、维护组播组成员关系。

IGMP报文封装在IP报文中

三个版本: IGMPv1、IGMPv2、IGMPv3 默认v2

IGMPv3可直接应用于SSM机型,而IGMPv1、IGMPv2可应用于SSM机型1、IGMPv1工作原理两种消息1.http://www.Sina.com/(general query ),则为http://www .

2. IGMP SSM Mapping申请加入某组播组或响应咨询消息

IGMPv1消息格式64位

版本(3位) http://www.Sina.com/(4位) unused (8bit ) checksum (16位) http://www.Sina.com/(32位) )。

字段说明VersionIGMP版本类型消息类型的两个值是0x1普遍组查询消息;0x2成员资格消息UnusedIGMPv1使用0校验和检查IGMP消息长度组地址多播组地址。 在普遍组查询消息中为0,在成员报告消息中该字段为成员加入的组播组地址的结构1 .查询机制的路由器端完成(请参见)

目的发送IP为普遍组查询报文的普遍组查询消息(周期60s ) ) ) ) ) ) ) ) ) )。

启用多播路由//启用多播路由功能用于访问int g0/0/1 //连接成员的接口pim sm //查询igmp启用//启用igmp iip

PIM协议灾难恢复作为灾难恢复选举规则:比较优先级,然后比较IP地址,越大,一般组越了解消息内容

版本=1

Type=0x2

组地址=0.0.0. 0

2 .响应机制1 .主动响应

成员主动发送成员报告消息成员报告消息内容参与的组播组地址2 .被动响应

成员在收到普遍组查询消息后发送成员报告消息成员报告消息的内容。 加入的组播组地址检查器的IP地址被动响应成员报告报文(Report):主机向查询器发送的报告报文,用于收件人收到普遍组查询消息后,返回Type(定时时间随机为1-10s 用于发送成员报告消息的计时器接收Group Address的成员报告消息以进行超时,执行响应抑制,并且224.0.0.1成员报告消息为3358www.Sina.com/

成员离开组时不发送消息查询器,维持该组的成员关系。不自动选举查询器后,老化,删除

130s:2*普遍组查询时间120s响应抑制时间10s在130s内多播路由器持续分发该组流量,造成浪费

缺点:浪费带宽资源

IGMPv1存在的问题1 .自己不选择监察机,需要依赖PIM协议

2 .静静地离开

3 .响应时间范围太小

二、IGMPv2的工作原理IGMPv2的工作流程与IGMPv1基本一致

4类消息1 .常规组查询消息(通用查询) )。

2 .成员报告消息(报告) ) )。

3.3358www.Sina.com/(leave ) :声明自己离开某个多播组,并在成员离开多播组时主动发送给联系人

4.http://www.Sina.com/(group-specific query ) :查询某个多播组中是否还有成员,查询器发送给共享网段中指定多播组的查询

IGMPv2消息格式type(8bit ) http://www.Sina.com/(8bit ) checksum (16比特) group address (32比特) )。

类型:消息类型

0x11 )消息查询、普遍组查询消息或特定组查询消息0x11 ) IgM

Pv1成员报告报文0x16:IGMPv2成员报告报文0x17:成员离开报文

Max Response Time:最大响应时间

成员主机收到普遍组查询报文后,需要在最大响应时间内做出回应仅在IGMP查询报文中有效 工作机制

IGMPv2针对IGMPv1的三个问题都做了改进

1.查询机制

周期60s发送查询报文

自身选举查询器(改进一)

通过发送查询报文选举选举规则:IP地址越小越优选举完成后,竞选失败的成为非查询器;非查询器会开启一个定时器(125s);在定时器超时前收到查询器的查询报文,则重置定时器,否则认为原查询器失效,重新发起查询器选举

新增特定组查询报文

作用:配置成员离开报文,加快收敛触发条件:收到成员离开报文后,发送发送间隔:1s一次,共两次; 如果两次都没收到任何回应删除该组 2.响应机制

与IGMPv1一致

报文中新增最大响应时间(改进二)

可以控制响应抑制时间;可以根据局域网的网络环境灵活的修改最大响应时间,可以适应多用户主机的局域网环境。

##查询器侧修改interface g0/0/1igmp max-reponse-time 5##修改最大响应时间为5.0s

用户主机收到查询报文,需要在报文内的最大响应时间内随机选取时间进行回应

最大响应时间范围:1.0s–25.0s,间隔0.1s特定组查询报文最大响应时间为1.0s,不可改

问题一:普遍组查询报文与特定组查询报文区别?

1.报文max-reponse-time字段不一致

2.目的IP不一致,普遍组查询报文目的IP时224.0.0.1;特定组查询报文针对特定的组播组IP

3.普遍组查询报文周期60s发送;特定组查询报文收到last report的离组报文才会发送

问题二:什么时候需要讲最大响应抑制时间调大,调小?

响应时间调小,加快接收者响应,应用在接收者少的情况下

响应时间调大,减少响应时间重复概率

3.离开机制

新增成员离组报文(改进三)

每台成员主机在离开组播组时,都会发送成员离组报文,报文内容包含要离开组播组的组IP

三、IGMPv3工作原理

IGMPv3用于SSM模型,接收者需要使用232.0.0.0-232.255.255.255组播组地址

四种报文

A.三种查询报文

普遍组查询报文特定组查询报文特定源组查询报文(Group-and-Source-Specific Query):查询该组成员是否愿意接收特定源发送的数据,在报文中携带一个或多个组播源地址

B.一种报告报文

成员报告报文

不仅包含主机想要加入的组播组,而且包含主机想要接收来自哪些组播源的数据

一个成员报告报文可以携带多个组播组信息

无成员离组报文,成员离组通过特定的类型的成员报告报文传达

IGMPv3报文格式 1.查询报文

Type:类型;0x11Max Resp Code:最大响应时间;成员主机要在最大响应时间内做出回应Group Address:组播组地址;普遍组查询报文中为0Resv:保留字段;0S:接收到此查询报文的其他路由器不启动定时器刷新功能;1 选举DR完成后,未被选举上的路由器不会开启定时器 QRV:查询器健壮系数QQIC:查询间隔Source Address:组播源地址;受Number of Source字段限制 2.报告报文

Type:类型;0x22Group Record:组记录(成员加组方式) Group Record详解

Record Type:组记录的类型;三大类

当前状态报告:对查询报文响应,通告目前状态和想要接收的组播源流量 mode_is _include:只接收源地址列表包含的组播源的流量mode_is _exclude:只接受源地址列表不包含组播源的流量 源地址列表:查询报文中Source Address字段 过滤模式改变报告:当组和源的关系在include和exclude切换时,通告变化 change_to_include_mode:由exclude转换到includechange_to_exclude_mode:由include转换到exclude 源列表改变报告 allow_new_sources:在原有源地址列表基础上新增组播源地址 如果是include状态,则在源地址列表增加新的组播源地址如果是exclude状态,则在源地址列表删除组播源地址 block_old_sources:在原有源地址列表基础上排除组播源地址

Aux Data Len:辅助数据长度

Auxiliary Data:辅助数据;预留给IGMP后续扩展

工作机制

与IGMPv2几乎一致,IGMPv3增加了主机对组播源的选择能力

并且IGMPv3取消了响应抑制机制,因为有特定的组播源,所以成员主机可能会接受同一组播IP当不同源设备的流量,存在相同组播组地址有不同组播源的情况;

如果采用响应抑制机制,如果两台成员主机对同组播组地址但不同组播源发送成员报告报文。那么一成员主机会抑制另一成员主机对不同组播源的Report信息 1.特定源组加入

成员主机发送IGMPv3报告(G1,include,(S1))给查询器:表示仅接收源S1、组G1的组播数据

成员主机发送IGMPv3报告(G2,exclude,(S2))给查询器:表示不接收源S2、组G2的组播数据

2.特定源组查询

查询器接收到成员主机发送的 change_to_include_mode或change_to_exclude_mode 后,查询器发送特定源组查询报文(更新源地址列表)

四、IGMP Snooping

作用:避免组播流量在二层设备泛洪,只让组播流量从特定的接口转发出去

缺点:安全性无法的到保障

过程:通过窥探组播路由器和接收者之间交互的IGMP报文,形成二层转发表项,后续组播流量就会按照组播转发表项从指定接口转发出去

开启IGMP snooping,响应抑制机制失效

角色

路由器端口:收到IGMP普遍组查询消息或者PIM hello消息感知路由器端口

也可以手动指定路由器端口

成员端口:收到IGMP Report报文的接口被认为是动态成员端口

也可以手动配置成员端口

配置

igmp-snooping enable##开启IGMP snoopingigmp-snooping enable vlan 1##vlan 1使能IGMP snoopingdisplay l2-multicast forwarding-table vlan 1##查看二层组播转发表##静态绑定接口为路由器端口interface e0/0/5igmp-snooping static-router-port vlan 1##静态绑定接口为成员端口,加入组239.1.1.1interface e0/0/4l2-multicast static-group group-address 239.1.1.1 vlan 1 五、IGMP SSM MAPPING

成员主机只能运行IGMPv1或者IGMPv2,为了使其能使用SSM服务,路由器上需要提供IGMP SSM Mapping功能**

实现方式:通过在路由器上静态配置SSM地址的映射规则,将IGMPv1和IGMPv2成员报告报文中的(*,G)转化为对应的(S,G)信息,提供SSM组播服务

如果G是在ASM范围内,只提供ASM服务如果G是在SSM组地址范围内(232.0.0.0–232.255.255.255) 路由器上有G对应的SSM Mapping规则,依据规则将成员报告报文中的(*,G)信息映射为(G,INCLUDE,(S1,S2))信息,提供SSM服务路由器上没有G对应的SSM Mapping规则,则无法提供SSM服务,丢弃报文

配置

##路由器上进入与成员主机同一局域网的端口,开启SSM Mappinginterface G0/0/1igmp enableigmp version 3##使用igmpv3,为了保证接口网段内运行任意版本IGMP的成员主机都能得到SSM服务igmp ssm-mapping enable##路由器上配置SSM Mapping规则igmpssm-mapping 232.1.1.0 255.255.255.0 200.1.1.1 ##查看SSM Mapping转换规则display igmp routing-table 六、IGMP Proxy

通常被部署在与接入设备和成员主机之间的三层设备

场景:与用户网段相连设备RouterB不需要运行复杂的组播协议(如PIM),如果RouterB透传IGMP报文给RouterA,会导致RouterA管理太多用户。当网络中存在大量成员主机的加组/离组,产生大量的IGMP报文,从而给RouterA带来较大的处理能力

作用:

IGMP Proxy设备可以收集下游成员主机的IGMP报告/离开报文,同时将IGMP报告/离开报文汇总后统一发给接入IGMP查询器IGMP Proxy设备也可以代理IGMP查询器向下游成员主机发送查询报文,维护组成员关系,基于组成员关系进行组播转发

IGMP Proxy中定义两种类型接口

上游接口(主机接口):指IGMP代理设备上配置IGMP Proxy功能的接口,该接口执行IGMP代理设备的主机行为下游接口(路由器接口):IGMP代理设备上配置IGMP功能的接口,该接口执行IGMP代理设备的路由器行为 七、MLD组播侦听者发现协议

Multicast Listerer Discovery

MLD可以理解为IGMP的IPv6版本,两者的协议行为完全相同,区别仅仅在于报文格式

MLD报文封装在IPv6报文中

定义:用来在IPv6成员主机和与其直接相邻的组播路由器之间建立和维护组播组成员关系

版本

MLDv1,对应IGMPv2MLDv2,对应IGMPv3 1.MLDv1

用于ASM,接收者不能指定源加入组

报文类型 普遍组查询报文 报文发送目的地址为:FF02::1;周期125s,查询器失效时间255s 特定住查询报文成员报告报文成员离组报文 报文格式

报文长度:192bit

Type:=130查询报文;=131成员报告报文;=132成员离开报文 配置 ipv6##使能ipv6multicast ipv6 routing-table##使能ipv6组播interface g0/0/0ipv6 enableipv6 address 2001::1/64mld enable##使能MLDmld version 1mld static-group FF1E::AA##静态加组FF1E::AA 2.MLDv2

用于SSM模型,接收者可以在加入组时指定特定源以及过滤特定源

报文类型

两大类

查询报文(type=130)

普遍组查询报文 发送目的地址:FF02::16(本网段内所有是能MLDv2的路由器都能接收) 特定组查询报文特定源组查询报文

报告报文(type=143)

成员报告报文

报文格式

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。