CN108111323B - vxworks系统下igmpsnooping协议的实现系统 - Google Patents
vxworks系统下igmpsnooping协议的实现系统 Download PDFInfo
- Publication number
- CN108111323B CN108111323B CN201711107575.3A CN201711107575A CN108111323B CN 108111323 B CN108111323 B CN 108111323B CN 201711107575 A CN201711107575 A CN 201711107575A CN 108111323 B CN108111323 B CN 108111323B
- Authority
- CN
- China
- Prior art keywords
- port
- multicast
- message
- group
- router
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 12
- 230000008569 process Effects 0.000 claims abstract description 8
- 230000008859 change Effects 0.000 claims abstract description 4
- 230000032683 aging Effects 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 abstract description 7
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种vxworks系统下igmpsnooping协议的实现系统,包括:CFG子模块,用于负责igmpsnooping协议的配置相关的操作;TimerExpiry子模块,在该模块的状态机中有两个端口集;Packet Process模块,该模块接收IGMP报文,并根据报文类型做相应的处理;Event Handler模块,主要是对网络拓扑发生变化时的响应;Igmpsnooping Operation模块,主要是对交换芯片和vxworks操作系统的内部操作。本发明在vxworks下实现igmpsnooping协议后,可以广泛应用在通信、军事、航空、航天等领域,比linux具有更好的可靠性和实时性。
Description
技术领域
本发明涉及一种实现系统,具体地,涉及一种vxworks系统下igmpsnooping协议的实现系统。
背景技术
随着计算机、网络技术的飞速发展,用户对交流质量日益苛求,对网络带宽的需求呈现直线上升趋势。用户的需求已经不再仅仅局限于简单的语音、数据通信,集语音、数据、图像为一体的多媒体视频通信时代已经来临。传统以太网交换机处理组播数据包时只是简单地在每个端口上进行广播,这种方式使得组播包洪泛到并不支持组播的网络,这样的网络比较多的时候则会造成带宽极大的浪费。在商用的以太网交换机上,大部分采用了linux操作系统。随着技术的不断改进,在linux操作系统的以太网交换机上实现了igmpsnooping(internet group management protocol snooping,互联网组管理协议窥探)协议,并且得到了广泛的应用。
Vxworks操作系统是一种嵌入式实时操作系统(RTOS,Real-TimeOperatingSystem),是嵌入式开发环境的关键组成部分。它以良好的可靠性和卓越的实时性被广泛应用在通信、军事、航空、航天等高精尖及实时性要求极高的领域中。所以在以太网交换机上的vxworks操作系统实现igmpsnooping协议也是迫切需求。
igmpsnooping是在交换机中监听组播IGMP消息(report和query报文),为每一个组播MAC地址建立一个VLAN(Virtual Local Area Network,虚拟局域网),从而建立router(路由)端口和host的组播mac address table(地址表)。这些端口即为组播数据包应该转发的端口组,它们在一起组成组播VLAN的端口集。协议将维护这个端口集。当转发组播数据包时,组播数据包只在它所在的组播VLAN端口上转发而不会广播到不需要组播的端口,从而节约了带宽;在以太网交换机完成IGMP(Internet Group Management Protocol,互联网组管理协议)代理的功能,过滤掉不必要的IGMP消息,防止了“IGMP报告风暴”。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种vxworks系统下igmpsnooping协议的实现系统,其在vxworks下实现igmpsnooping协议后,可以广泛应用在通信、军事、航空、航天等领域,比linux具有更好的可靠性和实时性。
根据本发明的一个方面,提供一种vxworks系统下igmpsnooping协议的实现系统,其特征在于,包括:
CFG子模块,用于负责igmpsnooping协议的配置相关的操作;
TimerExpiry子模块,在该模块的状态机中有两个端口集;一组为IP组地址端口集:这个端口集记录的端口所连接网络中至少有一个该IP组地址成员主机;另一组为组播路由器端口集:这个端口集记录的端口所连接网络中至少有一个组播路由器;该模块的主要功能为更新这两个集的时间戳,如果有超时的端口及时从组播组中删除;
Packet Process模块,该模块接收IGMP报文,并根据报文类型做相应的处理;
Event Handler模块,主要是对网络拓扑发生变化时的响应;
Igmpsnooping Operation模块,主要是对交换芯片和vxworks操作系统的内部操作,以便可以向端口转发或组播流可以转发到指定的端口上。
优选地,所述TimerExpiry子模块定时发送Genery query、报文和G-S query、报文。
优选地,所述接收到报文后,先判断是否是igmpsnooping协议报文,如果不是则转发到该VLAN的所有其他端口上;如果是则根据包的类型做出相应的处理;如果收到report报文,那么建立组播组,完成IP地址到MAC地址的映射,转换关系将映射为同一MAC地址的IP组播端口集合并为一张MAC组地址端口集;如果组播组存在更新时间戳,如果不存在,建立时间戳并开始老化;如果收到leave报文,将该报文转发到所有router端口上;并检查组播组中是否有该组的成员端口,如果有则向成员端口发送G-S query,并将该组播组的成员端口的时间戳重置;如果没有,则返回;如果收到query报文,交换机将其通过VLAN内除接收端口以外的其它所有端口转发出去,并对该报文的接收端口做处理:如果在路由器端口列表中已包含该动态路由器端口,则重置其老化定时器;如果在路由器端口列表中尚未包含该动态路由器端口,则将其添加到路由器端口列表中,并启动其老化定时器。
与现有技术相比,本发明具有如下的有益效果:“组播组”是一个用IP组播地址进行标识的接收者集合,主机通过加入某组播组成为该组播组的成员,从而可以接收发往该组播组的组播数据。组播源通常不需要加入组播组。信息的发送者称为“组播源”,一个组播源可以同时向多个组播组发送信息,多个组播源也可以同时向一个组播组发送信息。所有加入某组播组的主机便成为该组播组的成员,组播组中的成员是动态的,主机可以在任何时刻加入或离开组播组。组播组成员可以广泛地分布在网络中的任何地方。实现igmpsnooping协议提高效率:减轻信息源服务器和网络设备CPU的负荷;优化性能:减少冗余流量;分布式应用:使用最少的网络资源实现点到多点应用。相比单播来说,组播的优势在于:由于被传递的信息在距信息源尽可能远的网络节点才开始被复制和分发,所以用户的增加不会导致信息源负载的加重以及网络资源消耗的显著增加。相比广播来说,组播的优势在于:由于被传递的信息只会发送给需要该信息的接收者,所以不会造成网络资源的浪费,并能提高信息传输的安全性;另外,广播只能在同一网段中进行,而组播可以实现跨网段的传输。在vxworks下实现igmpsnooping协议后,可以广泛应用在通信、军事、航空、航天等领域,比linux具有更好的可靠性和实时性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明vxworks系统下igmpsnooping协议的实现系统的原理框图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
如图1所示,本发明vxworks系统下igmpsnooping协议的实现系统包括:
CFG(Configuration,配置)子模块,用于负责igmpsnooping协议的配置相关的操作。例如配置igmpsnooping协议使能状态,发送query报文的时间间隔,router端口的老化时间等。
TimerExpiry(定时器超时)子模块,在该模块的状态机中有两个端口集。一组为IP组地址端口集(IP group port table):这个端口集记录的端口所连接网络中至少有一个该IP组地址成员主机。另一组为组播路由器端口集(Route port table):这个端口集记录的端口所连接网络中至少有一个组播路由器。该模块的主要功能为更新这两个集的时间戳,如果有超时的端口及时从组播组中删除。
该子模块另外一个功能为定时发送Genery query(普通查询)报文和G-S query(Group-Specific query,特定组查询)报文。交换机会每隔一定的时间发送Genery query报文以便确定该组中成员端口是否存在。在此状态下一旦收IGMP报告报文或者经过了一个报告间隔时间就再次进入禁止转发IGMP报告状态。也就是说一个报告间隔时间内最多只转发一个IGMP报告报文,从而避免了交换机处理多个冗余IGMP报告报文。当在端点发送leave报文时,交换机会向指定端口发送G-S query报文。
Packet Process(包处理)模块,该模块接收IGMP报文,并根据报文类型做相应的处理。首先接收到报文后,先判断是否是igmpsnooping协议报文,如果不是则转发到该VLAN的所有其他端口上;如果是则根据包的类型做出相应的处理。如果收到report(报告)报文,那么建立组播组,完成IP地址到MAC(Media Access Control,媒体访问控制子层协议,该协议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质)地址的映射,转换关系将映射为同一MAC地址的IP组播端口集合并为一张MAC组地址端口集。如果组播组存在更新时间戳,如果不存在,建立时间戳并开始老化。如果收到leave报文,将该报文转发到所有router端口上。并检查组播组中是否有该组的成员端口,如果有则向成员端口发送G-S query(Group-Specific query,特定组查询),并将该组播组的成员端口的时间戳重置。如果没有,则返回。如果收到query(查询)报文,交换机将其通过VLAN内除接收端口以外的其它所有端口转发出去,并对该报文的接收端口做处理:如果在路由器端口列表中已包含该动态路由器端口,则重置其老化定时器。如果在路由器端口列表中尚未包含该动态路由器端口,则将其添加到路由器端口列表中,并启动其老化定时器。
Event Handler(事件处理)模块,主要是对网络拓扑发生变化时的响应。当网络拓扑变化的时候,IGMP组信息可能也有了较大的改变。例如,当某组播路由器关机时,它所连接的端口就要从组播路由器端口集中删除。由于所有的组播VLAN都包含所有组播路由器端口,所以有可能出现许多组播VLAN所包含的端口中也减去了这个端口,如果不能及时更新VLAN,那么组播数据包还是会从这个不应该转发的端口转发。再如,当某个VLAN下加入或删除端口或trunk组下加入或删除端口,都需要通知igmpsnooping协议以便做出及时的响应。
Igmpsnooping Operation(互联网组管理协议窥探操作)模块,主要是对交换芯片和vxworks操作系统的内部操作,以便可以向端口转发或组播流可以转发到指定的端口上。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (1)
1.一种vxworks系统下igmpsnooping协议的实现系统,其特征在于,包括:
CFG配置子模块,用于负责igmpsnooping协议的配置相关的操作;
TimerExpiry定时器超时子模块,在该模块的状态机中有两个端口集;一组为IP组地址端口集:这个端口集记录的端口所连接网络中至少有一个该IP组地址成员主机;另一组为组播路由器端口集:这个端口集记录的端口所连接网络中至少有一个组播路由器;该模块的主要功能为更新这两个集的时间戳,如果有超时的端口及时从组播组中删除;
Packet Process包处理模块,该模块接收IGMP报文,并根据报文类型做相应的处理;
Event Handler事件处理模块,主要是对网络拓扑发生变化时的响应;
Igmpsnooping Operation互联网组管理协议窥探操作模块,主要是对交换芯片和vxworks操作系统的内部操作,以便可以向端口转发或组播流可以转发到指定的端口上;
Packet Process包处理模块接收IGMP报文,并根据报文类型做相应的处理:先判断是否是igmpsnooping协议报文,如果不是则转发到VLAN的所有端口上;如果是则根据包的类型做出相应的处理;如果收到report报文,那么建立组播组,完成IP地址到MAC地址的映射,转换映射关系,将同一MAC地址的IP组播端口集,合并为一张MAC组地址端口集;如果组播组更新存在时间戳,如果不存在,建立时间戳并启动老化定时器;如果收到Genery query报文,交换机将其通过VLAN内除接收端口以外的其它所有端口转发出去,并对该报文的接收端口做处理:如果在路由器端口列表中已包含动态路由器端口,则重置老化定时器;如果在路由器端口列表中尚未包含动态路由器端口,则将其添加到路由器端口列表中,并启动老化定时器;
Event Handler事件处理模块包括:当网络拓扑变化的时候,IGMP组信息也有改变,当组播路由器关机时,它所连接的端口就要从组播路由器端口集中删除,由于所有的组播VLAN都包含所有组播路由器端口,所以有可能出现许多组播VLAN所包含的端口中也减去了这个端口,如果不能及时更新VLAN,那么组播数据包还是会从这个不应该转发的端口转发;当某个VLAN下加入或删除端口或trunk组下加入或删除端口,都需要通知igmpsnooping协议以便做出及时的响应;
TimerExpiry定时器超时子模块包括功能为定时发送Genery query普通查询报文和G-S query特定组查询报文;交换机会每隔一定的时间发送Genery query报文以便确定该组中成员端口是否存在;在此状态下一旦收IGMP报告报文或者经过了一个报告间隔时间就再次进入禁止转发IGMP报告状态;一个报告间隔时间内最多只转发一个IGMP报告报文,从而避免了交换机处理多个冗余IGMP报告报文;当在端点发送leave报文时,交换机会向指定端口发送G-S query报文;
所述TimerExpiry子模块定时发送Genery query报文和G-S query报文;
igmpsnooping是在交换机中监听组播IGMP消息report和query报文,为每一个组播MAC地址建立一个VLAN虚拟局域网,从而建立router路由端口和host的组播mac addresstable地址表;这些端口即为组播数据包应该转发的端口组,它们在一起组成组播VLAN的端口集;协议将维护这个端口集;当转发组播数据包时,组播数据包只在它所在的组播VLAN端口上转发而不会广播到不需要组播的端口,从而节约了带宽;在以太网交换机完成IGMP互联网组管理协议代理的功能,过滤掉不必要的IGMP消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711107575.3A CN108111323B (zh) | 2017-11-10 | 2017-11-10 | vxworks系统下igmpsnooping协议的实现系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711107575.3A CN108111323B (zh) | 2017-11-10 | 2017-11-10 | vxworks系统下igmpsnooping协议的实现系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108111323A CN108111323A (zh) | 2018-06-01 |
CN108111323B true CN108111323B (zh) | 2020-08-14 |
Family
ID=62206839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711107575.3A Active CN108111323B (zh) | 2017-11-10 | 2017-11-10 | vxworks系统下igmpsnooping协议的实现系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108111323B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109451362A (zh) * | 2018-07-25 | 2019-03-08 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | VxWorks下的RapidIO网络接口及实现方法 |
CN114374734A (zh) * | 2021-12-17 | 2022-04-19 | 北京电子工程总体研究所 | 一种基于VxWorks动态自适应网络配置方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1093249A2 (en) * | 1999-10-11 | 2001-04-18 | Stonesoft Oy | A method for multicast transmission |
CN1741505A (zh) * | 2005-09-19 | 2006-03-01 | 杭州华为三康技术有限公司 | 组播静态组备份的方法及组播报文转发的方法 |
CN1744572A (zh) * | 2005-08-31 | 2006-03-08 | 杭州华为三康技术有限公司 | 控制组播数据转发的交换设备及方法 |
CN101378326A (zh) * | 2008-09-18 | 2009-03-04 | 中兴通讯股份有限公司 | 组播用户查询和老化处理方法 |
US7512146B1 (en) * | 2006-01-31 | 2009-03-31 | Garrettcom, Inc. | Method and apparatus for layer 2 multicast traffic management |
CN104283759A (zh) * | 2014-09-25 | 2015-01-14 | 烽火通信科技股份有限公司 | VPLS下IGMP Snooping的实现系统及方法 |
-
2017
- 2017-11-10 CN CN201711107575.3A patent/CN108111323B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1093249A2 (en) * | 1999-10-11 | 2001-04-18 | Stonesoft Oy | A method for multicast transmission |
CN1744572A (zh) * | 2005-08-31 | 2006-03-08 | 杭州华为三康技术有限公司 | 控制组播数据转发的交换设备及方法 |
CN1741505A (zh) * | 2005-09-19 | 2006-03-01 | 杭州华为三康技术有限公司 | 组播静态组备份的方法及组播报文转发的方法 |
US7512146B1 (en) * | 2006-01-31 | 2009-03-31 | Garrettcom, Inc. | Method and apparatus for layer 2 multicast traffic management |
CN101378326A (zh) * | 2008-09-18 | 2009-03-04 | 中兴通讯股份有限公司 | 组播用户查询和老化处理方法 |
CN104283759A (zh) * | 2014-09-25 | 2015-01-14 | 烽火通信科技股份有限公司 | VPLS下IGMP Snooping的实现系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108111323A (zh) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3367619B1 (en) | Synchronizing multicast state between multi-homed routers in an ethernet virtual private network | |
CN100433730C (zh) | 组播点播方法及系统 | |
US7593402B2 (en) | Method of multicast source filtering | |
Cain et al. | Internet group management protocol, version 3 | |
EP2622805B1 (en) | Method for pruning a multicast branch, protocol independent multicast router, and layer-2 exchange | |
US8009671B2 (en) | Multicast method and multicast routing method | |
US6654371B1 (en) | Method and apparatus for forwarding multicast data by relaying IGMP group membership | |
EP2079198A1 (en) | Method and exchanger for realizing internet group management protocol snooping | |
US20080101362A1 (en) | Method and device for making uplink standby | |
KR101604810B1 (ko) | 단말기의 멀티캐스트 상태를 얻기 위한 방법 | |
CN104509073A (zh) | 在软件定义的网络中发现ip多播组成员 | |
CN102075422A (zh) | 一种组播管理方法及二层设备 | |
WO2007059679A1 (fr) | Procede pour le traitement de service multidiffusion anormal et equipement de reseau associe | |
WO2007054006A1 (fr) | Station de base de système d’accès sans fil large bande et système pour réaliser un service de diffusion de groupe | |
WO2018068588A1 (zh) | 提供组播业务的方法和软件定义网络控制器 | |
US20090219933A1 (en) | System, server and method for optimizing a group management protocol | |
Cain et al. | RFC3376: internet group management protocol, version 3 | |
WO2011020346A1 (zh) | 组播数据转发方法及装置 | |
CN108111323B (zh) | vxworks系统下igmpsnooping协议的实现系统 | |
CN101286866A (zh) | 基于高速周边元件扩展接口交换网的组播实现方法及系统 | |
CN106375100B (zh) | 一种视频监控系统中组播实现方法及装置 | |
CN101355509A (zh) | 一种节省分布式网络设备组播转发带宽的方法 | |
KR20000059426A (ko) | 망에서의 멀티캐스팅 소프트웨어 업그레이드 시스템 및 그를 이용한 멀티캐스팅 소프트웨어 업그레이드 방법 | |
WO2013044740A1 (zh) | 一种支持非单一vlan的组播实现方法及装置 | |
CN114401214B (zh) | 一种实现容器组播通信的网络及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |