DRNI网络中基于VSI的环路检测方法及装置转让专利

申请号 : CN202210956917.3

文献号 : CN115333974B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张振陈清华

申请人 : 杭州云合智网技术有限公司

摘要 :

本发明实施例提供一种DRNI网络中基于VSI的环路检测方法及装置,方法包括:在第一DRNI组网中的各个Leaf节点上使能环路检测功能;其中,所述环路检测功能用于触发环路检测报文上送至CPU;在第一DRNI组网中的各个Leaf节点构造环路检测报文;所述环路检测报文在本身的VSI上广播发送,并会在第一隧道、各个AC接口上发送出;判断在预设时间内是否收到SMAC是本设备的环路检测报文;若从除内部控制链路端口外的其它面板口收到环路检测报文,则将基于本VSI的二层单播报文和广播报文都丢弃掉,解除掉环路。本发明能够检测出DRNI网络中VSI是否成环,在成环时通过block相关接口来解除VSI的环路。

权利要求 :

1.一种DRNI网络中基于VSI的环路检测方法,其特征在于,包括:在第一DRNI组网中的各个Leaf节点上使能环路检测功能;其中,所述环路检测功能用于触发环路检测报文上送至CPU;所述第一DRNI组网的共同IP与第二DRNI组网的共同IP建立第一隧道,第一DRNI组网通过DR接口和各个设备相连;第一DRNI组网和第二DRNI组网中的AC接口和隧道都绑定在同一个VSI中;

在第一DRNI组网中的各个Leaf节点构造环路检测报文;所述环路检测报文在本身的VSI上广播发送,并会在第一隧道、各个AC接口上发送出;

判断在预设时间内是否收到SMAC是本设备的环路检测报文;

若从除内部控制链路端口外的其它面板口收到环路检测报文,则将基于本VSI的二层单播报文和广播报文都丢弃掉,解除掉环路。

2.根据权利要求1所述的DRNI网络中基于VSI的环路检测方法,其特征在于,环路检测报文以太网头的封装格式,并包括如下字段:DMAC:报文的目的MAC地址,使用组播MAC地址010F‑E200‑8570;当设备使能了环路检测功能时,会将该目的地址的报文重定向到CPU处理,并在收到该报文的VSI内将原始报文广播一份;

SMAC:报文的源MAC地址,采用发送该报文的设备的桥MAC;

TPID:VLAN标签的类型,取值为0x8100;

VLAN:VLAN标签的具体值,具体内容包括优先级、VLAN ID;

Type:协议类型;

Data:数据为TLV的格式;所述Data包括如下内容:Chassis ID TLV、Slot ID TLV、VSI TLV、VLAN TLV、Port ID TLV和End of TLV。

3.根据权利要求1所述的DRNI网络中基于VSI的环路检测方法,其特征在于,解除掉环路具体包括:确认VSI内成环的虚接口,并解除环路;所述虚接口包括AC接口或隧道。

4.根据权利要求3所述的DRNI网络中基于VSI的环路检测方法,其特征在于,确认VSI内成环的虚接口,并解除环路,包括:在第一DRNI组网的各个Leaf节点上VSI相关的虚接口发送基于虚接口的探测报文;

当设备上从虚接口收到探测报文,查看探测报文中的SMAC,Chassis ID和SlotID是否是本设备的信息;

若否,则把收到的环路检测报文的虚接口信息添加到所述探测报文中并从各个Leaf节点之间的IPP口发送出去,从而转发到第一DRNI组网的其他设备;

若是,则说明环路检测报文的DATA中记录的虚接口与收到的探测报文的虚接口之间有关联即成环;按照预设的环路检测BLOCK优先级将相应的虚接口设置BLOCK;

检测完成之后将匹配VSI的二层单播报文和广播报文都丢弃的ACL删掉,VSI环路被解除。

5.根据权利要求4所述的DRNI网络中基于VSI的环路检测方法,其特征在于,环路检测Block优先级从高到低依次为:自己发出去的报文从自己收到,本虚接口优先BLOCK;

AC接口发出去的隧道能收到,同时隧道发的AC接口也能收到,优先AC接口设置BLOCK;

第一AC接口发送的第二AC接口收到,第二AC接口发送的第一AC接口收到,端口小的BLOCK;隧道发出去的从另一个隧道收到,隧道索引小的基于VSI设置BLOCK;

单向能收到,发送的虚接口设置BLOCK。

6.根据权利要求4所述的DRNI网络中基于VSI的环路检测方法,其特征在于,还包括:当关联虚接口状态发生变化时,则启动相关Block虚接口的探测流程;如第一隧道故障或者第一隧道与VSI解除绑定,则从第二AC接口发送基于虚接口的探测报文,如果预定没有收到该探测报文就将第二AC接口状态设置成Forward。

7.一种DRNI网络中基于VSI的环路检测装置,其特征在于,包括:环路检测使能单元,用于在第一DRNI组网中的各个Leaf节点上使能环路检测功能;其中,所述环路检测功能用于触发环路检测报文上送至CPU;所述第一DRNI组网的共同IP与第二DRNI组网的共同IP建立第一隧道,第一DRNI组网通过DR接口和各个设备相连;第一DRNI组网和第二DRNI组网中的AC接口和隧道都绑定在同一个VSI中;

检测报文构造单元,用于在第一DRNI组网中的各个Leaf节点构造环路检测报文;所述环路检测报文在本身的VSI上广播发送,并会在第一隧道、各个AC接口上发送出;

判断单元,用于判断在预设时间内是否收到SMAC是本设备的环路检测报文;

解除单元,用于若从除内部控制链路端口外的其它面板口收到环路检测报文,则将基于本VSI的二层单播报文和广播报文都丢弃掉,解除掉环路。

8.根据权利要求7所述的DRNI网络中基于VSI的环路检测装置,其特征在于,环路检测报文以太网头的封装格式,并包括如下字段:DMAC:报文的目的MAC地址,使用组播MAC地址010F‑E200‑8570;当设备使能了环路检测功能时,会将该目的地址的报文重定向到CPU处理,并在收到该报文的VSI内将原始报文广播一份;

SMAC:报文的源MAC地址,采用发送该报文的设备的桥MAC;

TPID:VLAN标签的类型,取值为0x8100;

VLAN:VLAN标签的具体值,具体内容包括优先级、VLAN ID;

Type:协议类型;

Data:数据为TLV的格式;所述Data包括如下内容:Chassis ID TLV、Slot ID TLV、VSI TLV、VLAN TLV、Port ID TLV和End of TLV。

9.根据权利要求7所述的DRNI网络中基于VSI的环路检测装置,其特征在于,解除单元,用于确认VSI内成环的虚接口,并解除环路;所述虚接口包括AC接口或隧道。

10.根据权利要求9所述的DRNI网络中基于VSI的环路检测装置,其特征在于,解除单元具体用于:在第一DRNI组网的各个Leaf节点上VSI相关的虚接口发送基于虚接口的探测报文;

当设备上从虚接口收到探测报文,查看探测报文中的SMAC,Chassis ID和Slot ID是否是本设备的信息;

若否,则把收到的环路检测报文的虚接口信息添加到所述探测报文中并从各个Leaf节点之间的IPP口发送出去,从而转发到第一DRNI组网的其他设备;

若是,则说明环路检测报文的DATA中记录的虚接口与收到的探测报文的虚接口之间有关联即成环;按照预设的环路检测BLOCK优先级将相应的虚接口设置BLOCK;

检测完成之后将匹配VSI的二层单播报文和广播报文都丢弃的ACL删掉,VSI环路被解除。

说明书 :

DRNI网络中基于VSI的环路检测方法及装置

技术领域

[0001] 本发明涉及计算机技术领域,具体而言,涉及一种DRNI网络中基于VSI的环路检测方法及装置。

背景技术

[0002] 普通聚合的链路只能够在一台设备上,且只能提供链路级的保护,当设备故障以后,普通聚合将无法工作,所以需要设备级保护的技术。
[0003] DRNI(Distributed Resilient Network Interconnect,分布式弹性网络互连)作为一种跨设备链路聚合的技术,其能够将两台物理设备在聚合层面虚拟成一台设备来实现跨设备链路聚合,从而提供设备级冗余保护和流量负载分担。除了具备增加带宽、提高链路可靠性、负载分担的优势外,DRNI还具备以下优势:
[0004] 可靠性高:把链路可靠性从单板级提高到了设备级。
[0005] 组网及配置简化:同时实现冗余备份,不再需要繁琐的生成树协议配置,极大地简化了组网及配置。
[0006] 独立升级:两台设备可以分别进行升级,保证有一台设备正常工作即可,对正在运行的业务几乎没有影响。
[0007] 如图1所示,Leaf1与Leaf2形成负载分担,共同进行流量转发,当其中一台设备发生故障时,流量可以快速切换到另一台设备,保证业务的正常运行。
[0008] 组网内的各个Leaf之间通过Spine三层联通,各个Leaf通过DRNI两台设备的共同IP建立隧道,但是和Leaf相连的设备比较多样,如图1所示,Device2和Device3存在互联的情况,很有可能会形成环路,从而造成流量风暴。

发明内容

[0009] 有鉴于此,本发明的目的在于提供一种DRNI网络中基于VSI的环路检测方法及装置,以改善上述问题。
[0010] 本发明实施例提供了一种DRNI网络中基于VSI的环路检测方法,其包括:
[0011] 在第一DRNI组网中的各个Leaf节点上使能环路检测功能;其中,所述环路检测功能用于触发环路检测报文上送至CPU;所述第一DRNI组网的共同IP与第二DRNI组网的共同IP建立第一隧道,第一DRNI组网通过DR接口和各个设备相连;第一DRNI组网和第二DRNI组网中的AC接口和隧道都绑定在同一个VSI中;
[0012] 在第一DRNI组网中的各个Leaf节点构造环路检测报文;所述环路检测报文在本身的VSI上广播发送,并会在第一隧道、各个AC接口上发送出;
[0013] 判断在预设时间内是否收到SMAC是本设备的环路检测报文;
[0014] 若从除内部控制链路端口外的其它面板口收到环路检测报文,则将基于本VSI的二层单播报文和广播报文都丢弃掉,解除掉环路。
[0015] 优选地,环路检测报文以太网头的封装格式,并包括如下字段:
[0016] DMAC:报文的目的MAC地址,使用组播MAC地址010F‑E200‑8570;当设备使能了环路检测功能时,会将该目的地址的报文重定向到CPU处理,并在收到该报文的VSI内将原始报文广播一份;
[0017] SMAC:报文的源MAC地址,采用发送该报文的设备的桥MAC;
[0018] TPID:VLAN标签的类型,取值为0x8100;
[0019] VLAN:VLAN标签的具体值,具体内容包括优先级、VLAN ID;
[0020] Type:协议类型;
[0021] Data:数据为TLV的格式;所述Data包括如下内容:Chassis ID TLV、Slot ID TLV、VSI TLV、VLAN TLV、Port ID TLV和End of TLV。
[0022] 优选地,解除掉环路包括:
[0023] 确认VSI内成环的虚接口,并解除环路;所述虚接口包括AC接口或隧道。
[0024] 优选地,确认VSI内成环的虚接口;所述虚接口包括AC接口或隧道,包括:
[0025] 在第一DRNI组网的各个Leaf节点上VSI相关的虚接口发送基于虚接口的探测报文;
[0026] 当设备上从虚接口收到探测报文,查看探测报文中的SMAC,Chassis ID和Slot ID是否是本设备的信息;
[0027] 若否,则把收到的环路检测报文的虚接口信息添加到所述探测报文中并从各个Leaf节点之间的IPP口发送出去,从而转发到第一DRNI组网的其他设备;
[0028] 若是,则说明环路检测报文的DATA中记录的虚接口与收到的探测报文的虚接口之间有关联即成环;按照预设的环路检测BLOCK优先级将相应的虚接口设置BLOCK;
[0029] 检测完成之后将匹配VSI的二层单播报文和广播报文都丢弃的ACL删掉,VSI环路被解除。
[0030] 优选地,环路检测Block优先级从高到低依次为:
[0031] 自己发出去的报文从自己收到,本虚接口优先BLOCK;
[0032] AC接口发出去的隧道能收到,同时隧道发的AC接口也能收到,优先AC接口设置BLOCK;
[0033] 第一AC接口发送的第二AC接口收到,第二AC接口发送的第一AC接口收到,端口小的BLOCK;隧道发出去的从另一个隧道收到,隧道索引小的基于VSI设置BLOCK;
[0034] 单向能收到,发送的虚接口设置BLOCK。
[0035] 优选地,还包括:
[0036] 当关联虚接口状态发生变化时,则启动相关Block虚接口的探测流程;如第一隧道故障或者第一隧道与VSI解除绑定,则立刻从第二AC接口发送基于虚接口的探测报文,如果预定没有收到该探测报文就将第二AC接口状态设置成Forward。
[0037] 本发明实施例还提供了一种DRNI网络中基于VSI的环路检测装置,其包括:
[0038] 环路检测使能单元,用于在第一DRNI组网中的各个Leaf节点上使能环路检测功能;其中,所述环路检测功能用于触发环路检测报文上送至CPU;所述第一DRNI组网的共同IP与第二DRNI组网的共同IP建立第一隧道,第一DRNI组网通过DR接口和各个设备相连;第一DRNI组网和第二DRNI组网中的AC接口和隧道都绑定在同一个VSI中;
[0039] 检测报文构造单元,用于在第一DRNI组网中的各个Leaf节点构造环路检测报文;所述环路检测报文在本身的VSI上广播发送,并会在第一隧道、各个AC接口上发送出;
[0040] 判断单元,用于判断在预设时间内是否收到SMAC是本设备的环路检测报文;
[0041] 解除单元,用于若从除内部控制链路端口外的其它面板口收到环路检测报文,则将基于本VSI的二层单播报文和广播报文都丢弃掉,解除掉环路。
[0042] 优选地,环路检测报文以太网头的封装格式,并包括如下字段:
[0043] DMAC:报文的目的MAC地址,使用组播MAC地址010F‑E200‑8570;当设备使能了环路检测功能时,会将该目的地址的报文重定向到CPU处理,并在收到该报文的VSI内将原始报文广播一份;
[0044] SMAC:报文的源MAC地址,采用发送该报文的设备的桥MAC;
[0045] TPID:VLAN标签的类型,取值为0x8100;
[0046] VLAN:VLAN标签的具体值,具体内容包括优先级、VLAN ID;
[0047] Type:协议类型;
[0048] Data:数据为TLV的格式;所述Data包括如下内容:Chassis ID TLV、Slot ID TLV、VSI TLV、VLAN TLV、Port ID TLV和End of TLV。
[0049] 优选地,解除单元具体用于:确认VSI内成环的虚接口,并解除环路;所述虚接口包括AC接口或隧道。
[0050] 优选地,解除单元具体用于:
[0051] 在第一DRNI组网的各个Leaf节点上VSI相关的虚接口发送基于虚接口的探测报文;
[0052] 当设备上从虚接口收到探测报文,查看探测报文中的SMAC,Chassis ID和Slot ID是否是本设备的信息;
[0053] 若否,则把收到的环路检测报文的虚接口信息添加到所述探测报文中并从各个Leaf节点之间的IPP口发送出去,从而转发到第一DRNI组网的其他设备;
[0054] 若是,则说明环路检测报文的DATA中记录的虚接口与收到的探测报文的虚接口之间有关联即成环;按照预设的环路检测BLOCK优先级将相应的虚接口设置BLOCK;
[0055] 检测完成之后将匹配VSI的二层单播报文和广播报文都丢弃的ACL删掉,VSI环路被解除。
[0056] 优选地,环路检测Block优先级从高到低依次为:
[0057] 自己发出去的报文从自己收到,本虚接口优先BLOCK;
[0058] AC接口发出去的隧道能收到,同时隧道发的AC接口也能收到,优先AC接口设置BLOCK;
[0059] 第一AC接口发送的第二AC接口收到,第二AC接口发送的第一AC接口收到,端口小的BLOCK;隧道发出去的从另一个隧道收到,隧道索引小的基于VSI设置BLOCK;
[0060] 单向能收到,发送的虚接口设置BLOCK。
[0061] 综上所述,本实施例能够检查出DRNI组网中是否存在环路,并通过BLOCK相关的接口来解除环路。当DRNI环境有变化的时候快速的响应,更新相关接口状态以保证流量正常转发。

附图说明

[0062] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0063] 图1是DRNI网络的整体架构图。
[0064] 图2是本发明第一实施例提供的DRNI网络中基于VSI的环路检测方法的流程示意图。
[0065] 图3是本发明第一实施例提供的DRNI网络的网络架构图。
[0066] 图4是环路检测报文的报文格式示意图。
[0067] 图5是环路探测报文Data格式示意图。
[0068] 图6是TLV格式示意图。
[0069] 图7是End Of TLV格式示意图。
[0070] 图8是环路检测示意图。
[0071] 图9是本发明第二实施例提供的DRNI网络中基于VSI的环路检测装置的结构示意图。

具体实施方式

[0072] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0073] 为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
[0074] 应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0075] 在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
[0076] 下面结合附图与具体实施方式对本发明作进一步详细描述:
[0077] 请一并参阅图2及图3,本发明第一实施例提供了一种DRNI网络中基于VSI的环路检测方法,其包括:
[0078] S101,在第一DRNI组网中的各个Leaf节点上使能环路检测功能;其中,所述环路检测功能用于触发环路检测报文上送至CPU;所述第一DRNI组网的共同IP与第二DRNI组网的共同IP建立第一隧道,第一DRNI组网通过DR接口和各个设备相连;第一DRNI组网和第二DRNI组网中的AC接口和隧道都绑定在同一个VSI中。
[0079] 在本实施例中,以图3为例,DRNI网络中包括第一DRNI组网10以及第二DRNI组网20,第一DRNI组网10中包括第一Leaf节点11以及第二Leaf节点12,第二DRNI组网20中包括第三Leaf节点21以及第二Leaf节点22,第一DRNI组网10的共同IP和第二DRNI组网20的共同IP建立第一隧道,DRNI通过DR接口(Distributed Relay interface,分布式聚合接口)和各个设备(即图3中的第一设备31、第二设备32、第三设备33以及第四设备34)相连;DRNI网络中的各个AC接口和第一隧道都绑定在同一个VSI中(VSI关联的Vxlan ID一样)。组网内的各个Leaf节点之间通过Spine三层联通。
[0080] 当然,需要说明的是,在本发明的其他实施例中,DRNI组网的数目以及一个DRNI组网内的Leaf节点的数目可以根据实际的需要进行设置,本发明不做具体限定。
[0081] S102,在第一DRNI组网中的各个Leaf节点构造环路检测报文;所述环路检测报文在本身的VSI上广播发送,并会在第一隧道、各个AC接口上发送出;
[0082] S103,判断在预设时间内是否收到SMAC是本设备的环路检测报文。
[0083] 若否则说明没有形成环路。
[0084] S104,若从除内部控制链路端口外的其它面板口收到环路检测报文,则将基于本VSI的二层单播报文和广播报文都丢弃掉,解除掉环路。
[0085] 在本实施例中,为了检测组网中是否有环路,首先在第一DRNI组网10中的第一Leaf节点11以及第二Leaf节点12上使能环路检测功能。该操作会下发使环路检测报文上送CPU的acl,具体的是通过匹配Ethernet type和DMAC把环路检测报文上送到CPU。
[0086] 然后,在第一Leaf节点11以及第二Leaf节点12上构造环路检测报文。
[0087] 其中,如图4所示,环路检测报文以太网头的封装格式,其中各字段的解释如下:
[0088] DMAC:报文的目的MAC地址,使用组播MAC地址010F‑E200‑8570。当设备使能了环路检测功能时,会将该目的地址的报文重定向到CPU处理,并在收到该报文的VSI内将原始报文广播一份。
[0089] SMAC:报文的源MAC地址,采用发送该报文的设备的桥MAC。
[0090] TPID:VLAN标签的类型,取值可为0x8100。
[0091] VLAN:VLAN标签的具体值,具体内容为优先级、VLAN ID等。
[0092] Type:协议类型,取值为0x8570,该值可根据实际情况进行调整。
[0093] Data:数据为TLV的格式,内容如图5所示。
[0094] 其中,TLV的格式,即type+lenght+value的格式,type表示TLV的类型,length是以字节为单位的TLV的长度,value是该TLV的值。其中End Of TLV是强制的,必须包含的部分,除此之外在End Of TLV之前可以包含1个到多个可选的其它TLV。TLV格式如图6所示。
[0095] TLV的TYPE定义如下表1所示:
[0096] 表1
[0097]
[0098]
[0099] 其中,对于Mandatory的TLV是DATA必须包含的部分。End Of TLV格式如图7所示。
[0100] 在本实施例中,在构建好上述的环路检测报文后,在本组网的VSI上广播发送,环路检测报文会在第一隧道,第一AC接口41和第二AC接口42上发送出。如果在预定时间(如1秒)内没有收到SMAC是本设备的环路检测报文,就认为没有环路。如果从除PP(Intra‑Portal Port,内部控制链路端口)端口外的其它面板口收到环路检测报文(SMAC是第一Leaf节点11或者第二Leaf节点12的桥MAC),则要下一个ACL将基于本VSI的二层单播报文和广播报文都丢弃掉,解除掉环路。其中,通过如下方式来进行环路的解除:
[0101] 首先,确认VSI内成环的虚接口,在第一DRNI组网的各个Leaf节点上VSI相关的虚接口发送基于虚接口的探测报文;
[0102] 然后,当设备上从虚接口收到探测报文,查看探测报文中的SMAC,Chassis ID和Slot ID是否是本设备的信息;
[0103] 若否,则把收到的环路检测报文的虚接口信息添加到所述探测报文中并从各个Leaf节点之间的IPP口发送出去,从而转发到第一DRNI组网的其他设备;
[0104] 若是,则说明环路检测报文的DATA中记录的虚接口与收到的探测报文的虚接口之间有关联即成环;按照预设的环路检测BLOCK优先级将相应的虚接口设置BLOCK。
[0105] 如图8所示,第二AC接口42发出去的探测报文从第一隧道上收到,第一隧道发出去的探测报文从第二AC接口42上收到,则将第二AC接口42设置成Block,并记录第二AC接口42关联的虚接口为第一隧道。
[0106] 其中,环路检测Block优先级从高到低依次为:
[0107] 自己发出去的报文从自己收到,本虚接口优先BLOCK;
[0108] AC接口发出去的隧道能收到,同时隧道发的AC接口也能收到,优先AC接口设置BLOCK;
[0109] 第一AC接口发送的第二AC接口收到,第二AC接口发送的第一AC接口收到,端口小的BLOCK;隧道发出去的从另一个隧道收到,隧道索引小的基于VSI设置BLOCK;
[0110] 单向能收到,发送的虚接口设置BLOCK。
[0111] 检测完成之后将匹配VSI的二层单播报文和广播报文都丢弃的ACL删掉,VSI环路被解除,如此流量能够正常转发。
[0112] 在本实施例中,当关联虚接口状态发生变化时,则立刻启动相关Block虚接口的探测流程。如第一隧道故障或者第一隧道与VSI解除绑定,则立刻从第二AC接口发送基于虚接口的探测报文,如果1秒内没有收到该报文就将第二AC接口状态设置成Forward。
[0113] 综上所述,本实施例能够检查出DRNI组网中是否存在环路,并通过BLOCK相关的接口来解除环路。当DRNI环境有变化的时候快速的响应,更新相关接口状态以保证流量正常转发。
[0114] 请参阅图9,本发明第二实施例还提供了一种DRNI网络中基于VSI的环路检测装置,其包括:
[0115] 环路检测使能单元210,用于在第一DRNI组网中的各个Leaf节点上使能环路检测功能;其中,所述环路检测功能用于触发环路检测报文上送至CPU;所述第一DRNI组网的共同IP与第二DRNI组网的共同IP建立第一隧道,第一DRNI组网通过DR接口和各个设备相连;第一DRNI组网和第二DRNI组网中的AC接口和隧道都绑定在同一个VSI中;
[0116] 检测报文构造单元220,用于在第一DRNI组网中的各个Leaf节点构造环路检测报文;所述环路检测报文在本身的VSI上广播发送,并会在第一隧道、各个AC接口上发送出;
[0117] 判断单元230,用于判断在预设时间内是否收到SMAC是本设备的环路检测报文;
[0118] 解除单元240,用于若从除内部控制链路端口外的其它面板口收到环路检测报文,则将基于本VSI的二层单播报文和广播报文都丢弃掉,解除掉环路。
[0119] 优选地,环路检测报文以太网头的封装格式,并包括如下字段:
[0120] DMAC:报文的目的MAC地址,使用组播MAC地址010F‑E200‑8570;当设备使能了环路检测功能时,会将该目的地址的报文重定向到CPU处理,并在收到该报文的VSI内将原始报文广播一份;
[0121] SMAC:报文的源MAC地址,采用发送该报文的设备的桥MAC;
[0122] TPID:VLAN标签的类型,取值为0x8100;
[0123] VLAN:VLAN标签的具体值,具体内容包括优先级、VLAN ID;
[0124] Type:协议类型;
[0125] Data:数据为TLV的格式;所述Data包括如下内容:Chassis ID TLV、Slot ID TLV、VSI TLV、VLAN TLV、Port ID TLV和End of TLV。
[0126] 优选地,解除单元,用于确认VSI内成环的虚接口,并解除环路;所述虚接口包括AC接口或隧道。
[0127] 优选地,解除单元具体用于:
[0128] 在第一DRNI组网的各个Leaf节点上VSI相关的虚接口发送基于虚接口的探测报文;
[0129] 当设备上从虚接口收到探测报文,查看探测报文中的SMAC,Chassis ID和Slot ID是否是本设备的信息;
[0130] 若否,则把收到的环路检测报文的虚接口信息添加到所述探测报文中并从各个Leaf节点之间的IPP口发送出去,从而转发到第一DRNI组网的其他设备;
[0131] 若是,则说明环路检测报文的DATA中记录的虚接口与收到的探测报文的虚接口之间有关联即成环;按照预设的环路检测BLOCK优先级将相应的虚接口设置BLOCK;
[0132] 检测完成之后将匹配VSI的二层单播报文和广播报文都丢弃的ACL删掉,VSI环路被解除。
[0133] 优选地,环路检测Block优先级从高到低依次为:
[0134] 自己发出去的报文从自己收到,本虚接口优先BLOCK;
[0135] AC接口发出去的隧道能收到,同时隧道发的AC接口也能收到,优先AC接口设置BLOCK;
[0136] 第一AC接口发送的第二AC接口收到,第二AC接口发送的第一AC接口收到,端口小的BLOCK;隧道发出去的从另一个隧道收到,隧道索引小的基于VSI设置BLOCK;
[0137] 单向能收到,发送的虚接口设置BLOCK。
[0138] 在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0139] 另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0140] 所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random AcCE节点ss Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0141] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。