首页> 中国专利> 选择性虚拟局域网中的环路检测方法和装置

选择性虚拟局域网中的环路检测方法和装置

摘要

本发明公开了一种SVLAN中的环路检测方法和装置,其中,该SVLAN中的环路检测方法包括:提取SVLAN中接收端口所接收的检测报文中的VLAN标签值和接收端口号;在上述接收端口配置的索引表中查找是否存在与上述检测报文对应的索引记录,其中,上述索引记录中的内层VLAN标签值等于上述VLAN标签值、上述索引记录中的端口号等于上述接收端口号;若存在上述与上述检测报文对应的索引记录,则判断上述索引记录中的外层VLAN标签值与上述内层VLAN标签值是否相同;若上述外层VLAN标签值与上述内层VLAN标签值不同,则上述SVLAN中不存在环路。本发明解决了环路检测方法导致网络中的数据传输出现错误的问题。

著录项

  • 公开/公告号CN101938388A

    专利类型发明专利

  • 公开/公告日2011-01-05

    原文格式PDF

  • 申请/专利权人 中兴通讯股份有限公司;

    申请/专利号CN201010286908.5

  • 发明设计人 周吉;

    申请日2010-09-13

  • 分类号H04L12/26(20060101);H04L12/56(20060101);H04L12/46(20060101);

  • 代理机构11240 北京康信知识产权代理有限责任公司;

  • 代理人余刚;吴孟秋

  • 地址 518057 广东省深圳市南山区科技南路55号

  • 入库时间 2023-12-18 01:30:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-12-10

    授权

    授权

  • 2012-06-06

    实质审查的生效 IPC(主分类):H04L12/26 申请日:20100913

    实质审查的生效

  • 2011-01-05

    公开

    公开

说明书

技术领域

本发明涉及通信领域,具体而言,涉及一种SVLAN(Selective VLAN,选择性虚拟局域网)中的环路检测方法和装置。

背景技术

SVLAN(Selective VLAN,选择性虚拟局域网)技术是一种基于QinQ的VLAN的扩展技术。它通过在以太网帧中堆叠两个802.1Q包头,有效地扩展了VLAN数目,使VLAN的数目最多可达4096*4096个。同时,多个内层VLAN能够被复用到一个核心VLAN中。报文既可以通过外层标签进行交换,也可以根据需要通过内外双层标签进行交换。该SVLAN技术具有很强的灵活性,有效地对VLAN进行了隔离和VLAN资源的重用,同时为具有MPLS交换的核心组网提供了必要的依据。

普通的QinQ只是对客户(custom)端口收到的所有的数据流都增加一层相同的VLAN外层标签,而SVLAN功能可以对同一个客户(custom)端口收到的流选择性地根据用户需求对同一个custom端口的不同的内层标签打上不同的外层标签,同时也可以实现流的透传。而不同的custom端口的相同的内层标签可以打上相同的外层标签。

随着网络技术的不断更新换代,用户需求的不断增加,尤其是现在SVLAN技术的应用越来越广泛,需要对网络中的环路进行检测。现有技术中,一般采用的是传统双端口环路检测方法,其原理为:交换机从一个端口发送一个特定格式的以太网广播报文,可以称作“检测报文”。倘若报文发出后,在规定时间内如果这个报文原封不动的从另一个个端口收回来了,或者仅仅是增加了一个TAG头,说明这个端口下面存在环路。存在环路就会导致MAC地址学习错误,甚至造成“广播风暴”,严重的会导致网络及交换机瘫痪。启用端口环路检测,关闭有环路的端口,可以有效的消除端口环路造成的影响。

然而,对于采用了SVLAN技术的网络环境,传统的环路检测方式很可能出现环路检测错误的情况,即使实际不存在环路也会认为网络中出现了环路。如图1所示,如果三台交换机只是在普通环境下,1/1-2、2/1-2、3/1-2六个端口都属于vlan10,那么1/1口则会检测出环路;如果1/2口不属于vlan10,而属于vlan20,那么1/1口则检测出没有环路。

但如果在SVLAN的环境下,情况就不一样了。比如在图1中,1/2口配置内层标签为vlan10,外层标签为vlan20的SVLAN,此时,当从1/1口出来的带vlan10标签的报文经过交换机B、交换机C之后,依然带vlan10的标签,此时从1/2口进来,根据传统的环路检测方式将检测出有环路。而实际上这种情况是不存在环路的,不会发生广播风暴,这是因为1/2口进来的带vlan10标签的报文会被加上外层标签vlan20,从而在vlan20中转发。如果这个时候由于误认为有环路而将1/1口关闭,则会导致网络中vlan10的流量不通,相关业务中断。

可见,现有技术中的环路检测方法在SVLAN的环境下可能出现环路检测错误的情况,从而导致网络中的数据传输出现错误。

发明内容

针对现有技术中的环路检测方法导致网络中的数据传输出现错误的问题而提出本发明,为此,本发明的主要目的在于提供一种SVLAN(Selective VLAN,选择性虚拟局域网)中的环路检测方法和装置,以解决上述问题至少之一。

为了实现上述目的,根据本发明的一个方面,提供了一种SVLAN中的环路检测方法,其包括:提取SVLAN中接收端口所接收的检测报文中的VLAN标签值和接收端口号;在上述接收端口配置的索引表中查找是否存在与上述检测报文对应的索引记录,其中,上述索引记录中的内层VLAN标签值等于上述VLAN标签值、上述索引记录中的端口号等于上述接收端口号;若存在上述与上述检测报文对应的索引记录,则判断上述索引记录中的外层VLAN标签值与上述内层VLAN标签值是否相同;若上述外层VLAN标签值与上述内层VLAN标签值不同,则上述SVLAN中不存在环路。

进一步地,在上述接收端口配置的索引表中查找是否存在与上述检测报文对应的索引记录之后,还包括:若不存在上述与上述检测报文对应的索引记录,则上述SVLAN中存在环路。

进一步地,在判断上述索引记录中的外层VLAN标签值与上述内层VLAN标签值是否相同之后,还包括:若上述外层VLAN标签值与上述内层VLAN标签值相同,则上述SVLAN中存在环路。

进一步地,在判断出上述SVLAN中存在环路之后,还包括:关闭上述接收端口,或者,发出告警信息。

进一步地,在提取SVLAN中接收端口所接收的检测报文中的VLAN标签值和接收端口号之前,还包括:根据SVLAN的配置在上述接收端口上配置上述索引表,其中,上述索引表中的每一条索引记录包括:内层VLAN标签值、外层VLAN标签值和端口号之间的映射关系。

进一步地,在上述SVLAN的配置发生更新时,还包括:根据更新后的SVLAN的配置在上述接收端口上更新上述索引表。

进一步地,在提取SVLAN中接收端口所接收的检测报文中的VLAN标签值和接收端口号之前,还包括:判断上述接收的检测报文是否合法;若上述接收的检测报文不合法,则丢弃上述检测报文,不执行上述提取SVLAN中接收端口所接收的检测报文中的VLAN标签值和接收端口号的步骤,并判断出上述SVLAN中不存在环路。

为了实现上述目的,根据本发明的另一方面,提供了一种SVLAN中的环路检测装置,其包括:提取单元,用于提取SVLAN中接收端口所接收的检测报文中的VLAN标签值和接收端口号;查找单元,用于在上述接收端口配置的索引表中查找是否存在与上述检测报文对应的索引记录,其中,上述索引记录中的内层VLAN标签值等于上述VLAN标签值、上述索引记录中的端口号等于上述接收端口号;判断单元,用于在存在上述与上述检测报文对应的索引记录时,判断上述索引记录中的外层VLAN标签值与上述内层VLAN标签值是否相同;检测单元,用于在上述外层VLAN标签值与上述内层VLAN标签值不同时,检测出上述SVLAN中不存在环路。

进一步地,上述检测单元还用于在上述查找单元在上述接收端口配置的索引表中查找出不存在上述与上述检测报文对应的索引记录时,或者,上述判断单元判断出上述索引记录中的外层VLAN标签值与上述内层VLAN标签值相同时,检测出上述SVLAN中存在环路。

进一步地,上述环路检测装置还包括:配置单元,用于在上述提取单元提取SVLAN中接收端口所接收的检测报文中的VLAN标签值和接收端口号之前,根据SVLAN的配置在上述接收端口上配置上述索引表,其中,上述索引表中的每一条索引记录包括:内层VLAN标签值、外层VLAN标签值和端口号之间的映射关系。

通过本发明,采用SVLAN索引表来判断是否在SVLAN中出现环路,解决了现有技术中的环路检测方法导致网络中的数据传输出现错误的问题,进而保证了环路检测的正确性。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据相关技术的SVLAN的网络示意图;

图2是根据本发明实施例的SVLAN中的环路检测方法的一种优选的流程图;

图3是根据本发明实施例的SVLAN索引表的示意图;

图4是根据本发明实施例的SVLAN中的环路检测方法的另一种优选的流程图;

图5是根据本发明实施例的SVLAN中的环路检测装置的一种优选的结构示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

实施例1

本实施例中的环路检测方法应用于SVLAN中的交换机中,如图2所示,根据本发明实施例的SVLAN中的环路检测方法包括如下步骤:

S202,提取SVLAN中接收端口所接收的检测报文中的VLAN标签值和接收端口号;

S204,在所述接收端口配置的索引表中查找是否存在与上述检测报文对应的索引记录,其中,所述索引记录中的内层VLAN标签值等于所述VLAN标签值、所述索引记录中的端口号等于所述接收端口号;

S206,若存在与上述检测报文对应的索引记录,则判断上述索引记录中的外层VLAN标签值与上述内层VLAN标签值是否相同;

S208,若所述外层VLAN标签值与所述内层VLAN标签值不同,则上述SVLAN中不存在环路。

通过本实施例,采用SVLAN索引表来判断是否在SVLAN中出现环路,在内层VLAN标签相同的情况下,进一步比较内层VLAN标签与外层VLAN标签,从而在内层VLAN标签相同的情况下可以准确地判断出SVLAN中是否出现环路,解决了现有技术中的环路检测方法导致网络中的数据传输出现错误的问题,进而保证了环路检测的正确性。

优选的,在所述接收端口配置的索引表中查找是否存在与检测报文对应的索引记录之后,还包括:若不存在上述与检测报文对应的索引记录,则上述SVLAN中存在环路。通过该优选的实施例,可以进一步准确地判断出SVLAN中存在环路。

优选的,在判断上述索引记录中的外层VLAN标签值与上述内层VLAN标签值是否相同之后,还包括:若所述外层VLAN标签值与所述内层VLAN标签值相同,则上述SVLAN中存在环路。通过该优选的实施例,可以进一步准确地判断出SVLAN中存在环路。

优选的,在判断出上述SVLAN中存在环路之后,还包括:关闭上述接收端口,或者,发出告警信息。通过该优选的实施例,可以在判断出存在环路之后,有效地避免环路所带来的影响。

优选的,在提取SVLAN中接收端口所接收的检测报文中的VLAN标签值和接收端口号之前,还包括:根据SVLAN的配置在上述接收端口上配置上述索引表,其中,上述索引表中的每一条索引记录包括:内层VLAN标签值、外层VLAN标签值和端口号之间的映射关系。通过本实施例,索引表只提取了三个所需要的SVLAN信息,即,内层VLAN标签值、外层VLAN标签值和端口号(优选的,内层VLAN标签值仅限于环路检测的配置VLAN),从而有效的节省了大量存储空间,并且便于建立索引,以及快速方便地实现检索。

优选的,图3示出了索引表的结构,其中,内层VLAN标签值(In_vlan)、外层VLAN标签值(Out_vlan)和端口号(Port)三者一一对应。

优选的,在上述SVLAN的配置发生更新时,还包括:根据更新后的SVLAN的配置在上述接收端口上更新上述索引表。通过本实施例,可以实现索引表的动态更新,以便实时地适应网络的变化。

优选的,提取SVLAN中接收端口所接收的检测报文中的VLAN标签值和接收端口号之前,还包括:判断上述接收的检测报文是否合法;若上述接收的检测报文不合法,则丢弃上述检测报文,不执行上述提取SVLAN中接收端口所接收的检测报文中的VLAN标签值和接收端口号的步骤,并判断出上述SVLAN中不存在环路。通过本实施例,在进行环路检测之前,首先对检测报文的合法性进行判断,并只对合法的检测报文进行环路检测处理,从而节省了系统资源,以及优化了处理流程。

优选的,如果设备上没有配SVLAN,那么在配置环路检测时就创建一个空表项,因此不影响后续检索和匹配动作;如果之后再配置SVLAN,则根据已有的环回检测VLAN来创建相应的SVLAN快速索引表项。从而,本发明中的环路检测方法对于现有的环路检测协议是兼容的。

以下基于图1所示的网络结构来详细描述根据本发明实施例的环路检测方法。

假设配置1/1口属于VLAN100,1/2口也属于VLAN100,交换机A上配置如下SVLAN:

Port--1/2    In_vlan--100    Out_vlan--200

即从1/2口进来的带VLAN100标签的报文会加上VLAN200的外层标签,然后在VLAN200中转发。交换机B和交换机C的端口都属于VLAN100,在交换机A的1/1口配置环路检测,环路检测VLAN是100,带VLAN100标签的检测报文从1/1口发出,从1/2口进来。

在应用本发明的解决方案之前,环路检测报文接收后会直接处理为在VLAN100中存在环路,从而会DOWN掉1/1口,或者发出相应的告警信息。而在应用了本发明之后,检测报文接收后会进行SVLAN的匹配,从而可以防止错误检测,保证网络的正常运作。

实施例2

图4是根据本发明实施例的SVLAN中的环路检测方法的另一种优选的流程图,其包括如下步骤:

步骤S402:环路检测模块构建检测报文,创建SVLAN快速索引表(如图3所示),并且根据配置的环路检测VLAN和SVLAN信息下相应的表项,并转至步骤S404;

步骤S404:环路检测模块接收检测报文,并转至步骤S406;

步骤S406:如果环路检测报文是合法的,则转至步骤S408;如果环路检测报文非法,则转至步骤S414;

步骤S408:环路检测扩展模块检索SVLAN快速索引表(相当于实施例1中的索引表),并转至步骤S410;

步骤S410:若匹配成功(即上述SVLAN快速索引表中存在与检测报文对应的索引记录,其中,该索引记录中的内层VLAN标签值等于检测报文中的VLAN标签值、索引记录中的端口号等于上述检测报文中的接收端口号)且内外层标签不同(即,上述SVLAN快速索引表中的内层VLAN标签值不同于外层VLAN标签值),则转至步骤S412;若匹配失败或者匹配成功但内外层标签相同,则转至步骤S416;

步骤S412:此时在该VLAN中不存在网络环路,因此等待进入下一次环路检测流程;

步骤S414:非法的环路检测报文会被立即丢弃,然后转至步骤S412;

步骤S416:此时在该VLAN中存在网络环路,需要DOWN掉检测端口或者发出相应的告警信息。

通过本实施例,采用SVLAN索引表来判断是否在SVLAN中出现环路,在内层VLAN标签相同的情况下,进一步比较内层VLAN标签与外层VLAN标签,从而在内层VLAN标签相同的情况下可以准确地判断出SVLAN中是否出现环路,解决了现有技术中的环路检测方法导致网络中的数据传输出现错误的问题,进而保证了环路检测的正确性。

实施例3

图5是根据本发明实施例的SVLAN中的环路检测装置的一种优选的结构示意图,其包括:提取单元502,用于提取SVLAN中接收端口所接收的检测报文中的VLAN标签值和接收端口号;查找单元504,用于在所述接收端口配置的索引表中查找是否存在与上述检测报文对应的索引记录,其中,所述索引记录中的内层VLAN标签值等于所述VLAN标签值、所述索引记录中的端口号等于所述接收端口号;判断单元506,用于在存在与上述检测报文对应的索引记录时,判断所述索引记录中的外层VLAN标签值与所述内层VLAN标签值是否相同;检测单元508,用于在所述外层VLAN标签值与所述内层VLAN标签值不同时,检测出所述SVLAN中不存在环路。

通过本实施例,采用SVLAN索引表来判断是否在SVLAN中出现环路,在内层VLAN标签相同的情况下,进一步比较内层VLAN标签与外层VLAN标签,从而在内层VLAN标签相同的情况下可以准确地判断出SVLAN中是否出现环路,解决了现有技术中的环路检测方法导致网络中的数据传输出现错误的问题,进而保证了环路检测的正确性。

优选的,在所述查找单元504在所述接收端口配置的索引表中查找出不存在与上述检测报文对应的索引记录时,或者,所述判断单元506判断出所述索引记录中的外层VLAN标签值与所述内层VLAN标签值相同时,所述检测单元508检测出所述SVLAN中存在环路。通过该优选的实施例,可以进一步准确地判断出SVLAN中存在环路。

优选的,在检测单元508检测出上述SVLAN中存在环路之后,上述检测装置关闭上述接收端口,或者,发出告警信息。通过该优选的实施例,可以在判断出存在环路之后,有效地避免环路所带来的影响。

优选的,上述装置还包括:配置单元510,用于在所述提取单元502提取SVLAN中接收端口所接收的检测报文中的VLAN标签值和接收端口号之前,根据SVLAN的配置在所述接收端口上配置所述索引表,其中,所述索引表中的每一条索引记录包括:内层VLAN标签值、外层VLAN标签值和端口号之间的映射关系。

优选的,图3示出了索引表的结构,其中,内层VLAN标签值(In_vlan)、外层VLAN标签值(Out_vlan)和端口号(Port)三者一一对应。

优选的,在上述SVLAN的配置发生更新时,配置单元510根据更新后的SVLAN的配置在上述接收端口上更新上述索引表。通过本实施例,可以实现索引表的动态更新,以便实时地适应网络的变化。

优选的,提取SVLAN中接收端口所接收的检测报文中的VLAN标签值和接收端口号之前,上述环路检测装置进一步判断上述接收的检测报文是否合法;若上述接收的检测报文不合法,则丢弃上述检测报文,不执行上述提取SVLAN中接收端口所接收的检测报文中的VLAN标签值和接收端口号的步骤,并判断出上述SVLAN中不存在环路。通过本实施例,在进行环路检测之前,首先对检测报文的合法性进行判断,并只对合法的检测报文进行环路检测处理,从而节省了系统资源,以及优化了处理流程。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号