首页 > 编程知识 正文

igmp窥探作用,光猫igmp proxy要开吗

时间:2023-05-06 12:34:00 阅读:114767 作者:969

igmp侦听概述igmp侦听(internetgroupmanagementprotocol

Snooping (是一种IPv4双层多播协议,通过监听在三层多播设备和用户主机之间发送的多播协议消息并维护多播消息的发出口信息,在数据链路层中实现多播

目的:组播报文往往必然经过一些双层交换设备,特别是局域网环境。

由于多播消息的目的地地址是多播组地址,所以在双层设备上不能学习这样的MAC条目,因此在所有接口上广播多播消息,并与其相同这不仅浪费网络带宽,而且影响网络信息的安全性。

IGMP Snooping有效地解决了这个问题。 配置IGMP侦听后,双层多播设备监听分析多播用户和上游路由器之间的IGMP消息,并根据这些信息建立双层多播转发条目,控制多播数据的消息转发这样可以防止多播数据在双层网络上广播。

igmp侦听原理描述基本原理: igmp侦听是双层组播的基本功能,可以实现组播数据在数据链路层的传输和控制。 当在主机和上游三层设备之间传递的IGMP协议消息通过双层多播设备时,IGMP侦听分析消息携带的信息,并基于这些信息建立和维护双层多播转发表,以及

在多播数据从3层多播设备Router转发之后,接入端的2层多播设备Switch将多播数据转发到用户主机,以便用户可以观看点播节目。当Switch没有运行IGMP Snooping时,组播数据在二层被广播;当Switch运行了IGMP Snooping后,组播数据不会在二层广播,而是会被Switch发送给指定的接收者。

启用IGMP侦听功能后,交换机将侦听主机与上游三层设备之间交换的IGMP消息,并接收消息中携带的信息(消息类型、多播组地址和消息的接口

基本概念:三层设备Router从多播源接收数据并将其传输到下游,分别在双层多播设备SwitchA和SwitchB上运行IGMP Snooping,主机、主机和主机

图: igmp侦听相关端口igmp侦听端口角色:

端口角色是一种生成路由器端口的方法,如SwitchA或SwitchB上的蓝色圆圈所示。 说明:路由器端口是指到双层多播设备上的多播路由器的接口,而不是路由器上的接口。 在双层组播设备中面向三层组播设备(DR或IGMP查询机)的接口,双层组播设备从该接口接收组播数据消息。 协议生成的路由器端口称为动态路由器端口。 接收源地址不是0.0.0.0的IGMP普遍组查询消息或PIM Hello消息(用于发现和维护三层多播设备的PIM接口向外部发送的邻居关系的消息)的接口可以是手动配置的路由器端口称为静态路由器端口。 成员端口,如SwitchA和SwitchB黄色框所示的接口。 表示去往多播设备上多播组成员侧的端口,也称为多播组成员端口,并且双层多播设备向该接口发送多播数据消息。 协议生成的成员端口称为动态成员端口。 接收到igmp报告消息的接口被双层多播设备标识为动态成员端口。 手动配置的成员端口称为静态成员端口。 路由器端口和成员端口是双层多播转发条目的重要信息之一的外接口。 在此,路由器端口相当于上游接口,成员端口相当于下游接口。 在协议消息中学习的端口对应于动态表条目手动配置的端口对应于静态表条目。

除接口外,每个表条目还包含多播组地址和VLAN编号。

机制:双层组播设备运行IGMP侦听后,收到不同的IGMP协议消息进行不同的处理,在此过程中创建双层组播传输条目。

收到IGMP普遍组查询消息时:IGMP工作阶段:

普遍组查询

IGMP查询器定期向本地网段中的所有主机和路由器(目标地址为224.0.0.1 )发送IGMP普遍组查询消息,并向该网段发送任何多播组的主

处理方式:

传输到VLAN中除接收接口以外的所有接口,并对接收接口执行以下操作: 添加路由器端口列表(如果尚未包括)并启动老化计时器。 如果路由器端口列表中已经包含动态路由器端口,请重置旧计时器。 在接收到IGMP普遍组查询消息时,动态路由器端口的老化计时器默认为180秒,其可以通过命令行设置。

收到IGMP报告消息时:IGMP工作阶段:

成员报告

有两种情况:

成员在收到IGMP普遍组的查询消息后,对IGMP报告消息进行响应。

成员主动向IGMP查询机发送IGMP报告消息,宣布加入组播组。

处理方法:

到VLAN中的所有路由器端

口转发。从报文中解析出主机要加入的组播组地址,并对接收接口做如下处理:如果不存在该组对应的转发表项,则创建转发表项,将该接口作为动态成员端口添加到出接口列表中,并启动老化定时器。
如果已存在该组对应的转发表项,但出接口列表中未包含该接口,则将该接口作为动态成员端口添加到出接口列表,并启动老化定时器。
如果已存在该组所对应的转发表项,且出接口列表中已包含该动态成员端口,则重置其老化定时器。

收到IGMP报告报文后,动态成员端口的老化定时器 = 健壮系数 x 普遍组查询间隔 + 最大响应时间。

当收到IGMP离开报文时:

IGMP工作阶段:

成员离开组播组
有两个阶段:

运行IGMPv2或IGMPv3的成员发送IGMP离开报文,以通知IGMP查询器自己离开了某个组播组。
IGMP查询器收到IGMP离开报文后,从中解析出组播组地址,并通过接收接口向该组播组发送IGMP特定组查询报文/IGMP特定源组查询报文。

处理方式:

判断离开的组是否存在对应的转发表项,以及转发表项出接口列表是否包含报文的接收接口:

如果不存在该组对应的转发表项,或者该组对应转发表项的出接口列表中不包含接收接口,二层组播设备不转发该报文,将其直接丢弃。
如果存在该组对应的转发表项,且转发表项的出接口列表中包含该接口,二层组播设备会将报文向VLAN内所有路由器端口转发。
对于IGMP离开报文的接收接口(假定为动态成员端口),二层组播设备在其老化时间内:

如果从该接口收到了主机响应IGMP特定组/源组查询的报告报文,表示接口下还有该组的成员,于是重置其老化定时器。
如果没有从该接口收到主机响应IGMP特定组/源组查询的报告报文,则表示接口下已没有该组成员,则在老化时间超时后,将接口从该组的转发表项出接口列表中删除。

此外,当二层组播设备收到PIM Hello报文时,向VLAN内除接收接口外的其他所有接口转发,并对接收接口做如下处理:

如果路由器端口列表中已包含该动态路由器端口,则重置老化定时器。如果路由器端口列表中尚未包含该接口,则将其添加进去,并启动老化定时器。

如果配置了静态路由器端口,二层组播设备收到IGMP报告和离开报文也会向静态路由器端口转发。如果配置了静态成员端口,则转发表项中会添加该接口为出接口。

当二层组播设备上建立了二层组播转发表项以后,二层组播设备接收到组播数据报文时,依据报文所属VLAN和报文的目的地址(即组播组地址)查找转发表项是否存在对应的“出接口信息”。如果存在,则将报文发送到相应的组播组成员端口和路由器端口;如果不存在,则丢弃该报文或将报文在VLAN内广播。

IGMP Snooping配置命令 igmp-snooping enable//使能全局的IGMP Snooping功能。//在VLAN内,也需要使能Igmp Snooping功能。igmp-snooping group-limit//指定接口能够学习的组播表项最大数目。igmp-snooping lastmember-queryinterval 1//配置VLAN内的最后成员查询时间间隔,即IGMP特定组查询报文发送时间间隔。igmp-snooping learning//使能动态成员端口学习功能。//缺省情况下,动态成员端口学习功能处于使能状态。igmp-snooping max-response-time 10//在VLAN内配置IGMP普遍组查询的最大响应时间。igmp-snooping prompt-leave//配置允许VLAN内的成员端口快速离开组播组。//成员端口快速离开是指当路由器收到主机发送的离开某个组//播组的IGMP Leave报文后,不等待成员端口老化,将接口//对应该组播组的转发表项直接删除,这样可以节约带宽和资源。igmp-snooping querier enable//使能VLAN的IGMP Snooping查询器功能。igmp-snooping query-interval 60//配置VLAN内的IGMP Snooping普遍组查询报文发送时间间隔。igmp-snooping report-suppress//配置在VLAN内对Report和Leave报文的抑制功能。igmp-snooping router-aging-time 180//配置VLAN内的动态路由器端口老化时间。igmp-snooping router-learning//使能VLAN的路由器端口动态学习功能。igmp-snooping send-query enable//配置设备响应二层拓扑变化向非路由器端口发送IGMP普遍组查询报文。igmp-snooping send-query source-address//配置IGMP普遍组查询报文的源IP地址。//缺省情况下,IGMP普遍组查询报文的源IP地址为192.168.0.1。igmp-snooping ssm-mapping enable//使能VLAN内的SSM Mapping功能。igmp-snooping static-router-port//配置接口作为指定VLAN内的静态路由器端口。igmp-snooping suppress-time 10//配置VLAN内的IGMP报文抑制时间。//缺省情况下,VLAN内IGMP报文抑制时间为10秒。 igmp-snooping version//来配置IGMP Snooping在VLAN内可以处理的IGMP报文的版本。//缺省情况下,IGMP Snooping可以处理IGMPv1、IGMPv2版本的报文。multicast drop-unknown//配置将VLAN内收到的未知组播流丢弃。//缺省情况下,收到未知组播流会在VLAN内广播。

参考文档:华为HedEx文档

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