




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
IGMP Snooping技术总结IGMP Snooping简介IGMP Snooping是Internet Group Management Protocol Snooping(互联网组管理协议窥探)的简称,它是运行在二层设备(路由器与主机之间的交换机)上的组播约束机制,用于管理和控制组播组。IGMP Snooping原理运行IGMP Snooping的二层设备(交换机)通过对收到的IGMP报文进行分析,为端口和MAC组播地址建立起映射关系,并根据这样的映射关系转发组播数据。如图1所示,当二层设备没有运行IGMP Snooping时,组播数据在二层被广播;当二层设备运行了IGMP Snooping后,已知组播组的组播数据不会在二层被广播,而在二层被组播给指定的接收者。图 1二层设备运行IGMP Snooping前后的对比传统以太网交换机处理组播数据包时只是简单地在每个端口上进行广播,这种方式使得组播包洪泛到并不支持组播的网络,这样的网络比较多的时候则会造成带宽极大的浪费。而运行在交换机上的IGMP Snooping协议则能够很好地解决这一问题,同时它也不需要主机和组播路由器支持额外的协议。IGMP Snooping协议监视网络上的IGMP 消息,为每一个组播MAC地址建立一个VLAN。该VLAN端口所连接的网络中至少含有一个主机组成员或者含有组播路由器。这些端口即为组播数据包应该转发的端口组,它们在一起组成组播VLAN 的端口集。协议将维护这个端口集。这样,当转发组播数据包时,组播数据包只在它所在的组播VLAN 端口上转发而不会广播到不需要组播的端口,节省了带宽。同时,该以太网交换机在保持对组播路由器透明的前提下,完成IGMP 代理的功能,过滤掉不必要的IGMP 消息,防止了“IGMP 报告风暴”。IGMP Snooping通过二层组播将信息只转发给有需要的接收者,可以带来以下好处:l减少了二层网络中的广播报文,节约了网络带宽;l增强了组播信息的安全性;l为实现对每台主机的单独计费带来了方便。IGMP Snooping基本概念1.IGMP Snooping相关端口如图2所示,Router A连接组播源,在Switch A和Switch B上分别运行IGMP Snooping,Host A和Host C为接收者主机(即组播组成员)。图 2IGMP Snooping相关端口结合图2,介绍一下IGMP Snooping相关的端口概念:l路由器端口(Router Port):交换机上朝向三层组播设备(DR或IGMP查询器)一侧的端口,如Switch A和Switch B各自的Ethernet1/1端口。交换机将本设备上的所有路由器端口都记录在路由器端口列表中。l成员端口(Member Port):又称组播组成员端口,表示交换机上朝向组播组成员一侧的端口,如Switch A的Ethernet1/2和Ethernet1/3端口,以及Switch B的Ethernet1/2端口。交换机将本设备上的所有成员端口都记录在IGMP Snooping转发表中。l本文中提到的路由器端口都是指交换机上朝向组播路由器的端口,而不是指路由器上的端口。l如不特别指明,本文中提到的路由器/成员端口均包括动态和静态端口。l在运行了IGMP Snooping的交换机上,所有收到源地址不为0.0.0.0的IGMP普遍组查询报文或PIM Hello报文的端口都将被视为动态路由器端口。2.IGMP Snooping动态端口老化定时器表 1IGMP Snooping动态端口老化定时器定时器说明超时前应收到的报文超时后交换机的动作动态路由器端口老化定时器交换机为其每个动态路由器端口都启动一个定时器,其超时时间就是动态路由器端口老化时间源地址不为0.0.0.0的IGMP普遍组查询报文或PIM Hello报文将该端口从路由器端口列表中删除动态成员端口老化定时器当一个端口动态加入某组播组时,交换机为该端口启动一个定时器,其超时时间就是动态成员端口老化时间IGMP成员关系报告报文将该端口从IGMP Snooping转发表中删除IGMP Snooping端口老化机制只针对动态端口,静态端口永不老化。IGMP Snooping协议对交换机的影响IGMPSnooping协议,它要求交换机既能分析IGMP 数据包,又必须支持VLAN。从协议层次框架上分析,TCP/IP协议栈得到IGMP 的报文,交由IGMP Snooping协议进行处理, IGMP Snooping协议根据处理结果更新VLAN。同时,当收到生成树的TCN(拓扑结构变化通知) 时, IGMPSnooping 还需要重新计算组播VLAN 以减少网络变化所带来的影响。交换机在监听主机与路由器之间的 IGMP 会话, 但这样做意味着交换机必须复制并分析所有的组播帧才能找寻出所有的 IGMP 数据包。可以想像这是一项繁重的任务,会严重影响交换机的性能,用专用芯片来实现这一处理过程可以 释解交换机的压力,但同时会增加交换机的成本。二层交换机的内部由三部分组成:CPU,CAM Table 和 Switching Engine。CAM Table 是核心,它的内容由 CPU 来维护,Switching Engine 则依照 CAM Table 的内容和 CPU 的指令来 完成端口间的交换任务。好了,现在让我们通过一个实例来讲述 IGMP Snooping 会给交换机的 CPU 带来多大的负担。 主要内容都基于下面这幅图。首先,主机 1 发出报告,请求接收到达 224.1.2.3 的多播数据,CAM 表中没有相关条目,于是这条消息被洪泛传递到所有接口。交换机在分析这个 IGMP 包后知道,知道端口0(CPU, 为了接收后续的组播包)、端口1(路由器)和端口2(主机 1)与这个组播地址有关,于是在 CAM 表中增加了如下条目:接下来是主机 4 也要加入这个多播组,根据 CAM 表,它发出的 IGMP 包只被转发到端口 0,1和 2。但同时 CAM 表变成如下的形式:接下来是主机 4 向 224.1.2.3 地址发送流量为 6Mbps 的视频信息,根据 CAM,这些数据包 将被转发到端口 0,1 和 2。所以这种方式只能用于多播数据流较小的情况下,实际网络中通常无法应用。Layer 3 Aware Switch这种方法是在交换机内部加上一块专门用来处理 IGMP 消息的三层感知芯片。同原来一样, 所有的多播数据包仍然要送至 CPU,不过它们不再由 CPU 而是由这块专用芯片来处理。为了实现这一点,最初的 CAM 表中应该包含下面的项目:现在如果主机4再发送 6Mbps 的数据到地址 224.1.2.3,将不会对 CPU 产生任何影响。因为根据 CAM 表中的具体条目,该信息流只会被送至 1,2 和 5 号端口。这种方式很好的解决了IGMPSnooping带来的问题,但是却增加了交换机的成本。IGMP Snooping工作机制运行了IGMP Snooping的交换机对不同IGMP动作的具体处理方式如下:本节中所描述的增删端口动作均只针对动态端口,静态端口只能通过相应的配置进行增删。1.普遍组查询IGMP查询器定期向本地网段内的所有主机与路由器(224.0.0.1)发送IGMP普遍组查询报文,以查询该网段有哪些组播组的成员。在收到IGMP普遍组查询报文时,交换机将其通过VLAN内除接收端口以外的其它所有端口转发出去,并对该报文的接收端口做如下处理:l如果在路由器端口列表中已包含该动态路由器端口,则重置其老化定时器。l如果在路由器端口列表中尚未包含该动态路由器端口,则将其添加到路由器端口列表中,并启动其老化定时器。2.报告成员关系以下情况,主机会向IGMP查询器发送IGMP成员关系报告报文:l当组播组的成员主机收到IGMP查询报文后,会回复IGMP成员关系报告报文。l如果主机要加入某个组播组,它会主动向IGMP查询器发送IGMP成员关系报告报文以声明加入该组播组。在收到IGMP成员关系报告报文时,交换机将其通过VLAN内的所有路由器端口转发出去,从该报文中解析出主机要加入的组播组地址,并对该报文的接收端口做如下处理:l如果不存在该组播组所对应的转发表项,则创建转发表项,将该端口作为动态成员端口添加到出端口列表中,并启动其老化定时器;l如果已存在该组播组所对应的转发表项,但其出端口列表中不包含该端口,则将该端口作为动态成员端口添加到出端口列表中,并启动其老化定时器;l如果已存在该组播组所对应的转发表项,且其出端口列表中已包含该动态成员端口,则重置其老化定时器。交换机不会将IGMP成员关系报告报文通过非路由器端口转发出去,因为根据主机上的IGMP成员关系报告抑制机制,如果非路由器端口下还有该组播组的成员主机,则这些主机在收到该报告报文后便抑制了自身的报告,从而使交换机无法获知这些端口下还有该组播组的成员主机。3.离开组播组运行IGMPv1的主机离开组播组时不会发送IGMP离开组报文,因此交换机无法立即获知主机离开的信息。但是,由于主机离开组播组后不会再发送IGMP成员关系报告报文,因此当其对应的动态成员端口的老化定时器超时后,交换机就会将该端口对应的转发表项从转发表中删除。运行IGMPv2或IGMPv3的主机离开组播组时,会通过发送IGMP离开组报文,以通知组播路由器自己离开了某个组播组。当交换机从某动态成员端口上收到IGMP离开组报文时,首先判断要离开的组播组所对应的转发表项是否存在,以及该组播组所对应转发表项的出端口列表中是否包含该接收端口:l如果不存在该组播组对应的转发表项,或者该组播组对应转发表项的出端口列表中不包含该端口,交换机不会向任何端口转发该报文,而将其直接丢弃;l如果存在该组播组对应的转发表项,且该组播组对应转发表项的出端口列表中包含该端口,交换机会将该报文通过VLAN内的所有路由器端口转发出去。同时,由于并不知道该接收端口下是否还有该组播组的其它成员,所以交换机不会立刻把该端口从该组播组所对应转发表项的出端口列表中删除,而是重置其老化定时器。当IGMP查询器收到IGMP离开组报文后,从中解析出主机要离开的组播组的地址,并通过接收端口向该组播组发送IGMP特定组查询报文。交换机在收到IGMP特定组查询报文后,将其通过VLAN内的所有路由器端口和该组播组的所有成员端口转发出去。对于IGMP离开组报文的接收端口(假定为动态成员端口),交换机在其老化时间内:l如果从该端口收到了主机响应该特定组查询的IGMP成员关系报告报文,则表示该端口下还有该组播组的成员,于是重置其老化定时器;l如果没有从该端口收到主机响应特定组查询的IGMP成员关系报告报文,则表示该端口下已没有该组播组的成员,则在其老化时间超时后,将其从该组播组所对应转发表项的出端口列表中删除。IGMP Snooping Proxying通过在边缘设备上配置IGMP Snooping Proxying(IGMP Snooping代理)功能,可以减少其上游设备收到的IGMP报告报文和离开报文的数量,有效提高其上游设备的整体性能。配置了IGMP Snooping Proxying功能的设备(称为IGMP Snooping代理设备),在其上游设备看来,相当于一台主机;而在其下游主机看来,则相当于一台查询器。尽管在其上游设备看来,IGMP Snooping代理设备相当于一台主机,但主机上的IGMP成员关系报告抑制机制在IGMP Snooping代理设备上并不会生效。图 3IGMP Snooping Proxying组网图如图3所示,作为IGMP Snooping代理设备的Switch A,对其上游设备Router A来说是一台主机,代理下游主机向Router A发送报告报文和离开报文;而对其下游的主机来说则是一台查询器,代理Router A向下游主机发送普遍组查询报文和特定组查询报文,维护组成员关系。IGMP Snooping代理设备对IGMP报文的处理方式如表2所示。表 2IGMP Snooping代理设备对IGMP报文的处理方式IGMP报文类型处理方式普遍组查询报文收到普遍组查询报文后,向本VLAN内除接收端口以外的所有端口转发;同时根据本地维护的组成员关系生成报告报文,并向所有路由器端口发送特定组查询报文收到针对某组播组的特定组查询报文时,若该组对应的转发表项中还有成员端口,则向所有路由器端口回复该组的报告报文报告报文从某端口收到某组播组的报告报文时,若已存在该组对应的转发表项,且其出端口列表中已包含该动态成员端口,则重置其老化定时器;若已存在该组对应的转发表项,但其出端口列表中不包含该端口,则将该端口作为动态成员端口添加到出端口列表中,并启动其老化定时器;若尚不存在该组对应的转发表项,则创建转发表项,将该端口作为动态成员端口添加到出端口列表中,并启动其老化定时器,然后向所有路由器端口发送该组的报告报文离开报文从某端口收到某组播组的离开报文后,向该端口发送针对该组的特定组查询报文。只有当删除某组播组对应转发表项中的最后一个成员端口时,才会向所有路由器端口发送该组的离开报文交换机对组播协议报文的特殊处理规则支持IGMP Snooping功能的交换机使能了三层组播路由后,在不同的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年旅游地产项目可持续发展与旅游市场拓展策略报告
- 2025年绿色建材研发中心项目环保合规性分析报告
- 2025年纺织服装智能化生产环境监测与安全报告
- 现场交叉作业安全管理
- 现场临电知识培训内容课件
- 2026届黑龙江省七台河市化学高二第一学期期中监测试题含解析
- 2025年公务员考试行测数量关系高频考点专项训练及解析
- 2025年Python二级考试押题试卷 深度剖析版
- 星巴克广告策划案(定稿)
- 民法典护理课件
- 2025重庆对外建设(集团)有限公司招聘41人笔试模拟试题及答案解析
- 2025年四川省成都市中考数学真题(含答案卷)
- 2025至2030年中国泥炭行业市场深度分析及投资战略咨询报告
- 工会帮扶救助课件
- 2025年新高考全国一卷地理试题及答案解析
- 热压罐安全操作规程
- 入职合同里的保密协议竞业协议
- 2025年长沙市中考数学真题(含答案)
- 2025年9月新版劳务用工合同范本(可规避风险)
- 浙江宁波江北区重点达标名校2026届中考三模语文试题含解析
- 2025年高考英语全国一卷真题(含答案)
评论
0/150
提交评论