专利名称:组播流转发方法及网络设备的制作方法
技术领域:
本发明涉及网络通信技术,尤其涉及一种组播流转发方法及网络设备。
背景技术:
超级虚拟局域网(SuperVirtual Local Area Network, Super VLAN)是 VLAN 划分的一种方式,是一种专门优化IP地址的管理技术。其原理是将一个网段的IP分给不同的子VLAN(Sub VLAN),每一个Sub VLAN都是独立的广播域,且不同的Sub VLAN之间二层相互隔离。当Sub VLAN内的用户需要进行三层通信时,将使用Super VLAN的虚接口的IP地址作为网关地址,这样多个VLAN共享一个IP地址,从而节省了 IP地址资源。Super VLAN 因其有益效果而得到广泛应用。当在Super VLAN上进行组播流转发时,当属于Sub VLAN上的物理接口上收到组播成员加入请求消息,各个Sub VLAN的组播成员接口实现上通过二层组播窥探方式接收处理组播成员加入请求消息,并且转化为Super VLAN的组播成员接口方式挂接在Super VLAN,从而实现当某个Sub VLAN内有组播成员需要这份组播流时,把Sub VLAN的组播成员加入请求消息转化为Super VLAN的组播成员加入请求消息向上游申请组播流。组播流从 Super VLAN下发时,再依据Super VLAN的特性转发给所有的Sub VLAN。当按照上述方式在Super VLAN内进行组播流转发时,由于只是简单把Sub VLAN 中的成员接口转化为Super VLAN的成员接口,组播转发表项中记载的信息仅是Super VLAN 端口信息,即整个组播转发表项依然挂在Super VLAN上,那么当Super VLAN的某个物理接口同时属于多个Sub VLAN时,在进行组播流下发时就无法知道将组播流具体下发至该物理接口下的哪个Sub VLAN。在由多个普通VLAN构成的网络架构中,也同样可能存在上述问题,S卩当多个 VLAN共用一个端口时,在进行组播流转发时将无法区分请求组播流的具体VLAN,此时组播流将会转发至通过该物理接口连接的全部VLAN中,无法实现组播流的精确转发。
发明内容
针对上述缺陷,本发明提供一种组播流转发方法及网络设备,用于实现组播流的精确转发。根据本发明的一方面,提供一种组播流转发方法,包括配置网络设备的上游组播流入VLAN和下游组播流接收VLAN ;所述网络设备从所述下游组播流接收VLAN的端口接收到下游组播流VLAN的用户发送的组播加入请求消息时,根据所述组播加入请求消息和所述端口建立组播转发表项, 其中,所述组播加入请求消息携带有用于标识所述用户所在VLAN的用户VLAN标识和所述用户所请求的组播组标识,所述组播转发表项中包括所述用户VLAN标识、所述端口和所述组播组标识;所述网络设备接收所述组播流入VLAN下发的与所述组播组标识对应的组播流,根据所述组播转发表项将所述组播流转发至用户所在VLAN。根据本发明的另一方面,还提供一种网络设备,包括配置模块,用于配置上游组播流入VLAN和下游组播流接收VLAN ;组播转发表项建立模块,用于从所述下游组播流接收VLAN的端口接收到下游组播流VLAN的用户发送的组播加入请求消息时,根据所述组播加入请求消息和所述端口建立组播转发表项,其中,所述组播加入请求消息携带有用于标识所述用户所在VLAN的用户 VLAN标识和所述用户所请求的组播组标识,所述组播转发表项中包括所述用户VLAN标识、 所述端口和所述组播组标识;组播流转发模块,用于接收所述组播流入VLAN下发的与所述组播组标识对应的组播流,根据所述组播转发表项将所述组播流转发至用户所在VLAN。根据本发明的组播流转发方法及网络设备,由于网络设备根据用户发送的组播加入请求消息生成包括用户VLAN标识、组播组标识和端口信息的组播转发表项,所以即便当网络中的多个VLAN共用一个端口时,网络设备仍能够将接收到组播流精确转发至请求该组播流的VLAN,克服了现有技术中针对于这种网络架构,需同时将组播流发送至该端口下的所有VLAN而导致网络资源浪费的缺陷。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例一的组播流转发方法的流程示意图。图2为应用本发明实施例一的组播流转发方法的网络架构图。图3为应用本发明实施例二的组播流转发方法的网络架构图。图4为应用本发明实施例四的组播流转发方法的网络架构图。图5为本发明实施例六的网络设备的结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例一图1为本发明实施例一的组播流转发方法的流程示意图。如图1所示,该组播流转发方法包括以下步骤步骤S101,配置网络设备的上游组播流入VLAN和下游组播流接收VLAN ;步骤S102,所述网络设备从所述下游组播流接收VLAN的端口接收到下游组播流 VLAN的用户发送的组播加入请求消息时,根据所述组播加入请求消息和所述端口建立组播转发表项,其中,所述组播加入请求消息携带有用于标识所述用户所在VLAN的用户VLAN标识和所述用户所请求的组播组标识,所述组播转发表项中包括所述用户VLAN标识、所述端口和所述组播组标识;步骤S103,所述网络设备接收所述组播流入VLAN下发的与所述组播组标识对应的组播流,根据所述组播转发表项将所述组播流转发至用户所在VLAN。图2为应用本发明实施例一的组播流转发方法的网络架构图。下面结合图2对上述步骤SlOl S103进行详细说明。如图2所示,在该网络中,交换机SWITCH具有第一端口 Portl、第二端口 Port2、第三端口 Port3和第四端口 Port4。其中,第一端口 Portl属于第一虚拟局域网VLAN1,第二端口 Port2同时属于第二虚拟局域网VLAN2和第三虚拟局域网VLAN3,第三端口 Port3属于第四虚拟局域网VLAN4,第四端口 Port3属于第五虚拟局域网VLAN5。将与网络侧路由器相连的VLAN,即第五虚拟局域网VLAN5,设置为上游组播流入 VLAN,则上游设备发出的组播源都以VLAN5的形式转发到交换机SWITCH ;并将与用户侧相连的VLAN,即第一虚拟局域网VLAN1、第二虚拟局域网VLAN2、第三虚拟局域网VLAN3和第四虚拟局域网VLAN4设置为下游组播流接收VLAN。当第一虚拟局域网VLAN1、第二虚拟局域网VLAN2、第三虚拟局域网VLAN3或第四虚拟局域网VLAN4中的用户想请求接收某一组播流时,则通过自身所在的VLAN的端口向交换机SWITCH发送组播加入请求消息,并在该组播加入请求消息中携带用户所请求的组播流的组播组标识(组播组ID)和自身所在的VLAN的标识信息(即用户VLAN ID)。例如第二虚拟局域网VLAN2的用户请求组播组ID为239. 1. 1. 1的组播流,则该用户通过第二端口 Port2向交换机SWITCH发送的组播加入请求消息应携带有组播组ID239. 1. 1. 1和用户 VLAN 标识 VLAN2。交换机SWITCH根据窥探协议,例如组播侦听者发现协议窥探(Internet Group Management Protocol Snooping, IGMP Snooping),从第二端口 Port2 接收至Ij组播力口入请求消息后,建立组播转发表项,该组播转发表项中包括该组播加入请求消息所携带的组播组 ID 239. 1. 1. 1和用户VLAN标识VLAN2,还包括用于接收该请求的第二端口 Port2。并且,交换机SWITCH将该组播加入请求消息转发至组播路由接口,即第四端口 Port4发送。当交换机SWITCH接收到第五虚拟局域网VLAN5通过第四端口 Port4转发的组播源时,在本地查询与所述组播源的组播组ID所对应的组播转发表项,例如该组播组ID为 239. 1. 1. 1时,交换机SWITCH查询到包括239. 1. 1. UVLAN2和第二端口 Port2的组播转发表项,则交换机SWITCH将该组播流通过第二端口 Port2发送至第二虚拟局域网VLAN2。根据上述实施例的组播流转发方法,由于网络设备根据用户发送的组播加入请求消息生成包括用户VLAN标识、组播组标识和端口信息的组播转发表项,所以即便当网络中的多个VLAN共用一个端口时,例如图2中的第二虚拟局域网VLAN2和第三虚拟局域网VLAN3共用第二端口 Port2,网络设备仍能够将接收到组播流精确转发至请求该组播流的VLAN,克服了现有技术中针对于这种网络架构,需同时将组播流发送至该端口下的所有 VLAN而导致网络资源浪费的缺陷。实施例二在上述实施例一的组播流转发方法的基础上,下游组播流接收VLAN包括超级虚拟局域网Super VLAN的多个子虚拟局域网Sub VLAN ;相应地,所述组播加入请求消息所携带的所述用户VLAN标识为用于标识所述用户所在的Sub VLAN的用户Sub VLAN标识,所述组播转发表项中包括所述用户Sub VLAN标识、所述端口和所述组播组标识。图3为应用本发明实施例二的组播流转发方法的网络架构图。在图3所示的网络中,Super VLAN 包括两个 Sub VLAN,即 Sub VLANl 和 Sub VLAN2。其中,IGMP Snooping 功能开启在Super VLAN的Sub VLANl上,则单独作用于Sub VLANl内;组播转发表项建立在 Sub VLAm上,并且组播数据流的入口,即组播路由接口(第三端口 Port3)也是属于Sub VLANl,那么当Super VLAN的Sub VLAN2有组播流时,则会在整个VLAN内进行广播。通常, 这种应用是在网络规划时已经明确在当前网络中,仅Super VLAN的Sub VLAm有组播流的需求,例如指定某一企业内部的网络中,仅某一个房间用于召开视频会议,则仅该房间所属的Sub VLAN存在组播流需求,则此时可在该房间所属的Sub VLAN上开启IGMP Snooping 功能,即用于实现Sub VLAN内部通信的网络设备,例如交换机SWITCH,能够解析组播加入请求消息并建立组播转发表项。具体地,当在图3所示的网络架构中应用上述实施例的组播流转发方法时,Sub VLANl的用户例如通过第二端口 Port2向SWITCH发送组播加入请求消息时,在该组播加入请求消息中携带Sub VLAm的标识和所请求的组播流的组播组ID。当交换机SWITCH上的第二端口 Port2收到下游Sub VLANl发送的组播加入请求消息,若之前该端口没有接收过相应的组播流,则记录第二端口 Port2为与组播组ID所对应的组播流的转发出口。交换机SWITCH根据上述信息形成以Sub VLAm为主索引、以组播组ID为次索引、并记录第二端口 Port2为此组播流的转发出口的组播转发表项。并且,该组播加入请求消息经由交换机 SWITCH向组播路由接口,即第三端口 Port3发送。若之前该端口接收过相应的组播流,则在包括该组播流的组播组ID和该端口的组播表项中增加该组播加入请求消息中的用户Sub VLAN标识。其中,该组播路由接口是专门用于接收组播流的接口,并且只有来自组播路由接口的组播流才是合法的组播流。当交换机SWITCH接收到其他非组播路由接口的组播流时则认定其为非法组播流,拒绝接收以防止往下游网络转发。此外,交换机SWITCH还可为该转发出口开启老化定时器,以使Sub VLANl在老化定时器超时后,主动向第二端口 Port2发送IGMP特定组查询报文。当交换机SWITCH从组播路由接口接收到组播流时,从本地存储的组播转发表项中查询是否有用户需要该组播流,即是否有组播组ID与该组播流对应的组播转发表项,若有,则将组播流从组播转发表项中的转发出口转发,并发送至与组播转发表项中的用户Sub VLAN标识对应的Sub VLAN ;若没有,则不对该组播流进行转发。例如,交换机SWITCH经查询组播转发表项获知组播流的主索引为Sub VLAN1,对应的转发出口为第二端口 Port2,则通过第二端口 Port2将组播流发送至Sub VLANl,而不会发送至Sub VLAN2。根据上述实施例的组播流转发方法,能够实现在Super VLAN的某一特定Sub VLAN 内的组播流精确转发,以实现当同一端口属于多个Sub VLAN时,仍能够精确转发至该特定 Sub VLAN,而不会在拥有该端口的多个Sub VLAN内广播。进一步地,在上述实施例的组播流转发方法中,如果第二端口 Port2的下游用户不再需要此份组播流,则会发送离开此组播组的消息,此时可以采用保时机制删除转发出口,其中保时机制是指设置一个特定组查询定时器,例如为10秒,并在该10秒内向第二端
8口 Port2的下游用户发送IGMP特定组查询报文,若在特定组查询定时器超时后仍未收到该 IGMP特定组查询报文的响应,则确认下游用户均不需要此份组播流,此时删除转发出口 ; 当出口为空时则删除此组播转发表项,并且往上游发送组播组离开消息,以阻止组播流再次向下游转发。实施例三在上述实施例一的组播流转发方法的基础上,所述下游组播流接收VLAN包括 Super VLAN的多个子虚拟局域网Sub VLAN ;相应地,所述组播加入请求消息所携带的所述用户VLAN标识包括用于标识用户所在的Sub VLAN的用户Sub VLAN标识和用于标识用户所在的Super VLAN的用户Super VLAN标识,所述组播转发表项中包括所述户Super VLAN 标识、所述用户Sub VLAN标识、所述端口和所述组播组标识。该实施例的组播流转发方法可以应用于图3中所示的网络架构,但其中,IGMP Snooping 功能开启在 Super VLAN 上,则其控制 Super VLAN 以及 Super VLAN 的 Sub VLAN 的组播转发行为。此时,组播数据流通过Super VLAN走三层组播路由下发,再转发到Super VLAN的Sub VLAN的组播成员接口中。具体地,交换机SWITCH例如通过第二端口 Port2收到下游Sub VLANl的用户发送的组播加入请求消息,根据该组播加入请求消息和第二端口 Port2形成以Super VLAN为主索引、以组播组ID为次索引,并且记录该Super VLAN所下挂的Sub VLANl及该组播流的转发出口,即第二端口 Port2。并且,交换机SWITCH将该组播加入请求消息向组播路由接口转发。更为具体地,如果未在Super VLAN的Sub VLAN上单独手动开启组播路由接口,那么组播路由接口通常默认都是Super VLAN的三层接口,而此接口通常是没有实际物理接口加入的,因此需要本地把组播加入请求消息传递给三层组播路由模块处理,之后通过三层组播形式走组播路由模块的方式将组播数据流引导下来。此外,如果在Super VLAN的Sub VLAN上手动配置了某个Sub VLAN的物理接口为组播路由接口,那么此时组播数据流还可以走二层组播形式从这个组播路由接口接收到。交换机SWITCH从Super VLAN或手动配置的组播路由接口接收到用户所请求的组播流后,先以主索引查找到对应的Super VLAN,再找到下挂的Sub VLANl及对应的第二端口 Port2,转发组播流。根据上述实施例的组播流转发方法,实现了在Super VLAN内的精确转发。进一步地,在上述实施例的组播流转发方法,还包括当交换机SWITCH收到组播组离开消息时,例如采用保时机制删除转发出口,并当其中一个Sub VLAN的所有转发出口都不存在时则删除此Sub VLAN,以防止组播流再往此 Sub VLAN转发;而且,当所有Sub VLAN的出口都不需要组播数据流时,则删除整个Super VLAN的组播转发表项,并且向上游发送组播组离开消息,以阻止组播流数据再往下游转发。实施例四进一步地,在上述实施例一的组播流转发方法,所述下游组播流接收VLAN为组播 VLAN,其中所述组播VLAN的Sub VLAN包括Super VLAN的Sub VLAN和非所述Super VLAN 的普通VLAN ;相应地,所述组播加入请求消息所携带的所述用户VLAN标识包括用于标识所述Super VLAN的用户Super VLAN标识和以下两者之一用于标识用户所在的Super VLAN的Sub VLAN的用户Sub VLAN标识,或用于标识用户所在的普通VLAN的用户普通VLAN标识;所述组播转发表项中包括所述用户Super VLAN标识、所述用户VLAN标识、所述端口和所述组播组标识,其中所述用户VLAN标识为所述用户Sub VLAN或所述用户普通VLAN标识。图4为应用本发明实施例四的组播流转发方法的网络架构图。如图3所示,配置 Super VLAN为组播VLAN,并且可指定非Super VLAN之外的其他普通VLAN(如图4中所示的VLAN3和VLANQ作为该组播VLAN的Sub VLAN,那么后续形成的组播转发表项就统一挂在 Super VLAN 中。交换机在第二端口 Port2收到Sub VLANl的组播加入请求消息时,本地判断这个物理端口是否已存在于Super VLAN下挂的Sub VLANl表项中,若存在,则只是刷新该第二端口 Port2的老化定时器;若否,则生成主索引为Super VLAN、次索引为组播组ID、并且记录下挂的Sub VLANl以及对应的第二端口 Port2,并把此组播加入请求消息送Super VLAN 所属的三层组播路由模块处理或往组播路由接口转发。对于该组播VLAN下的普通VLAN发出的组播加入请求消息,则生成索引为Super VLAN、次索引为组播组ID、并且记录下挂的用户普通VLAN标识以及对应的转发出口。交换机SWITCH接收到用户所请求的组播流后,通过三层组播方式将所述组播流从与所述Super VLAN标识对应的Super VLAN下发,即根据与该组播流对应的用户Super VLAN标识,使该组播流走三层组播方式到达Super VLAN,从而根据建立在Super VLAN上的组播转发表项查找获知下挂的用户Sub VLAN标识或用户普通VLAN标识及转发出口。接下来,交换机SWITCH在转发出口根据所述用户Sub VLAN标识或普通VLAN标识的数量对所述组播流进行复制,并将复制后的组播流通过所述端口转发至与所述用户Sub VLAN标识对应的Sub VLAN或与所述用户普通VLAN标识对应的普通VLAN。根据上述实施例的组播流转发方法,实现了跨Super VLAN的组播流精确转发。进一步地,在上述实施例的组播流转发方法中,当交换机SWITCH在Sub VLANl的其中一个组播转发出口(例如第二端口 Port2)接收组播组离开消息时,则在Super VLAN 下挂的Sub VLANl中删除第二端口 Port2,并停止往第二端口 Port2复制转发VLAN为Sub VLANl的组播流,其他依旧正常转发;如果判断获知第二端口 Port2已为Super VLAN下挂的Sub VLANl中最后一个转发出口,则同时删除Sub VLANl0直到Super VLAN下挂的所有 VLAN都不存在转发出口时,则往上游三层组播路由模块发送此组播组离开消息,以便告诉上游不再有下游网络需要这份组播流。实施例五进一步地,在上述实施例一的组播流转发方法的基础上,下游组播流接收VLAN为组播VLAN,其中所述组播VLAN的Sub VLAN包括Super VLAN和非所述Super VLAN的普通 VLAN ;相应地,若所述用户属于所述Super VLAN的Sub VLAN,则所述组播加入请求消息所携带的所述用户VLAN标识包括用户组播VLAN标识、用户Super VLAN标识和用户Sub VLAN 标识,若所述用户属于所述普通VLAN,则所述组播加入请求消息所携带的所述用户VLAN标识包括用户组播VLAN标识和用户普通VLAN标识。具体地,本实施例的组播流转发方法可适用于图4所示的网络架构,但该网络中的具体配置为配置Super VLAN为组播VLAN的Sub VLAN,则Super VLAN的Sub VLAN自动成为该组播VLAN的Sub VLAN ;并且该组播VLAN的Sub VLAN还包括其他普通VLAN,且允许其他VLAN的组播流通过跨二层组播方式下发到Super VLAN中。交换机SWITCH在接收到组播加入请求消息时,所建立的组播转发表项的主索引为组播VLAN,次索引为组播组ID,并下挂Super VLAN、Sub VLAN和转发出口,或下挂普通 VLAN和转发出口。交换机SWITCH还将组播加入请求消息转发至三层组播路由模块或组播路由接口(可以是经过动态IGMP/PIM协议报文方式或用户静态配置方式获得),以向上游表达下游用户需要接收这份组播数据流。交换机接收到用户所请求的组播流后,例如通过三层组播方式或经由组播路由接口将所述组播流从与所述用户组播VLAN标识对应的组播VLAN下发,在所述端口根据所述用户Sub VLAN标识或普通VLAN标识的数量对所述组播流进行复制,并将复制后的组播流通过所述端口转发至与所述用户Sub VLAN标识对应的Sub VLAN或与所述普通VLAN标识对应的普通VLAN。根据上述实施例的组播流转发方法,实现了跨多层VLAN的组播流精确转发。进一步地,在上述实施例的组播流转发方法中,当交换机从端口接收到下游组播流接收VLAN的用户发送的离开消息后,按照与上述任一实施例相类似的方法,逐层删除组播转发表项中的记录,直至组播VLAN下挂的所有VLAN都不存在转发出口,则向上游三层组播路由模块或组播路由接口发送组播组离开消息,以隔断上游下发的组播流。实施例六图5为本发明实施例六的网络设备的结构示意图。如图5所示,该网络设备包括配置模块61,用于配置上游组播流入VLAN和下游组播流接收VLAN ;组播转发表项建立模块62,用于从所述下游组播流接收VLAN的端口接收到下游组播流VLAN的用户发送的组播加入请求消息时,根据所述组播加入请求消息和所述端口建立组播转发表项,其中,所述组播加入请求消息携带有用于标识所述用户所在VLAN的用户VLAN标识和所述用户所请求的组播组标识,所述组播转发表项中包括所述用户VLAN标识、所述端口和所述组播组标识;组播流转发模块63,用于接收所述组播流入VLAN下发的与所述组播组标识对应的组播流,根据所述组播转发表项将所述组播流转发至用户所在VLAN。根据上述实施例的网络设备,由于根据用户发送的组播加入请求消息生成包括用户VLAN标识、组播组标识和端口信息的组播转发表项,所以即便当网络中的多个VLAN共用一个端口时,例如图2中的第二虚拟局域网VLAN2和第三虚拟局域网VLAN3共用第二端口 Port2,网络设备仍能够将接收到组播流精确转发至请求该组播流的VLAN,克服了现有技术中针对于这种网络架构,需同时将组播流发送至该端口下的所有VLAN而导致网络资源浪费的缺陷。进一步地,在上述实施例的网络设备中,所述下游组播流接收VLAN包括超级虚拟局域网Super VLAN的多个子虚拟局域网Sub VLAN ;相应地,所述组播加入请求消息所携带的所述用户VLAN标识为用于标识所述用户所在的Sub VLAN的用户Sub VLAN标识,所述组播转发表项中包括所述用户Sub VLAN标识、所述端口和所述组播组标识。进一步地,在上述实施例的网络设备中,所述组播流转发模块还用于在接收到用户所请求的组播流后,根据所述组播加入请求消息所携带的用户Sub VLAN标识和所述组播组标识查找对应的组播转发表项,根据所述组播转发表项将所述组播流通过所述端口转发至与所述用户Sub VLAN标识对应的Sub VLAN。根据上述实施例的网络设备,能够实现在Super VLAN的某一特定Sub VLAN内的组播流精确转发,以实现当同一端口属于多个Sub VLAN时,仍能够精确转发至该特定Sub VLAN,而不会在拥有该端口的多个Sub VLAN内广播。进一步地,在上述实施例的网络设备中,所述下游组播流接收VLAN包括Super VLAN的多个子虚拟局域网Sub VLAN ;相应地,所述组播加入请求消息所携带的所述用户 VLAN标识包括用于标识用户所在的Sub VLAN的用户Sub VLAN标识和用于标识用户所在的Super VLAN的用户Super VLAN标识,所述组播转发表项中包括所述用户Super VLAN标识、所述用户Sub VLAN标识、所述端口和所述组播组标识。进一步地,在上述实施例的网络设备中,组播流转发模块还用于在接收到用户所请求的组播流后,根据所述组播加入请求消息所携带的用户Super VLAN标识和所述组播组标识查找对应的组播转发表项,并根据所述组播转发表项将所述组播流通过所述端口转发至与所述用户Sub VLAN标识对应的Sub VLAN。根据上述实施例的网络设备,实现了在Super VLAN内的精确转发。进一步地,在上述实施例的网络设备中,所述下游组播流接收VLAN为组播VLAN, 其中所述组播VLAN的Sub VLAN包括Super VLAN的Sub VLAN和非所述Super VLAN的普通VLAN ;相应地,所述组播加入请求消息所携带的所述用户VLAN标识包括用于标识所述 Super VLAN的用户Super VLAN标识和以下两者之一用于标识用户所在的Super VLAN的 Sub VLAN的用户Sub VLAN标识,或用于标识用户所在的普通VLAN的用户普通VLAN标识; 所述组播转发表项中包括所述用户Super VLAN标识、所述用户VLAN标识、所述端口和所述组播组标识,其中所述用户VLAN标识为所述用户Sub VLAN或所述用户普通VLAN标识。进一步地,在上述实施例的网络设备中,所述组播流转发模块还用于在接收到用户所请求的组播流后,将所述组播流从与所述Super VLAN标识对应的Super VLAN下发,在所述端口根据所述用户Sub VLAN标识或普通VLAN标识的数量对所述组播流进行复制,并将复制后的组播流通过所述端口转发至与所述用户Sub VLAN标识对应的Sub VLAN或与所述用户普通VLAN标识对应的普通VLAN。根据上述实施例的网络设备,实现了跨Super VLAN的组播流精确转发。进一步地,在上述实施例的网络设备中,所述下游组播流接收VLAN为组播VLAN, 其中所述组播VLAN的Sub VLAN包括Super VLAN和非所述Super VLAN的普通VLAN ;相应地,若所述用户属于所述Super VLAN的Sub VLAN,则所述组播加入请求消息所携带的所述用户VLAN标识包括用户组播VLAN标识、用户Super VLAN标识和用户Sub VLAN标识,若所述用户属于所述普通VLAN,则所述组播加入请求消息所携带的所述用户VLAN标识包括用户组播VLAN标识和用户普通VLAN标识。进一步地,在上述实施例的网络设备中,所述组播流转发模块还用于在接收到用户所请求的组播流后,将所述组播流从与所述用户组播VLAN标识对应的组播VLAN下发,在所述端口根据所述用户Sub VLAN标识或普通VLAN标识的数量对所述组播流进行复制,并将复制后的组播流通过所述端口转发至与所述用户Sub VLAN标识对应的Sub VLAN或与所述用户普通VLAN标识对应的普通VLAN。根据上述实施例的网络设备,实现了跨多层VLAN的组播流精确转发。
进一步地,在上述实施例的网络设备中,还包括组播转发表项删除模块,用于若从所述端口接收到所述下游组播流接收VLAN的用户发送的离开消息,则删除与所述离开消息相对应的组播转发表项,其中所述离开消息携带有用于标识所述用户所在VLAN的用户VLAN标识和所述用户所请求的组播组标识。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1.一种组播流转发方法,其特征在于,包括配置网络设备的上游组播流入虚拟局域网VLAN和下游组播流接收VLAN ;所述网络设备从所述下游组播流接收VLAN的端口接收到下游组播流VLAN的用户发送的组播加入请求消息时,根据所述组播加入请求消息和所述端口建立组播转发表项,其中, 所述组播加入请求消息携带有用于标识所述用户所在VLAN的用户VLAN标识和所述用户所请求的组播组标识,所述组播转发表项中包括所述用户VLAN标识、所述端口和所述组播组标识;所述网络设备接收所述组播流入VLAN下发的与所述组播组标识对应的组播流,根据所述组播转发表项将所述组播流转发至用户所在VLAN。
2.根据权利要求1所述的组播流转发方法,其特征在于,所述下游组播流接收VLAN包括超级虚拟局域网Super VLAN的多个子虚拟局域网Sub VLAN ;相应地,所述组播加入请求消息所携带的所述用户VLAN标识为用于标识所述用户所在的Sub VLAN的用户Sub VLAN 标识,所述组播转发表项中包括所述用户Sub VLAN标识、所述端口和所述组播组标识。
3.根据权利要求2所述的组播流转发方法,其特征在于,所述网络设备接收所述组播流入VLAN下发的与所述组播组标识对应的组播流,根据所述组播转发表项将所述组播流转发至用户所在VLAN的步骤包括所述网络设备接收到用户所请求的组播流后,根据所述组播加入请求消息所携带的用户Sub VLAN标识和所述组播组标识查找对应的组播转发表项,根据所述组播转发表项将所述组播流通过所述端口转发至与所述用户Sub VLAN标识对应的Sub VLAN。
4.根据权利要求1所述的组播流转发方法,其特征在于,所述下游组播流接收VLAN包括Super VLAN的多个子虚拟局域网Sub VLAN ;相应地,所述组播加入请求消息所携带的所述用户VLAN标识包括用于标识用户所在的Sub VLAN的用户Sub VLAN标识和用于标识用户所在的Super VLAN的用户Super VLAN标识,所述组播转发表项中包括所述户Super VLAN 标识、所述用户Sub VLAN标识、所述端口和所述组播组标识。
5.根据权利要求4所述的组播流转发方法,其特征在于,所述网络设备接收所述组播流入VLAN下发的与所述组播组标识对应的组播流,根据所述组播转发表项将所述组播流转发至用户所在VLAN的步骤包括所述网络设备接收到用户所请求的组播流后,根据所述组播加入请求消息所携带的用户Super VLAN标识和所述组播组标识查找对应的组播转发表项,并根据所述组播转发表项将所述组播流通过所述端口转发至与所述用户Sub VLAN标识对应的Sub VLAN。
6.根据权利要求1所述的组播流转发方法,其特征在于,所述下游组播流接收VLAN为组播VLAN,其中所述组播VLAN的Sub VLAN包括Super VLAN的Sub VLAN和非所述Super VLAN的普通VLAN;相应地,所述组播加入请求消息所携带的所述用户VLAN标识包括用于标识所述Super VLAN的用户Super VLAN标识和以下两者之一用于标识用户所在的Super VLAN的Sub VLAN的用户Sub VLAN标识,或用于标识用户所在的普通VLAN的用户普通VLAN 标识;所述组播转发表项中包括所述用户Super VLAN标识、所述用户VLAN标识、所述端口和所述组播组标识,其中所述用户VLAN标识为所述用户Sub VLAN或所述用户普通VLAN标识。
7.根据权利要求6所述的组播流转发方法,其特征在于,所述网络设备接收所述组播流入VLAN下发的与所述组播组标识对应的组播流,根据所述组播转发表项将所述组播流转发至用户所在VLAN的步骤包括所述网络设备接收到用户所请求的组播流后,将所述组播流从与所述Super VLAN标识对应的Super VLAN下发,在所述端口根据所述用户Sub VLAN标识或普通VLAN标识的数量对所述组播流进行复制,并将复制后的组播流通过所述端口转发至与所述用户Sub VLAN标识对应的Sub VLAN或与所述用户普通VLAN标识对应的普通VLAN。
8.根据权利要求1所述的组播流转发方法,其特征在于,所述下游组播流接收VLAN为组播VLAN,其中所述组播VLAN的Sub VLAN包括Super VLAN和非所述Super VLAN的普通 VLAN ;相应地,若所述用户属于所述Super VLAN的Sub VLAN,则所述组播加入请求消息所携带的所述用户VLAN标识包括用户组播VLAN标识、用户Super VLAN标识和用户Sub VLAN 标识,若所述用户属于所述普通VLAN,则所述组播加入请求消息所携带的所述用户VLAN标识包括用户组播VLAN标识和用户普通VLAN标识。
9.根据权利要求8所述的组播流转发方法,其特征在于,所述网络设备接收所述组播流入VLAN下发的与所述组播组标识对应的组播流,根据所述组播转发表项将所述组播流转发至用户所在VLAN的步骤包括所述网络设备接收到用户所请求的组播流后,将所述组播流从与所述用户组播VLAN 标识对应的组播VLAN下发,在所述端口根据所述用户Sub VLAN标识或普通VLAN标识的数量对所述组播流进行复制,并将复制后的组播流通过所述端口转发至与所述用户Sub VLAN 标识对应的Sub VLAN或与所述普通VLAN标识对应的普通VLAN。
10.根据权利要求1至9任一所述的组播流转发方法,其特征在于,还包括所述网络设备若从所述端口接收到所述下游组播流接收VLAN的用户发送的离开消息,则删除与所述离开消息相对应的组播转发表项,其中所述离开消息携带有用于标识所述用户所在VLAN的用户VLAN标识和所述用户所请求的组播组标识。
11.一种网络设备,其特征在于,包括配置模块,用于配置上游组播流入VLAN和下游组播流接收VLAN ;组播转发表项建立模块,用于从所述下游组播流接收VLAN的端口接收到下游组播流 VLAN的用户发送的组播加入请求消息时,根据所述组播加入请求消息和所述端口建立组播转发表项,其中,所述组播加入请求消息携带有用于标识所述用户所在VLAN的用户VLAN标识和所述用户所请求的组播组标识,所述组播转发表项中包括所述用户VLAN标识、所述端口和所述组播组标识;组播流转发模块,用于接收所述组播流入VLAN下发的与所述组播组标识对应的组播流,根据所述组播转发表项将所述组播流转发至用户所在VLAN。
12.根据权利要求11所述的网络设备,其特征在于,所述下游组播流接收VLAN包括超级虚拟局域网Super VLAN的多个子虚拟局域网Sub VLAN ;相应地,所述组播加入请求消息所携带的所述用户VLAN标识为用于标识所述用户所在的Sub VLAN的用户Sub VLAN标识, 所述组播转发表项中包括所述用户Sub VLAN标识、所述端口和所述组播组标识。
13.根据权利要求12所述的网络设备,其特征在于,所述组播流转发模块还用于在接收到用户所请求的组播流后,根据所述组播加入请求消息所携带的用户Sub VLAN标识和所述组播组标识查找对应的组播转发表项,根据所述组播转发表项将所述组播流通过所述端口转发至与所述用户Sub VLAN标识对应的Sub VLAN。
14.根据权利要求11所述的网络设备,其特征在于,所述下游组播流接收VLAN包括 Super VLAN的多个子虚拟局域网Sub VLAN ;相应地,所述组播加入请求消息所携带的所述用户VLAN标识包括用于标识用户所在的Sub VLAN的用户Sub VLAN标识和用于标识用户所在的Super VLAN的用户Super VLAN标识,所述组播转发表项中包括所述户Super VLAN 标识、所述用户Sub VLAN标识、所述端口和所述组播组标识。
15.根据权利要求14所述的网络设备,其特征在于,组播流转发模块还用于在接收到用户所请求的组播流后,根据所述组播加入请求消息所携带的用户Super VLAN标识和所述组播组标识查找对应的组播转发表项,并根据所述组播转发表项将所述组播流通过所述端口转发至与所述用户Sub VLAN标识对应的Sub VLAN。
16.根据权利要求11所述的网络设备,其特征在于,所述下游组播流接收VLAN为组播 VLAN,其中所述组播VLAN的Sub VLAN包括Super VLAN的Sub VLAN和非所述Super VLAN 的普通VLAN ;相应地,所述组播加入请求消息所携带的所述用户VLAN标识包括用于标识所述Super VLAN的用户Super VLAN标识和以下两者之一用于标识用户所在的Super VLAN 的Sub VLAN的用户Sub VLAN标识,或用于标识用户所在的普通VLAN的用户普通VLAN标识;所述组播转发表项中包括所述用户Super VLAN标识、所述用户VLAN标识、所述端口和所述组播组标识,其中所述用户VLAN标识为所述用户Sub VLAN或所述用户普通VLAN标识。
17.根据权利要求16所述的网络设备,其特征在于,所述组播流转发模块还用于在接收到用户所请求的组播流后,将所述组播流从与所述Super VLAN标识对应的Super VLAN 下发,在所述端口根据所述用户Sub VLAN标识或普通VLAN标识的数量对所述组播流进行复制,并将复制后的组播流通过所述端口转发至与所述用户Sub VLAN标识对应的Sub VLAN 或与所述用户普通VLAN标识对应的普通VLAN。
18.根据权利要求11所述的网络设备,其特征在于,所述下游组播流接收VLAN为组播 VLAN,其中所述组播VLAN的Sub VLAN包括Super VLAN和非所述Super VLAN的普通VLAN; 相应地,若所述用户属于所述Super VLAN的Sub VLAN,则所述组播加入请求消息所携带的所述用户VLAN标识包括用户组播VLAN标识、用户Super VLAN标识和用户Sub VLAN标识, 若所述用户属于所述普通VLAN,则所述组播加入请求消息所携带的所述用户VLAN标识包括用户组播VLAN标识和用户普通VLAN标识。
19.根据权利要求18所述的网络设备,其特征在于,所述组播流转发模块还用于在接收到用户所请求的组播流后,将所述组播流从与所述用户组播VLAN标识对应的组播VLAN 下发,在所述端口根据所述用户Sub VLAN标识或普通VLAN标识的数量对所述组播流进行复制,并将复制后的组播流通过所述端口转发至与所述用户Sub VLAN标识对应的Sub VLAN 或与所述用户普通VLAN标识对应的普通VLAN。
20.根据权利要求11至19任一所述的网络设备,其特征在于,还包括组播转发表项删除模块,用于若从所述端口接收到所述下游组播流接收VLAN的用户发送的离开消息,则删除与所述离开消息相对应的组播转发表项,其中所述离开消息携带有用于标识所述用户所在VLAN的用户VLAN标识和所述用户所请求的组播组标识。
全文摘要
本发明提供一种组播流转发方法及网络设备。该方法包括配置网络设备的上游组播流入VLAN和下游组播流接收VLAN;网络设备从所述下游组播流接收VLAN的端口接收到下游组播流VLAN的用户发送的组播加入请求消息时,根据组播加入请求消息和所述端口建立组播转发表项,其中,组播加入请求消息携带有用于标识用户所在VLAN的用户VLAN标识和用户所请求的组播组标识,组播转发表项中包括用户VLAN标识、所述端口和所述组播组标识;网络设备接收所述组播流入VLAN下发的与所述组播组标识对应的组播流,根据所述组播转发表项将所述组播流转发至用户所在VLAN。根据本发明的组播流转发方法及网络设备,能够实现组播流精确转发。
文档编号H04L12/46GK102244583SQ20111020422
公开日2011年11月16日 申请日期2011年7月20日 优先权日2011年7月20日
发明者董吉华 申请人:北京星网锐捷网络技术有限公司