CN110430131B - 一种报文转发方法及装置 - Google Patents
一种报文转发方法及装置 Download PDFInfo
- Publication number
- CN110430131B CN110430131B CN201910678982.2A CN201910678982A CN110430131B CN 110430131 B CN110430131 B CN 110430131B CN 201910678982 A CN201910678982 A CN 201910678982A CN 110430131 B CN110430131 B CN 110430131B
- Authority
- CN
- China
- Prior art keywords
- value
- table entry
- path
- target
- next hop
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- 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/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- 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/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种报文转发方法及装置,该方法包括:当检测到路径故障时,将目标故障切换表项的开关位的值由第一值更新为第二值;当接收到报文,且根据所述报文查询到的二级下一跳索引为所述目标二级下一跳索引时,根据所述目标故障切换表项的开关位的值,确定对应的目标二级下一跳表项,并根据所述目标二级下一跳表项对所述报文进行转发。应用本发明实施例可以减少路径故障导致的报文丢失。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种报文转发方法及装置。
背景技术
VPN(Virtual Private Network,虚拟专用网)是在Internet(互联网)上临时建立的安全专用虚拟网络,在降低使用成本、增加扩展性、增强安全性方面都给使用者带来了巨大的收益。
VPN包括L2VPN(Layer 2VPN,二层VPN)和L3VPN(三层VPN)两个分支。L3VPN业务采用类似于传统路由的方式进行IP分组的转发。在路由器接收到IP报文后,在转发表中查找IP报文的目的地址,使用预先建立的通道进行IP报文跨网络的传送。
在L3VPN组网中,PE(Provider Edge,服务提供商网络边缘)设备之间建立L3VPN网络,CE(Customer Edge,用户网络边缘)设备之间建立VPN的私有网络。
为了感知用户网络,PE设备和CE设备需要进行路由信息的交互。CE设备可以将VPN路由发布给本端PE设备,由本端PE设备发布给远端PE设备。本端PE设备将VPN路由发布给远端PE设备时,会给该VPN路由封装一个私网标签以及一个隧道标签。其中,私网标签用于标识VPN,隧道标签用于标识LSP(Label Switching Path,标签交换路径)。若PE设备之间存在多条路径,则该多条路径可以形成路由等价,在进行报文转发时,可以将报文均匀Hash(散列)到每条路径上。
目前,PE设备上的转发引擎的报文转发流程如下:转发引擎接收到报文时,查找路由,得到一个ECMP(Equal-Cost Multipath Routing,等价路由)索引,根据该ECMP索引找到ECMP硬件表项后,可以得到多个一级NH(Nexthop,下一跳)索引,并根据一级NH索引找到对应的一级NH表项,一级NH表项中包括私网标签和下一级NH索引(可以称为二级NH索引);根据二级NH索引,可以找到二级NH表项,二级NH表项中包括出端口和封装(encap)信息索引,根据该封装信息索引可以找到对应的封装表项,该封装表项中包括封装报文的外层标签信息、VLAN(Virtual Local Area Network,虚拟局域网)、源MAC(Media Access Control,媒体访问控制)地址和目的MAC地址等信息。至此,转发引擎得到报文封装的全部信息,基于得到的报文封装信息对接收到的报文进行封装和转发。
然而实践发现,上述报文转发流程中,当PE设备的多个下一跳中任一下一跳故障时,协议通知转发引擎刷新硬件表项。此时,转发引擎需要先将该下一跳对应的一级NH表项中的内容清理掉,然后将ECMP表项中对应该下一跳的一级NH索引清理掉,该硬件清理过程比较耗时,在清理结束之前,之前通过该故障下一跳转发的报文还是会通过该下一跳转发,导致报文丢失。
发明内容
本发明提供一种报文转发方法及装置,以解决现有技术中路径故障容易导致报文丢失的问题。
根据本发明实施例的第一方面,提供一种报文转发方法,应用于交换设备,所述交换设备的转发引擎中二级下一跳索引指向故障切换表项,当所述故障切换表项的开关位的值为第一值或第二值时,分别指向不同的二级下一跳表项,所述方法包括:
当检测到路径故障时,将目标故障切换表项的开关位的值由第一值更新为第二值;其中,所述目标故障切换表项为目标二级下一跳索引指向的故障切换表项,所述目标二级下一跳索引为故障路径对应的二级下一跳索引,当所述目标故障切换表项的开关位的值为所述第一值时,所述目标故障切换表项指向故障路径对应的二级下一跳表项,当所述目标故障切换表项的开关位的值为所述第二值时,所述目标故障切换表项指向故障路径的备用路径对应的二级下一跳表项;
当接收到报文,且根据所述报文查询到的二级下一跳索引为所述目标二级下一跳索引时,根据所述目标故障切换表项的开关位的值,确定对应的目标二级下一跳表项,并根据所述目标二级下一跳表项对所述报文进行转发。
根据本发明实施例的第二方面,提供一种报文转发装置,应用于交换设备,所述交换设备的转发引擎中二级下一跳索引指向故障切换表项,当所述故障切换表项的开关位的值为第一值或第二值时,分别指向不同的二级下一跳表项,所述装置包括:检测单元、更新单元、接收单元、查询单元、确定单元以及发送单元;其中:
所述更新单元,用于当所述检测单元检测到路径故障时,将目标故障切换表项的开关位的值由第一值更新为第二值;其中,所述目标故障切换表项为目标二级下一跳索引指向的故障切换表项,所述目标二级下一跳索引为故障路径对应的二级下一跳索引,当所述目标故障切换表项的开关位的值为所述第一值时,所述目标故障切换表项指向故障路径对应的二级下一跳表项,当所述目标故障切换表项的开关位的值为所述第二值时,所述目标故障切换表项指向故障路径的备用路径对应的二级下一跳表项;
所述确定单元,用于当所述接收单元接收到报文,且所述查询单元根据所述报文查询到的二级下一跳索引为所述目标二级下一跳索引时,根据所述目标故障切换表项的开关位的值,确定对应的目标二级下一跳表项;
所述发送单元,用于根据所述目标二级下一跳表项对所述报文进行转发。
应用本发明公开的技术方案,通过将转发引擎中二级下一跳索引指向故障切换表项,当故障切换表项的开关位的值为第一值或第二值时,分别指向不同的二级下一跳表项,当检测到路径故障时,将目标故障切换表项的开关位的值由第一值更新为第二值,即由指向故障路径对应的二级下一跳表项更新为指向备用路径对应的二级下一跳表项;当接收到报文,且根据报文查询到的二级下一跳索引为目标二级下一跳索引时,根据目标故障切换表项的开关位的值,确定对应的目标二级下一跳表项,并根据目标二级下一跳表项对报文进行转发,实现了路障故障时等价路径的流量快速切换,减少了路径故障导致的报文丢失。
附图说明
图1是本发明实施例提供的一种报文转发方法的流程示意图;
图2是本发明实施例提供的一种具体应用场景的架构示意图;
图3A和图3B是本发明实施例提供的封装信息查询示意图;
图4是本发明实施例提供的一种下一跳软表项的示意图;
图5是本发明实施例提供的一种报文转发装置的结构示意图;
图6是本发明实施例提供的另一种报文转发装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
请参见图1,为本发明实施例提供的一种报文转发方法的流程示意图,其中,该报文转发方法可以应用于交换设备,如交换机或路由器等,如图1所示,该报文转发方法可以包括以下步骤:
步骤101、当检测到路径故障时,将目标故障切换表项的开关位的值由第一值更新为第二值;其中,该目标故障切换表项为目标二级下一跳索引指向的故障切换表项,该目标二级下一跳为故障路径对应的二级下一跳,当目标故障切换表项的开关位的值为第一值时,目标故障切换表项指向故障路径对应的二级下一跳表项,当目标故障切换表项的开关位的值为第二值时,目标故障切换表项指向故障路径的备用路径对应的二级下一跳表项。
本发明实施例中,为了实现等价路径的流量快速切换,减少路径故障导致的报文丢失,可以通过等价路径之间相互备份,使用故障切换表项(failover表项)实现主备路径之间的快速切换。
相应地,在本发明实施例中,交换设备的转发引擎中二级下一跳索引(二级NH索引)不再指向单一的二级下一跳表项(二级NH表项),而是指向故障切换表项,并基于该故障切换表项的开关位的值(可以包括第一值或第二值)指向不同的二级下一跳表项(包括主备二级下一跳表项)。
其中,对于每个=二级下一跳索引,当该二级下一跳索引指向的故障切换表项的开关位的值为第一值时,该故障切换表项指向原路径(本文中可以称为主用路径)对应的二级下一跳表项;当该二级下一跳索引指向的故障切换表项的开关位的值为第二值时,该故障切换表项指向备用路径对应的二级下一跳表项。
本发明实施例中,当交换设备检测到路径故障时,交换设备可以确定故障路径对应的二级下一跳索引(本文中称为目标二级下一跳索引),并将该目标二级下一跳索引指向的故障切换表项(本文中称为目标故障切换表项)的开关位的值由第一值更新为第二值,即将目标二级下一跳索引由指向主用路径(即故障路径)对应的二级下一跳表项,更新为指向备用路径对应的二级下一跳表项。
在一个示例中,当故障路径存在多条等价路径时,该故障路径的备份路径可以为该多条等价路径中的一条等价路径。
例如,假设路径1~3互为等价路径,则对于路径1,可以从路径2和路径3中随机选择一条路径作为路径1的备用路径,或者,按照其他策略从路径2和路径3中选择一条路径作为路径1的备用路径。
步骤102、当接收到报文,且根据报文查询到的二级下一跳索引为目标二级下一跳索引时,根据目标故障切换表项的开关位的值,确定对应的目标二级下一跳表项,并根据目标二级下一跳表项对接收到的报文进行转发。
本发明实施例中,当交换设备接收到报文时,交换设备的转发引擎可以根据该报文的目的IP地址查找路由,得到一个ECMP索引,并根据该ECMP索引找到对应的ECMP硬件表项,得到多个一级下一跳索引。
转发引擎可以基于接收到的报文的五元组信息得到一个Hash值,基于该Hash值从该多个一级下一跳索引中选择一个一级下一跳索引,并根据该一级下一跳索引找到对应的一级下一跳表项,该一级下一跳表项中包括私网标签和二级下一跳索引。
若转发引擎找到的二级下一跳索引为目标二级下一跳索引,则转发引擎可以根据目标二级下一跳索引指向的故障切换表项(即上述目标故障切换表项)的开关位的值,确定对应的二级下一跳表项(本文中称为目标二级下一跳表项),并根据目标二级下一跳表项对接收到的报文进行转发。
示例性的,若目标故障切换表项的开关位的值为第一值,则目标二级下一跳表项为主用路径对应的二级下一跳表项,此时,转发引擎通过主用路径对该报文进行转发;若目标故障切换表项的开关位的值为第二值,则目标二级下一跳表项为备用路径对应的二级下一跳表项,此时,转发引擎通过备用路径对该报文进行转发。
可见,在图1所示方法流程中,通过将二级下一跳索引指向故障切换表项,该故障切换表项根据开关位的值的不同分别指向主用路径对应的二级下一跳表项和备用路径对应的二级下一跳表项,进而,当发生路径故障时,可以通过更新故障路径对应的故障切换表项的开关位的值,切换报文转发的路径,由于故障切换表项的刷新速度(微秒级别)远高于刷新硬件表项的速度,因此,可以大程度地减少路径故障导致的报文丢失。
进一步地,在本发明实施例中,可以通过下一跳软表项维护硬件表项,该下一跳软表项中可以记录多个故障切换表项的开关位的值、刷新延后状态标志以及下一跳封装信息,该多个故障切换表项分别对应互为等价路径的多条路径。
举例来说,假设路径1和路径2为交换设备到同一下一跳的等价路径,则该下一跳对应的下一跳软表项中可以分别记录路径1和路径2对应的故障切换表项的开关位的值、刷新延后状态标志以及下一跳封装信息。
其中,各故障切换表项的开关位的值用于标识对应的等价路径是否发生故障;刷新延后状态标志的值用于标识该下一跳软表项是否需要延后更新(当下一跳软表项对应的任一路径发生故障时,下一跳软表项需延后更新)。
示例性的,对于任一路径,当该路径对应的故障切换表项的开关位的值为初始值(如上述第一值)时,标识该路径未发生故障;当该路径对应的故障切换表项的开关位的值为非初始值(如上述第二值)时,标识该路径发生故障。
相应地,当交换设备检测到路径故障时,交换设备还可以将故障路径对应的下一跳软表项中的与该故障路径对应的故障切换表项(即上述目标故障切换表项)的开关位的值由第一值更新为第二值,并将该下一跳软件中的刷新状态标志的值更新为用于标识该下一跳软表项需要延后更新的值(本文中称为目标值)。
进一步地,在本发明实施例中,交换设备还可以定时检测自身维护的下一跳软表项中的刷新延后状态标志的值。
当存在刷新延后状态标志的值为目标值的下一跳软表项时,交换设备可以根据该下一跳软表项中记录的故障切换表项的开关位的值,删除故障路径对应的下一跳的封装信息。
示例性的,对于刷新延后状态标志的值为目标值的下一跳软表项,交换设备可以根据该下一跳软表项中记录的故障切换表项的开关位的值,将故障切换表项的开关位的值为第二值的路径确定为故障路径,进而,可以删除该故障路径对应的下一跳封装信息。
示例性的,交换设备删除故障路径对应的下一跳封装信息时,还可以刷新故障路径对应的硬件表项,即删除故障路径对应的二级下一跳表项,以及ECMP表项中的二级下一跳索引。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行说明。
请参见图2,为本发明实施例提供的一种具体应用场景的结构示意图,如图2所示,在该应用场景中,PE设备210和PE设备220之间建立L3VPN,PE设备210和PE设备220之间存在两条路径(路径201(对应PE设备210的端口211)和路径202(对应PE设备210的端口212)),路径201和路径202形成路由等价(即路径201和路径202互为等价路径)。
在该实施例中,转发引擎中维护的一级下一跳表项中记录的二级下一跳索引不再指向单一的二级下一跳表项,而是通过故障切换表项指向主用二级下一跳表项或备用二级下一跳表项。
在该实施例中,假设路径201对应的一级下一跳索引为一级NH1,二级下一跳索引为二级NH1,二级NH1指向的故障切换表项为failover 1,当failover 1的开关位的值为0时,指向主用二级下一跳表项(该实施例中为二级NH1表项,即路径201对应的二级下一跳表项),当failover 2的开关位的值为1时,指向备用二级下一跳表项(在该实施例中为二级NH2表项,即路径2对应的二级下一跳表项)。
路径202对应的一级下一跳索引为一级NH2,二级下一跳索引为二级NH2,二级NH2指向的故障切换表项为failover 2,当failover 2的开关位的值为0时,指向主用二级下一跳表项(该实施例中为二级NH2表项),当failover 2的开关位的值为1时,指向备用二级下一跳表项(在该实施例中为二级NH1表项)。
其中,二级NH1表项中的出端口为端口211,封装信息索引为encap1,encap1指向的封装表项(该实施例中称为encap表项1)中记录的为路径201的封装信息(包括外层标签信息、VLAN信息、源MAC地址和目的MAC地址等信息)。
二级NH2表项中的出端口为端口212,封装信息索引为encap2,encap2指向的封装表项(该实施例中称为encap表项2)中记录的为路径202的封装信息。
以PE设备210的报文转发处理为例。
PE设备210接收到CE设备310发送的报文时,根据报文的目的IP地址查找路由,得到一个ECMP索引,根据该ECMP索引找到包括一级NH1和一级NH2的ECMP表项。
PE设备210根据报文的五元组信息得到一个hash值,基于该hash值从一级NH1和一级NH2中选择一个(假设选择一级NH1)。
PE设备210根据一级NH1找到对应的一级NH1表项,得到私网标签和二级NH1,该二级NH1指向failover 1。
实施例一、路径201未故障
failover 1的开关位的值为0,指向二级NH1表项,得到出端口为端口211,封装信息索引为encap1,其示意图如图3A所示。
PE设备210根据encap1找到encap表项1,至此,得到完整的报文封装信息,PE设备210根据得到的报文封装信息对报文进行封装,并通过端口211转发给PE设备220(即通过路径201转发),PE设备220接收到PE设备210发送的报文时,剥离隧道标签,根据私网标签确定对应的VPN,并在VPN内查找路由转发,如转发给CE设备320。
实施例二、路径201故障
PE设备210检测到路径201故障时,将二级NH1指向的failover表项(即failover1)的开关位的值由0更新为1,即将failover1由指向主用二级下一跳表项(二级NH1表项)更新为指向备用二级下一跳表项(二级NH2表项)。
在该情况下,PE设备210找到failover 1时,由于failover 1的开关位的值为1,指向二级NH2表项,得到出端口为端口212,封装信息索引为encap2,其示意图如图3B所示。
PE设备210根据encap2找到encap表项2,至此,得到完整的报文封装信息,PE设备210根据得到的报文封装信息对报文进行封装,并通过端口212转发给PE设备220(即通过路径202转发)。
进一步地,在该实施例中,针对相同下一跳的路由,PE设备310记录一份下一跳软表项,用于维护对应的硬件信息。
例如,针对下一跳为PE设备320的路由,PE设备310可以记录一份下一跳软表项,该下一跳软表项记录failover 1和failover 2的开关位的值,并记录刷新延后状态标志以及下一跳封装信息(包括等价路径数量、下一跳封装内容(如标签、MAC地址等)),其示意图可以如图4所示。
当发生路径故障时,PE设备310更新故障路径对应的failover表项的开关位的值,并将刷新延后状态标志的值由初始值(如0)更新为目标值(如1)。
PE设备310可以定时(如每5秒)检测下一跳软表项中延后刷新状态标志的值。对于延后刷新状态标志的值为1的下一跳软表项,根据failover表项的开关位的值,将开关位的值为1的failover表项对应的路径确定为故障路径,删除该故障路径对应的下一跳封装信息,并刷新故障路径对应的硬件表项,即删除故障路径对应的二级下一跳表项,以及ECMP表项中的二级下一跳索引。
通过以上描述可以看出,在本发明实施例提供的技术方案中,通过将转发引擎中二级下一跳索引指向故障切换表项,当故障切换表项的开关位的值为第一值或第二值时,分别指向不同的二级下一跳表项,当检测到路径故障时,将目标故障切换表项的开关位的值由第一值更新为第二值,即由指向故障路径对应的二级下一跳表项更新为指向备用路径对应的二级下一跳表项;当接收到报文,且根据报文查询到的二级下一跳索引为目标二级下一跳索引时,根据目标故障切换表项的开关位的值,确定对应的目标二级下一跳表项,并根据目标二级下一跳表项对报文进行转发,实现了路障故障时等价路径的流量快速切换,减少了路径故障导致的报文丢失。
请参见图5,为本发明实施例提供的一种报文转发装置的结构示意图,其中,该装置可以应用于上述方法实施例中的交换设备,如图5所示,该报文转发装置可以包括:检测单元510、更新单元520、接收单元530、查询单元540、确定单元550以及发送单元560;其中:
更新单元520,用于当检测单元310检测到路径故障时,将目标故障切换表项的开关位的值由第一值更新为第二值;其中,目标故障切换表项为目标二级下一跳索引指向的故障切换表项,目标二级下一跳索引为故障路径对应的二级下一跳索引,当目标故障切换表项的开关位的值为第一值时,目标故障切换表项指向故障路径对应的二级下一跳表项,当目标故障切换表项的开关位的值为第二值时,目标故障切换表项指向故障路径的备用路径对应的二级下一跳表项;
确定单元550,用于当接收单元530接收到报文,且查询单元540根据该报文查询到的二级下一跳索引为目标二级下一跳索引时,根据目标故障切换表项的开关位的值,确定对应的目标二级下一跳表项;
发送单元560,用于根据目标二级下一跳表项对该报文进行转发。
在可选实施例中,当故障路径存在多条等价路径时,该故障路径的备份路径为该多条等价路径中的一条等价路径。
在可选实施例中,下一跳软表项中记录有多个故障切换表项的开关位的值、刷新延后状态标志以及下一跳封装信息;该多个故障切换表项分别对应互为等价路径的多条路径;
更新单元520,还用于当检测单元510检测到路径故障时,将故障路径对应的下一跳软表项中的目标故障切换表项的开关位的值由第一值更新为第二值,并将该下一跳软表项中的刷新延后状态标志的值更新为目标值;其中,刷新延后状态标志的值为目标值标识该下一跳软表项需要延后更新。
请一并参见图6,为本发明实施例提供的另一种报文转发装置的结构示意图,如图6所示,在图5所示报文转发装置的基础上,图6所示报文转发装置还包括:删除单元570;其中:
检测单元510,还用于定时检测下一跳软表项中刷新延后状态标志的值;
删除单元570,用于当存在刷新延后状态标志的值为目标值的下一跳软表项时,根据该下一跳软表项中记录的故障切换表项的开关位的值,删除故障路径对应的下一跳封装信息。
在可选实施例中,确定单元550,还用于将开关位的值为所述第二值的故障切换表项对应的路径确定为故障路径;
删除单元570,具体用于删除该故障路径对应的下一跳封装信息,并删除该故障路径对应的二级下一跳表项和二级下一跳索引。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,通过将转发引擎中二级下一跳索引指向故障切换表项,当故障切换表项的开关位的值为第一值或第二值时,分别指向不同的二级下一跳表项,当检测到路径故障时,将目标故障切换表项的开关位的值由第一值更新为第二值,即由指向故障路径对应的二级下一跳表项更新为指向备用路径对应的二级下一跳表项;当接收到报文,且根据报文查询到的二级下一跳索引为目标二级下一跳索引时,根据目标故障切换表项的开关位的值,确定对应的目标二级下一跳表项,并根据目标二级下一跳表项对报文进行转发,实现了路障故障时等价路径的流量快速切换,减少了路径故障导致的报文丢失。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种报文转发方法,应用于三层虚拟专用网L3VPN中的交换设备,其特征在于,所述交换设备的转发引擎中二级下一跳索引指向故障切换表项,当所述故障切换表项的开关位的值为第一值或第二值时,分别指向不同的二级下一跳表项,所述方法包括:
当检测到路径故障时,将目标故障切换表项的开关位的值由第一值更新为第二值;其中,所述目标故障切换表项为目标二级下一跳索引指向的故障切换表项,所述目标二级下一跳索引为故障路径对应的二级下一跳索引,当所述目标故障切换表项的开关位的值为所述第一值时,所述目标故障切换表项指向故障路径对应的二级下一跳表项,当所述目标故障切换表项的开关位的值为所述第二值时,所述目标故障切换表项指向故障路径的备用路径对应的二级下一跳表项;
当接收到报文,且根据所述报文查询到的二级下一跳索引为所述目标二级下一跳索引时,根据所述目标故障切换表项的开关位的值,确定对应的目标二级下一跳表项,并根据所述目标二级下一跳表项对所述报文进行转发。
2.根据权利要求1所述的方法,其特征在于,当故障路径存在多条等价路径时,所述故障路径的备份路径为该多条等价路径中的一条等价路径。
3.根据权利要求1所述的方法,其特征在于,下一跳软表项中记录有多个故障切换表项的开关位的值、刷新延后状态标志以及下一跳封装信息;所述多个故障切换表项分别对应互为等价路径的多条路径;
当检测到路径故障时,所述方法还包括:
将故障路径对应的下一跳软表项中的目标故障切换表项的开关位的值由所述第一值更新为所述第二值,并将该下一跳软表项中的刷新延后状态标志的值更新为目标值;其中,刷新延后状态标志的值为目标值标识该下一跳软表项需要延后更新。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
定时检测下一跳软表项中刷新延后状态标志的值;
当存在刷新延后状态标志的值为所述目标值的下一跳软表项时,根据该下一跳软表项中记录的故障切换表项的开关位的值,删除故障路径对应的下一跳封装信息。
5.根据权利要求4所述的方法,其特征在于,所述根据该下一跳软表项中记录的故障切换表项的开关位的值,删除故障路径对应的下一跳封装信息,包括:
将开关位的值为所述第二值的故障切换表项对应的路径确定为故障路径;
删除该故障路径对应的下一跳封装信息,并删除该故障路径对应的二级下一跳表项和二级下一跳索引。
6.一种报文转发装置,应用于三层虚拟专用网L3VPN中的交换设备,其特征在于,所述交换设备的转发引擎中二级下一跳索引指向故障切换表项,当所述故障切换表项的开关位的值为第一值或第二值时,分别指向不同的二级下一跳表项,所述装置包括:检测单元、更新单元、接收单元、查询单元、确定单元以及发送单元;其中:
所述更新单元,用于当所述检测单元检测到路径故障时,将目标故障切换表项的开关位的值由第一值更新为第二值;其中,所述目标故障切换表项为目标二级下一跳索引指向的故障切换表项,所述目标二级下一跳索引为故障路径对应的二级下一跳索引,当所述目标故障切换表项的开关位的值为所述第一值时,所述目标故障切换表项指向故障路径对应的二级下一跳表项,当所述目标故障切换表项的开关位的值为所述第二值时,所述目标故障切换表项指向故障路径的备用路径对应的二级下一跳表项;
所述确定单元,用于当所述接收单元接收到报文,且所述查询单元根据所述报文查询到的二级下一跳索引为所述目标二级下一跳索引时,根据所述目标故障切换表项的开关位的值,确定对应的目标二级下一跳表项;
所述发送单元,用于根据所述目标二级下一跳表项对所述报文进行转发。
7.根据权利要求6所述的装置,其特征在于,当故障路径存在多条等价路径时,所述故障路径的备份路径为该多条等价路径中的一条等价路径。
8.根据权利要求6所述的装置,其特征在于,下一跳软表项中记录有多个故障切换表项的开关位的值、刷新延后状态标志以及下一跳封装信息;所述多个故障切换表项分别对应互为等价路径的多条路径;
所述更新单元,还用于当所述检测单元检测到路径故障时,将故障路径对应的下一跳软表项中的目标故障切换表项的开关位的值由所述第一值更新为所述第二值,并将该下一跳软表项中的刷新延后状态标志的值更新为目标值;其中,刷新延后状态标志的值为目标值标识该下一跳软表项需要延后更新。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:删除单元;其中:
所述检测单元,还用于定时检测下一跳软表项中刷新延后状态标志的值;
所述删除单元,用于当存在刷新延后状态标志的值为所述目标值的下一跳软表项时,根据该下一跳软表项中记录的故障切换表项的开关位的值,删除故障路径对应的下一跳封装信息。
10.根据权利要求9所述的装置,其特征在于,
所述确定单元,还用于将开关位的值为所述第二值的故障切换表项对应的路径确定为故障路径;
所述删除单元,具体用于删除该故障路径对应的下一跳封装信息,并删除该故障路径对应的二级下一跳表项和二级下一跳索引。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910678982.2A CN110430131B (zh) | 2019-07-25 | 2019-07-25 | 一种报文转发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910678982.2A CN110430131B (zh) | 2019-07-25 | 2019-07-25 | 一种报文转发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110430131A CN110430131A (zh) | 2019-11-08 |
CN110430131B true CN110430131B (zh) | 2021-12-24 |
Family
ID=68410811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910678982.2A Active CN110430131B (zh) | 2019-07-25 | 2019-07-25 | 一种报文转发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110430131B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112437008B (zh) * | 2020-11-26 | 2022-12-13 | 锐捷网络股份有限公司 | 网络路由收敛处理和报文处理方法、装置及设备 |
CN113037539B (zh) * | 2021-02-05 | 2022-05-27 | 新华三信息安全技术有限公司 | 一种故障定位方法及装置 |
CN116137607A (zh) * | 2021-11-17 | 2023-05-19 | 华为技术有限公司 | 一种路径确定方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003152775A (ja) * | 2001-11-19 | 2003-05-23 | Nec Corp | 障害発生時のローカル迂回方式 |
CN102201964A (zh) * | 2010-03-22 | 2011-09-28 | 杭州华三通信技术有限公司 | 一种实现快速路径切换的方法和装置 |
CN102291311A (zh) * | 2011-08-30 | 2011-12-21 | 中兴通讯股份有限公司 | 以太网接口保护方法及网络侧设备 |
WO2013155696A1 (en) * | 2012-04-20 | 2013-10-24 | Telefonaktiebolaget L M Ericsson (Publ) | Method to do fast traffic switchover based on server layer status |
CN106789630A (zh) * | 2016-12-30 | 2017-05-31 | 瑞斯康达科技发展股份有限公司 | 一种网络保护方法及系统、控制器、设备 |
CN107846356A (zh) * | 2016-09-19 | 2018-03-27 | 新华三技术有限公司 | 主备伪线pw快速切换方法和装置 |
CN109698781A (zh) * | 2018-12-20 | 2019-04-30 | 新华三技术有限公司 | 报文转发路径的管理方法和pe设备 |
CN109981450A (zh) * | 2017-12-28 | 2019-07-05 | 中国电信股份有限公司 | 路径连通维护方法、装置和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9678840B2 (en) * | 2014-04-29 | 2017-06-13 | Cisco Technology, Inc. | Fast failover for application performance based WAN path optimization with multiple border routers |
-
2019
- 2019-07-25 CN CN201910678982.2A patent/CN110430131B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003152775A (ja) * | 2001-11-19 | 2003-05-23 | Nec Corp | 障害発生時のローカル迂回方式 |
CN102201964A (zh) * | 2010-03-22 | 2011-09-28 | 杭州华三通信技术有限公司 | 一种实现快速路径切换的方法和装置 |
CN102291311A (zh) * | 2011-08-30 | 2011-12-21 | 中兴通讯股份有限公司 | 以太网接口保护方法及网络侧设备 |
WO2013155696A1 (en) * | 2012-04-20 | 2013-10-24 | Telefonaktiebolaget L M Ericsson (Publ) | Method to do fast traffic switchover based on server layer status |
CN107846356A (zh) * | 2016-09-19 | 2018-03-27 | 新华三技术有限公司 | 主备伪线pw快速切换方法和装置 |
CN106789630A (zh) * | 2016-12-30 | 2017-05-31 | 瑞斯康达科技发展股份有限公司 | 一种网络保护方法及系统、控制器、设备 |
CN109981450A (zh) * | 2017-12-28 | 2019-07-05 | 中国电信股份有限公司 | 路径连通维护方法、装置和系统 |
CN109698781A (zh) * | 2018-12-20 | 2019-04-30 | 新华三技术有限公司 | 报文转发路径的管理方法和pe设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110430131A (zh) | 2019-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10880203B2 (en) | Centralized segment routing dataplane based backup path validation | |
CN107733793B (zh) | 一种转发表项维护方法及装置 | |
EP3800840A1 (en) | Transmission path fault processing method, device and system | |
EP3151485A1 (en) | Egress node protection in evpn all-active topology | |
RU2493677C2 (ru) | Способ и маршрутизатор для выполнения зеркального копирования | |
US9036637B2 (en) | Message transmission in virtual private networks | |
US9178816B1 (en) | Control plane messaging in all-active multi-homed ethernet virtual private networks | |
EP2974166B1 (en) | Method and apparatus for ip/mpls fast reroute | |
CN110430131B (zh) | 一种报文转发方法及装置 | |
US20130272114A1 (en) | Pseudo wire switching method and device | |
WO2007016834A1 (fr) | Procede rapide de convergence de services de point a point et dispositif associe cote fournisseur de services | |
WO2006096560A2 (en) | System and methods for network reachability detection | |
US10313154B2 (en) | Packet forwarding | |
CA3104756C (en) | Loop avoidance communications method, device, and system | |
CN102075419B (zh) | 三层虚拟专用网等价路由的生成及转发方法和边缘路由器 | |
CN104378296A (zh) | 一种报文转发方法及设备 | |
CN101447900A (zh) | 一种建立双向转发检测的方法、系统及设备 | |
WO2018090907A1 (zh) | 报文转发 | |
US20180198702A1 (en) | Cluster communication | |
CA3108103A1 (en) | Communication method, communications device, and communications system | |
CN101355486A (zh) | 一种路由切换的方法、设备及系统 | |
US11546252B2 (en) | Fast flooding topology protection | |
US20200169502A1 (en) | Processing of data stream | |
CN107682261B (zh) | 流量转发方法及装置 | |
CN107979848B (zh) | 一种备用路径的检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |