1.IGMP Snooping概述
传统的IP通信有两种方式:第一种是在一台源IP主机和一台目的IP主机之间进行,即单播(unicast);第二种是在一台源IP主机和网络中所有其他的IP主机之间进行,即广播(broadcast)。如果要将信息发送给网络中的多个主机而非所有主机,则要么采用广播方式,要么由源主机分别向网络中的多台目标主机以单播方式发送IP包。采用广播方式实现时,不仅会将信息发送给不需要的主机而浪费带宽也可能由于路由回环引起严重的广播风暴,采用单播方式实现时,由于IP包的重复发送会白白浪费掉大量带宽,也增加了服务器的负载,所以传统的单播和广播通信方式不能有效地解决单点发送多点接收的问题。
IP组播是指在IP网络中将数据包以尽力传送(best-effort)的形式发送到网络中的某个确定节点子集,这个子集称为组播组(multicast group)。IP组播的基本思想是源主机只发送一份数据,这份数据中的目的地址为组播组地址。组播组中的所有接收者都可接收到同样的数据拷贝,并且只有组播组内的目标主机可以接收,而该数据网络中其他主机不能收到。组播组用D类IP地址224.0.0.0~239.255.255.255来标识。IP组播技术有效地解决了单点发送多点接收的问题,实现了IP网络中点到多点的高效数据传送,能够大量节约网络带宽降低网络负载。
根据协议的作用范围,组播协议分为两种,一种主机与路由器之间的协议即组播成员管理协议,另一种是路由器与路由器之间协议主要是各种路由协议。组成员关系协议包括IGMP互联网组管理协议;组播路由协议又分为域内组播路由协议及域间组播路由协议。为了有效抑制组播数据在二层网络中的扩散引入了IGMP Snooping等组播协议。
IGMP是Internet Group Management Protocol的缩写,意为因特网组管理协议。IGMP运行于主机和与主机直接相连的组播路由器之间。IGMP实现的功能是双向的,一方面通过IGMP主机通知本地路由器希望加入并接收某个特定组播组的信息;另一方面路由器通过IGMP周期性的查询局域网内某个已知组的成员是否处于活动状态(即该网段是否仍有属于某个组播组的成员),实现所连网络组成员关系的收集与维护。IGMP有3个版本。对于IGMP版本2有3种类型的报文,组成员查询、组报告消息、特定组的离开消息。
IGMP Snooping,即IGMP侦听。主要作用是在交换机上完成二层组播的动态注册。它使用的是IGMP报文,IGMP报文格式可以在RFC1122(IGMP版本1)和RFC2236(IGMP版本2)中找到。在较早的组网环境中,并没有以太网交换机的参与,路由器一般直接和主机相连,它们之间通过标准的IGMP协议来实现组播功能。而目前IGMP Snooping则不同,它的实现需要主机和交换机的共同参与。但是在单纯的交换机网络环境,除了交换机支持IGMP Snooping,还需要其他设备,例如,路由器,来执行IGMP组成员查询(IGMP Polls)的功能。
SCALACNE X-300/400本身支持IGMP Polls,用于IGMP Snooping协议动态注册组播信息。SCALANCE X414-3E的组播通信,需要在交换机和主机之间实现IGMP,通过IGMP Snooping,侦听主机和交换机传送的不同类型的IGMP报文来动态维护二层组播组,也就是建立二层组播地址和端口号的之间关系的组播表。
2.IGMP Snooping组态
本例网络拓扑由两台交换机Switch A和Switch B组成。通过Port5.1相连。组播源为PG/PC1,连接到Switch A的Port5.2。PG/PC2和PG/PC3用于接收组播信息,分别连接到Switch B的Port10.1和Port11.1。组播程序使用VLC媒体播放器。IP地址可以参考图4-167IGMP/IGMP Snooping网络拓扑。
(1)Switch A组态
图4-167 IGMP/IGMP Snooping网络拓扑
通过IE浏览器打开交换机Switch A的Web页面,输入用户名和密码,均为“admin”。单击目录树“Switch”,使能“IGMP Snooping”,如图4-168所示。
图4-168 使能“IGMP Snooping”
在目录树“Switch”→“Multicast group”→“IGMP”中,使能“IGMP Query”,如图4-169所示。
图4-169 使能“IGMP Query”
(2)Switch B组态
通过IE浏览器打开交换机Switch B的Web页面,输入用户名和密码,均为“admin”,单击目录树“Switch”,使能“IGMP Snooping”,如图4-170所示。
(3)PG/PC1组播源组态
(www.xing528.com)
图4-170 使能“IGMP Snooping”
通过“File”菜单,打开VLC媒体播放器的“Wizard”。依次按照步骤,选择“Stream to network”,选择要播放的音频或视频流。然后,选择组播,并输入组播地址,这里自定义组播地址为239.255.0.1,如图4-171所示。然后依次选择默认值,完成设置。
图4-171 PG/PC1组播源组态
(4)PG/PC2和PG/PC3客户端组态
通过“File”菜单,打开VLC媒体播放器的“Open Network Stream”,在“UDP/RTP Multicast”的“Address”中添加组播地址239.255.0.1,如图4-172所示。其他保持默认不变。
图4-172 PG/PC2和PG/PC3客户端组态
依次单击目录树“Switch”→“Multicast Group”,查看未组播通信前交换机的组播地址表的信息。其中01-00-5E-7F-FF-FA是计算机默认的组播地址,并不是自定义的组播地址,如图4-173所示。
图4-173 查看未组播通信前交换机的组播地址表的信息
未组播通信前Switch B的组播地址表信息如图4-174所示。
图4-174 未组播通信前Switch B的组播地址表信息
同样在该目录树下,组播源开启,客户端PG/PC2和PG/PC3接收流媒体,查看交换机的组播地址表的信息。其中组播MAC地址01-00-5E-7F-00-01,就是IP组播地址239.255.0.1的映射。如图4-175所示。
图4-175 查看交换机的组播地址表信息
组播通信后Switch B的组播地址表信息如图4-176所示。
图4-176 组播通信后Switch B的组播地址表信息
注意:在组播的客户端全部离开后,同时在IGMP Snooping Aging Time结束后,注意及时关闭组播源,否则组播数据帧会泛洪到所有网络端口,造成网络负担过重,甚至造成堵塞。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。