端口阻断方法和路由设备的制作方法

文档序号:7846934阅读:136来源:国知局
专利名称:端口阻断方法和路由设备的制作方法
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种端口阻断方法和路由设备。
背景技术
随着当前虚拟专用局域网服务(Virtual Private Local Area Network Service ; 以下简称VPLS)的二层网络在欧洲为主流的城域网方案,媒体接入控制摆动(Media Access Control Flapping ;以下简称MAC-Flapping)技术是VPLS网络中非常重要的环路保护措施,是一种通过媒体接入控制(Media Access Control ;以下简称MAC)地址的出端口跳变来检查网络异常的技术。一个MAC地址唯一标识一台设备,在一台设备通过VPLS网络访问因特网(Internet)时,正常情况下都会从某个接入电路(Attachment Circuit;以下简称AC)端口接入VPLS网络,上述设备的MAC地址会从该AC端口被学习到,该AC端口就是上述设备的MAC地址的出端口,一般情况下,上述设备的MAC地址与该MAC地址的出端口是非常稳定的,如果发现某个MAC地址的出端口发生多次出端口跳变,即该MAC地址的出端口由一个端口变为另一个端口,就说明该VPLS网络中有接入点出现环路了。VPLS网络接入点环路有多种情况单端口环路、单设备多端口环路和/或多设备环路。当VPLS网络中有接入点出现环路时,数据流的源MAC地址会被反复从多个端口学习,MAC-Flapping技术就是去感知这种跳变,如果发现在一定时间例如3秒内,一个MAC地址的出端口发生了至少两次或三次跳变,就可以认为产生环路了。为了防止误判,现有技术定义分别对连续N(N = 4,7,10)个周期发生跳变的AC端口进行阻断,不同的N代表不同的优先级。现有技术将担任过一个MAC地址的出端口全部端口都记录下来,然后到4个周期 (例如12秒)时对记录的全部端口进行判断,阻断上述全部端口中低优先级的端口。如果该MAC地址的出端口还在跳变,则到7个周期(例如21秒)时再对记录的担任过该MAC地址的出端口的全部端口进行判断,阻断中等优先级的端口。最后如果该MAC地址的出端口还在跳变,则到10个周期(例如30秒)时再对记录的担任过该MAC地址的出端口的全部端口进行判断,阻断高优先级的端口。但是,现有技术不具备甄别环路点的能力,只能按照优先级机械地执行阻断任务, 如果环路点在一个高优先级端口,同一个虚拟交换实例(Virtual Switch distance;以下简称VSI)中所有的低优先级端口都会被误阻断,多个无环路设备都会受影响。

发明内容
本发明的一方面提供一种端口阻断方法和路由设备,以实现通过设置信任端口, 精确阻断环路点所在的端口。本发明的一方面提供一种端口阻断方法,包括路由设备确定第一出端口在第一预设时间段内持续担任第一媒体接入控制MAC 地址的出端口;
所述路由设备确定所述第一出端口为所述第一 MAC地址的信任端口 ;所述路由设备确定所述第一 MAC地址的出端口在第二预设时间段内在所述第一出端口和至少一个除所述第一出端口之外的出端口之间发生多次出端口跳变,其中,所述出端口跳变为所述第一 MAC地址的出端口由一个端口变为另一个端口;所述路由设备确定担任过所述第一 MAC地址的出端口的全部端口 ;所述路由设备将所述担任过所述第一 MAC地址的出端口的全部端口中除伪线 (Pseudo Wire ;以下简称PW)端口和所述信任端口之外的全部AC出端口阻断。本发明的一方面提供一种路由设备,包括第一确定单元,用于确定第一出端口在第一预设时间段内持续担任第一媒体接入控制MAC地址的出端口 ;第二确定单元,用于确定所述第一出端口为所述第一 MAC地址的信任端口 ;第三确定单元,用于确定所述第一 MAC地址的出端口在第二预设时间段内在所述第一出端口和至少一个除所述第一出端口之外的出端口之间发生多次出端口跳变,其中, 所述出端口跳变为所述第一 MAC地址的出端口由一个端口变为另一个端口 ;第四确定单元,用于确定担任过所述第一 MAC地址的出端口的全部端口 ;阻断单元,用于将所述担任过所述第一 MAC地址的出端口的全部端口中除伪线PW 端口和所述信任端口之外的全部AC出端口阻断。通过本发明的一方面可知,在路由设备确定第一出端口在第一预设时间段内持续担任第一MAC地址的出端口之后,该路由设备确定第一出端口为第一MAC地址的信任端口 ; 在上述路由设备确定第一 MAC地址的出端口在第二预设时间段内在第一出端口和至少一个除第一出端口之外的出端口之间发生多次出端口跳变之后,该路由设备确定担任过第一 MAC地址的出端口的全部端口,将担任过第一 MAC地址的出端口的全部端口中除PW端口和上述信任端口之外的全部AC出端口阻断。从而可以实现在MAC地址的出端口发生跳变时, 精确阻断造成环路的端口。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明一个实施例的端口阻断方法流程图;图2为本发明一个实施例的VPLS网络示意图;图3为本发明一个实施例的VPLS网络示意图;图4为本发明一个实施例的端口阻断方法流程图;图5为本发明一个实施例的路由设备结构示意图;图6为本发明一个实施例的路由设备结构示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明一个实施例的端口阻断方法流程图,如图1所示,该端口阻断方法可以包括步骤101,路由设备确定第一出端口在第一预设时间段内持续担任第一 MAC地址的出端口。优选地,路由设备可以记录将第一出端口学习为第一 MAC地址的出端口的第一时间,获取接收到用于刷新MAC转发表中第一 MAC地址的出端口的MAC刷新消息的第二时间; 在确定第二时间与第一时间的差值大于或等于第一预设时间段之后,该路由设备可以确定第一出端口在第一预设时间段内持续担任第一 MAC地址的出端口。其中,上述MAC刷新消息用于防止第一 MAC地址的出端口被老化。其中,将第一出端口学习为第一MAC地址的出端口可以包括在路由设备的MAC转发表中不存在第一 MAC地址的出端口时,路由设备将第一出端口学习为第一 MAC地址的出端口 ;或者,在路由设备的MAC转发表中存在作为第一 MAC地址的出端口的第二出端口时, 路由设备将第一出端口学习为第一 MAC地址的出端口,并删除第二出端口,其中第一出端口和第二出端口是不同的端口。本实施例中,第一预设时间段的取值可以为MAC地址的2个老化周期,当然本发明实施例并不仅限于此,也可以取1、3、4、5或10个老化周期。上述第一预设时间段的取值可以根据实际需要自行设定,本发明实施例对此不作限定。步骤102,路由设备确定第一出端口为第一 MAC地址的信任端口。步骤103,路由设备确定第一 MAC地址的出端口在第二预设时间段内在第一出端口和至少一个除第一出端口之外的出端口之间发生多次出端口跳变,其中,出端口跳变为第一 MAC地址的出端口由一个端口变为另一个端口。优选地,路由设备可以根据MAC-Flapping机制确定上述第一 MAC地址的出端口在第二预设时间段内在第一出端口和至少一个除第一出端口之外的出端口之间发生多次出端口跳变。例如,当VPLS网络中有接入点出现环路时,路由设备针对一个数据流的源MAC 地址会反复学习到多个出端口,也就是说,上述源MAC地址的出端口在多个出端口之间反复跳变,MAC-Flapping技术可以感知这种跳变。本实施例中,上述第二预设时间段的取值可以为0. 5秒、1秒、2秒、3秒、4秒、5秒、 10秒或15秒等,本实施例对第二预设时间段的取值不作限定。步骤104,路由设备确定担任过第一 MAC地址的出端口的全部端口。步骤105,路由设备将担任过第一 MAC地址的出端口的全部端口中除PW端口和上述信任端口之外的全部AC出端口阻断。优选地,本实施例中,可以设置MAC软件表,该MAC软件表包括时间字段、信任端口存在标志位字段和信任端口取值字段。上述MAC软件表保存在路由设备的接口板控制层面,不需下发到MAC地址转发表。这样,路由设备记录将第一出端口学习为第一 MAC地址的出端口的第一时间可以包括路由设备将上述时间字段的值设置为将第一出端口学习为第一 MAC地址的出端口的第一时间。
优选地,路由设备确定第一 AC出端口为第一 MAC地址的信任端口之后,该路由设备还可以将上述信任端口存在标志位字段的值设置为表示存在信任端口的数值,并将上述信任端口取值字段的值设置为第一出端口。其中,表示存在信任端口的数值可以为“ 1 ”,当然本发明实施例并不仅限于此,上述信任标识也可为其他数字、字符或字符串等,本发明实施例对此不作限定。本实施例中的路由设备可以为面向用户侧的提供商边缘设备 (User-facing-Provider Edge ;以下简称UPE)或路由器等具有路由功能的设备,本发明实施例对路由设备的具体形态不作限定。上述实施例中,在路由设备确定第一出端口在第一预设时间段内持续担任第一 MAC地址的出端口之后,该路由设备确定第一出端口为第一 MAC地址的信任端口 ;在上述路由设备确定第一 MAC地址的出端口在第二预设时间段内在第一出端口和至少一个除第一出端口之外的出端口之间发生多次出端口跳变之后,该路由设备确定担任过第一 MAC地址的出端口的全部端口,将担任过第一 MAC地址的出端口的全部端口中除PW端口和上述信任端口之外的全部AC出端口阻断。从而可以实现在MAC地址的出端口发生跳变时,精确阻断环路点所在的端口。本发明实施例提供的端口阻断方法可以应用于图2或图3所示的VPLS网络中,图 2为本发明一个实施例的VPLS网络示意图,图3为本发明一个实施例的VPLS网络示意图。 图2所示的VPLS网络中包括UPEl和UPE2,图3所示的VPLS网络中包括UPE1、UPE2、...、 UPEN、UPEN+1。图2显示了出现环路时流量在AC端口之间跳变的情况,图3显示了出现环路时流量在AC端口和PW端口之间跳变的情况。由于有了信任端口,MAC地址的出端口发生跳变之后,MAC地址的新出端口和该MAC地址的原出端口之间的关系最多可能有4种组合,如表 1所示。表 权利要求
1.一种端口阻断方法,其特征在于,包括路由设备确定第一出端口在第一预设时间段内持续担任第一媒体接入控制MAC地址的出端口 ;所述路由设备确定所述第一出端口为所述第一 MAC地址的信任端口 所述路由设备确定所述第一 MAC地址的出端口在第二预设时间段内在所述第一出端口和至少一个除所述第一出端口之外的出端口之间发生多次出端口跳变,其中,所述出端口跳变为所述第一 MAC地址的出端口由一个端口变为另一个端口;所述路由设备确定担任过所述第一 MAC地址的出端口的全部端口 ;所述路由设备将所述担任过所述第一 MAC地址的出端口的全部端口中除伪线PW端口和所述信任端口之外的全部AC出端口阻断。
2.根据权利要求1所述的方法,其特征在于,所述路由设备确定第一出端口在第一预设时间段内持续担任第一媒体接入控制MAC地址的出端口包括所述路由设备记录将所述第一出端口学习为所述第一 MAC地址的出端口的第一时间;所述路由设备获取接收到用于刷新MAC转发表中所述第一 MAC地址的出端口的MAC刷新消息的第二时间;所述路由设备确定所述第二时间与所述第一时间的差值大于或等于所述第一预设时间段;所述路由设备确定所述第一出端口在所述第一预设时间段内持续担任所述第一 MAC 地址的出端口。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一出端口学习为所述第一 MAC地址的出端口包括在所述路由设备的MAC转发表中不存在所述第一 MAC地址的出端口时,所述路由设备将所述第一出端口学习为所述第一 MAC地址的出端口 ;或者,在所述路由设备的MAC转发表中存在作为所述第一 MAC地址的出端口的第二出端口时,所述路由设备将所述第一出端口学习为所述第一 MAC地址的出端口,并删除所述第二出端口,其中所述第一出端口和所述第二出端口是不同的端口。
4.根据权利要求2至3任意一项所述的方法,其特征在于,还包括设置MAC软件表,所述MAC软件表包括时间字段、信任端口存在标志位字段和信任端口取值字段。
5.根据权利要求4所述的方法,其特征在于,所述路由设备记录将所述第一出端口学习为所述第一 MAC地址的出端口的第一时间包括所述路由设备将所述时间字段的值设置为将所述第一出端口学习为所述第一 MAC地址的出端口的第一时间。
6.根据权利要求4或5所述的方法,其特征在于,所述路由设备确定所述第一出端口为所述第一 MAC地址的信任端口之后,还包括所述路由设备将所述信任端口存在标志位字段的值设置为表示存在所述信任端口的数值,并将所述信任端口取值字段的值设置为所述第一 AC出端口。
7.根据权利要求1至6任意一项所述的方法,其特征在于,所述路由设备确定所述第一 MAC地址的出端口在第二预设时间段内在所述第一出端口和至少一个除所述第一出端口之外的出端口之间发生多次出端口跳变包括所述路由设备根据媒体接入控制摆动MAC-Flapping机制确定所述第一 MAC地址的出端口在所述第二预设时间段内在所述第一出端口和至少一个除所述第一出端口之外的出端口之间发生多次出端口跳变。
8.—种路由设备,其特征在于,包括第一确定单元,用于确定第一出端口在第一预设时间段内持续担任第一媒体接入控制 MAC地址的出端口 ;第二确定单元,用于确定所述第一出端口为所述第一 MAC地址的信任端口 ;第三确定单元,用于确定所述第一 MAC地址的出端口在第二预设时间段内在所述第一出端口和至少一个除所述第一出端口之外的出端口之间发生多次出端口跳变,其中,所述出端口跳变为所述第一 MAC地址的出端口由一个端口变为另一个端口 ;第四确定单元,用于确定担任过所述第一 MAC地址的出端口的全部端口 ;阻断单元,用于将所述担任过所述第一 MAC地址的出端口的全部端口中除伪线PW端口和所述信任端口之外的全部AC出端口阻断。
9.根据权利要求8所述的路由设备,其特征在于,所述第一确定单元包括记录子单元,用于记录将所述第一出端口学习为所述第一 MAC地址的出端口的第一时间;获取子单元,用于获取接收到用于刷新MAC转发表中所述第一 MAC地址的出端口的MAC 刷新消息的第二时间;确定子单元,用于确定所述第二时间与所述第一时间的差值大于或等于所述第一预设时间段,以及确定所述第一出端口在所述第一预设时间段内持续担任所述第一 MAC地址的出端口。
10.根据权利要求9所述的路由设备,其特征在于,还包括学习单元,用于在所述路由设备的MAC转发表中不存在所述第一 MAC地址的出端口时, 将所述第一出端口学习为所述第一MAC地址的出端口 ;或者,在所述路由设备的MAC转发表中存在作为所述第一 MAC地址的出端口的第二出端口时,将所述第一出端口学习为所述第一 MAC地址的出端口,并删除所述第二出端口,其中所述第一出端口和所述第二出端口是不同的端口。
11.根据权利要求8至10任意一项所述的路由设备,其特征在于,还包括设置单元,用于设置MAC软件表,所述MAC软件表包括时间字段、信任端口存在标志位字段和信任端口取值字段。
12.根据权利要求11所述的路由设备,其特征在于,所述记录子单元,具体用于将所述时间字段的值设置为将所述第一出端口学习为所述第一 MAC地址的出端口的第一时间。
13.根据权利要求11或12所述的路由设备,其特征在于,所述设置单元,具体用于在所述第二确定单元确定所述第一出端口为所述第一 MAC地址的信任端口之后,将所述信任端口存在标志位字段的值设置为表示存在所述信任端口的数值,并将所述信任端口取值字段的值设置为所述第一出端口。
14.根据权利要求8-13任意一项所述的路由设备,其特征在于,所述第三确定单元,具体用于根据媒体接入控制摆动MAC-Flapping机制确定所述第一 MAC地址的出端口在所述第二预设时间段内在所述第一出端口和至少一个除所述第一出端口之外的出端口之间发生多次出端口跳变。
全文摘要
本发明的实施例提供一种端口阻断方法和路由设备,该端口阻断方法包括路由设备确定第一出端口在第一预设时间段内持续担任第一媒体接入控制MAC地址的出端口,确定第一出端口为第一MAC地址的信任端口;确定第一MAC地址的出端口在第二预设时间段内发生多次出端口跳变,确定担任过第一MAC地址的出端口的全部端口;将全部端口中除PW端口和信任端口之外的全部AC出端口阻断。本发明可以实现在MAC地址的出端口发生跳变时,精确阻断环路点所在的端口。
文档编号H04L29/12GK102334315SQ201180001414
公开日2012年1月25日 申请日期2011年8月9日 优先权日2011年8月9日
发明者杨名 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1