CN1866919B - 基于虚拟局域网堆叠的业务交换方法 - Google Patents
基于虚拟局域网堆叠的业务交换方法 Download PDFInfo
- Publication number
- CN1866919B CN1866919B CN2005101277807A CN200510127780A CN1866919B CN 1866919 B CN1866919 B CN 1866919B CN 2005101277807 A CN2005101277807 A CN 2005101277807A CN 200510127780 A CN200510127780 A CN 200510127780A CN 1866919 B CN1866919 B CN 1866919B
- Authority
- CN
- China
- Prior art keywords
- vlan
- message
- information
- forwarding
- multicast
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/54—Organization of routing tables
Abstract
本发明涉及一种基于虚拟局域网堆叠的业务交换方法。本发明主要包括:首先,在转发数据库中保存各虚拟局域网VLAN标识VLAN ID信息,所述的各VLAN ID信息可以为学习获得,或者,在用户加入组播时,记录所述的VLAN ID信息,具体保存于路由转发表中;之后,在基于虚拟局域网堆叠的网络中,根据转发数据库中保存的各VLAN ID信息进行业务交换处理。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种基于虚拟局域网堆叠的业务交换方法。
背景技术
随着VLAN(虚拟局域网)技术的广泛应用,尤其是在城域网中每个用户一个VLAN的使用,使得范围为0~4095的VLAN ID(VLAN标识)成为网络发展的瓶颈。
另外,随着三层交换机的不断成熟和大量应用,许多企业网和部分城域网用户都倾向于使用三层交换机来搭建骨干网,但考虑到投资高、维护难和现网设备不支持等,一般不愿意使用基于MPLS(多协议标签交换)或者IP协议的VPN(虚拟专用网),而希望采用简单的基于VLAN的VPN,可是VLAN技术本身并没有提供VPN方案。
为此,业界提出了扩展VLAN ID数量的QinQ(VLAN堆栈,VLANStack)技术,以满足各种网络对VLAN ID的需求。
同时QinQ也通过提供两层(甚至多层)VLAN,提供基于VLAN的VPN,从而提供一种廉价、简洁的二层VPN解决方案。
总之,QinQ协议在城域网中,解决了日益紧缺的VLAN ID资源问题,提供了一种较为廉价、简单的二层VPN解决方案。
QinQ技术是在原有的802.1Q帧格式基础上又扩展了一个4个字节的VLAN标记,具体的帧格式如表1所示:
表1
由于QinQ技术是在802.1Q基础上发展,因此,要求QinQ技术完全兼容802.1Q,即完全兼容原有802.1Q VLAN的所有特性,也就是说,所有网上现有的支持VLAN的交换机均可以将QinQ的报文当作802.1Q报文正常转发而不会产生任何兼容性问题;同时,QinQ技术又增加了12bit的VLAN ID,使得总的可用VLAN ID数量高达24bit(12bit+12bit=24bit),即总数量为2的24次方合计16M,从而完全可以满足各种网络对VLAN ID的需求。
同时,QinQ技术由于支持外层VLAN和内层VLAN,可以将内层VLAN作为用户私网VLAN规划,外层VLAN作为公网进行规划,从而提供基于VLAN的VPN,可以满足用户对廉价、简洁的二层VPN的需求。
而且,还可以多次扩展增加802.1Q标记,但通过实际应用可知,通常两层即可满足需求。
然而,从表1可以看出,如果采用表1所述的帧格式,则每个增加的802.1Q的标签头均为4个字节,大大增加了报文头的开销。
基于上述QinQ技术,目前所有的交换机、路由器、宽带接入服务器等设备,对于QinQ功能,增加了一个外层或者内层的QinQ标记的封装和解封装功能,即接收模块按照端口(或者其他策略),在原有已经有一个802.1QVLAN标签头的基础上增加一个标签头从而提供QinQ的封装,在发送模块按照端口(或者其他策略),将两个QinQ的标签头剥离一个从而提供QinQ的解封装。其他查表模块、学习模块都是和原来一样,都只选择一个VLAN标签头进行处理,通常选择新增加的那个标签头,一般将已有的标签头叫做C-VLAN,新增的标签头叫做S-VLAN,通常选择使用S-VLAN进行处理,当 然,也可以选择使用C-VLAN。
现有技术中,支持QinQ的设备典型的组网及业务转发系统组成如图1和图2所示。以选择使用S-VLAN为例,所述的系统如图2所示,具体如下:
接收模块:该模块负责接收网段上的所有数据包,数据包一般可以是带两个标签头的,也可以带一个标签头,如果带一个标签头,交换机会知道根据某种策略,如端口所属默认S-VLAN,添加上相应的标签头。
学习模块:该模块学习数据包中的源MAC地址、接收该报文的端口、报文所属的S-VLAN,并且注册到转发数据库中,并且每个注册的表项都可以根据需要启动老化定时器,定时器超时则将表项删除。
查找模块:该模块根据数据包的目的MAC地址、S-VLAN标识已经数据库中注册的信息决定转发,在查找的数据库中,不仅包括MAC地址、端口信息,而且还包括所属的S-VLAN虚拟网段信息。
发送模块:该模块将数据包发送到以太网段上,如果该网段只需要标准的802.1Q,那么就将该S-VLAN标签头去掉,如果是与其他QinQ网络和设备互连的端口,一般不去掉。
上述具体的功能模块,可以由软件完成,也可以由硬件完成。在二层交换机中,通常采用专用的ASIC芯片实现接收模块、学习模块、查找模块和发送模块的所有功能,部分特殊报文比如送到设备本身处理的控制报文则送软件处理。
同样,具体的功能模块,可以是在集中的软件、硬件处理部件上各个模块集中处理,也可以各个模块分布在设备不同的软件、硬件处理部件上分布式处理。以盒式二层交换机为例,其为采用集中的硬件处理所有模块功能,典型的插槽式交换机,一般每个单板都具备完整的硬件处理功能,每个单板完成独立的接收模块、学习模块、查找模块和发送模块的所有功能,各个单板直接相互独立而有相互协作。
相应的典型的业务报文的查找转发流程如图3所示,具体包括:
步骤31:接收模块处理接收报文;
步骤32:判断所述的报文是否为单播报文,如果是,则执行步骤33,否则,执行步骤36;
步骤33:调整查找转发数据库,即查找转发表中的信息;
步骤34:判断是否存在与该S-VLAN匹配的目的MAC地址存在,如果存在,则执行步骤37,否则,执行步骤35:
步骤35:确定需要向同一S-VLAN除源端口外所有端口转发该报文,并执行步骤38;
步骤36:则确定为多播报文或广播报文,并执行步骤35;
对于所述的多播报文也可以按照VLAN进行转发,即根据多播转发表项中记录的S-VLAN信息进行多播转发处理;
步骤37:确定需要向目的MAC地址所在的端口转发报文,且所述的目的MAC地址所在的端口不是相应的源端口,并执行步骤38;
步骤38:由发送模块按照转发策略转发所述的报文,执行步骤39;
步骤39:进行下一个报文的处理,并重新执行步骤31。
在上述处理过程中如果目的MAC和源MAC不在同一网段内(即同一广播域内),则丢弃该数据包。
同时,在上述处理过程中,接收模块和发送模块均按照S-VLAN中对应的802.1p CoS(服务等级)进行调度,当将数据包发送到以太网段上时,如果该网段只需要标准的802.1Q,则将该S-VLAN标签头去掉,原有基于802.1p CoS的优选级也随之丢失,这样,在后续的业务转发过程中,就没有相应的QoS保障。
可以看出,在传统的支持VLAN的设备上,增加了在接收、发送端口上根据某种策略封装或者解封装外层或者内层的S-VLAN标签头能力。但真正 的转发还是VLAN转发,而并没有根据QinQ的各个VLAN ID信息进行转发处理。因此,现有技术中,无法同时区分S-VLAN和C-VLAN,也就无法提供精细的同时区分S-VLAN和C-VLAN的交换转发能力,以及同时统计S-VLAN和C-VLAN的转发流量。而且,无法保持802.1p CoS优先级,也无法提供对QinQ多层802.1p CoS优先级的组合调度。
在进行VLAN堆叠交换处理过程中,还需要进行标签标记的处理,即在报文中打上相应的VLAN标签后,再进行报文的转发处理。
目前,对于使能了QinQ功能的处理设备,具体采用的标签标记方法为:
首先,高速查找接收端口或者发送端口配置的QinQ标签值;典型的,一般一个入端口或者出端口都会配置一个QinQ标签值,比如端口1,配置QinQ标签值为8。
然后,根据固定或者可配的策略,在接收或者发送的报文中增加一个外层或者内层的802.1Q VLAN标签;即从VLAN到QinQ网络中,增加一个标签;从QinQ网络返回到VLAN网络中,减少一个标签。
可以看出,根据接收端口或者发送端口配置的QinQ标签头,只能对已经有一层802.1Q VLAN标签的增加一个外层或者内层的802.1Q VLAN标签。而且,只能在一个端口上封装或者解封装QinQ标签头。因而无法通过一个设备完成QinQ标签头的封装或解封装处理。
总之,现有技术中只能基于一层VLAN进行相应的业务报文的交换处理,而无法充分利用扩展的多层VLAN信息进行业务报文的交换处理,因此,无法满足通信网络中灵活的各种运营管理需求。
发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一种基于虚拟局域网堆叠的业务交换方法,从而可以QinQ中的各层VLAN进行业务报文的交换处理,以满足灵活地运营管理需求。
本发明的目的是通过以下技术方案实现的:
本发明提供了一种基于虚拟局域网堆叠的业务交换方法,包括:
A、在转发数据库中保存各虚拟局域网VLAN标识VLAN ID信息;
B、在基于虚拟局域网堆叠的网络中,根据转发数据库中保存的各个VLAN ID信息进行业务交换处理。
所述的步骤A包括:
在基于虚拟局域网堆叠的网络中,学习各虚拟局域网包含的各VLAN ID信息,并保存于所述转发数据库的路由转发表中;
和/或,
在用户加入组播组时,将用户虚拟局域网堆叠包含的各VLAN ID信息记录于所述转发数据库的多播转发表中。
所述的业务交换处理包括:
业务转发处理、二层多播转发处理和/或标签标记处理。
所述的步骤B包括:
在业务交换处理过程中通过虚拟局域网堆叠帧承载业务进行交换处理,且在所述的虚拟局域网堆叠帧中,从第二个标签头开始省去标签协议字段。
所述的步骤B还包括:
在所述的虚拟局域网堆叠帧中的协议号设置为标准定义的协议号,或者设置为动态配置的区别于标准定义协议号的协议号。
本发明还提供了一种基于虚拟局域网堆叠的业务转发方法,包括:
C、当需要对业务报文进行转发时,则根据报文中各个VLAN ID信息进行业务交换处理,所述根据各个VLAN ID信息进行业务交换具体包括:根据各个VLAN ID信息查找转发数据库,获得对应的目的媒体接入控制MAC地址信息;
D、向所述的目的MAC地址所在的端口进行业务报文的转发处理。
所述的步骤C还包括:
当不存在与各个VLAN ID信息对应的目的MAC地址,或者,确定所述的业务报文为广播报文时,则向各个VLAN中除源端口外的所有端口转发该业务报文。
所述的方法还包括:
在业务转发过程中,根据各个VLAN ID信息对业务报文进行统计处理。
本发明还提供了一种基于虚拟局域网堆叠的二层多播报文转发方法,包括:
E、当需要进行多播报文转发时,查找多播转发表,获得多播报文的端口及相应的基于虚拟局域网堆叠的各个VLAN ID信息;
F、根据所述的端口及各个VLAN ID信息进行业务交换处理,所述业务交换处理为:多播报文的转发处理。
所述的方法包括:
当用户发送因特网组管理协议IGMP离开报文,或者网络设备查询到用户离开后,则网络设备删除该用户对应的多播转发表项。
本发明还提供了一种基于虚拟局域网堆叠的标签标记方法,包括:
G、当对基于虚拟局域网堆叠的报文进行交换处理时,查找配置的端口的各个VLAN ID与VLAN标签信息的对应关系,确定虚拟局域网堆叠的各个VLAN ID对应的VLAN标签信息;
H、利用所述的各个VLAN标签信息进行业务交换处理,所述业务交换处理为:利用所述的各个VLAN标签信息对所述的报文进行标签标记处理。
所述的步骤G包括:
G1、接收或发送由以太网与虚拟局域网堆叠网络间交互的报文时,查找配置的端口的VLAN ID与至少两层VLAN标签信息的对应关系确定各个VLANID对应的所有VLAN标签信息;
或者,
G2、接收和发送由以太网与虚拟局域网堆叠网络间交互的报文时,分别查找配置的端口的VLAN ID与一层VLAN标签信息的对应关系确定相应的各个 VLAN ID对应的VLAN标签信息。
所述的步骤H包括:
在接收和/或发送由以太网到虚拟局域网堆叠网络的报文时,为所述报文增加由步骤G确定的VLAN标签信息;
在接收和/或发送由虚拟局域网堆叠网络到以太网的报文时,为所述报文减少由步骤G确定的VLAN标签信息。
在该方法中,当执行步骤G1时,所述的步骤H包括:
在接收端将确定的各个VLAN标签信息一次增加到报文中,或从所述报文中去掉所述各个VLAN标签。
在该方法中,当执行步骤G2时,所述的步骤H包括:
在接收端,将确定的一层或多层VLAN标签信息增加到报文中或从所述报文中去掉所述VLAN标签;在发送端,再将确定的另一层或多层VLAN标签增加到报文中或从所述报文中去掉所述VLAN标签。
由上述本发明提供的技术方案可以看出,本发明的实现使得在QinQ网络中能够真正的实现基于QinQ的业务转发,包括针对单播业务和多播业务的转发处理。而且,本发明中的广播域是基于S-VLAN和C-VLAN信息的广播域,从而可以减少广播风暴的出现。本发明还可以提供精细的同时区分S-VLAN和C-VLAN的交换转发能力,以及精细的同时统计S-VLAN和C-VLAN的转发流量,即提供多层VLAN堆叠的转发和流量统计。
另外,本发明还能够在接收端口或者发送端口配置的两层QinQ标签头,并可以对没有802.1Q VLAN标签头的报文按照某种策略同时增加/减少两层QinQ标签头,或者,在接收端口和发送端口分别为报文增加/减少一个802.1Q VLAN标签头,从而通过一个设备就完成QinQ标签头的封装或者解封装,实现了普通以太网到QinQ网络的交换,简化了组网结构,降低了整个网络的构建成本。
附图说明
图1为现有技术中支持QinQ组网示意图;
图2为现有技术中的支持QinQ的设备系统结构示意图;
图3为现有技术中的业务报文转发处理过程示意图;
图4为本发明中支持QinQ组网示意图;
图5为本发明中支持QinQ的设备系统结构示意图;
图6为本发明中的业务报文转发处理过程示意图;
图7为多层VLAN堆叠转发的典型的设备系统结构示意图;
图8为图7所述系统的业务报文转发处理过程示意图;
图9为开展多播业务的典型的组网结构示意图;
图10为基于虚拟局域网堆叠的标签标记处理过程示意图一;
图11为基于虚拟局域网堆叠的标签标记处理过程示意图二。
具体实施方式
本发明的核心是在基于虚拟局域网堆叠,即QinQ技术的网络中可以基于包含的各个VALN标识信息进行业务报文的交换处理,而不再如现有技术那样,仅为了与现有技术的兼容,采用仅根据一个VLAN标识信息业务报文的交换处理,从而增强了基于虚拟局域网堆叠技术的网络在业务报文交换处理过程中的灵活性。
在基于虚拟局域网堆叠技术的网络中,本发明实现了针对业务报文的交换处理过程的改进,其核心是可以根据虚拟局域网堆叠包含的各层VALN标识信息进行业务交换处理,具体的改进涉及的处理包括:
1、基于虚拟局域网堆叠技术的业务报文的转发处理过程;
2、基于虚拟局域网堆叠技术的二层多播报文的转发处理过程;
3、基于虚拟局域网堆叠技术的标签标记处理;
4、基于虚拟局域网堆叠的成帧处理。
本发明中,首先在进行地址学习过程中,将基于QinQ技术的网络中包含的各个VALN标识信息及对应的MAC地址信息等内容分别保存于转发数据库中;与现有技术的主要区别是:现有技术是将其中一个VLAN标识信息保存于转发数据库中建立相应的转发信息,而本发明是将各层VLAN标识信息均保存于转发数据库中建立相应的转发信息。
本发明中,基于QinQ技术的网络中至少包括两个VLAN标识,即现有技术中描述的S-VLAN的标识信息和C-VLAN的标识信息,当然,随着通信技术的发展,还可能在基于QinQ技术的网络中扩展更多的VLAN标识,此时,本发明所述的方法同样适用。
将所述的各层VLAN标识信息保存于转发数据库中建立了相应的转发信息后,则可以根据相应的转发信息进行业务的交换处理,所述的交换处理具体包括:业务报文的转发处理、二层组播报文转发处理、标签标记处理、服务质量管理处理及业务报文的成帧处理,等等。
为对本发明的具体实现有清楚地了解,下面将结合附图对本发明所述的各种业务交换处理过程分别进行说明。
(一)基于QinQ技术的业务报文转发处理
实现真正的QinQ转发,能够对QinQ的两个VLAN ID作为转发,广播域是S-VLAN和C-VLAN后的广播域。
本发明可以实现区分S-VLAN和C-VLAN,因此,提供精细的同时区分S-VLAN和C-VLAN的交换转发能力,以及提供精细的同时统计S-VLAN和C- VLAN的转发流量。
本发明中,支持QinQ转发的典型组网结构如图4所示,相应的设备系统组成如图5所示:
接收模块:该模块负责接收网段上的所有数据包,数据包一般可以是带两个标签头的,也可以带一个标签头,如果带一个标签头,交换机会知道根据某种策略比如端口所属默认S-VLAN添加上相应的标签头。
学习模块:该模块学习数据包中的源MAC地址、接收该报文的端口、报文所属的S-VLAN以及C-VLAN标识,并且注册到转发数据库中,并且每个注册的表项都可以根据需要启动老化定时器,定时器超时则将表项删除。
查找模块:该模块根据数据包的目的MAC地址、S-VLAN以及C-VLAN标识等已经在数据库中注册的信息决定转发,在查找的数据库中,不仅包括MAC地址、端口信息,而且还包括所属的S-VLAN和C-VLAN虚拟网段信息。
发送模块:该模块将数据包发送到以太网段上,如果该网段只需要标准的802.1Q,那么就将该S-VLAN标签头去掉,如果是与其他QinQ网络和设备互连的端口,一般不去掉。
统计模块:该模块在接收模块、发送模块接收或者发送报文时,按照端口、VLAN以及S-VLAN和C-VLAN虚拟网段分别进行统计。可以精细到某个端口的字节、报文进、出数目以及各种错误或者探测报文数目,也可以精细到某个S-VLAN或者某个C-VLAN或者某个S-VLAN和C-VLAN等逻辑子接口的字节、报文进、出数目以及各种错误或者探测报文数目。
与现有技术相同,具体的功能模块,可以由软件完成,也可以由硬件完成。而且,可以是在集中的软件、硬件处理部件上各个模块集中处理,也可以各个模块分布在设备不同的软件、硬件处理部件上分布式处理。
本发明提供的业务报文的转处理流程如图6所示,具体包括:
步骤61:接收模块处理接收报文;
步骤62:判断是否为单播报文,如果是,则执行步骤63,否则,执行步骤66;
步骤63:利用S-VLAN和C-VALN信息查找转发数据库,即路由转发表;
步骤64:判断是否查找到匹配的表项,如果是,则执行步骤65,否则,执行步骤66;
也就是说,对于单播报文,网桥根据MAC地址、端口信息和所属的S-VLAN和C-VLAN虚拟网段信息进行转发,如果是找到目的MAC地址,并且和源MAC在同一个S-VLAN和C-VLAN虚拟网段的,则执行步骤65,如果未找到相应的目的MAC地址,则执行步骤66;
步骤65:确定需要将数据包发送到从转发数据库中查找确定的对应的端口上,并执行步骤67;
如果数据帧的目的MAC地址所在端口与该数据帧的接收端口相同,按照标准规定,网桥不对该数据帧进行任何处理;
步骤66:确定需要由网桥向同一个S-VLAN和C-VLAN虚拟网段内所有的端口发送所述的业务报文,并执行步骤67;
步骤67:发送模块按照确定的转发策略转发所述的业务报文。
在图6所示的处理流程可以看出,转发过程中只查找相同S-VLAN和C-VLAN内的表项,即同一广播域内的端口,如果目的MAC和源MAC不在同一网段内,则丢弃该数据包。
随着VLAN技术的大规模应用,QinQ已经被大量使用,当QinQ的两个VLAN标签头不够使用,则会将QinQ的两个标签拓展为3个及以上。
此时,典型的3层标签头帧结构如表2所示:
表2
由此拓展到多层标签头帧结构如表3所示:
表3
使用了多层VLAN堆叠后,可以如现有技术描述的业务转发处理过程一样只提供多层VLAN标签头的封装、解封装,比如在QinQ的基础上再增加、减少一个或者多个802.1Q标签头。
也可以在本发明QinQ转发描述流程基础上,扩展为将多个VLAN标签头作为虚拟网段标识,从而提供多层虚拟网段转发流程。
支持多层VLAN堆叠转发的典型的设备系统结构如图7所示,相应的各个模块在业务转发处理过程中的具体功能作用包括:
接收模块:该模块负责接收网段上的所有数据包,数据包一般可以是带多个标签头的,也可以带两个(或以上)标签头,如果带一个标签头,交换机会知道根据某种策略比如端口所属默认VLAN添加上相应的标签头。
学习模块:该模块学习数据包中的源MAC地址、接收该报文的端口、报文所属的VLAN1、VLAN2、...、VLANn等等多个VLAN标识,并且注册到转发数据库中,并且每个注册的表项都可以根据需要启动老化定时器,定时器超时则将表项删除。
查找模块:该模块根据数据包的目的MAC地址、VLAN1、VLAN2、...、VLANn等等多个VLAN标识等已经在数据库中注册的信息决定转发,在查找的数据库中,不仅包括MAC地址、端口信息,而且还包括所属的VLAN1、 VLAN2、...、VLANn等等多个VLAN标识的虚拟网段信息。
发送模块:该模块将数据包发送到以太网段上,如果该网段只需要标准的802.1Q,那么就将该VLAN标签头去掉,如果是与其他QinQ网络和设备互连的端口,一般不去掉。
统计模块:该模块在接收模块、发送模块接收或者发送报文时,按照端口、VLAN以及VLAN1、VLAN2、...、VLANn等等多个VLAN标识的虚拟网段分别进行统计。可以精细到某个端口的字节、报文进、出数目以及各种错误或者探测报文数目,也可以精细到某个VLAN或者某几个VLAN组合而成的逻辑子接口的字节、报文进、出数目以及各种错误或者探测报文数目。
相应的业务转发的处理过程如图8所示,具体包括:
对于单播报文,网桥根据MAC地址、端口信息和所属的VLAN1、VLAN2、...、VLANn,等多个VLAN标识的虚拟网段信息进行转发;
如果是找到目的MAC,并且和源MAC在同一个VLAN1、VLAN2、...、VLANn,等多个VLAN标识的虚拟网段的,将数据包发送到数据库中对应的端口,如果数据帧的目的MAC地址所在端口与该数据帧的接收端口相同,根据标准规定,网桥不对该数据帧进行任何处理;
如果找不到目的MAC,就向同一个VLAN1、VLAN2、...、VLANn,等多个VLAN标识的虚拟网段内所有的端口发送。
在这样的转发流程下,转发只查相同VLAN1、VLAN2、...、VLANn,等多个VLAN标识的表项,即同一广播域内的端口,如果目的MAC和源MAC不在同一网段内的,就丢弃该数据包;
在图8所示的转发流程中,对于多播和广播报文,网桥向同一个VLAN1、VLAN2、...、VLANn,等多个VLAN标识虚拟网段内所有端口转发相应的业务报文。
(二)基于虚拟局域网堆叠技术实现二层多播转发的处理
开展多播业务的典型的组网结构如图9所示,图中,多播路由器通过IPDSLAM或二层交换机将多播报文发送给用户。其中,所述的IP DSLAM为IP数字用户线接入复用器,通过双绞线与用户连接,所述的二层交换机则通过以太网与用户连接。
本发明中,对于多播报文,既可以按照广播报文一样在同一广播域内广播,也可以使用IGMP Snooping(因特网组管理协议侦听)或IGMP Proxy(因特网组管理协议代理)按照QinQ进行多播转发,下面将分别对两个多播转发过程的具体实现进行说明。
下面首先对基于QinQ的IGMP Snooping多播转发流程进行说明,具体包括以下处理过程:
(1)用户发送IGMP(因特网组管理协议)成员报告报文,要求加入某个多播组。
(2)交换机接收到用户的多播组成员报告报文后,将接收用户报文的接口、用户QinQ(包括S-VLAN和C-VLAN的VLAN ID信息)信息加入交换机的多播转发表中,每个交换机有自己的多播转发表,并将该IGMP报文向多播路由器转发。
(3)多播路由器建立自身的多播转发表,具体如表4所示:
表4
(4)多播路由器定期查询多播成员情况,交换机根据多播查询响应报文刷新所述的多播转发表。
(5)多播源发送多播报文,多播路由器转发给交换机。
(6)交换机根据IGMP Snooping功能生成的多播转发表,把多播报文从相应的端口、QinQ(包括S-VLAN和C-VLAN的VALN ID信息)转发到相应的用户。
(7)用户发送IGMP离开报文,或者多播路由器查询到用户离开(没有响应)后,交换机删除多播转发表项。
之后,再对基于VLAN的IGMP Proxy多播转发流程进行说明:
(1)用户发送IGMP成员报告报文,要求加入某个多播组。
(2)交换机接收到用户的多播组成员报告报文后,将接收用户报文的接口、用户QinQ(包括S-VLAN和C-VLAN)信息加入交换机的多播转发表。
(3)交换机以一个用户的身份向多播路由器发送已有用户加入的多播组的IGMP成员报告报文。
(4)多播路由器建立多播转发表。
(5)交换机以多播路由器的身份定期查询网络内各个多播组成员情况,以辅助多播路由器对所述的多播转发表进行更新处理。
(6)多播路由器定期查询多播成员情况,交换机根据本设备上多播组情况响应查询报文,多播路由器进行组播转发表的更新处理。
(7)多播源发送多播报文,多播路由器转发给交换机。
(8)交换机根据IGMP Proxy功能生成的多播转发表,把多播报文从相应的端口、QinQ(包括S-VLAN和C-VLAN)转发到相应的用户。
(9)用户发送IGMP离开报文,或者交换机查询到用户离开后,交换机删除多播转发表项,如果是多播组中最后一个用户离开,则向多播路由器发送IGMP离开报文,或者等多播路由器查询时不再响应。
通过上述处理,可以实现真正的基于QinQ的多播转发,从而满足QinQ交换机抑制多播泛滥的需求。
(三)基于虚拟局域网堆叠的标签标记处理
本发明的实现能够在接收端口或者发送端口配置两层QinQ标签头,从而可以为没有802.1Q VLAN标签头的报文按照某种策略同时增加/减少两层QinQ标签头。
另外,还能够在接收端口和发送端口分别为相应的报文增加/减少一个802.1Q VLAN标签头,从而完成QinQ标签头的封装或者解封装。
本发明实现标签标记处理的核心思想是能够一次加QinQ的两层802.1QVLAN标签头,或者在接收端口加一个802.1Q VLAN标签头,在发送端口再加一个802.1Q VLAN标签头。
由于QinQ在原有基础上新增一个802.1Q VLAN标签,现有网络设备如交换机为支持QinQ,同时兼容VLAN,采用了最简单的方案:即在对已经有一个802.1Q VLAN标签的报文,在接收时根据某种策略增加一个802.1Q VLAN标签头,比如按照端口划分时,每个支持QinQ的端口会配置一个默认的S-VLAN标签头,具体可以增加在内层,也可以增加在外层;而在QinQ报文返回时VLAN网络时,则根据相同的策略减少一个802.1Q VLAN标签头。
也就是说,一台设备只能作为VLAN网络到QinQ网络的互通。
在实际应用中,往往需要一台设备完成用户普通以太网网络到QinQ网络的互通,典型的如运营商网络中DSLAM(数字用户线接入复用器)桥接后直接将用户报文送入QinQ网络,或者在终端接入普通以太网用户后直接进入QinQ网络。
本发明提供一次加QinQ的两层802.1Q VLAN标签头,或者在接收端口加一个、发送端口再加一个802.1Q VLAN标签头的方案,以解决这些问题和满足这种实际组网需求,下面将分别对两种方式进行说明。
(1)对于一次加QinQ的两层802.1Q VLAN标签头的处理过程如图10所 示,具体包括:
步骤101:获取需要接收或者发送的报文,如果是接收报文,则执行步骤102,否则,直接执行步骤103;
步骤102:对所述的接收报文进行相应的策略处理,比如,各种安全检查、带宽限制等等,之后执行步骤103;
步骤103:判断是否使能QinQ功能,如果是,则执行步骤104,否则,执行步骤106;
具体可以通过配置手段如命令行、网管等配置,特别的也可以硬件、软件固定使用一个策略判断是否使能了QinQ功能;
步骤104:根据QinQ配置策略,高速查找接收端口或者发送端口配置的对应的QinQ两层标签头;
具体的配置策略如下:
可以是根据接收或者发送端口配置固定的QinQ两层标签头,比如接收端口1配置默认QinQ两层标签头为3/5;
也可以是根据最终MAC地址配置对应的QinQ两层标签头,比如MAC地址为00-e0-fc-01-02-03对应的QinQ两层标签头为4/205;再比如MAC地址前缀为00-e0-fc的,对应的QinQ两层标签头为1024/256;
也可以根据用户的IP地址或者IP网段配置对应的QinQ两层标签头,比如IP地址为202.101.202.101或者网段为202/8对应的对应的QinQ两层标签头为2048/4095;
也可以根据用户所属的组播组配置对应的QinQ两层标签头,比如属于组播组225.0.0.1的主机对应的QinQ两层标签头为3072/4095。
步骤105:在接收或者发送的报文中增加/减少QinQ两层标签头;
即从以太网到QinQ网络中,增加QinQ两层标签头;
从QinQ网络返回到以太网网络中,减少QinQ两层标签头;
步骤106:执行正常报文转发流程,即执行标准的VLAN或者QinQ的转发流程,本发明的实现对的转发流程不受影响。
步骤107:发送报文策略处理,比如,各种安全检查、带宽限制等等,之后进行报文的发送处理。
执行完成上述过程后,则获取下一个报文,重新执行步骤101,继续对相应的报文进行相应的标签标记处理。
(2)另一种实现方式为在接收端口增加一个802.1Q VLAN标签头,之后,在发送端口再增加一个802.1Q VLAN标签头,相应的处理过程如图11所示,具体包括以下步骤:
步骤111:获取接收或者发送的报文,同样,对于接收报文,执行步骤112,对于发送报文直接执行步骤113;
步骤112:接收报文策略处理,比如,各种安全检查、带宽限制等等;
步骤113:判断接收是否使能QinQ功能,如果接收使能QinQ功能,则执行步骤114,否则,执行步骤116;
步骤114:根据QinQ配置策略,高速查找接收端口配置的QinQ一层标签头,具体的配置策略如前所述,此处不在详述;
步骤115:在接收报文中增加/减少QinQ一层标签头;
即从以太网到QinQ网络中,增加QinQ一层标签头;
从QinQ网络返回到以太网网络中,减少QinQ一层标签头。
步骤116:正常报文转发流程,并执行步骤117。
步骤117:根据发送是否使能QinQ功能,如果发送使能QinQ功能,则执
行步骤118,否则,执行步骤1110;
步骤118:根据QinQ配置策略,高速查找发送端口配置的QinQ一层标签头,具体的配置策略仍如前面针对图10的相应描述。
步骤119:在发送报文中增加/减少QinQ一层标签头;
即从以太网到QinQ网络中,增加QinQ一层标签头;
从QinQ网络返回到以太网网络中,减少QinQ一层标签头。
步骤1110:发送报文策略处理,比如各种安全检查、带宽限制等等;
经过上述处理后,便可以进行下一个报文的处理,即重新执行步骤111到步骤1110。
通过本发明提供的如图10和图11所示的处理过程,可以在接收端口或者发送端口配置两层QinQ标签头,并能够对没有802.1Q VLAN标签头的报文按照某种策略同时增加/减少两层QinQ标签头,从而通过一个设备就实现了普通以太网到QinQ网络的交换,简化了组网,降低了整个网络的成本。
本发明还能够在接收端口和发送端口分别为报文增加/减少一个802.1QVLAN标签头,从而通过一个设备就完成QinQ标签头的封装或者解封装,实现了普通以太网到QinQ网络的交换,简化了组网,降低了整个网络的成本。
另外,需要说明的是:本发明中,当使用多层VLAN堆叠技术时,可以一次加多层802.1Q VLAN标签头,或者在接收端口加一个或多个VLAN标签头,在发送端口再加一个或多个802.1Q VLAN标签头,从而同样通过一个设备提供普通以太网到多层VLAN堆叠网络中间的交换和互通。
(四)基于虚拟局域网堆叠技术的成帧处理
随着VLAN技术的大规模应用,QinQ已经被大量使用,QinQ的两个VLAN标签头不够使用,因此,将QinQ的两个标签拓展为3个及以上。同时为了提高QinQ转发效率,以及多级VLAN Stack堆叠时的转发效率,提供了一种压缩后的标签头帧结构如表6所示:
表6
[0222] 将第二个标签头开始压缩为2个字节,即将原有的2字节的标签协议字段删除。在普通802.1Q情况下,在最短包转发时的报文头开销为22/72约为30.56%,在压缩帧格式情况下,在最短包转发时的报文头开销为20/72约为27.78%,从而减少9%的报文头开销,大大提高了短包时效率
由此拓展到多层标签头帧结构如表7所示:
将第二个标签头开始所有的内层802.1Q标签头压缩为2个字节,即将原有的2字节的标签协议字段删除,从而减少报文头开销。
同时,在实际使用中,将QinQ(或者称为VLAN Stack,甚至是多层VLAN Stack)的协议号变为可配,可以为兼容VLAN而配置为VLAN的协议号即0×8100,此时,可以将QinQ甚至多层VLAN Stack作为VLAN进行兼容处理;也可以根据需要配置为特殊的协议号,比如0×9100,这样,就可以根据需要区分普通VLAN和QinQ了,此时可以对VLAN、QinQ甚至多层VLANStack分别处理,同时,细分VLAN、QinQ以后,即使VLAN和QinQ的第一层标签头使用相同的802.1Q VLAN ID,也可以细分同时支持。
本发明中,每个增加的802.1Q标签头都是4个字节,在最短包转发时的报文头开销为22/72约为30.56%,因此,将第二个标签头开始压缩为2个字节,这样在最短包转发时的报文头开销为20/72约为27.78%,从而减少9%的报文头开销,大大提高了短包时效率。
同时,本发明将QinQ的协议号变为可配,可以为兼容VLAN而配置为VLAN的协议号即0×8100,也可以根据需要配置为特殊的协议号,比如0×9900。这样,就可以根据需要区分普通VLAN和QinQ了。
综上所述,本发明基于VLAN堆叠技术实现了基于多层VLAN的业务转发处理(包括多播业务转发处理)、基于多层VLAN的标签标记方法,同时,还提供了一种基于VLAN堆叠技术的帧格式。因此,本发明的实现可以大大提高基于VLAN堆叠技术的业务传输性能,增加网络管理的灵活性。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (9)
1.一种基于虚拟局域网堆叠的业务交换方法,其特征在于,包括:
A、在转发数据库中保存各虚拟局域网VLAN标识VLAN ID信息;
B、在基于虚拟局域网堆叠的网络中,根据转发数据库中保存的各个VLAN ID信息进行业务交换处理;
其中,所述的步骤A包括:
在基于虚拟局域网堆叠的网络中,学习各虚拟局域网包含的各个VLANID信息,并保存于所述转发数据库的路由转发表中;
和/或,在用户加入组播组时,将用户虚拟局域网堆叠包含的各个VLANID信息记录于所述转发数据库的多播转发表中。
2.根据权利要求1所述的基于虚拟局域网堆叠的业务交换方法,其特征在于,所述的业务交换处理包括:
业务转发处理、二层多播转发处理和/或标签标记处理。
3.根据权利要求1或2所述的基于虚拟局域网堆叠的业务交换方法,其特征在于,所述的步骤B包括:
在业务交换处理过程中通过虚拟局域网堆叠帧承载业务进行交换处理,且在所述的虚拟局域网堆叠帧中,从第二个标签头开始省去标签协议字段。
4.根据权利要求3所述的基于虚拟局域网堆叠的业务交换方法,其特征在于,所述的步骤B还包括:
在所述的虚拟局域网堆叠帧中的协议号设置为标准定义的协议号,或者设置为动态配置的区别于标准定义协议号的协议号。
5.一种基于虚拟局域网堆叠的业务转发方法,其特征在于,包括:
C、当需要对业务报文进行转发时,则根据报文中的各个VLAN ID信息进行业务交换处理,所述根据各个VLAN ID信息进行业务交换具体包括:根据各个VLAN ID信息查找转发数据库,获得对应的目的媒体接入控制MAC地址信息;
D、向所述的目的MAC地址所在的端口进行业务报文的转发处理;
其中,在步骤C之前,所述方法还包括:
在基于虚拟局域网堆叠的网络中,学习各虚拟局域网包含的各个VLANID信息,并保存于所述转发数据库的路由转发表中;
和/或,在用户加入组播组时,将用户虚拟局域网堆叠包含的各个VLANID信息记录于所述转发数据库的多播转发表中。
6.根据权利要求5所述的基于虚拟局域网堆叠的业务转发方法,其特征在于,所述的步骤C还包括:
当不存在与各个VLAN ID信息对应的目的MAC地址,或者,确定所述的业务报文为广播报文时,则向各个VLAN中除源端口外的所有端口转发该业务报文。
7.根据权利要求5或6所述的虚拟局域网堆叠的业务转发方法,其特征在于,所述的方法还包括:
在业务转发过程中,根据各个VLAN ID信息对业务报文进行统计处理。
8.一种基于虚拟局域网堆叠的二层多播报文转发方法,其特征在于,包括:
E、当需要进行多播报文转发时,查找多播转发表,获得多播报文的端口及相应的基于虚拟局域网堆叠的各个VLAN ID信息;
F、根据所述的端口及各个VLAN ID信息进行业务交换处理,所述业务交换处理为:多播报文的转发处理;
其中,在步骤E之前,所述方法还包括:
在用户加入组播组时,将用户虚拟局域网堆叠包含的各个VLAN ID信息记录于转发数据库的多播转发表中。
9.根据权利要求8所述的基于虚拟局域网堆叠的二层多播报文转发方法,其特征在于,所述的方法包括:
当用户发送因特网组管理协议IGMP离开报文,或者网络设备查询到用户离开后,则网络设备删除该用户对应的多播转发表项。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2005101277807A CN1866919B (zh) | 2005-12-06 | 2005-12-06 | 基于虚拟局域网堆叠的业务交换方法 |
PCT/CN2006/003298 WO2007065358A1 (fr) | 2005-12-06 | 2006-12-05 | Procede et systeme pour traitement d'operations fondes sur un empilement de vlan |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2005101277807A CN1866919B (zh) | 2005-12-06 | 2005-12-06 | 基于虚拟局域网堆叠的业务交换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1866919A CN1866919A (zh) | 2006-11-22 |
CN1866919B true CN1866919B (zh) | 2012-11-14 |
Family
ID=37425808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005101277807A Active CN1866919B (zh) | 2005-12-06 | 2005-12-06 | 基于虚拟局域网堆叠的业务交换方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN1866919B (zh) |
WO (1) | WO2007065358A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247300B (zh) * | 2007-12-11 | 2012-05-09 | 中兴通讯股份有限公司 | 运行gvrp的堆叠系统及其分布式处理方法 |
CN102487325B (zh) * | 2010-12-02 | 2015-06-03 | 中兴通讯股份有限公司 | 组播业务实现方法及装置 |
CN102332996B (zh) * | 2011-09-27 | 2014-05-07 | 华为技术有限公司 | 一种以太网路径的创建方法及装置 |
CN102970226B (zh) * | 2012-11-12 | 2015-07-22 | 盛科网络(苏州)有限公司 | 在asic中进行组播报文转发的方法和装置 |
CN103856417B (zh) * | 2012-11-30 | 2018-01-23 | 中兴通讯股份有限公司 | 软件定义网络报文转发方法和系统 |
CN102957585B (zh) * | 2012-12-03 | 2016-08-31 | 惠州Tcl移动通信有限公司 | 一种以太网的数据传输方法及数据传输装置 |
CN103401774B (zh) * | 2013-07-18 | 2016-12-28 | 杭州华三通信技术有限公司 | 一种基于堆叠系统的报文转发方法和设备 |
CN103346951B (zh) * | 2013-07-29 | 2017-04-19 | 迈普通信技术股份有限公司 | 建立代理成员数据库的方法和装置 |
CN103746922B (zh) * | 2013-12-17 | 2017-01-25 | 福建星网锐捷网络有限公司 | 一种组播报文的转发方法及装置 |
CN108259298B (zh) * | 2017-05-31 | 2020-12-29 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN109429186B (zh) * | 2017-08-31 | 2021-01-29 | 华为技术有限公司 | 数据传输的方法及装置 |
CN110417633B (zh) | 2018-04-28 | 2020-09-11 | 华为技术有限公司 | 一种通信方法及设备 |
CN108616438B (zh) * | 2018-04-28 | 2020-12-29 | 新华三技术有限公司 | 堆叠自动实现方法和装置 |
CN109587027B (zh) * | 2018-11-29 | 2021-05-25 | 新华三信息安全技术有限公司 | 一种报文转发方法及装置 |
CN112714063B (zh) * | 2019-10-25 | 2022-08-09 | 华为技术有限公司 | 一种报文传输方法、设备以及数字处理芯片 |
CN113923114B (zh) * | 2020-07-07 | 2022-10-28 | 荣耀终端有限公司 | 一种vlan配置方法及相关设备 |
CN112511400B (zh) * | 2020-11-17 | 2022-07-01 | 新华三技术有限公司 | 报文处理方法及装置 |
CN112953809B (zh) * | 2021-03-25 | 2022-07-26 | 杭州迪普科技股份有限公司 | 多层vlan流量的生成系统及方法 |
CN114301736B (zh) * | 2021-12-29 | 2023-08-29 | 凯通科技股份有限公司 | 一种混合组网下非对称标签的业务配置方法及相关设备 |
CN114390120B (zh) * | 2022-01-04 | 2023-06-09 | 烽火通信科技股份有限公司 | 一种对协议帧的处理方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1162796A2 (en) * | 2000-06-09 | 2001-12-12 | Broadcom Corporation | Cascading of gigabit switches |
US6765914B1 (en) * | 2000-04-07 | 2004-07-20 | 3Com Corporation | Generic switch architecture to support flexible subnets across layer-3 devices |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004241979A (ja) * | 2003-02-05 | 2004-08-26 | Nippon Telegr & Teleph Corp <Ntt> | 認証サーバ、フレーム転送網、認証サーバを実現するプログラム、および該プログラムを記録した記録媒体 |
-
2005
- 2005-12-06 CN CN2005101277807A patent/CN1866919B/zh active Active
-
2006
- 2006-12-05 WO PCT/CN2006/003298 patent/WO2007065358A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6765914B1 (en) * | 2000-04-07 | 2004-07-20 | 3Com Corporation | Generic switch architecture to support flexible subnets across layer-3 devices |
EP1162796A2 (en) * | 2000-06-09 | 2001-12-12 | Broadcom Corporation | Cascading of gigabit switches |
Non-Patent Citations (1)
Title |
---|
JP特开2004-241979A 2004.08.26 |
Also Published As
Publication number | Publication date |
---|---|
CN1866919A (zh) | 2006-11-22 |
WO2007065358A1 (fr) | 2007-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1866919B (zh) | 基于虚拟局域网堆叠的业务交换方法 | |
US7339929B2 (en) | Virtual private LAN service using a multicast protocol | |
US7633956B1 (en) | System and method for providing support for multipoint L2VPN services in devices without local bridging | |
RU2321959C2 (ru) | Идентификатор источника для нахождения мас-адреса | |
US7072346B2 (en) | Network and edge router | |
CN101491029B (zh) | 以太网层2协议包交换 | |
US8902757B2 (en) | Method and system for transparent LAN services in a packet network | |
CN100596094C (zh) | 多点到多点的业务实现方法及交换设备 | |
CN100401714C (zh) | 用于对通信设备进行自动配置的方法 | |
CN100563190C (zh) | 实现层级化虚拟私有交换业务的方法及系统 | |
US7660303B2 (en) | Point-to-multipoint functionality in a bridged network | |
CN101692646B (zh) | 一种二层转发处理方法和一种分布式设备 | |
US20050169270A1 (en) | Router, frame forwarding method, and lower layer frame virtual forwarding system | |
US7697552B2 (en) | MAC address scalability in interconnected rings | |
CN100358322C (zh) | 多层虚拟局域网交换的方法 | |
US7738467B2 (en) | Output port based double Q tagging | |
CN100559772C (zh) | 混合型虚拟私有网络系统和骨干网边缘设备及其配置方法 | |
JP2002247089A (ja) | パケットルーティング方法および装置 | |
CN100518128C (zh) | 一种pbt网络中多点到多点vpn互联的方法、系统及其装置 | |
CN100373892C (zh) | 一种可路由的虚交换方法 | |
CN100484055C (zh) | 跨虚拟局域网组播的实现方法 | |
CN100372321C (zh) | 一种建立虚拟电路的方法 | |
US20110222541A1 (en) | Network System, Edge Node, and Relay Node | |
CN106685788A (zh) | 堆叠模式下pvlan的芯片实现方法 | |
CN1859430B (zh) | Ip传输系统及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220921 Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041 Patentee after: Chengdu Huawei Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |