IGMP 协议详解与测试方法
1 基本信息
1.1 摘要
本文主要介绍IGMP协议与我司终端产品IGMP的测试方法。
1.2关键字
IGMP,SNOOPING
1.3 缩略语
IGMP Internet Group Management Protocol SMB SmartBits CPE Customer Premise Equipment
第1页 共9页
Internet 组管理协议
思博伦通信网络分析仪用户侧设备
内部传阅
2 协议解释
2.1 IGMP作用
¾ 实现一对多数据流业务,有很多种实现方式,如广播,但是浪费带宽,会造成广播风暴:
链接1链接1链接1链接1路由器交换机组播源
¾ 如果用IGMP的话,根据成员的需要去接受数据流业务:
组播成员1路由器交换机组播源组播成员2
第2页 共9页
内部传阅
2.2 IGMP协议
¾ IGMP协议用于IPv4系统向任何邻居组播路由器报告其组播成员资格。IP组播路由器自己本身也可以 是一到多个组播组的成员。这时,组播路由器要实现协议的组播路由器部分和组成员部分。
¾ 报文格式
IGMP V1 报文格式 Ver
Type
Reserved
Group Address
IGMP V2 报文格式
Type
Max Resp Time
Group Address
Membership Query: 成员关系查询(0x11)
V1 Membership Report: 版本 1 成员关系报告(0x12)
V2 Membership Report: 版本 2 成员关系报告(0x16)
Leave Group: 离开组报告(0x17)
Checksum Checksum
¾ 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地址)
第3页 共9页
内部传阅
¾ IGMP组播地址
2层的MAC地址是如何与3层的IP地址进行映射的呢?
通过将MAC地址的前25位强行规定位01.00.5e,而后23位对应IP地址的后23位,而组播IP地址的前4位均相同如:
IP地址: 1110yyyy.yxxxxxxx.xxxxxxx.xxxxxxxx
MAC地址: 00000001.00000000.01011110.0xxxxxxx.xxxxxxx.xxxxxxxx
2.3 IGMP版本 ¾ IGMP的不同版本
Version 1: 在[RFC-1112]中声明,是第一个广泛使用的IGMP版本。
Version 2:在[RFC-2236]中声明,添加了“低离开延迟”和特定组查询功能。
Version 3:在[RFC-3376]中声明,添加了“源过滤”机制,允许系统选择想要接收的特定组播源或者排除不想接收的特定组播源。
2.4 IGMP工作 ¾ IGMP V1
第4页 共9页
内部传阅
¾ IGMP V2 :解决了V1时延问题
¾ IGMP V3:只接受特定组播源的数据流:
2.5 SNOOPING
¾ IGMP SNOOPING 功能
对交换机端口接收到的Report报文进行分析,并在交换机中建立相应的组播MAC地址与端口的对应表项,从而实现组播数据包的二层快速转发。
第5页 共9页
内部传阅
¾ IGMP SNOOPING 工作过程
3 测试方法
3.1 用SMB测试 ¾ CPE设置:
CPE设置静态IP方式:
IP:70.1.1.10/24 GW:70.1.1.1
¾ SMB设置
第6页 共9页
内部传阅
注意:上图中Server端发送的一定要是UDP报文; Client端添加Group时选择要测试的版本。
¾ 测试IGMP SNOOPING时,应建立两个Group,分别join到一个组播源,查看此时各客户端对此组播
流的接收情况:如果一个客户端加入时,另一客户端也可以收到组播流,证明IGMP SNOOPING没有开启或此功能失效。
¾ IGMP SNOOPING只限四口的CPE,单口的不支持。
3.2 实际环境测试
¾ 网络拓扑
第7页 共9页
内部传阅
¾ 测试设置
CPE设置:PPPoE拨号到BRAS,开启IGMP Proxy及IGMP SNOOPING;
VLC设置:在Media Server打开VLC,以打开“文件“(视频格式)方式,并填写组播UDP地址; 在PC1、PC2打开VLC,以打开“网络串流”方式;
¾ 版本设置
如果要测试IGMP V1或V2(默认发的IGMP Report报文是V3),那就要修改服务端及客户端PC的注册表:
1. click Start ,click Run ,type regedit ,and then click OK 。 2. locate and then click in registry following key:
HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters
3. 在 编辑 菜单上, 指向 新建 ,然后单击 DWORD 值 。 4. 键入 IGMPVersion ,然后按 ENTER 键。 5. 在 编辑 菜单上, 单击 修改 。 6. 键入 3 ,然后单击 确定 。
7. IGMPVersion registry key takes following values:
值
2 3 4
1 2
3 (默认值)
IGMP 版本支持
第8页 共9页
内部传阅
4 参考文献 4.1 RFC
【1】 :RFC 1112 - Host extensions for IP multicasting
【2】 :RFC 2236 - Internet Group Management Protocol, Version 2 【3】 :RFC 3376 - Internet Group Management Protocol, Version 3
4.1 SMB手册
【4】 :SmartBits Helper
第9页 共9页
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- niushuan.com 版权所有 赣ICP备2024042780号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务