一种二层交换设备及其转发组播数据报文的方法与流程

文档序号:26907223发布日期:2021-10-09 14:09阅读:134来源:国知局
一种二层交换设备及其转发组播数据报文的方法与流程

1.本技术涉及组播技术,特别涉及一种二层交换设备及其转发组播数据报文的方法。


背景技术:

2.组播vlan(virtual local area network,虚拟局域网)技术,在二层交换设备上实现跨vlan的组播数据复制分发。在二层交换设备使能组播vlan后,三层路由设备将组播数据报文在组播vlan内二层交换设备发送一份组播数据报文,不需要向每个组播组成员所在的vlan都发送一份复制的组播数据报文。譬如,加入同一组播组的多个组播组成员位于不同的vlan,这些组播组成员必须加入一个共同的组播vlan,各组播成员在组播vlan内发送二层组播协议报文,三层路由设备将组播数据报文在组播vlan内发送到二层交换设备后,二层交换设备在各组播组成员所在的各个vlan内复制发送组播数据报文。
3.但是组播vlan技术的限制在于主要适用于三层路由器将收到的三层组播数据报文按自下往上的方向转发,如果组播源是由二层设备接入的,二层设备必须将收到的二层组播数据报文先按从下往上的方向发往三层路由设备后,然后由三层组播数据进行三层转发后在由上往下的方向上接收三层路由设备在组播vlan内发送的组播数据报文,导致了网络内转发路径的带宽被同一组播组数据流的组播报文占用。当网络内这样的组播源增加时,对网络内其他业务的报文转发的带宽会产生影响。


技术实现要素:

4.本技术的目的在于提供一种二层交换设备及其转发组播数据报文的方法,使二层交换设备无需将收到的二层组播数据报文组播vlan发送到三层路由设备进行跨vlan转发。
5.为实现上目的,本技术提供了一种二层交换设备转发组播数据报文的方法,该方法包括:设置匹配于组播组的组播组地址的组播复制表项;将组播组的路由器端口的端口以及虚拟局域网vlan标识作为路由器端口复制链信息加入组播复制表项;将不同vlan的组播组成员的端口以及vlan标识作为成员端口复制链信息加入组播复制表项;接收来自组播组的组播源的二层组播数据报文;根据二层组播数据报文的组播组地址查找到组播复制表项;根据组播复制表项的路由器复制链信息,为路由器端口所属vlan复制一份二层组播数据报文,并通过路由器端口的端口发送;根据每个组播组成员复制信息,为每个组播组成员所属vlan复制一份二层组播数据报文,并通过每个组播组成员的端口发送。
6.为实现上述目的,本技术还提供了一种二层交换设备,该设备包括:设置模块,设置匹配于组播组的组播组地址的组播复制表项;表项模块,将组播组的路由器端口的端口以及虚拟局域网vlan标识作为路由器端口复制链信息加入组播复制表项;将不同vlan的组播组成员的端口以及vlan标识作为成员端口复制链信息加入组播复制表项;接收模块,接收来自组播组的组播源的二层组播数据报文;组播转发模块,根据二层组播数据报文的组播组地址查找到组播复制表项;根据组播复制表项的路由器复制链信息,为路由器端口所
属vlan复制一份二层组播数据报文,并通过路由器端口的端口发送;根据每个组播组成员复制信息,为每个组播组成员所属vlan复制一份二层组播数据报文,并通过每个组播组成员的端口发送。
7.本技术的有益效果在于,二层交换设备收到二层组播数据报文后根据组播表项中的复制链信息将二层组播数据报文发往不同vlan内的组播成员以及发往路由器端口,无需将收到的二层组播数据报文先发往三层路由器设备再通过组播vlan接收三层路由设备复制后的二层组播数据报文,避免网络带宽被同一个组播组的二层业务流重复占用。
附图说明
8.图1为本技术的二层交换设备转发组播数据报文实施例的流程图;
9.图2a

图2c为本技术的二层交换设备转发组播数据报文实施例的示意图;
10.图3为本技术的二层交换设备实施例的示意图。
具体实施方式
11.将以多个附图所示的多个例子进行详细说明。在以下详细描述中,多个具体细节用于提供对本技术的全面理解。实例中没有详细地描述已知的方法、步骤、组件以及电路,以免使这些例子的难于理解。
12.使用的术语中,术语“包括”表示包括但不限于;术语“含有”表示包括但不限于;术语“以上”、“以内”以及“以下”包含本数;术语“大于”、“小于”表示不包含本数。术语“基于”表示至少基于其中一部分。
13.图1为本技术的二层交换设备转发组播数据报文实施例,包括以下步骤:
14.步骤101,设置匹配于组播组的组播组地址的组播复制表项;
15.步骤102,将组播组的路由器端口的端口以及虚拟局域网vlan标识作为路由器端口复制链信息加入组播复制表项;
16.步骤103,将不同vlan的组播组成员的端口以及vlan标识作为成员端口复制链信息加入组播复制表项;
17.步骤104,接收来自组播组的组播源的二层组播数据报文;
18.步骤105,根据二层组播数据报文的组播组地址查找到组播复制表项;
19.步骤106,根据组播复制表项的路由器复制链信息,为路由器端口所属vlan复制一份二层组播数据报文,并通过路由器端口的端口发送;根据每个组播组成员复制信息,为每个组播组成员所属vlan复制一份二层组播数据报文,并通过每个组播组成员的端口发送。
20.本技术的有益效果在于,二层交换设备收到二层组播数据报文后根据组播表项中的复制链信息将二层组播数据报文发往不同vlan内的组播成员以及发往路由器端口,无需将收到的二层组播数据报文先发往三层路由器设备再通过组播vlan接收三层路由设备复制后的二层组播数据报文,避免网络带宽被同一个组播组的二层业务流重复占用。
21.图2a

2c为本技术的二层交换设备转发组播数据报文实施例的示意图。图2a中,终端21位于vlan0,终端22位于vlan1,组播组g1的组播源位于vlan2,二层交换设备23与三层路由设备在vlan3内连接。二层交换设备23在vlan3内的端口p3为路由器端口。
22.在二层交换设备23上设置组播表项(*,g1,*),将路由器端口复制链信息(p3,
vlan3)加入(*,g1,*)。
23.当组播组g1的组播源在vlan2发送二层组播数据报文时,二层交换设备23通过vlan2的端口p4收到二层组播数据报文201,根据二层组播报文201的组播组地址g1查找到上述组播表项(*,g1,*)

>{(p3,vlan3)},为路由器端口p3所属vlan3复制一份二层组播数据报文202,并通过路由器端口的端口p3发送到三层路由设备24。三层路由设备24可基于pim协议报文将收到的二层组播报文202封装为三层组播报文并发往rp服务器。
24.在图2a中,二层交换设备23收到来自终端21的igmp加入报文203时,将接收组播组加入报文203的端口p1及所属vlan0作为组播组成员的成员端口复制链信息,加入组播复制表项(*,g1,*)

>{(p3,vlan3),(p1,vlan0)}。
25.在图2a中,二层交换设备23收到来自终端22的igmp加入报文204时,将接收组播组加入报文204的端口p2及所属vlan1作为组播组成员的成员端口复制链信息,加入组播复制表项(*,g1,*)

>{(p3,vlan3),(p1,vlan0),(p2,vlan1)}。
26.在图2a中,当组播组g1的组播源再次在vlan2发送二层组播数据报文时,二层交换设备23通过vlan2的端口p4收到二层组播数据报文201,根据二层组播报文201的组播组地址g1查找到上述组播表项(*,g1,*)

>{(p3,vlan3),(p1,vlan0),(p2,vlan1)},为路由器端口p3所属vlan3复制一份二层组播数据报文202,为组播组成员终端21所属vlan0复制一份二层组播数据报文205,为组播组成员终端22所属vlan1复制一份二层组播数据报文206,通过路由器端口的端口p3发送二层组播数据报文202到三层路由设备24;通过端口p1发送二层组播数据报文205到组播组成员终端21,通过端口p2发送二层组播数据报文206到组播组成员终端22。三层路由设备24可基于pim协议报文将收到的二层组播报文202封装为三层组播报文并发往rp(汇聚点)服务器。
27.图2b中,二层交换设备通过路由器端口的端口p3收到组播组g1的igmp查询报文207,根据组播组地址g1查找到上述组播表项(*,g1,*)

>{(p3,vlan3),(p1,vlan0),(p2,vlan1)}。二层交换设备23为组播组成员终端21所属vlan0复制一份组播组g1的igmp查询报文208,为组播组成员终端22所属vlan1复制一份组播组g1的igmp查询报文209,通过端口p1发送组播组g1的igmp查询报文208到组播组成员终端21,通过端口p2发送组播组g1的igmp查询报文209到组播组成员终端22。
28.图2b中,终端21收到组播组g2的igmp查询报文208时,向二层交换设备23发送组播组g1的igmp加入报文203,更新组播复制表项(*,g1,*)中对应于接收组播组加入报文203的端口p1及所属vlan0对应成员端口复制链信息(p1,vlan0)的老化时间。
29.图2b中,如果终端22故障没有响应组播组g1的igmp查询报文。二层交换设备23确定组播复制表项(*,g1,*)中组播组成员复制信息(p2,vlan1)的端口p2在指定时间内未收到组播组加入报文,将组播组成员复制信息(p2,vlan1)从组播复制表项(*,g1,*)中删除,即(*,g1,*)

>{(p3,vlan3),(p1,vlan0)}。
30.图2b中,当组播组g1的组播源再次在vlan2发送二层组播数据报文时,二层交换设备23通过vlan2的端口p4收到二层组播数据报文201,根据二层组播报文201的组播组地址g1查找到上述组播表项(*,g1,*)

>{(p3,vlan3),(p1,vlan0)},为路由器端口p3所属vlan3复制一份二层组播数据报文202,为组播组成员终端21所属vlan0复制一份二层组播数据报文205,通过路由器端口的端口p3发送二层组播数据报文202到三层路由设备24;通过端口
p1发送二层组播数据报文205到组播组成员终端21。
31.图2c中,二层交换设备在下一个查询周期到达时再次通过路由器端口的端口p3收到组播组g1的igmp查询报文207,根据组播组地址g1查找到上述组播表项(*,g1,*)

>{(p3,vlan3),(p1,vlan0)}。二层交换设备23为组播组成员终端21所属vlan0复制一份组播组g1的igmp查询报文208,通过端口p1发送组播组g1的igmp查询报文208到组播组成员终端21。
32.图2c中,终端21收到组播组g2的igmp查询报文208时,向二层交换设备23发送离开组播组g1的igmp离开报文210。二层交换设备23从组播复制表项(*,g1,*)中删除接收igmp离开报文210的端口p1及所属vlan0对应成员端口复制链信息(p1,vlan0),即(*,g1,*)

>{(p3,vlan3)}。
33.图2c中,二层交换设备23再次通过vlan2的端口p4收到二层组播数据报文201时,根据二层组播报文201的组播组地址g1查找到上述组播表项(*,g1,*)

>{(p3,vlan3)},只为路由器端口p3所属vlan3复制一份二层组播数据报文202,并通过路由器端口的端口p3发送到三层路由设备24。三层路由设备24可基于pim协议报文将收到的二层组播报文202封装为三层组播报文并发往rp服务器。
34.图3为本技术的二层交换设备实施例的示意图。该设备30包括:设置模块31、组播表项模块32、接收模块33以及组播转发模块34。
35.设置模块31,设置匹配于组播组的组播组地址的组播复制表项;组播表项模块32,用于将组播组的路由器端口的端口以及虚拟局域网vlan标识作为路由器端口复制链信息加入组播复制表项;将不同vlan的组播组成员的端口以及vlan标识作为成员端口复制链信息加入组播复制表项;接收模块33,用于接收来自组播组的组播源的二层组播数据报文;组播转发模块34,用于根据接收的二层组播数据报文的组播组地址查找到组播复制表项;根据组播复制表项的路由器复制链信息,为路由器端口所属vlan复制一份二层组播数据报文,并通过路由器端口的端口发送;根据每个组播组成员复制信息,为每个组播组成员所属vlan复制一份二层组播数据报文,并通过每个组播组成员的端口发送。
36.接收模块33,还用于将接收各组播组成员发送的组播组加入报文;组播表项模块32将不同vlan的组播组成员的端口以及vlan标识作为成员端口复制链信息加入组播复制表项包括,将接收各组播组加入报文的端口及所属vlan作为各组播组成员的成员端口复制链信息,加入组播复制表项。
37.接收模块33,还用于通过路由器端口接收组播组的组播成员查询报文;组播转发模块34,根据组播成员查询报文的组播组地址查找到组播复制表项;根据组播复制表项的每个组播组成员复制信息,为每个组播组成员所属vlan复制一份组播成员查询报文,并通过每个组播组成员的端口发送。
38.组播表项模块32,还用于确定组播复制表项中任一组播组成员复制信息的端口在指定时间内未收到组播组加入报文,将任一组播组成员复制信息从组播复制表项中删除。
39.接收模块33,还用于从任一端口接收离开组播组的组播离开报文;组播表项模块32,还用于根据组播离开报文的组播组地址查找到组播复制表项;从组播复制表项中删除对应于接收组播组离开报文的端口及所属vlan对应的成员端口复制链信息。
40.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1