CN111435948A - 一种在网络中传输报文的方法及网络设备 - Google Patents
一种在网络中传输报文的方法及网络设备 Download PDFInfo
- Publication number
- CN111435948A CN111435948A CN201910029197.4A CN201910029197A CN111435948A CN 111435948 A CN111435948 A CN 111435948A CN 201910029197 A CN201910029197 A CN 201910029197A CN 111435948 A CN111435948 A CN 111435948A
- Authority
- CN
- China
- Prior art keywords
- network device
- network
- interface
- mac address
- path
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种在网络中传输报文的方法及网络设备,属于通信技术领域,用于减少业务受损的概率,提升网络的可靠性。在该方法中,在第一网络设备的第二接口的IP地址与第二网络设备的第三接口的IP地址不在同一网段时,第一网络设备可以通过虚拟MAC地址的封装机制对接收的第一报文重新封装,以使封装得到的第二报文的目的MAC地址为虚拟的第二MAC地址。该第二MAC地址与第三接口实际的MAC地址不同,并且能够被整条传输路径上的所有网络设备识别且认为是合法有效的。所以在通过第三接口接收第二报文之后,第二网络设备能够识别并且认同第二报文合法。这样,无需依赖ARP学习的方式也可进行报文转发,提高了报文转发的灵活性。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种在网络中传输报文的方法及网络设备。
背景技术
如图1所示,网元(network element,NE)1与NE3之间的业务通过传输路径承载。NE1、NE2、NE3组成工作路径,NE1、NE4、NE3组成保护路径。NE2和NE4分别为工作路径和保护路径的中间(transit)节点。NE1与NE3之间可以经由工作路径或保护路径传输数据报文。在正常情况下,NE1通过工作路径向NE3发送数据报文。当NE2掉电时,若未配置如图1所示的保护路径,业务则将中断。若配置有如图1所示的保护路径,在NE2掉电时则可以从工作路径切换到保护路径,再通过保护路径发送数据报文。
然而,当NE2和NE4同时掉电时,工作路径和保护路径均无法继续发送数据报文,将导致业务中断。尤其是在一些受限于当地的机房条件的国家或地区,存在设备频繁上电、下电或设备长期掉电等情况,这对业务的影响更大,所以,在网络中如何确保业务转发的可靠性是需要解决的问题。
发明内容
本申请实施例提供一种在网络中传输报文的方法及网络设备,用于确保网络中报文的正常传输,确保业务的正常进行,减少业务受损的概率,提升网络的可靠性。
第一方面,提供一种在网络中传输报文的方法,该网络包括第一网络设备和第二网络设备,该第一网络设备具有第一接口和第二接口,该第二网络设备具有第三接口,第三接口的MAC地址为第一MAC地址,第二接口的IP地址为第一IP地址,第三接口的IP地址为第二IP地址,第一IP地址和第二IP地址属于不同的网段。在该方法中,第一网络设备通过第一接口接收第一报文;并根据第一报文得到第二报文,该第二报文的目的MAC地址为虚拟的第二MAC地址,第二MAC地址与第一MAC地址不同;再在第一路径上,通过第二接口向第二网络设备的第三接口发送第二报文,第二网络设备为第一路径上与第一网络设备相邻的下游节点。
报文的目的MAC地址用于在转发路径上依据该目的MAC地址进行报文传输。另外一种理解方式是,报文的目的MAC地址是指在传输该报文的过程中用于对该报文是否传输正确进行校验的标识,即,对于接收到该报文的网络设备来说,可以依据该报文的目的MAC地址判断该报文是否是应该传输到该网络设备处,即判断报文的合法性和有效性。
在上述方案中,在第一网络设备需要向第二网络设备转发第一报文时,即使第一网络设备的第二接口的IP地址与第二网络设备的第三接口的IP地址不在同一个网段,导致第一网络设备无法通过ARP学习的方式获知到第三接口的MAC地址而无法进行报文转发时,第一网络设备可以基于虚拟MAC地址的封装机制对第一报文进行封装,以得到目的MAC地址为虚拟的第二MAC地址的第二报文。基于虚拟MAC地址的特性,使得第二MAC地址与第三接口实际的MAC地址(即第一MAC地址)不同,并且该虚拟的第二MAC地址能够被整条传输路径上的所有网络设备识别且认为是合法有效的。所以,在第二网络设备通过第三接口接收第一网络设备通过第二接口发送的第二报文之后,能够识别并且认同第二报文合法,以实现报文的有效传输。所以,基于虚拟MAC地址的封装机制可以实现报文的有效转发,并且可以无需依赖ARP学习的方式进行报文转发,提高了报文转发的灵活性。
在一种可能的设计中,在第一路径上,第一网络设备和第二网络设备之间通过光纤等传输介质直连。
在一种可能的设计中,所述网络还包括第三网络设备,第三网络设备具有第四接口,第四接口的MAC地址例如是第三MAC地址。第三网络设备可以对应配置有旁路开关,第三网络设备和旁路开关部署于第一网络设备和第二网络设备之间。
当第三网络设备出现故障(例如掉电)时,通过旁路开关的旁接可以将第一网络设备的第二接口和第二网络设备的第三接口之间的物理链路连通,可以沿着第一网络设备->旁路开关->第二网络设备的第一路径转发报文,在第一路径上,第一网络设备通过旁路开关与第二网络设备直连。
当第三网络设备正常工作时,第一网络设备通过旁路开关的两个接口与第三网络设备直连,第三网络设备通过旁路开关的另外两个接口与第二网络设备直连。在第三网络设备正常工作时,可以沿着第一网络设备->旁路开关->第三网络设备->旁路开关->第二网络设备的第二路径转发报文。在第二路径上,第三网络设备为第一网络设备相邻的下游节点,第二网络设备为第三网络设备的下游节点。
在一种可能的设计中,当第一网络设备接收第三报文时,可以对第三报文进行处理,以得到目的MAC地址为虚拟的第二MAC地址的第四报文,并在第二路径上,通过第一网络设备的第二接口经过旁路开关发送给第三网络设备的第四接口。基于虚拟MAC地址能够被传输路径上的所有节点均有效识别的特性,第三网络设备在接收到第四报文之后,可以基于虚拟的第二MAC地址确定第四报文合法有效,以实现报文的有效传输。所以,基于虚拟MAC地址的封装机制可以实现报文的有效转发,可以无需依赖ARP学习的方式进行报文转发,提高了报文转发的灵活性。
在一种可能的设计中,所述网络为IP网络或MPLS网络。
在一种可能的设计中,所述第一网络设备为所述第一路径的头节点或者中间节点。
在一种可能的设计中,所述第一网络设备为所述第二路径上的头节点或者中间节点。
在一种可能的设计中,对于MPLS网络,由于第一路径和第二路径对应的首节点为同一节点,即均为第一网络设备。第一路径和第二路径分别对应的隧道标识可以是同一隧道标识。在本申请中,第一路径和第二路径对应同一MPLS隧道。
在一种可能的设计中,在所述网络为MPLS网络时,所述第二报文中还携带有MPLS标签,例如是第一标签。以及,位于第一路径上的所有节点设备对应该第一路径的MPLS标签均配置为第一标签。
进一步地,在第一网络设备为中间节点时,第一报文也携带有MPLS标签,并且第一报文携带的MPLS标签与第二报文携带的MPLS标签相同,即为第一标签。
在一种可能的设计中,在所述网络为MPLS网络时,所述第四报文中还携带有MPLS标签,例如是第一标签。以及,位于第二路径上的所有节点设备对应该第二路径的MPLS标签均配置为第一标签。
进一步地,在第一网络设备为中间节点时,第三报文也携带有MPLS标签,并且第三报文携带的MPLS标签与第四报文携带的MPLS标签相同,即为第一标签。
在上述方案中,在MPLS网络中转发报文时,可以为每条隧道配置全路径一致的网络级MPLS标签,由于该隧道路径上的每个节点设备对应该隧道的入标签和出标签也均为该网络级MPLS标签,所以携带有该网络级MPLS标签的报文能够被该隧道上的所有节点设备识别并认可。这样,例如在第三网络设备掉电时,由于第一网络设备第一路径的出标签和第二网络设备对应第一路径的入标签是一致的,所以可以依据一致的标签向第二网络设备进行有效的报文转发,第二网络设备在接收到携带该网络级MPLS标签的第二报文或者第四报文时,可以确定是合法有效的报文,从而确保报文的及时传输,提升网络的可靠性。
第二方面,提供一种在网络中传输报文的方法,所述网络包括第一网络设备和第二网络设备,第一网络设备具有第一接口和第二接口,第二网络设备具有第三接口,第一接口的MAC地址为第一MAC地址。在该方法中,所述第一网络设备通过第一接口接收第一报文,第一报文的目的MAC地址为第二MAC地址,第二MAC地址与第一MAC地址不同;并根据第一报文得到第二报文,第二报文的目的MAC地址也为第二MAC地址;以及在第一路径上,通过第二接口向第二网络设备的第三接口发送第二报文,第二网络设备为所述第一路径上与所述第一网络设备相邻的下游节点。
在上述方案中,第一网络设备接收的第一报文和第二报文的目的MAC地址均为虚拟的第二MAC地址,第二报文是基于第一报文重新封装得到的报文,换言之,对于第一网络设备而言,接收的第一报文和向下一跳节点发送的第二报文的目的MAC地址均为虚拟的第二MAC地址,基于虚拟MAC地址能够被整条路径上的所有节点设备识别且认为合法有效的特性,可以使得第二报文能够向下游准确、有效的传输,无需依赖ARP学习的方式也可以进行报文转发,提高了报文转发的灵活性。
在一种可能的设计中,所述网络为IP网络或MPLS网络。
在一种可能的设计中,在第一路径上,第一网络设备和第二网络设备之间通过光纤等传输介质直连。
在一种可能的设计中,所述网络还包括第三网络设备,第三网络设备具有第四接口。第三网络设备对应配置有旁路开关,第三网络设备和旁路开关部署于第一网络设备和第二网络设备之间。
当第三网络设备出现故障掉电时,通过旁路开关的旁接可以将第一网络设备的第二接口和第二网络设备的第三接口之间的物理链路连通,可以沿着第一网络设备->旁路开关->第二网络设备的第一路径转发报文,在第一路径上,第一网络设备通过旁路开关与第二网络设备直连。
当第三网络设备正常工作时,第一网络设备通过旁路开关的两个接口与第三网络设备直连,第三网络设备通过旁路开关的另外两个接口与第二网络设备直连。在第三网络设备正常工作时,可以沿着第一网络设备->旁路开关->第三网络设备->旁路开关->第二网络设备的第二路径转发报文。在第二路径上,第三网络设备为第一网络设备相邻的下游节点,第二网络设备为第三网络设备的下游节点。
在一种可能的设计中,当第一网络设备接收第三报文时,可以对第三报文进行处理,以得到目的MAC地址为虚拟的第二MAC地址的第四报文,并在第二路径上,通过第一网络设备的第二接口经过旁路开关发送给第三网络设备的第四接口。基于虚拟MAC地址能够被传输路径上的所有节点均有效识别的特性,第三网络设备在接收到第四报文之后,可以基于虚拟的第二MAC地址确定第四报文合法有效,以实现报文的有效传输。所以,基于虚拟MAC地址的封装机制可以实现报文的有效转发,可以无需依赖ARP学习的方式进行报文转发,提高了报文转发的灵活性。
在一种可能的设计中,所述第一网络设备为所述第一路径和所述第二路径上的头节点。
在一种可能的设计中,在所述网络为MPLS网络时,所述第二报文中还携带有MPLS标签,例如是第一标签。并且,位于第一路径上的所有节点设备对应该第一路径的隧道标签均配置为第一标签。以及,第一报文也携带有MPLS标签,并且第一报文携带的MPLS标签与第二报文携带的MPLS标签相同,即为第一标签。
在一种可能的设计中,在所述网络为MPLS网络时,所述第四报文中还携带有MPLS标签,例如是第一标签。并且,位于第二路径上的所有节点设备对应该第二路径的隧道标签均配置为第一标签。以及,第三报文也携带有MPLS标签,并且第三报文携带的MPLS标签与第四报文携带的MPLS标签相同,即为第一标签。
在上述方案中,可以基于网络级的MPLS标签的封装机制封装报文并转发,可以确保报文的及时传输,提升网络的可靠性。
在一种可能的设计中,第一网络设备还可以根据预先保存的MAC地址对第一报文的合法性进行校验。预先保存的MAC地址是预先配置的虚拟MAC地址,当第一报文的目的MAC地址(即第二MAC地址)与预先保存的MAC地址匹配时则可以确定第一报文合法有效,以确保报文传输的合法性。
第三方面,提供一种在网络中传输报文的方法,所述网络包括第一网络设备和第二网络设备,第一网络设备具有第一接口和第二接口,第二网络设备具有第三接口,第一接口的MAC地址为第一MAC地址,第一接口的IP地址为第一IP地址,第三接口的IP地址为第二IP地址,第一IP地址和第二IP地址属于不同的网段。在该方法中,在第一路径上,第一网络设备通过第一接口接收第二网络设备通过第三接口发送的第一报文,其中,第一网络设备为第一路径上与第二网络设备相邻的下游节点,第一报文的目的MAC地址为第二MAC地址,第二MAC地址与第一MAC地址不同;并剥除第一报文中的第二MAC地址,得到第二报文;以及通过第二接口发送第二报文。
在上述方案中,在第二网络设备需要向第一网络设备转发报文时,即使第二网络设备的第三接口的IP地址与第一网络设备的第一接口的IP地址不在同一个网段,导致第二网络设备无法通过ARP学习的方式获知到第一接口的MAC地址而无法进行报文转发时,第二网络设备可以基于虚拟MAC地址的封装机制对待转发的报文重新进行封装,以得到目的MAC地址为虚拟的第二MAC地址的第一报文。基于虚拟MAC地址的特性,使得虚拟的第二MAC地址能够被整条传输路径上的所有网络设备识别且认为是合法有效的。所以,在第一网络设备接收到第二网络设备发送的第一报文之后,能够识别并且认同第一报文合法,从而实现报文的有效传输。所以,基于虚拟MAC地址的封装机制可以实现报文的有效转发,并且可以无需依赖ARP学习的方式进行报文转发,提高了报文转发的灵活性。
在一种可能的设计中,所述网络为IP网络或MPLS网络。
在一种可能的设计中,在第一路径上,第一网络设备和第二网络设备之间通过光纤等传输介质直连。
在一种可能的设计中,所述网络还包括第三网络设备,第三网络设备具有第四接口。第三网络设备对应配置有旁路开关,第三网络设备和旁路开关部署于第一网络设备和第二网络设备之间。
当第三网络设备出现故障掉电时,通过旁路开关的旁接可以将第一网络设备的第一接口和第二网络设备的第三接口之间的物理链路连通,可以沿着第二网络设备->旁路开关->第一网络设备的第一路径转发报文,在第一路径上,第二网络设备通过旁路开关与第一网络设备直连。
当第三网络设备正常工作时,第一网络设备通过旁路开关的两个接口与第三网络设备直连,第三网络设备通过旁路开关的另外两个接口与第二网络设备直连。在第三网络设备正常工作时,可以沿着第二网络设备->旁路开关->第三网络设备->旁路开关->第一网络设备的第二路径转发报文。在第二路径上,第三网络设备为第二网络设备相邻的下游节点,第一网络设备为第三网络设备的下游节点。
在一种可能的设计中,在第三网络设备需要向第一网络设备转发报文时,可以对该报文中重新封装,以得到目的MAC地址为虚拟的第二MAC地址的第三报文,并在第二路径上,通过第三网络设备的第四接口经过旁路开关发送给第一网络设备的第一接口。基于虚拟MAC地址能够被传输路径上的所有节点均有效识别的特性,第一网络设备在接收到第三报文之后,可以基于虚拟的第二MAC地址确定第三报文合法有效,以实现报文的有效传输。所以,基于虚拟MAC地址的封装机制可以实现报文的有效转发,可以无需依赖ARP学习的方式进行报文转发,提高了报文转发的灵活性。
在一种可能的设计中,所述第一网络设备为所述第一路径和所述第二路径上的尾节点。
在一种可能的设计中,在所述网络为MPLS网络时,所述第一报文中还携带有MPLS标签,例如是第一标签。并且,位于第一路径上的所有节点设备对应该第一路径的隧道标签均配置为第一标签。
在一种可能的设计中,在所述网络为MPLS网络时,所述第三报文中还携带有MPLS标签,例如是第一标签。并且,位于第二路径上的所有节点设备对应该第二路径的隧道标签均配置为第一标签。
在上述方案中,可以基于网络级的MPLS标签的封装机制封装报文并转发,可以确保报文的及时传输,提升网络的可靠性。
在一种可能的设计中,第一网络设备还可以根据预先保存的MAC地址对接收到的第一报文和第四报文的合法性进行校验,以确保报文传输的合法性。
第四方面,提供一种用于在网络中传输报文的网络设备,用作第一网络设备。所述网络还包括第二网络设备,第一网络设备具有第一接口和第二接口,第二网络设备具有第三接口。第三接口的MAC地址为第一MAC地址,第二接口的IP地址为第一IP地址,第三接口的IP地址为第二IP地址,第一IP地址和第二IP地址属于不同的网段。第一网络设备包括存储器和与存储器连接的处理器,所述存储器包括计算机可读指令;所述处理器用于执行所述计算机可读指令,以执行以下操作:
通过第一接口接收第一报文;
根据第一报文得到第二报文,第二报文的目的MAC地址为第二MAC地址,第二MAC地址与第一MAC地址不同;
在第一路径上,通过第二接口向第二网络设备的第三接口发送第二报文,第二网络设备为第一路径上与第一网络设备相邻的下游节点。
在一种可能的设计中,所述网络还包括第三网络设备,第三网络设备具有第四接口,第四接口的MAC地址为第三MAC地址,所述处理器还用于所述执行计算机可读指令以执行以下操作:
通过第一接口接收第三报文;
根据第三报文得到第四报文,第四报文的目的MAC地址为第二MAC地址,第二MAC地址与第三MAC地址不同;
在第二路径上,通过第二接口向第三网络设备的第四接口发送第四报文,其中,第三网络设备为第二路径上与第一网络设备相邻的下游节点,第二网络设备为第二路径上与第三网络设备相邻的下游节点。
在一种可能的设计中,所述网络还包括旁路开关,在第一路径上,第一网络设备通过旁路开关与第二网络设备直连。
在一种可能的设计中,所述网络还包括旁路开关;当第三网络设备故障时,在第一路径上,第一网络设备通过旁路开关与第二网络设备直连;当第三网络设备正常工作时,在第二路径上,第一网络设备通过旁路开关与第三网络设备直连。
在一种可能的设计中,所述网络为MPLS网络,第一网络设备为第一路径的头节点或中间节点,第二报文携带的MPLS标签为第一标签,位于第一路径上的所有节点对应第一路径的入标签和出标签均配置为第一标签。
在一种可能的设计中,所述网络为MPLS网络,第一网络设备为第一路径的中间节点,第一报文和第二报文携带的MPLS标签均为第一标签,位于第一路径上的所有节点对应第一隧道的入标签和出标签均配置为第一标签。
在一种可能的设计中,所述网络为MPLS网络,第一网络设备为第二路径的头节点或中间节点,第四报文携带的MPLS标签为第一标签,位于第二路径上的所有节点对应第二隧道的入标签和出标签均配置为第一标签。
在一种可能的设计中,所述网络为MPLS网络,第一网络设备为第二路径的中间节点,第三报文和第四报文携带的MPLS标签均为第一标签,位于第二路径上的所有节点对应第二隧道的入标签和出标签均配置为第一标签。
在一种可能的设计中,所述网络为IP网络或MPLS网络。
在一种可能的设计中,所述第一网络设备为所述第一路径的头节点或者中间节点。
在一种可能的设计中,所述第一网络设备为所述第二路径上的头节点或者中间节点。
由于第四方面中各种可能的设计的方案和第一方面中各种可能的设计的方案是相同或相应的方案,所以第四方面中各种可能的设计的方案的有益技术效果可以参见第一方面对应的各种可能的设计的效果描述。
第五方面,提供一种用于在网络中传输报文的网络设备,用作第一网络设备。所述网络还包括第二网络设备,第一网络设备具有第一接口和第二接口,第二网络设备具有第三接口,第一接口的MAC地址为第一MAC地址。第一网络设备包括存储器与所述存储器连接的处理器。所述存储器包括计算机可读指令。所述处理器用于执行所述计算机可读指令,以执行以下操作:
通过第一接口接收第一报文,第一报文的目的MAC地址为第二MAC地址,第二MAC地址与第一MAC地址不同;
根据第一报文得到第二报文,第二报文的目的MAC地址为第二MAC地址;
在第一路径上,通过第二接口向第二网络设备的第三接口发送第二报文,第二网络设备为第一路径上与第一网络设备相邻的下游节点。
在一种可能的设计中,所述网络还包括第三网络设备,第三网络设备具有第四接口。所述处理器还用于执行所述计算机可读指令,以执行以下操作:
通过第一接口接收第三报文,第三报文的目的MAC地址为第二MAC地址;
根据第三报文得到第四报文,第四报文的目的MAC地址为第二MAC地址;
在第二路径上,通过第二接口向第三网络设备的第四接口发送第四报文,其中,第三网络设备为第二路径上与第一网络设备相邻的下游节点,第二网络设备为第二路径上与第三网络设备相邻的下游节点。
在一种可能的设计中,所述网络还包括旁路开关,在第一路径上,第一网络设备通过旁路开关与第二网络设备直连。
在一种可能的设计中,所述网络还包括旁路开关;当第三网络设备故障时,在第一路径上,第一网络设备通过旁路开关与第二网络设备直连;当第三网络设备正常工作时,在第二路径上,第一网络设备通过旁路开关与第三网络设备直连。
在一种可能的设计中,所述网络为IP网络或MPLS网络。
在一种可能的设计中,所述网络为MPLS网络,第一报文和第二报文携带的MPLS标签均为第一标签,位于第一路径上的所有节点对应第一路径的入标签和出标签均配置为第一标签。
在一种可能的设计中,所述网络为MPLS网络,第三报文和第四报文携带的MPLS标签均为第一标签,位于第二路径上的所有节点对应第二路径的入标签和出标签均配置为第一标签。
在一种可能的设计中,所述处理器还用于执行所述计算机可读指令,以执行以下操作:
确定第二MAC地址与预先保存的MAC地址匹配,则确定第一报文和第三报文为合法报文。
由于第五方面中各种可能的设计的方案和第二方面中各种可能的设计的方案是相同或相应的方案,所以第五方面中各种可能的设计的方案的有益技术效果可以参见第二方面对应的各种可能的设计的效果描述。
第六方面,提供一种用于在网络中传输报文的网络设备,用作第一网络设备。所述网络还包括第二网络设备,第一网络设备具有第一接口和第二接口。第二网络设备具有第三接口,第一接口的MAC地址为第一MAC地址,第一接口IP地址为第一IP地址,第三接口的IP地址为第二IP地址,第一IP地址和第二IP地址属于不同的网段。第一网络设备包括存储器和与所述存储器连接的处理器。所述存储器包括计算机可读指令;所述处理器用于执行所述计算机可读指令,以执行以下操作:
在第一路径上,通过第一接口接收第二网络设备通过第三接口发送的第一报文,其中,第一网络设备为第一路径上与第二网络设备相邻的下游节点,第一报文的目的MAC地址为第二MAC地址,第二MAC地址与第一MAC地址不同;
剥除第一报文中的第二MAC地址,得到第二报文;
通过第二接口发送第二报文。
在一种可能的设计中,所述网络还包括第三网络设备,第三网络设备具有第四接口。所述处理器还用于执行所述计算机可读指令,以执行以下操作:
在第二路径上,通过第一接口接收第三网络设备通过第四接口发送的第三报文,其中,第一网络设备为第二路径上与第三网络设备相邻的下游节点,第二网络设备为第二路径上与第三网络设备相邻的上游节点,第三报文的目的MAC地址为第二MAC地址;
剥除第三报文中的第二MAC地址,得到第四报文;
发送第四报文。
在一种可能的设计中,所述网络还包括旁路开关,在第一路径上,第一网络设备通过旁路开关与第二网络设备直连。
在一种可能的设计中,所述网络还包括旁路开关;当第三网络设备故障时,在第一路径上,第一网络设备通过旁路开关与第二网络设备直连;当第三网络设备正常工作时,在第二路径上,第一网络设备通旁路开关与第三网络设备直连。
在一种可能的设计中,所述网络为IP网络或MPLS网络。
在一种可能的设计中,所述网络为MPLS网络,第一报文携带的MPLS标签为第一标签,位于第一路径上的所有节点对应第一路径的入标签和出标签均配置为第一标签。
在一种可能的设计中,所述网络为MPLS网络,第一报文携带的MPLS标签为第一标签,位于第二路径上的所有节点对应第二路径的入标签和出标签均配置为第一标签。
在一种可能的设计中,所述处理器还用于执行所述计算机可读指令,以执行以下操作:
确定第二MAC地址与预先保存的MAC地址匹配,则确定第一报文和第三报文为合法报文。
由于第六方面中各种可能的设计的方案和第三方面中各种可能的设计的方案是相同或相应的方案,所以第六方面中各种可能的设计的方案的有益技术效果可以参见第三方面对应的各种可能的设计的效果描述。
第七方面,提供一种存储介质,该存储介质存储有计算机可读指令,当该计算机可读指令在计算机上运行时,使得计算机执行如前述的第一方面以及第一方面中的任一可能设计的方法所包括的操作。
第八方面,提供一种存储介质,该存储介质存储有计算机可读指令,当该计算机可读指令在计算机上运行时,使得计算机执行如前述的第二方面以及第二方面中的任一可能设计的方法所包括的操作。
第九方面,提供一种存储介质,该存储介质存储有计算机可读指令,当该计算机可读指令在计算机上运行时,使得计算机执行如前述的第三方面以及第三方面中的任一可能设计的方法所包括的操作。
第十方面,提供一种计算机程序产品,所述计算机程序产品中存储有计算机可读指令,当其在计算机上运行时,使得计算机执行如前述的第一方面以及第一方面中的任一可能设计的方法所包括的操作。
第十一方面,提供一种计算机程序产品,所述计算机程序产品中存储有计算机可读指令,当其在计算机上运行时,使得计算机执行如前述的第二方面以及第二方面中的任一可能设计的方法所包括的操作。
第十二方面,提供一种计算机程序产品,所述计算机程序产品中存储有计算机可读指令,当其在计算机上运行时,使得计算机执行如前述的第三方面以及第三方面中的任一可能设计的方法所包括的操作。
第十三方面,提供了一种通信系统,包括第四方面提供的网络设备,第五方面提供的网络设备,和/或第六方面提供的网络设备,用于执行第一方面、第二方面、第三方面、第一方面任意一种可能的设计、第二方面任意一种可能的设计和/或第三方面任意一种可能的设计中的方法。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有的用于转发业务的一种网络架构示意图;
图2为本申请实施例中的MPLS网络中包括旁路开关的示意图;
图3A为本申请实施例的一种应用场景示意图;
图3B为本申请实施例的另一种应用场景示意图;
图3C为本申请实施例的另一种应用场景示意图;
图3D为本申请实施例的另一种应用场景示意图;
图3E为本申请实施例的另一种应用场景示意图;
图4为本申请实施例中的旁路开关的结构示意图;
图5A为本申请实施例中的报文传输网络的架构示意图;
图5B为本申请实施例中的报文传输网络的另一架构示意图;
图6为本申请实施例中的传输报文的方法的流程图;
图7为本申请实施例中的报文传输网络的另一架构示意图;
图8为本申请实施例中的报文传输网络的另一架构示意图;
图9为本申请实施例中的传输报文的方法的另一流程图;
图10为本申请实施例中的报文传输网络的另一架构示意图;
图11为本申请实施例中的报文传输网络的另一架构示意图;
图12为本申请实施例中的传输报文的方法的流程图;
图13为本申请实施例中的网络设备的结构示意图;
图14为本申请实施例中的网络设备的另一结构示意图;
图15为本申请实施例中的网络设备的另一结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
以下,对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
1、节点旁路,是利用旁路开关(bypass switch)连通传输链路的一种技术。通过节点旁路技术可以将原本由于断电等原因断开的链路再连通,以实现业务的持续进行。请参见图2所示的节点旁路的示意图,NE1、NE2、NE3组成的工作路径中配置有旁路开关1,NE1、NE4、NE3组成的保护路径中配置有旁路开关2。以旁路开关1为例,在正常情况下,业务通过NE1的接口A经旁路开关1的接口1、接口2传输至NE2的接口B,再从NE2的接口C经旁路开关1的接口4、接口3传输至NE3的接口D;若NE2掉电,旁路开关1的接口1和接口3则直接连通,通过旁路开关1的旁接实现了接口A与接口D之间的直连,进而可以通过接口A、接口1、接口3、接口D所构成的转发路径持续地传输业务数据,从而可以避免NE2掉电而导致的业务中断。其中,由接口A、接口1、接口3、接口D所组成的传输路径例如又可以称作旁路路径(bypasstunnel)。
2、多协议标签交换(multi-protocol label switching,MPLS),是一种用于快速数据包交换和路由的体系,是新一代的网际协议(internet protocol,IP)高速骨干网络交换标准,它为网络数据流量提供了目标、路由地址、转发和交换等能力,通过MPLS机制可以提高数据转发速度,节约处理时间,提高数据转发效率。
MPLS独立于开放式系统互联(open system interconnection,OSI)模型的第2层(即数据链路层)和第3层(即网络层),这也是MPLS能支持多协议的原因。MPLS技术集第2层的快速交换和第3层的路由转发于一体,可以满足较多应用场景对网络的要求。MPLS是利用标签(label)进行报文转发的,当报文进入MPLS网络时,要为其分配label,并将label与报文封装在一起,在整个转发过程中,MPLS网络中的节点设备可以根据封装的label进行转发。
MPLS网络又可以理解为是MPLS域,是指由相连的、支持MPLS的设备组成的网络,封装MPLS标签的数据可以在MPLS网络内传输,以实现数据的转发。
在MPLS网络中进行数据转发时,需要分别给待转发的数据报文添加MPLS报文头和以太网(ethernet)报文头,简单的理解,就是需要在从其它用户网络传输来的数据报文前再封装上MPLS报文头和ethernet报文头。其中,MPLS报文头又可以称作MPLS报头或者MPLS头,ethernet报文头又可以称作ethernet报头或者ethernet头或者以太头或者eth头,也就是说,在本申请实施例中,对于MPLS报文头和ethernet报文头的称呼可以前面所列举的这些名称互换。
以图1为例,沿着NE1到NE3的传输路径的数据传输方向,可以将NE1称作入口(ingress)节点设备或者入口节点或者首节点或者头节点,将NE3称作出口(egress)节点设备或者出口节点或者尾节点,以及将NE2称作中间(transit)节点设备或者中间节点。
3、本申请实施例中的术语“多个”是指两个或两个以上,鉴于此,本申请实施例中也可以将“多个”理解为“至少两个”。“至少一个”,可理解为一个或多个,例如理解为一个、两个或更多个。例如,包括至少一个,是指包括一个、两个或更多个,而且不限制包括的是哪几个,例如,包括A、B和C中的至少一个,那么包括的可以是A,B,C,A和B,A和C,B和C,或A和B和C。“至少两个”,可理解为两个或更多个。同理,对于“至少一种”等描述的理解,也是类似的。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,或单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
以及,除非有相反的说明,本申请实施例提及的“第一”、“第二”、“第三”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。
为了更好地理解本申请实施例提供的技术方案,下面先介绍本申请实施例的技术背景。
如前所述,由于网络设备掉电等原因可能会造成业务转发中断,影响业务的正常进行。鉴于此,可以采用节点旁路技术来实现链路的旁接,以通过节点旁路技术及时恢复断开的数据传输链路,从而确保业务的正常进行。
请参见图2所示的节点旁路的示意图,NE1与NE3之间的业务通过传输路径承载,工作路径部署在NE1、NE2、NE3上,NE1为工作路径的入口节点,NE2为工作路径的中间节点,NE3为工作路径的出口节点。保护路径部署在NE1、NE4、NE3上,NE1为保护路径的入口节点,NE4为保护路径的中间节点,NE3为保护路径的出口节点。工作路径和保护路径之间可以进行切换,例如在工作路径出现异常时则可以切换到保护路径,以通过保护路径来持续地转发业务,以提高网络的可靠性。
中间节点NE2配置有旁路开关1,中间节点NE4配置有旁路开关2。以NE2为例,当NE2正常工作时,业务通过工作路径转发,即经由接口A、接口1、接口2、接口B、接口C、接口4、接口3的工作路径传输业务报文。当NE2掉电时,传输路径发生倒换,业务则可以通过保护路径转发,同时,与NE2相连的旁路开关1可以将NE1的接口A和NE3的接口D连通。虽然NE1的接口A和NE3的接口D之间的物理链路被连通了,但是此时工作路径却仍然无法转发业务,这是因为:NE1对应工作路径的接口A的IP地址(即10.0.1.1/25)与NE3对应工作路径的接口D的IP地址(10.0.2.2/25)不在同一网段。所以,NE1无法通过地址解析协议(address resolutionprotocol,ARP)学习的方式学习到接口D的媒体访问控制(media access control,MAC)地址,所以就无法获知待传输的报文的目的MAC地址。故,即使接口A与接口D之间的物理链路已经连通,但是由于无法获知到目的MAC地址,所以NE1也还是无法基于已经连通的物理链路进行数据转发。类似地,在NE4掉电时也存在与NE2掉电相同的问题。
其中,通过ARP学习MAC地址的方式可以按照以下理解:以图2中的NE1为例,NE1知晓待传输报文的目的IP地址,即图2中为NE1对应配置的下一跳IP(即10.0.1.2),NE1可以将该目的IP地址在接口A的IP地址的同一网段内进行广播,例如广播一条携带目的IP地址的ARP消息。该网段内的各个设备在接收到该ARP消息之后,判断其中携带的目的IP地址是否是自己所包括的接口的IP地址。若是则返回该接口的MAC地址,若不是则丢弃该ARP消息。进一步地,在有设备返回与该目的IP地址对应的MAC地址之后,NE1则可以获得该MAC地址,并将其作为待传输报文的目的MAC地址进行封装,进而完成报文的传输。可见,只有与接口A的IP地址处于同一网段的设备才可能接收到NE1广播的ARP消息,具体到图2中来说,由于网络部署是按照网段隔离的方式部署网络中的节点设备的,所以NE1和NE3必然不在同一个网段。那么自然,NE1也就无法通过ARP学习的方获得接口D的MAC地址,因为NE3根本就无法接收到NE1广播的ARP消息。
在NE2掉电时,虽然可以通过节点旁路技术的来恢复物理链路的连通,但是由于设备无法通过ARP学习的方式获得目的MAC地址,所以也就无法实质上恢复传输路径,即无法通过传输路径转发报文。在该情形下,可以通过人工调整的方式来恢复传输路径的数据转发能力。具体来说,人工选取一个与NE1的接口A在同一网段的可用IP,并将NE3的接口D的IP地址设置为选取的该可用IP,以及将NE1对应传输路径的下一跳IP修改为该可用IP。经过该调整,NE1的接口A的IP地址和NE3的接口D的IP地址则在同一网段,进而则可以通过ARP学习的方式获得NE3的接口D的MAC地址,从而完成数据报文的转发。
对于上述介绍的恢复传输路径的数据转发能力的方式,需要依赖人工的调整,人工干预的工作复杂度高,工作量大,并且需要花费一定的时间才能完成手动调整,所以传输路径的恢复需要花费一定的时间,在工作路径和保护路径都出现设备掉电的情形时,这可能影响业务转发的及时性。或者,在保护路径可以继续转发报文的情形下,若工作路径没有及时恢复,这将导致网络的可靠性下降。另外,由于完全依赖人工调整,这与调整人员自身的能力有较大关系,可能出现调整出错等情况,导致传输路径无法及时恢复,进一步地影响网络可靠性。
鉴于此,本申请实施例提供一种在网络中传输报文的方法,通过该方法,在网络中的第一网络设备需要向该网络中的第二网络设备转发报文时,若第一网络设备中用于发送该报文的接口(例如是接口X)的IP地址与第二网络设备中用于接收该报文的接口(例如是接口Y)的IP地址不在同一网段,所以使得第一网络设备无法通过ARP学习的方式获得接口Y的MAC地址。此时,第一网络设备则可以在待转发的报文中封装一个预先配置好的虚拟MAC地址作为该报文的目的MAC地址,该虚拟MAC地址不同于该网络中各个网络设备的接口实际的MAC地址,所以自然也就与接口Y的MAC地址不同(而现有技术中报文中携带的目的MAC地址与报文到达的接口的MAC地址是一致的)。同时,由于该虚拟MAC地址具有该网络中各个网络设备均能够识别且认为是合法有效的MAC地址的属性,即该虚拟MAC地址是网络级均识别且认可的MAC地址,所以在携带有该虚拟MAC地址的报文被传输至第二网络设备时,第二网络设备则认可该虚拟MAC地址,进而认为该报文是合法有效的,从而完成报文的有效转发。
可见,本申请实施例提供了一种在不属于同一网段的两个网络设备的两个接口之间传输报文时,如何配置报文的目的MAC地址而使得该报文能够在这两个接口之间进行有效传输的机制。这样,即使在第一网络设备和第二网络设备之间的其它网络设备由于掉电等原因而导致转发链路断开时,也可以采用节点旁路技术连通第一网络设备和第二网络设备之间的物理链路,并基于本申请实施例中的虚拟MAC地址的机制实现报文逻辑上的有效转发,即从实质上恢复传输路径的数据转发能力,从而确保业务的正常进行,减少业务受损的概率,提升网络的可靠性。相对于现有的需要人工进行调整的方式来说,不再依赖人工干预,可以缩短调整恢复时间,实现传输路径的及时恢复,提高网络可靠性,实现“掉电即通”的效果。并且可以减少人为主观调整可能的出错,这样可以进一步地的增加传输路径恢复的及时性,确保数据可靠转发。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例中的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
首先说明的是,本申请实施例提供的技术方案可以应用于IP网络中的报文转发;或者,本申请实施例提供的技术方案也可以应用于MPLS网络中的报文转发,在MPLS网络中的报文的传输路径例如可以理解为MPLS隧道,或者可以简称为隧道,MPLS网络中的工作路径和保护路径之间部署有隧道自动保护倒换(automatic protection switching,APS),在具体实施过程中可以通过APS实现工作路径与保护路径之间的切换。MPLS网络可以承载虚拟专用网络(virtual private network,VPN)业务或者虚拟扩展局域网(virtualextensible local area network,VXLAN)业务或其它业务,其中的VPN业务包括L2VPN业务或者L3VPN业务;或者,本申请实施例还可以应用于其它网络中的报文转发,而该其它网络与IP网络与MPLS网络类似的,可以通过ARP学习MAC地址的机制来实现报文转发,但可能由于某种原因而导致无法通过ARP学习的方式学习到下一跳的接口的MAC地址,从而无法实现报文转发。为了便于理解,后文中则以IP网络或者MPLS网络对本申请实施例中的技术方案进行说明。
请参见图3A所示的本申请实施例的一种应用场景示意图,图3A中的MPLS域包括NE1、NE2、NE3和NE4这4个节点设备和1个旁路开关(即旁路开关1)。其中,MPLS域中的工作路径部署在NE1、ME2、NE3上,保护路径部署在NE1、NE4、NE3上。旁路开关1与NE2可以共用同一电源。当NE2掉电时旁路开关1也同时掉电,旁路开关1在未掉电时,可以通过接口1、接口2将NE1与NE2之间的链路连通,以及通过接口4、接口3将NE2与NE3连通。而旁路开关1在掉电时,可以通过接口1、接口3将NE1与NE3之间的物理链路连通,以在NE2掉电时可以实现节点旁路。换言之,可以通过旁路开关1自身的掉电情况直接反映NE2的掉电情况。在其它一些可能的实施方式中,旁路开关1还可与NE2进行交互,这样,NE2可以在出现故障时将其发生故障的状态通知旁路开关1,进而,旁路开关1可以根据该通知知晓NE2的实际设备状态。并且在NE2故障时则可以直接连通接口1和接口3,以通过接口1与接口3之间的直连来连通NE1与NE3之间的物理链路。可见,通过旁路开关1可以实现对NE2这个节点设备的节点旁路,即:当NE2正常工作时,业务转发路径可以是:接口A→接口1→接口2→接口B→接口C→接口4→接口3→接口D;当NE2掉电时,业务转发路径可以是:接口A→接口1→接口3→接口D,即直接绕过NE2而通过旁路开关1的旁接实现接口A与接口D之间的直连,以确保业务转发路径的物理链路是连通的。另外,当NE2掉电时,还可以通过APS将业务转换到保护路径转发,以通过保护路径继续转发业务,确保业务不会因为NE2的掉电而仍然继续及时的转发。
在如图3A所示的应用场景中,入口节点NE1和中间节点NE2、NE4均可以采用本申请实施例提供的技术方案来转发报文。具体来说,可以采用本申请实施例中的虚拟MAC地址对报文的目的MAC地址进行封装,这样在NE2掉电时能够通过旁路开关1的接口1和接口3的直连以连通接口A与接口D之间的物理链路的基础上,再通过虚拟MAC地址的转发机制以恢复工作路径的数据转发能力,达到“掉电即通”的目的,提升业务可靠性。
另外,针对MPLS网络中的报文转发,还涉及到MPLS标签的封装,关于封装MPLS标签的相关内容将在后文详细介绍。
再参见图3B所示的本申请实施例的另一应用场景示意图,与图3A相比不同的是,图3A所示的是MPLS网络的架构示意,而图3B所示的是IP网络的架构示意,即图3B中包括一IP域,而对于IP域的理解可以参照前述MPLS网络与MPLS域之间的关系的说明进行理解。
再参见图3C所示的本申请实施例的另一应用场景示意图,图3C所示的应用场景可以应用于MPLS网络或IP网络。对于网络架构来说,与图3A相比,图3C中的中间节点NE4也配置了旁路开关(即旁路开关2),即,保护路径中也配置有旁路开关,其中,旁路开关2与旁路开关1的作用是类似的,旁路开关2用于在NE4掉电时通过旁接的方式实现NE1与NE3之间的物理链路的连通。
再参见图3D所示的本申请实施例的另一应用场景示意图,对于网络架构来说,与前面介绍的图3A-3C相比,图3D中只包括一条路径,即不再有工作路径和保护路径的区分。图3D中的路径部署在NE1、NE2和NE3上,并且,中间节点NE2也部署了旁路开关1,当NE2掉电时,通过旁路开关1的旁接可以实现入口节点NE1的接口A与出口节点NE3的接口D之间的物理链路的连通。
再参见图3E所示的本申请实施例的另一应用场景示意图,对于网络架构来说,与图3A相比,图3E中的工作路径部署在NE1、NE2、NE5和NE3上,其中NE1是工作路径的入口节点,NE2、NE5是工作路径的中间节点,NE3是工作路径的出口节点。例如沿着NE1->NE2->NE5->NE3的数据传输方向,对于NE2来说,NE1是NE2的上一跳节点,NE5是NE2的下一跳节点。并且,中间节点NE5也配置了旁路开关(即旁路开关2),其中,旁路开关2与旁路开关1的作用是类似的,旁路开关2用于在NE5掉电时通过旁接的方式实现NE1与NE3之间的物理链路的连通或者实现NE2与NE3之间的物理链路的连通。
在图3E所示的应用场景中,在同一时刻,NE2与NE5的掉电情况可能包括以下几种情形:①NE2和NE5均未掉电而都正常工作;②NE2掉电,NE5未掉电而正常工作,此时可以通过旁路开关1的旁接作用,以通过旁路开关1的接口1和接口3的直连实现NE1的接口A与NE5的接口E之间的物理链路的连通;③NE2未掉电而正常工作,NE5掉电,此时可以通过旁路开关2的旁接作用,以通过旁路开关2的接口1和接口3的直连实现NE2的接口C与NE3的接口D之间的物理链路的连通;④NE2和NE5同时掉电,此时可以通过旁路开关1的接口1、接口3的直连,以及旁路开关2的接口1、接口3的直连实现NE1的接口A与NE3的接口D之间的物理链路的连通。可见,无论是哪种情形,通过节点旁路技术均可以实现当前断电的中间节点的上一跳节点和下一跳节点之间的物理链路的连通。
需要说明的是,本申请实施例所适用的应用场景中,可以同时部署有工作路径和保护路径,或者也可以只部署一条传输路径。以及,在同时部署有工作路径和保护路径的应用场景中,工作路径中可以部署有旁路开关,保护路径中也可以配置有旁路开关或者也可以未配置有旁路开关。另外,在前面所示的应用场景的基础上,无论是在工作路径中还是在保护路径中,均可以再包括更多数量的中间节点,以及每个中间节点均可以配置对应的旁路开关,也可以部分中间节点配置对应的旁路开关,部分中间节点不配置旁路开关,为了简洁,本申请实施例就不再一一示意说明了。
此外,本申请实施例中是以节点设备掉电为例来说明对应配置的旁路开关的旁接作用,即,在节点设备掉电时可以通过节点旁路技术以实现路径的物理链路的连通,在其它可能中,节点设备还可能由于其它故障而导致无法继续转发报文而导致业务中断,例如宕机或者硬件故障或者其它故障。换言之,本申请实施例是在节点设备出现掉电、宕机、硬件故障等设备故障时均可能由于无法继续转发报文而导致业务中断或者暂停。在这些情形下,可以通过节点旁接技术及时的恢复断开的物理链路,而为了便于理解,前文和后文中均以设备掉电这种设备故障为例进行示意性的说明。
为了便于理解,以下对本申请实施例中的旁路开关进行介绍。
本申请实施例中的旁路开关是一种能够实现链路旁接的设备,例如是光纤短接设备,通常来说成本比较低,所以一般较为广泛的应用于IP网络、MPLS网络及其它网络中,通过旁路开关的旁接可以实现物理链路的连通,避免由于节点设备掉电而导致的业务中断,从而可以确保业务的正常进行,提升网络可靠性。请参见图4所示的旁路开关的结构示意图,图4中的左图为旁路开关未断电时的内部链路示意。图4中的右图为旁路开关断电时的内部链路示意,由于旁路开关的断电情况可以反映对应的节点设备断电情况,所以也可以将图4中的左图理解为是旁路开关对应的节点设备未断电时的内部链路示意。以及将图4中的右图理解为是旁路开关对应的节点设备断电时的内部链路示意。旁路开关可以包括4组通信接口,每组通信接口包括1个收接口和1个发接口。参见图4所示,旁路开关包括的4组通信接口分别是RX1和TX1、RX2和TX2、RX3和TX3、RX4和TX4,这4组通信接口对外可以理解为是接口1、接口2、接口3和接口4。当未断电时,接口1和接口2连通,接口3和接口4连通;当断电时,接口1和接口3连通,接口2和接口4连通。当然,图4中所示的只是旁路开关的一种可能的接口示意以及在该种接口示意下的一种可能的接口连通示意,在其它情形中,旁路开关还可以包括更多可能的接口示意以及更多可能的接口连通示意,就不再展开说明了。
以前述的图3C为例,当NE2未断电时,NE1的接口A经旁路开关1的接口1和接口2之间的连通以连接到NE2的接口B,以及NE2的接口C再经旁路开关的接口4和接口3之间的连通以连接到NE3的接口D;当NE2掉电时,NE1的接口A经旁路开关1的接口1和接口3之间的连通以连接到NE3的接口D,当然在NE2掉电时,NE1的接口A还可以经旁路开关1的接口2和接口4之间的连通以连接到NE3的接口D,在本申请实施例的所有示例中,均是以在断电时通过旁路开关的接口1和接口3之间的连通为例进行介绍的。
如前面介绍的,本申请实施例提出了一种在网络中采用虚拟MAC地址对目的MAC地址进行封装的封装机制,基于该封装机制,本申请实施例提供了一种快速实现节点旁路的传输报文的方法,在介绍该方法之前,先对本申请实施例中的虚拟MAC地址进行介绍。
本申请实施例中所指的“网络级”,是指整个网络均能感知,例如在整个IP网络或者整个MPLS网络中均能感知,可以这样理解,针对网络级的虚拟MAC地址,网络中的所有节点设备均能识别,并且认为其是合法、有效的MAC地址。所以,携带本申请实施例中的网络级的虚拟MAC地址的报文对于任何一个节点设备来说,其中携带的虚拟MAC地址均能被识别且被认为是合法有效的,为了便于与网络中各节点设备实际使用的MAC地址进行区分,以“虚拟”对本申请实施例中进行目的MAC封装的MAC地址进行表示,即虚拟MAC地址。需要说明的是,本申请实施例中的虚拟MAC地址也符合MAC地址的格式和要求,所谓“虚拟”只是与网络中实际的多个MAC地址进行区分,可以将其理解为是一种网络中进行业务转发的MAC地址。
并且,为了避免与网络中实际使用的所有MAC地址造成冲突,本申请实施例中的虚拟MAC地址可以与网络中的所有接口的MAC地址均不相同,即虚拟MAC地址与网络中当前实际使用的MAC地址均不相同。本申请实施例中的虚拟MAC地址,是用于对报文进行ethernet报文头的封装,具体来说,就是将ethernet报文头中的目的MAC字段配置为虚拟MAC地址,由于目的MAC字段指示的是报文路由的下一跳接口的MAC地址,通过将目标MAC字段设置为虚拟MAC地址,在转发报文时可以无需再依赖ARP的方式去学习得到下一跳接口的MAC地址,也可以解决在当前接口的IP地址与下一跳的接口的IP地址不在同一网段而无法通过ARP学习的方式得到下一跳的接口的MAC地址的问题,这样,通过各节点设备均能有效识别的虚拟MAC地址即可实现传输路径的数据转发,在节点旁路时不仅是物理链路的连通,并且能恢复传输路径的业务转发能力,以及时地进行业务处理。
基于虚拟MAC地址的特性,即需要与当前网络中所有接口使用的MAC地址保持不同,可以采用一些方式获得一个或多个虚拟MAC地址,例如可以将得到的一个或多个虚拟MAC地址以虚拟MAC地址集合表示,每个节点设备进行ethernet封装时所使用的虚拟MAC地址,可以是该虚拟MAC地址集合中的一个虚拟MAC地址。
在具体实施过程中,例如可以采用以下方式获得虚拟MAC地址,并且,上述提到的虚拟MAC地址集合中的所有虚拟MAC地址可以采用相同的方式获得,或者也可以采用不同的方式获得。
方式1:将在当前网络内未被使用的MAC地址作为虚拟MAC地址。
例如,可以先确定为该网络中各个节点设备对应的设备厂商分配的MAC地址段,然后将该分配的MAC地址段中选择出当前网络中还未被使用的MAC地址作为虚拟MAC地址。
又例如,可以直接将电气和电子工程师协会(institute of electrical andelectronics engineers,IEEE)预留的MAC地址作为虚拟MAC地址,而IEEE预留的MAC地址是指还未分配给任何设备厂商使用的MAC地址,当然,IEEE为各设备厂商分配的可使用的MAC地址可能会发生变化,所以在本申请实施例中还可以基于该变化动态地更新虚拟MAC地址集合。
也就是说,在方式1中,可以将目前现有的但当前网络中未被使用的MAC地址作为虚拟MAC地址,利用现已有的MAC地址可以更为便捷的确定出虚拟MAC地址,同时可以避免与当前网络中正在使用的MAC地址重复而造成冲突,以确保业务转发正确。
方式2:将通过算法计算生成的MAC地址作为虚拟MAC地址。
也就是说,在方式2中可以动态的生成虚拟MAC地址,而生成的虚拟MAC地址也与当前网络中已经使用的MAC地址不同。例如,可以采用预定的算法对MAC生成因子进行运算而生成得到虚拟MAC地址,该MAC生成因子可以网络中各个节点设备共有的信息,以MPLS网络为例,该共有的信息例如是MPLS网络中各个节点设备均具有的属性信息,或者是各个节点设备均一致认可的信息。例如针对一条传输路径来说,该MAC生成因子可以是该传输路径的标识(identification,ID),例如说隧道ID,等等。通过动态计算的方式可以生成符合MAC地址的格式要求的虚拟MAC地址,并且生成的MAC地址可以与现有的IEEE签发的MAC地址相同或者也可以不同,通过动态生成的方式可以提高虚拟MAC地址使用的灵活性,选择性更多。
也就是说,本申请实施例中的虚拟MAC地址是符合现有的MAC地址的格式要求的,并且,虚拟MAC地址与当前网络中各个节点设备包括的接口的MAC地址均不相同,以及,虚拟MAC地址能够被网络中的节点设备识别并认同其是合法有效的MAC地址,换言之,本申请实施例中的虚拟MAC地址具有网络级的可识别性和有效性。
根据上述介绍的网络级的虚拟MAC地址的获得方式,进一步地则可以通过获得的虚拟MAC地址在IP网络中或者MPLS网络中对待转发报文的目的MAC地址进行封装,以通过网络级的虚拟MAC地址实现报文的有效转发。
以下结合说明书附图对本申请实施例提供的技术方案进行说明。
针对网络中的各条传输路径,用户可以通过网管设备、控制器或者以命令行界面(command line interface,CLI)的方式配置进行传输路径的配置,举例来说,可以通过下发路径配置消息的方式来对各个网络设备进行传输路径的配置。根据网络的不同,配置的项目可能有所不同,本申请实施例中的业务转发网络主要包括IP网络和MPLS网络,为了简洁,以下主要以对MPLS网络的路径配置进行说明,而IP网络可以参考类似理解。
由于在MPLS网络中的传输路径可以称作隧道,所以针对MPLS网络进行的传输路径的配置又可以称作隧道配置。对于MPLS网络进行隧道配置,具体来说,可以通过向MPLS网络中的各个节点设备下发隧道配置消息的方式来对各个节点设备进行隧道配置,即,可以将隧道配置信息理解为是上层配置工具与底层执行设备之间的配置交互。在对每个节点设备配置好之后,相当于就是对整个隧道路径上的节点设备都进行了相应的隧道规划配置。
以下对MPLS网络中的隧道配置过程进行说明,其它网络的路径配置可以类似的理解。
首先,针对每个节点设备,上层可以下发对应的隧道配置消息,隧道配置消息可以包括隧道ID、隧道节点角色、数据转发方向上的入标签、出标签、入接口、出接口、下一跳IP、隧道的旁路(bypass)属性、ARP表项等信息,其中的入标签和出标签是指MPLS网络中的MPLS标签,这也是MPLS网络相对于IP网络的主要区别之处。其中:
(1)隧道ID,为隧道的唯一标识,用于标识该隧道,位于同一隧道上的各节点设备的隧道ID相同。
(2)隧道节点角色,即各个节点设备在整条隧道路径上的角色,通过隧道节点角色可以知晓对应的节点设备在隧道路径上所处的位置,具体来说,隧道节点角色包括前面提到过的入口节点、中间节点和出口节点,其中的入口节点又可以称作首节点,以及出口节点又可以称作末节点或者尾节点。
(3)MPLS标签,包括入标签(in label)和出标签(out label),即为各个节点设备配置的用于在转发报文时进行MPLS封装时所使用的标签。
(4)入接口和出接口,指明各个节点设备中用于承载一条隧道路径上的业务转发的接口,其中的入接口用于接收报文,出接口用于向外发送报文。
(5)下一跳IP,指明当前节点设备对应的下一跳的入接口的IP地址。
(6)路径的bypass属性,针对传输路径而言,是指是否使用虚拟MAC地址进行报文封装的属性,当bypass属性使能时,表明传输路径当前可以采用虚拟MAC地址的方式进行报文封装并转发,当bypass属性未使能时,表明不采用虚拟MAC地址的方式进行报文封装,换言之,传输路径的bypass属性用于表明是否采用虚拟MAC地址进行报文封装,当希望当前的传输路径采用虚拟MAC地址的方式进行报文封装时,则可以使能bypass属性,并在隧道配置时进行对应配置,相应地,bypass属性的未使能状态,也可以在隧道配置时进行相应配置。本领域技术人员可以理解的是,也可以通过静态配置,默认在报文中封装虚拟MAC地址作为目的MAC地址,此时,则无需配置传输路径的bypass属性。
(7)ARP表项,即ARP表中的记录,一个ARP表(也可以称之为ARP缓存)中可以包括一条或多条ARP表项。其中,ARP表中记录了网络设备的IP地址与MAC地址之间的对应关系,在本申请实施例中,可以采用虚拟MAC地址来配置ARP表项,即,在为每个节点设备配置好对应可以使用的虚拟MAC地址后,可以将配置的虚拟MAC地址填入该节点设备对应维护的ARP表中。这样,就无需再如现有技术中那样需要通过ARP学习的方式才能获得下一跳的MAC地址。进一步地,对于路径中的每个节点设备而言,ARP表中有一条ARP表项记录与该节点设备对应,可以通过该对应的ARP表项获得封装报文可以使用的虚拟MAC地址。
在根据前述介绍的方式获得虚拟MAC地址之后,则可以为每个节点设备配置可使用的虚拟MAC地址,进而将配置的虚拟MAC地址填入对应的ARP表项中,以使得节点设备可以通过ARP表项获知封装报文时可以采用的虚拟MAC地址,进而实现基于虚拟MAC地址的封装。
为了便于理解,以下对节点设备的虚拟MAC地址的一些可能的配置方式进行说明。
第一种可能的配置方式是,针对一个网络配置一个全局的虚拟MAC地址,即为当前网络中的所有网络设备均配置同一个虚拟的MAC地址。例如全局配置的该同一个虚拟MAC地址为MAC地址a,那么,该网络中的所有网络设备均能够识别该MAC地址a,并且均会认为MAC地址a是合法有效的。以及,为了避免与当前网络中的各网络设备的接口的实际MAC地址造成冲突,该MAC地址a与各网络设备的接口的实际MAC地址均不相同,但该网络中的所有网络设备均能使用MAC地址a进行报文封装,并且均能对其进行有效识别。
第二种可能的配置方式是,针对一个网络中的每条传输路径分别配置一个虚拟MAC地址,而所有传输路径配置的虚拟MAC地址中可能包括相同的虚拟MAC地址,或者各条传输路径配置的虚拟MAC地址均不相同。例如,当前网络中建立有路径1、路径2、路径3和路径4这四条传输路径。一种配置方式是为路径1、路径2、路径3和路径4配置的虚拟MAC地址均不相同,或者,另一种配置方式是,为路径1和路径3配置的是相同的虚拟MAC地址(例如MAC地址1),而为路径2和路径4配置的是另一相同的虚拟MAC地址(例如MAC地址2)。这样,每条路径均可以被配有一个虚拟MAC地址,对于每个路径上配置的这一个虚拟MAC地址,该路径上所有的网络设备均能对其进行识别,并均认为其是合法有效的MAC地址。
第三种可能的配置方式是,在第二种配置方式的基础上,还可以进一步地为部分或全部传输路径同时配置多个虚拟MAC地址,例如为某条传输路径配置2个虚拟MAC地址,位于该传输路径中的所有网络设备均能识别所配置的2个虚拟MAC地址。在具体实施过程中,位于该传输路径中的各个网络设备可以使用任意一个虚拟MAC地址进行报文转发。
无论采用上述哪一种方式为网络配置了可使用的虚拟MAC地址后,针对网络中的一个网络设备而言,其具有对应配置的虚拟MAC地址,该网络设备可以采用为其对应配置的虚拟MAC地址进行报文封装,以通过虚拟MAC地址的封装机制实现报文转发。
进一步地,各节点设备在接收到上层下发的路径配置消息之后,解析路径配置消息中各字段的值,并将解析得到的各字段的值存储到该节点设备自身维护的路径配置信息表中。另外,节点设备在将解析得到的信息存储到本地的路径配置信息表中之前,可以先对各字段的值进行合法性校验,例如可以判断各字段是否满足一定的格式要求和取值要求,等等。以标签值为例,假设规定的标签取值范围是100-2360,如果上层下发的标签是3456,可见下发的标签值不在规定的标签取值范围之内,那么此时则可以认为标签值是不合法的。
节点设备自身维护的、存储在本地的路径配置信息表中,可以包括该节点设备对应的多条传输路径的路径配置消息,因为,一个节点设备可能被配置为多条传输路径中的节点设备,或者更具体的来说,一个节点设备的多个接口可能被配置为多条传输路径中的转发接口,换言之,一个节点设备可以同时承载多条传输路径的业务转发,例如一个节点设备同时被配置为路径1和路径2,那么该节点设备的路径配置信息表中就可以包括与路径1和路径2分别对应的路径配置消息,其中,可以通过传输路径的ID来识别不同的传输路径,进而得到各条传输路径对应的路径配置消息。需要说明的是,对于MPLS网络或者其它通过隧道传输业务的网络来说,传输路径可以理解为是隧道,例如MPLS网络中的传输路径可以MPLS隧道(或者隧道)表示,对应的,路径配置信息在MPLS网络中则可以理解为是隧道配置信息。
如前所述的,本申请实施例中的在网络中传输报文的方法可以应用于IP网络或者MPLS网络或者其它网络,并且,无论是哪种网络,其中均可能包括多种角色的节点设备,为了便于理解,以下分别以入口节点设备、中间节点设备和出口节点设备三种节点角色的角度来对本申请实施例提供的技术方案进行说明。
一、以入口节点设备的角度对本申请实施例中的技术方案进行说明。
请参见图5A和图5B所示的网络架构示意图,其中包括第一网络设备和第二网络设备。第一网络设备和第二网络设备处于同一网络,例如处于同一MPLS域或者同一IP域中。第一网络设备是该网络中的入口节点设备,第二网络设备是该网络中的中间节点设备或者出口节点设备。第一网络设备和第二网络设备可以是前述提到的NE或者节点设备或者节点,具体来说,第一网络设备和第二网络设备是可以对业务流量进行转发的设备。
如图5A和图5B所示,第一网络设备具有第一接口和第二接口,第二网络设备具有第三接口和第六接口。其中,第三接口的地址为第一MAC地址,第二接口的IP地址为第一IP地址,第三接口的IP地址为第二IP地址,第一IP地址和第二IP地址属于不同的网段。第一网络设备与第二网络设备之间直连的第一种连接方式是:如图5A所示的,第一网络设备的第一接口与第二网络设备的第三接口之间通过光纤或者其它传输介质直连。但是由于一些原因,可能使得第一网络设备的第二接口的第一IP地址与第三网络设备的第三接口的第二IP地址不在同一网段,所以第一网络设备无法通过ARP学习的方式获得第三接口的MAC地址(即第一MAC地址),所以无法进行报文传输。
第一网络设备与第二网络设备之间直连的第二种连接方式是:请参见图5B所示,第一网络设备与第二网络设备之间还部署有第三网络设备,第三网络设备包括第四接口和第五接口。第三网络设备对应配置有旁路开关,该旁路开关包括接口1、接口2、接口3、接口4。该旁路开关例如可以是如图4中所介绍的开关设备,第三网络设备与旁路开关可以共用同一电源。在具体实施过程中,当第三网络设备未掉电而能正常工作时,第一网络设备可以通过第二接口经由旁路开关的接口1、接口2与第三网络设备的第四接口连接,以及,第三网络设备可以通过第五接口经由旁路开关的接口4、接口3与第二网络设备的第三接口连接,此时可以将第三网络设备看作是第一网络设备和第二网络设备之间的中间节点;当第三网络设备掉电时,基于节点旁路技术,旁路开关可以将第一网络设备和第二网络设备之间的物理链路连通,这样,第一网络设备可以通过第二接口经由旁路开关的接口1、接口3直接与第二网络设备的第三接口连通。换言之,旁路开关用于在第三网络设备故障(例如掉电)时连通第一网络设备的第二接口和第二网络设备的第三接口,即,连通第二接口与第三接口之间的物理链路。也就是说,第一网络设备与第二网络设备之间直连的第二种连接方式是通过旁路开关进行的直连。在该直连方式中,根据网段隔离部署的原则,由于在第一网络设备和第二网络设备之间还部署有第三网络设备,所以第二接口的第一IP地址与第三接口的第二IP地址必然不属于同一网段,故第一网络设备无法通过ARP学习的方式获得第三接口的MAC地址(即第一MAC地址)。所以,当第三网络设备掉电时,即使通过旁路开关将第二接口与第三接口之间的物理链路连通了,但是由于第一网络设备无法获得第三接口的第一MAC地址,所以也无法进行报文传输。
图5A和图5B中的第一网络设备由于是入口节点设备,所以第一网络设备可以从外部其它网络接收报文。在图5A中,第二网络设备可以接收第一网络设备发送的报文。在图5B中,在第三网络设备掉电时,第二网络设备可以接收第一网络设备发送的报文;在第三网络设备未掉电时,第三网络设备可以接收第一网络设备发送的报文,以及第二网络设备可以接收第三网络设备发送的报文。如前所述的,第二网络设备可以是当前网络中的中间节点设备或者出口节点设备,当第二网络设备是出口节点设备时,如图5A和图5B中所示的,第二网络设备可以通过第六接口向外部网络发送数据;而当第二网络设备是中间节点设备时,可以再向当前网络中的其它网络设备发送报文。
以图5A对应前述的图3A的应用场景为例,第一网络设备可以理解为是图3A中的NE1,则第一网络设备的第二接口可以理解为NE1的接口A,此时的第一网络设备为入口节点设备。第二网络设备可以理解为是图3A中的NE2,第二网络设备的第三接口可以理解为NE3的接口B,此时的第二网络设备为中间节点设备。
以图5B对应前述的图3B的应用场景为例,第一网络设备可以理解为是图3A中的NE1,则第一网络设备的第二接口可以理解为NE1的接口A,此时的第一网络设备为入口节点设备。第二网络设备可以理解为是图3A中的NE3,第二网络设备的第三接口可以理解为NE3的接口D,此时的第二网络设备为出口节点设备。第三网络设备可以理解为是图3B中的NE2,第三网络设备的第四接口可以理解为NE2的接口B,第三网络设备的第五接口可以理解为NE2的接口C,此时的第三网络设备为中间节点设备,并且,第三网络设备对应配置有旁路开关。
再以图5B对应前述的图3E的应用场景为例,第一网络设备可以理解为是图3E中的NE1,则第一网络设备的第二接口可以理解为NE1的接口A,此时的第一网络设备为入口节点设备。第二网络设备可以理解为是图3E中的NE5,第二网络设备的第三接口可以理解为NE5的接口E,此时的第二网络设备为中间节点设备。第三网络设备可以理解为是图3E中的NE2,第三网络设备的第四接口可以理解为NE2的接口B,第三网络设备的第五接口可以理解为NE2的接口C,此时的第三网络设备为部署在第一网络设备和第二网络设备之间的中间节点设备,并且第三网络设备对应配置有旁路开关。
无论第一网络设备与第二网络设备之间是如何连接的,如前所述的,第一网络设备的第二接口的第一IP地址和第二网络设备的第二IP地址属于不同的网段,即,第一IP地址和第二IP地址不在同一个网段。当第一网络设备需要通过第二接口向第二网络设备的第三接口发送报文时,则无法通过ARP学习的方式获知到第三接口的第一MAC地址,所以当第一网络设备需要向第二网络设备发送报文时,无法对待发送的报文进行目的MAC地址的封装,导致第一网络设备无法向第二网络发送报文。
鉴于此,本申请实施例提供一种传输报文的方法,基于虚拟MAC地址的封装机制来实现报文的转发,以下结合图6所示的流程图进行说明。
如前介绍的图5A和图5B两种网络架构,对于图5A所示的网络架构,第一网络设备和第二网络设备之间未部署任何其它的设备,并且第一网络设备和第二网络设备之间直连。对于图5B所示的网络架构,第一网络设备和第二网络设备之间部署有第三网络设备和旁路开关,在该网络架构下,还包括第三网络设备掉电和未掉电两种可能的情形。其中,对于未包括第三网络设备、包括第三网络设备但第三网络设备掉电这两种情形,均是第一网络设备向第二网络设备发送报文,所以在这两种情形下发送报文的方式是一样的,在后文的描述中将这两种情形划分为同一种情形,即均理解为是第一网络设备直接向第二网络设备发送报文的情形,例如称作第一种情形;对于包括第三网络设备但第三网络设备未掉电这种情形,则是由第一网络设备向第三网络设备发送报文,例如称作第二种情形。
以下结合图6分别对第一种情形和第二种情形进行说明。
1、第一种情形。
如前所述的,第一种情形包含未包括第三网络设备、包括第三网络设备但第三网络设备掉电这两种情况,对于第一种情形可以按照图6中的S601-S604的步骤来进行理解。
S601:外部网络设备向第一网络设备发送第一报文,则第一网络设备可以接收该第一报文。
其中,外部网络设备是指位于当前的转发网络外的其它网络设备,例如是用户网络中的网络设备,第一报文则是从其它网络传输过来的报文,当第一报文进入当前的转发网络后,可以继续通过当前的转发网络进行转发以传输到其它网络。
根据当前网络的类型不同,第一报文可能具有不同的报文类型,以下进行说明。
若当前的转发网络是IP网络,那么第一报文可以是IP协议报文,第一报文可以包括有IP头、以太头、其它报头和净荷(payload)等部分。其中,IP头中包括源IP字段和目的IP字段,源IP字段指示发送第一报文的网络设备的IP地址,目的IP字段指示第一报文最终需要到达的网络设备(具体是指接收第一报文的网络设备的接口)的IP地址。以太头包括源MAC字段和目的MAC字段,源MAC字段指示发送第一报文的网络设备(具体是指发送第一报文的网络设备的接口)的MAC地址,目的MAC字段指示当前接收第一报文的网络设备(具体是指接收第一报文的网络设备的接口)的MAC地址。以图5A为例,在IP网络中,第一报文的目的IP地址为第一报文最终需要到达的网络设备中的接口的IP地址,第一报文的目的MAC地址为第一网络设备的第一接口的MAC地址。
若当前的转发网络是MPLS网络,根据MPLS网络所承载的业务场景的不同,第一报文可能具有不同的格式。例如,当承载L2VPN业务时,第一报文可能包括以太头、其它报头以及净荷等部分。又例如,当承载L3VPN业务时,第一报文可以是如上介绍的IP网络中的报文类型,此处就不再重复介绍说明了。
在接收到第一报文之后,为了通过传输路径继续传输第一报文,第一网络设备可以对第一报文进行一些处理,进而得到第二报文。也就是说,第一网络设备可以根据第一报文得到第二报文,然后再向下一跳节点发送第二报文。具体来说,可以按照S602-S603的方式由第一报文得到第二报文。
S602:第一网络设备查询ARP表,以获得第二MAC地址。
本申请实施例中的第二MAC地址即为前述介绍的虚拟MAC地址。也就是说,为第一网络设备配置的虚拟MAC地址是第二MAC地址,所以在进行报文转发时,第一网络设备可以通过查找ARP表的方式直接获得为当前节点配置的下一跳IP地址对应的虚拟MAC地址,即第二MAC地址。这样,在第一网络设备与第二网络设备通过光纤(或其它传输介质)直连,或者在第三网络设备掉电而通过旁路开关连通第一网络设备与第二网络设备之间的物理链路时,即使第一网络设备的第二接口与第二网络的第三接口的IP地址不在同一网段而使得第一网络设备无法通过ARP学习的方式获得的第三接口的实际的MAC地址时,也可以通过读取ARP表项中配置的虚拟MAC地址来进行报文转发。
由于第二MAC地址是本申请实施例中提出的虚拟MAC地址,基于前述对虚拟MAC地址的介绍,可知该虚拟的第二MAC地址与当前传输路径上的各个网络设备的接口实际的MAC地址均不相同,所以,第二MAC地址与第三接口的MAC地址(即第一MAC地址)是不相同的。
S603:第一网络设备根据第二MAC地址封装第一报文,以得到第二报文,该第二报文的目的MAC地址为第二MAC地址。
本申请实施例中,报文的目的MAC地址用于在转发路径上依据该目的MAC地址进行报文传输。或者还可以这样理解,报文的目的MAC地址是指在传输该报文的过程中用于对该报文是否传输正确进行校验的标识,即,对于接收到该报文的网络设备来说,可以依据该报文的目的MAC地址判断该报文是否是应该传输到该网络设备处,即判断报文的合法性和有效性。
以IP网络为例,第一网络设备可以将第一报文的以太头中的目的MAC字段封装为虚拟的第二MAC地址,而对于目的IP地址可以不做修改,即保留原始的目的IP地址,进而得到第二报文。所以,第二报文的目的MAC地址是一个虚拟MAC地址,即本申请实施例中的第二MAC地址。
以MPLS网络为例,在进行MPLS转发时,作为入口节点的第一网络设备来说,需要先在第一报文前添加MPLS头,再在MPLS头的外层添加外层的以太头,而将第一报文自身(包括第一报文原本携带的报头)作为新的报文的净荷,从而得到第二报文。进一步地,第一网络设备可以将新添加的外层的以太头的目标MAC字段封装成虚拟的第二MAC地址,所以第二报文的目的MAC地址是指外层以太头中的目的MAC地址。以及,再根据隧道配置信息在MPLS头中的MPLS标签字段中封装上MPLS标签,即写入下一跳网络设备对于隧道的入标签,进而则得到第二报文。也就是说,对于MPLS网络来说,第二报文中还携带有MPLS标签,并且此时第二报文的目的MAC地址(即外层以太头中的目的MAC地址)为虚拟的第二MAC地址。
S604:第一网络设备向第二网络设备发送第二报文。
在第一种情形中,第一网络设备是直接向第二网络设备发送报文的,本申请实施例中将第一网络设备直接向第二网络设备发送报文的报文传输路径称作第一路径。所以,第一网络设备在根据第一报文基于虚拟MAC地址的封装机制得到第二报文之后,则可以在第一路径上,通过第二接口向第二网络设备的第三接口发送第二报文。此时,在第一路径上,第二网络设备为第一网络设备相邻的下游节点,即,第二网络设备为第一路径上与第一网络设备直连的下一跳节点。如图5B所示的,在第一网络设备和第二网络设备之间部署有第三网络设备和旁路开关时,如果第三网络设备掉电,此时在第一路径上,第一网络设备则是通过旁路开关与第二网络设备直连的。
无论是第一网络设备与第二网络设备之间是例如通过光纤等传输介质传输第二报文,还是经由第一网络设备与第二网络设备之间部署的旁路开关传输第二报文,均可以实现第一网络设备到第二网络设备的报文传输。如图6中所示,第二报文直接经由旁路开关以传输至第二网络设备,由于可能不包括旁路开关和第三网络设备,所以在图6中是将旁路开关和第三网络设备以虚线矩形框表示的,通过虚线矩形框表示这两者并不是必须的。通过虚拟的第二MAC地址封装第二报文的方式,这样,当第二网络设备接收到第二报文之后,由于第二报文中的第二MAC地址对于第二网络设备来说是可识别的,且第二网络设备也认为第二MAC地址是合法有效的,那么则可以认为第二报文确实是发送给自己的,进而可以对第二报文进行进一步地的处理。
也就是说,通过本申请实施例中的虚拟MAC地址的报文传输机制可以实现报文的有效转发。这样即使在两个网络设备之间的其它网络设备由于掉电等异常出现时,基于本申请实施例的传输报文的方法也可以确保业务的持续进行,以尽量避免业务中断,确保业务的正常进行,减少业务受损的概率,提升网络的可靠性。同时,相对于现有的需要人工进行调整的方式来说,不再依赖人工干预,可以缩短调整恢复时间,实现快速旁路,从而提高数据转发效率,实现“掉电即通”的效果。并且可以减少人为主观调整可能的出错,进一步地提高网络的可靠性。
2、第二种情形。
如前所述的,第二种情形是指第一网络设备和第二网络设备之间部署有第三网络设备和旁路开关且第三网络设备未掉电(即能正常工作)的情形,对于第二种情形,可以按照图6中的S605-S608的步骤来进行理解。
S605:外部网络设备向第一网络设备发送第三报文,则第一网络设备可以接收该第三报文。
S606:第一网络设备查询ARP表,以获得第二MAC地址。
S607:第一网络设备根据第二MAC地址封装第三报文,以得到第四报文,该第四报文的目的MAC地址为第二MAC地址。
其中,第三报文可以参照前述对于第一报文的说明进行理解,此处就不再重复说明了。以及,S606的实施与前述的S602的实施是类似的,S607的实施例与前述的S603的实施是类似的,对于S606和S607的实施可以参照前述对于S602和S603的说明进行理解。在按照前述类似理解的基础上,即可以得到与第二报文的特性相似的第四报文。
S608:第一网络设备向第三网络设备发送第四报文。
在第二种情形中,由于第一网络设备与第三网络设备是直连的且第三网络设备能够正常工作,第一网络设备在根据第三报文得到第四报文之后,则可以将第四报文传输给第三网络设备。本申请实施例中将第一网络设备直接向第三网络设备发送报文的报文传输路径称作第二路径。所以,第一网络设备向第三网络设备发送第四报文,则是在第二路径上,通过第二接口向第三网络设备的第四接口发送第四报文。也就是说,在第三网络设备正常工作时,在第二路径上,第一网络设备是通过旁路开关与第三网络设备直连的。
第三网络设备在接收到第四报文之后,由于第四报文中的第二MAC地址对于第三网络设备来说是可识别的,且第三网络设备也认为第二MAC地址是合法有效的,那么则可以认为第四报文确实是发送给自己的。进而,可以对第四报文进行进一步地的处理。例如再执行如S606和S607的操作得到另一报文,再在第二路径上将得到的报文传输给第二网络设备。所以,第三网络设备为第二路径上与第一网络设备相邻的下游节点,第二网络设备为第二路径上与第三网络设备相邻的下游节点。
可见,在第三网络设备能够正常工作的情况下,基于本申请实施例中的虚拟MAC地址的报文传输机制可提供一种新的报文转发方式,这样可以增加报文传输的灵活性。
以上结合图6分别对第一种情形和第二种情形进行了介绍,通过本申请实施例中的虚拟MAC地址的封装机制可以实现报文的有效传输。另外需要说明的是,图6中的S601-S604和S605-S608这两个流程可以是在不同的时刻执行的,而这两个流程执行的时间先后不做限制。例如可以先执行S601-S604,或者也可以先执行S605-S608。
如前所述的,对于MPLS网络来说,第一网络设备在进行报文转发时,有别于其它网络所不同的是,还需要添加MPLS标签封装。而基于现有的MPLS标签分配方式,在第三网络设备掉电时,即使第一网络设备和第二网络设备之间的物理链路通过旁路开关的旁接可以连通,但是由于第一网络设备对于隧道的出标签和第二网络设备对于隧道的入标签不匹配也难以实现报文的转发。例如,继续参见图2所示,NE1上工作路径的出标签(即23)和NE3上工作路径的入标签(即21)并不匹配,所以在MPLS网络内,NE1无法依据MPLS标签向NE3发送报文。在此情形下,现有是通过人工调整的方式,将NE3上对应工作路径的入标签与NE1上对应工作路径的出标签修改为一样,进而使得NE3上工作路径的入标签与NE1上工作路径的出标签匹配,从而使得NE1与NE3之间能够依据相同的标签转发报文。该手动调整的方式如前述手动调整IP地址的方式一样,效率较低,且依赖用户手动调整容易出错,所以网络可靠性较差。
鉴于此,对于MPLS网络,本申请实施例中将整条隧道上的标签设置为一致。例如在隧道配置时对一条隧道上的所有节点设备的标签进行统一配置,即对于隧道的一个数据传输方向上来说,所有上游节点设备的出标签始终与其下游节点设备的入标签保持一致。而对于同一个节点设备来说,其自身对于隧道的出标签和入标签也相同。本申请实施例中所指的标签一致是指MPLS标签的取值相同。也就是说,可以将本申请实施例中封装的MPLS标签看作是网络级的MPLS标签,该网络级的MPLS标签对于整条隧道来说均是匹配的。这样,报文在传输时就可以与所有的节点设备的入标签匹配一致,从而能够依据相同的标签进行路由转发。所以在MPLS网络中,结合前述的虚拟MAC地址的报文转发机制,可以使得MPLS网络中的报文进行有效、及时转发,从而确保业务的正常进行,减少业务受损的概率,提升网络的可靠性。
以下对网络级MPLS标签的分配进行说明。
本申请实施例中所指的“网络级”,是指整个MPLS网络均能感知,可以这样理解,针对网络级MPLS标签,MPLS网络中的所有节点设备均能识别,并且认为其是合法、有效的MPLS标签,所以,携带本申请实施例中的网络级MPLS标签的报文对于任何一个节点设备来说,其中携带的MPLS标签均能被识别且被认为是合法有效的。
基于MPLS转发原理可知,为了确保报文的正确路由,转发该报文的节点设备的出标签和下一跳节点设备的入标签需要保持一致。如图2所示,当经NE1的接口A向NE2的接口B路由MPLS报文时,NE1对于隧道的出标签需要和NE2对于隧道的入标签保持一致,这样才能确保MPLS报文能够基于匹配相同的标签正确地从NE1路由到NE2。如图2中所示的,NE1对于隧道的出标签和NE2对于隧道的入标签均为23。基于此考虑,本申请实施例中将一条隧道上的所有节点设备的隧道标签均设置为同一网络级MPLS标签。也就是说,整条隧道上的隧道节点的出标签和入标签保持一致,例如将MPLS网络中的第一隧道中所有节点的出标签与入标签均设置为第一标签,该第一标签为本申请实施例中的网络级MPLS标签。另外,需要说明的是,由于一条隧道一般有两个路由方向。例如以图2中的由NE1、NE2和NE3所组成的传输路径来说,其具有两个路由方向,一个方向是沿着NE1经NE2再到NE3的方向,另一个方向是沿着NE3经NE2再到NE1的方向,即一条隧道具有两个相反的路由方向。而本申请实施例中所说的将一条隧道上的所有节点的出标签设置为一致是指一条隧道的一个路由方向上的所有节点的MPLS标签设置为一致。也就是说,本申请实施例中的一条隧道包括不同的路径以及一条隧道的不同路由方向两层概念。不同的隧道可以配置不同的网络级MPLS标签,以及一条隧道的不同路由方向也可以配置不同的网络级MPLS标签。或者不同的隧道也可以配置相同的网络级MPLS标签,或者,一条隧道的不同路由方向也可以配置相同的MPLS标签。
对于一条隧道路上配置的网络级MPLS标签,需要由该隧道上的所有节点设备均能识别并认可。鉴于此考虑,可以从该隧道上所有节点设备均能够使用的标签集合中选择一个作为该隧道上配置的网络级MPLS标签。也就是说,可以先获得该隧道中的所有节点设备均能够使用的标签集合,然后再从该标签集合中选择一个MPLS标签作为该隧道上配置的网络级MPLS标签。对于一条隧道中的所有节点设备均能够使用的标签集合,例如可以采用以下方式确定。
例如,可以通过网管工具或者控制器进行网络级MPLS标签的配置。具体来说,网络工具或者控制器可以获取一条隧道中各个节点设备当前可用的MPLS标签范围,然后再计算各个MPLS标签范围的交集,那么该交集即可以作为与该隧道对应的标签集合。
又例如,通过人工网络规划的方式进行网络级MPLS标签的分配。具体来说,可以根据不同的维度预先为各个节点设备配置可用的MPLS标签范围,例如可以根据业务类型或者其它因素来划分。也就是说,从一开始,一条隧道上的标签规则就是由人工配置的,这样可以尽量避免冲突,进一步地,再得到各个节点设备的MPLS标签范围的交集,并最终将其作为与该隧道对应的标签集合。
由于一条隧道配置的是一致的MPLS标签,以为一条隧道配置的MPLS标签是第一标签为例,该第一标签是该隧道中所有节点设备均能识别并认可的MPLS标签,所以,仅依据携带第一标签的报文按照标签的路由原理,则可以路由到任何一个节点设备。
基于上述介绍的网络级的MPLS标签的封装机制,以下结合图7进行说明。
相对于前述的图5B来说,在图7中还包括第四网络设备,第四网络设备具有第七接口,第二网络设备可以通过第六接口与第四网络设备的第七接口连接,以实现第二网络设备和第四网络设备之间的直连。图5B中所示的第二网络设备为出口节点,而在图7中由于在第二网络设备的下游还连接有第四网络设备,所以图7中的第二网络设备为中间节点。
如图7所示,在第三网络设备掉电时,第一网络设备可以通过前述的第一路径转发第一报文,此时的第一路径包括第一网络设备、旁路开关、第二网络设备和第四网络设备。第一网络设备与第二网络设备之间通过旁路开关直连。基于前述介绍的网络级的MPLS标签的封装机制,为了确保报文的有效传输,第一路径上所有节点设备对应隧道的入标签和出标签均配置为相同的隧道标签。并且,在对第一报文进行MPLS封装时,则可以基于该配置的同一MPLS标签进行封装。例如为整条隧道配置的同一MPLS标签是第一标签,所以,位于第一路径上的所有节点对应该隧道的入标签和出标签均可以配置为第一标签,那么则可以利用第一标签对第一报文进行封装,进而得到第二报文。所以此时的第二报文携带的MPLS标签即为第一标签,并且位于第一路径上的所有节点对应隧道的入标签和出标签均被配置为第一标签。假设第一标签的取值为M,如图7所示的,第一网络设备对应隧道的出标签、第二网络设备对应隧道的入标签和出标签、第四网络设备的入标签均被配置为第一标签,即标签值均M。
这样,可以确保报文在整个第一路径上的有效转发,此时即使是第三网络设备掉电,由于第一网络设备对应第一路径的出标签和第二网络设备对应第一路径的入标签是一致的,所以可以依据一致的标签向第二网络设备进行有效的报文转发,确保报文传输的及时性。
继续参见图7,在第三网络设备未掉电时,第一网络设备可以通过前述的第二路径转发第三报文。此时的第二路径包括第一网络设备、旁路开关、第三网络设备、第二网络设备和第四网络设备,第一网络设备与第三网络设备之间通过旁路开关直连,第三网络设备和第二网络设备之间也通过旁路开关直连。基于之前的介绍,在本申请实施例中,第一路径和第二路径对应同一条隧道。因此,第二路径中包括的所有网络设备配置的隧道标签和第一路径中所有网络设备配置的隧道标签是相同的,此处不再赘述。需要说明的是,在MPLS网络中提到的第一路径和第二路径属于同一条隧道,使用同一隧道ID,即第一路径和的第二路径具有相同的头节点和尾节点。也就是说,在本申请实施例中,MPLS网络中的同一隧道可以对应一条或多条传输路径。类似的,后文中关于MPLS网络中的第一路径和第二路径均可以按照与此相同的理解方式进行理解。
二、以中间节点设备的角度对本申请实施例中的技术方案进行说明。
参见图8所示的网络架构,图8所示的网络架构相对于前述的图5B所示的网络架构来说,在图8中还包括第五网络设备,第五网络设备具有第八接口。第五网络设备通过第八接口与第一网络设备的第一接口连接。在图8中,由于第一网络设备的上游还包括第五网络设备,以及下游还包括第二网络设备或第三网络设备,所以第一网络设备是中间节点(而在图5B中第一网络设备是入口节点)。
参照前述对于图5B的实施说明,在图8中,以MPLS网络为例,当第三网络设备掉电时,第一网络设备可以经由第一路径传输第一报文。第一路径沿包括第五网络设备、第一网络设备、旁路开关和第二网络设备,此时的第一网络设备通过旁路开关与第二网络设备直连。第二接口的IP地址是第一IP地址,第三接口的IP地址是第二IP地址,第一IP和第二IP地址不属于同一网段。当第三网络设备正常工作时,第一网络设备可以经由第二路径传输报文。第二路径沿传输方向包括第五网络设备、第一网络设备、旁路开关、第三网络设备和第二网络设备,此时的第一网络设备通过旁路开关与第三网络设备直连。
以下结合图9所示的流程图对本申请实施例中的传输报文的方法进行说明。其中,S901-S905用于说明第三网络设备掉电(或者不包括第三网络设备)的情形,S906-S909用于说明第三网络设备正常工作的情形。
S901、第五网络设备通过第八接口向第一网络设备的第一接口发送第一报文,则第一网络设备可以通过第一接口接收该第一报文。
在本实施例中的第一报文的由入口节点设备(即第五网络设备)发送的报文,参照前面介绍的入口节点设备基于虚拟MAC地址的封装机制转发报文的方式,可知第一报文的目的MAC地址为虚拟的MAC地址,例如为虚拟的第二MAC地址。并且,基于虚拟MAC地址的特性可知,第二MAC地址与第一接口的实际的MAC地址(例如是第一MAC地址)是不相同的。
S902、第一网络设备根据预存的MAC地址判断第一报文是否合法。
在具体实施过程中,以第一报文为例,第一网络设备在接收第一报文之后,会对第一报文进行解封装。对于IP网络,第一网络设备可以对第一报文进行解析以获得第一报文的目的MAC地址,并读取ARP表项以得到对应需要重新封装的目的MAC地址。由于本申请实施例中均是基于同一虚拟MAC地址进行目的MAC的封装,所以第一网络设备通过查找ARP表项得到的虚拟MAC地址也是第二MAC地址。对于MPLS网络,第一网络设备可以剥除第一报文中的MPLS头和外层的以太头,将MPLS头中的MPLS标签重新封装,以及将外层的以太头中的目的MAC地址重新封装,并且可以通过查找对应的隧道配置信息以获得需要重新封装的MPLS标签和虚拟MAC地址。
为了确保报文传输的合法性,第一网络设备在接收到第一报文后,并在将其转发之前,可以先对第一报文进行合法性校验。例如,可以判断第一报文的目的MAC地址(即第二MAC地址)与预先保存的MAC地址是否匹配,例如判断两者是否相同。其中的预存的MAC地址可以是第一网络设备本地存储的且预先配置的虚拟MAC地址,例如可以从专用于存储虚拟MAC地址的MAC地址信息表中获得,或者可以通过与ARP表项中的已配置的虚拟MAC地址进行比较。如果判定第二MAC地址和预存的虚拟MAC地址这两者相同,则表明第一报文中的第二MAC地址是预先配置的,那么则可以认为是合法有效的,进而可以确定第一报文通过合法性校验,即认为第一报文是合法报文。进而可以对第一报文进行下一步的处理,例如对第一报文重新进行封装以得到第二报文,等等。若未通过合法性校验,则可以将第一报文丢弃。
如上所述,在确定第一报文合法后,为了通过传输路径继续传输第一报文,第一网络设备可以对第一报文进行一些处理,进而得到第二报文。也就是说,第一网络设备可以根据第一报文得到第二报文,然后再向下一跳节点发送第二报文。具体来说,可以按照S903-S904的方式由第一报文得到第二报文。
S903、第一网络设备查询ARP表,以获得第二MAC地址。
S904、第一网络设备根据第二MAC地址封装第一报文,以得到第二报文,该第二报文的目的MAC地址为第二MAC地址。
其中,对于S903-S904的具体实施与前述图6中的S602-S603实施是类似的,所以对于S903-S904的理解可以参照前述的S602-S603的实施,此处就不再重复说明了。也就是经过虚拟MAC地址的封装机制,使得根据第一报文得到的第二报文的目的MAC地址也是虚拟的第二MAC地址。
S905:第一网络设备向第二网络设备发送第二报文。
在当前网络中并未包括第三网络设备或者第三网络设备掉电时,第一网络设备可以基于与第二网络设备之间的直连,即通过第二接口直接向第三接口发送第二报文,本申请实施例中例如将第三网络设备掉电时转发报文的传输路径称作第一路径。第一路径包括第一网络设备、旁路开关和第二网络设备,当然第一路径还可以包括第五网络设备。在得到第二报文之后,则在第一路径上,第一网络设备可以通过第二接口向第二网络设备的第三接口发送该第二报文。可见,第二网络设备为第一路径上与第一网络设备相邻的下游节点,即,在第一路径上,第二网络设备是第一网络设备直连的下一跳节点。
以下再结合S906-S909介绍当第三网络设备正常工作时的情形。
S906、第五网络设备通过第八接口向第一网络设备的第一接口发送第三报文,则第一网络设备可以通过第一接口接收该第一报文。
其中,与第一报文类似的,第三报文的目的MAC地址也可以为虚拟的第二MAC地址。
S907、第一网络设备查询ARP表,以获得第二MAC地址。
S908、第一网络设备根据第二MAC地址封装第三报文,以得到第四报文,该第四报文的目的MAC地址为第二MAC地址。
对于S906-S908的理解可以参照前述的S901-S904的实施说明,此处就不重复说明了。需要说明的是,在对第三报文重新进行封装以得到第四报文之前,也可以如前述的S902先对第三报文的合法性进行校验。
S909:第一网络设备向第三网络设备发送第四报文。
在当前网络中包括第三网络设备且第三网络设备正常工作时,第一网络设备可以基于与第三网络设备之间的直连,即通过第二接口直接向第四接口发送第四报文,本申请实施例中例如将第三网络设备正常工作时转发报文的传输路径称作第二路径。第二路径包括第一网络设备、旁路开关和第二网络设备,当然第二路径还可以包括第五网络设备和第二网络设备。在得到第四报文之后,则在第二路径上,第一网络设备可以通过第二接口向第三网络设备的第四接口发送该第四报文。可见,在第二路径上,第三网络设备为第一网络设备相邻的下游节点,第二网络设备为第三网络设备相邻的下游节点。
再参见图10所示的以MPLS网络为例的网络架构,与图8的网络架构不同的是,图10中的第一网络设备和第三网络设备均对应配置了旁路开关,第一网络设备配置的是旁路开关1,第三网络设备配置的是旁路开关2。
当第一网络设备正常工作且第三网络设备掉电时,此时若接收到目的MAC地址为虚拟的第二MAC地址的第一报文,可以对第一报文重新封装,以得到目的MAC地址仍然为第二MAC地址的第二报文,然后再在第一路径上继续往下游转发第二报文。第一路径包括第一网络设备、旁路开关1、旁路开关2和第二网络设备,第一路径还可以包括第五网络设备。也就是说,在第一路径中,第一网络设备是通过旁路开关1、旁路开关2与第二网络设备直连的,此时的第二网络设备是第一网络设备在第一路径中的下一跳节点。
当第一网络设备正常工作且第三网络设备也正常工作,此时若接收到目的MAC地址为虚拟的第二MAC地址的第三报文,可以对第三报文重新封装,以得到目的MAC地址仍然是第二MAC地址的第四报文,然后再在第二路径上继续往下游转发第四报文,第二路径包括第一网络设备、旁路开关1、旁路开关2和第三网络设备,第二路径还可以包括第五网络设备和第二网络设备。也就是说,在第二路径中,第一网络设备是通过旁路开关1、旁路开关2与第三网络设备直连的。此时的第三网络设备是第一网络设备在第二路径中的下一跳节点,以及第二网络设备是第三网络设备在第二路径中的下一跳节点。
本申请实施例中,第一网络设备在转发报文时,可以依据预先配置的虚拟MAC地址进行报文的目的MAC地址的封装,而并不需要通过ARP学习的方式先去学习下一跳的接口的MAC地址,这样可以增加报文转发的灵活性。同时,例如当前发送报文的接口的IP地址与下一跳的接口的IP地址不在同一网段而无法通过ARP学习的方式获知到下一跳的接口的真实的MAC地址时,通过本申请实施例提供的技术方案也可以实现报文的持续转发,进而可以确保报文转发的及时性,从而提高了网络的可靠性。
在图10所示的场景中,基于前述介绍的网络级的MPLS标签封装机制,可以在第一报文和第二报文中均封装上第一标签,即,第一报文和第二报文携带的MPSL标签均为第一标签。在第三报文和第四报文中均封装上第一标签,所以第三报文和第四报文中携带的MPSL标签均为第一标签。
通过为同一隧道上的所有网络设备均配置为相同的隧道标签,这样可以有效避免由于MPLS标签不一致而导致的业务转发故障,进而提高业务转发的可靠性。
三、以出口节点设备的角度对本申请实施例中的技术方案进行说明。
请参见图11所示的网络架构,其中包括网络设备a和网络设备b。网络设备a具有接口1和接口2,网络设备b具有接口3和接口6。接口1的MAC地址为MAC地址1,接口1的IP地址为IP地址1,接口3的IP地址为IP地址2,并且IP地址1和IP地址2不属于同一网段。如图11所示的,该网络还可以包括网络设备c和对应配置的旁路开关,网络设备c具有接口4和接口5。当网络设备c掉电时,网络设备a的接口1可以通过旁路开关与网络设备b的接口3连接,即在网络设备c掉电时,网络设备a可以通过旁路开关与网络设备b直连。当网络设备c正常工作时,网络设备a的接口1可以通过旁路开关与网络设备c的接口4连接,即在网络设备c正常工作时,网络设备a可以通过旁路开关与网络设备c直连。另外,该网络中还可以包括网络设备d,如图11所示,网络设备d具有接口7,网络设备d的接口7与网络设备b的接口6连接,沿着网络设备d->网络设备b->网络设备a的数据传输方向网络设备a是出口节点,网络设备d是网络设备b的上游节点。如图11所示的,沿着网络设备d->网络设备b->旁路开关->网络设备c->旁路开关->网络设备a的数据传输方向,网络设备a是出口节点,网络设备c是中间节点,网络设备b可以是入口节点(图11未示出),或者网络设备b可以是如图11中所示的中间节点。
当网络设备c掉电时,网络设备a可以通过第一路径接收第一报文。当网络设备c正常工作时,网络设备a可以通过第二路径接收第三报文。以下结合图12和网络设备c掉电、网络设备c正常工作两种情形对本申请实施例中的传输报文的方法进行介绍,其中的S1201-S1204表示的是网络设备c掉电的情形,S1205-S1207表示的是网络设备c正常工作的情形。
在对图12的理解中,可以将图12与图11进行以下对应理解。图12中的第一网络设备对应图11中的网络设备a理解,图12中的第二网络设备对应图11中的网络设备b理解,图12中的第三网络设备对应图11中的网络设备c理解。对应的,图12中的第一接口对应图11中的接口1,类似的,图12中的第二接口、第三接口、第四接口、第五接口、第六接口分别对应图11中的接口2、接口3、接口4、接口5和接口6。
以下先结合图12中的S1201-S1204对网络设备c掉电(或者不包括网络设备c)的情形进行说明。
S1201、在第一路径上,第一网络设备通过第一接口接收第二网络设备通过第三接口发送的第一报文。
对照着图11理解,即,在第一路径上,网络设备a通过接口1接收网络设备b通过接口3发送的第一报文。当该网络中本不包括网络设备c时,第一路径可以是网络设备b->网络设备a。在第一路径上,网络设备a和网络设备b之间通过例如光纤等传输介质直连。当包括网络设备c但网络设备c掉电时,第一路径可以是网络设备b->开关设备->网络设备a,在第一路径上,网络设备a和网络设备b通过旁路开关直连。无论是哪种直连方式,网络设备a可以通过接口1接收到网络设备b通过接口3发送的第一报文,网络设备a为第一路径上与网络设备b相邻的下游节点。
其中的第一报文可以是网络设备b按照前述介绍的基于虚拟MAC地址的封装机制所封装得到的报文。所以第一报文的目的MAC地址也就为本申请实施例中提到的虚拟MAC地址,例如第一报文的目的MAC地址是第二MAC地址。根据虚拟MAC地址的特性可知,第二MAC地址与网络设备a的接口1的实际的MAC地址(例如是第一MAC地址)不同。
S1202、第一网络设备根据预存的MAC地址判断第一报文是否合法。
S1201的实施原理与前述的图9中的S902的实施原理是类似的,对于S1202的理解可以参见前述对于S902的实施例说明,此处就不再重复了。
S1203、在第一报文合法时,第一网络设备剥除第一报文中的第二MAC地址,以得到第二报文。
由于网络设备a是出口节点,即需要在网络设备a处完成当前网络内的报文转发。所以,在接收到第一报文之后,网络设备a可以对第一报文进行处理。例如在IP网络中,网络设备a可以将第一报文中的以太头剥除再重新封装。例如在MPLS网络中,网络设备a可以将第一报文中封装的MPLS头和外层的以太头剥除。也就是说,可以剥除第一报文中的虚拟的第二MAC地址,进而得到第二报文。
S1204、第一网络设备向外部网络设备发送第二报文。
在具体实施过程中,网络设备a可以根据上层的业务配置将第二报文从用户侧接口转发出去,例如可以通过接口2向外部网络设备发送第二报文,进而完成当前网络内的转发。
以下再结合图12中的S1205-S1207对网络设备c正常工作的情形进行说明。
S1205、在第二路径上,第一网络设备通过第一接口接收第三网络设备通过第四接口发送的第三报文。
对照着图11理解,即,在第二路径上,网络设备a通过接口1接收网络设备c通过接口4发送的第三报文。当网络设备c正常工作时,第二路径可以是网络设备b->旁路开关->网络设备c->旁路开关->网络设备a。在第二路径上,网络设备a和网络设备c通过旁路开关直连,网络设备a为第二路径上与网络设备c相邻的下游节点,网络设备b为第二路径上与网络设备c相邻的上游节点。
第三报文与第一报文类似的,均是基于虚拟MAC地址的封装机制进行封装的报文,第三报文的目的MAC地址例如也是虚拟的第二MAC地址。
进一步地,如前面介绍的,第一网络设备可以根据预存的MAC地址对第三报文的合法性进行校验,并在合法时继续执行S1206,不合法的话则可以将第三报文丢弃。
S1206、在第三报文合法时,第一网络设备剥除第三报文中的第二MAC地址,以得到第四报文。
S1206的实施原理与前述的S1203的实施原理是类似的,对于S1206的理解可以参见前述对于S1203的实施例说明,为了简洁,就不再重复介绍了。
S1207、第一网络设备向外部网络设备发送第四报文。
S1207的实施原理与前述的S1204的实施原理是类似的。所不同的是,网络设备a中用于发送第四报文的接口和用于发送第二报文的接口可能是同一接口,也可能是不同的接口。以及,用于接收第二报文和第四报文的外部网络设备可能是同一网络设备,或者也可能是不同的网络设备,在图12中的是以同一网络设备进行图示举例的。
以上是站在出口节点的角度对本申请实施例中的基于虚拟MAC地址的封装机制的报文传输方法进行的说明。在转发报文,可以依据预先配置的虚拟MAC地址进行报文的目的MAC地址的封装,而并不需要通过ARP学习的方式先去学习下一跳的接口的MAC地址,这样可以增加报文转发的灵活性。同时,例如当前发送报文的接口的IP地址与下一跳的接口的IP地址不在同一网段而无法通过ARP学习的方式获知到下一跳的接口的真实的MAC地址时,通过本申请实施例提供的技术方案也可以实现报文的持续转发,进而可以确保报文转发的及时性,从而提高了网络的可靠性。
进一步地,与前面所介绍的为一条传输路径上配置一致的MPLS标签的思想,在图11所示的架构网络结构中,为了确保在MPLS网络中的报文的有效准确转发,可以为同一隧道配置全隧道一致的MPLS标签,如前所述的,第一路径和第二路径属于同一条隧道,所以第一路径中的所有网络设备和第二路径中的所有网络设备分别所配置的MPLS标签均是相同的,例如均是第一标签。那么,在第一路径上,对应于第一路径的所有网络设备的入标签和出标签均为第一标签,并且第一报文携带的MPLS标签也为第一标签。由于网络设备a对应第一路径的入标签也为第一标签,所以可以确保第一报文能够从网络设备b处准确、有效地传输到网络设备a。以及,在第二路径上,对应于第二路径的所有网络设备的入标签和出标签也均为第一标签,此时第三报文携带的MPLS标签也为第一标签。由于网络设备a对应第二路径的入标签也为第一标签,所以可以确保第三报文能够从网络设备c处准确、有效地传输到网络设备a。这样,可以尽量避免由于标签不一致而导致的业务转发故障,进而提高业务转发的可靠性。
在上述分别以入口节点设备、中间节点设备、出口节点设备的角度对本申请实施例中的技术方案进行介绍的基础上。需要说明的是,针对各个实施例的附图仅是示意性的举例说明,对于每种类型的节点设备所对应的技术方案所应用的网络架构包括但不限于以上的图示举例,本领域技术人员还可以根据上述举例的指导,在不付出创造性劳动的基础上推导、变形出其它可能的网络架构。
在本申请实施例中,可以基于虚拟MAC的封装机制和网络级MPLS标签的封装机制对报文进行封装,以确保报文能够进行有效、准确的转发,从而保证了报文转发的及时性,提高了网络的可靠性。
基于同一发明构思,请参见图13,本申请实施例提供一种网络设备1300。网络设备1300可以应用于前述介绍的各种网络架构中。网络设备1300例如可以是图5A、图5B、图7所示网络架构中的第一网络设备,或者可以是图10所示网络架构中的第五网络设备,或者可以是图11所示网络架构中的网络设备b。本申请实施例中的网络设备1300可以用于执行图6所示的方法流程中的第一网络设备所执行的操作。如图13所示,网络设备1300可以包括处理器1301,与处理器1301耦合连接的存储器1302和收发器1303。处理器1301可以是中央处理器(central processing processor,CPU)或网络处理器(network processor,NP),或者CPU和NP的组合。处理器1301还可以进一步包括硬件芯片,该硬件芯片可以是专用集成电路(application specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程门阵列(field programmable gatearray,FPGA),通用阵列逻辑器件(generic array logic,GAL)或其任意组合。处理器1301可以是指一个处理器,也可以包括多个处理器。存储器1302可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM);存储器1302也可以包括非易失性存储器(non-volatile memory),例如ROM,快闪存储器(flash memory),机械硬盘(hard disk drive,HDD)或固态硬盘(solid state drives,SSD);存储器1302还可以包括上述种类的存储器的组合。存储器1302可以是指一个存储器,也可以包括多个存储器。在一种实施方式中,存储器1302中存储有计算机可读指令,所述计算机可读指令可以包括多个软件模块,例如处理模块1304、发送模块1305和接收模块1306。处理器1301执行各个软件模块后可以按照各个软件模块的指示进行相应的操作。在本申请实施例中,一个软件模块所执行的操作实际上是指处理器1301根据所述软件模块的指示而执行的操作。例如,接收模块1306用于接收第一报文以及接收第三报文。处理模块1304用于根据第一报文得到第二报文以及根据第三报文得到第三报文。发送模块1305用于发送第二报文以及发送第四报文。此外,处理器1301执行存储器1302中的计算机可读指令后,可以按照所述计算机可读指令的指示,执行如在图5A-图7对应的实施例中第一网络设备执行的操作。
基于同一发明构思,请参见图14,本申请实施例提供一种网络设备1400。网络设备1400可以应用于前述介绍的各种网络架构中。网络设备1400例如可以是图5B、图7所示网络架构中的第三网络设备,或者可以是图8、图10所示网络架构中的第一网络设备,或者可以是图11所示网络架构中的网络设备c。本申请实施例中的网络设备1400可以用于执行图9所示的方法流程中的第一网络设备所执行的操作。如图14所示,网络设备1400可以包括处理器1401,与处理器1401耦合连接的存储器1402和收发器1403。处理器1401可以是CPU或NP,或者CPU和NP的组合。处理器1401还可以进一步包括硬件芯片,该硬件芯片可以是ASIC,PLD或其组合。上述PLD可以是CPLD,FPGA,GAL或其任意组合。处理器1401可以是指一个处理器,也可以包括多个处理器。存储器1402可以包括易失性存储器,例如RAM;存储器1402也可以包括非易失性存储器,例如ROM,快闪存储器,HDD或SSD;存储器1402还可以包括上述种类的存储器的组合。存储器1402可以是指一个存储器,也可以包括多个存储器。在一种实施方式中,存储器1402中存储有计算机可读指令,所述计算机可读指令可以包括多个软件模块,例如处理模块1404、发送模块1405和接收模块1406。处理器1401执行各个软件模块后可以按照各个软件模块的指示进行相应的操作。在本申请实施例中,一个软件模块所执行的操作实际上是指处理器1401根据所述软件模块的指示而执行的操作。例如,接收模块1406用于接收第一报文以及接收第三报文。处理模块1404用于根据第一报文得到第二报文以及根据第三报文得到第三报文。发送模块1405用于发送第二报文以及发送第四报文。此外,处理器1401执行存储器1402中的计算机可读指令后,可以按照所述计算机可读指令的指示,执行如在图8-图10对应的实施例中第一网络设备执行的操作。
基于同一发明构思,请参见图15,本申请实施例提供一种网络设备1500。网络设备1500可以应用于前述介绍的各种网络架构中。网络设备1500例如可以是图5A、图5B所示网络架构中的第二网络设备,或者可以是图7所示网络架构中的第四网络设备,或者可以是图8、图10所示网络架构中的第二网络设备,或者可以是图11所示网络架构中的网络设备a。本申请实施例中的网络设备1500可以用于执行图12所示的方法流程中的第一网络设备所执行的操作。如图15所示,网络设备1500可以包括处理器1501,与处理器1501耦合连接的存储器1502和收发器1503。处理器1501可以是CPU或NP,或者CPU和NP的组合。处理器1501还可以进一步包括硬件芯片,该硬件芯片可以是ASIC,PLD或其组合。上述PLD可以是CPLD,FPGA,GAL或其任意组合。处理器1501可以是指一个处理器,也可以包括多个处理器。存储器1502可以包括易失性存储器,例如RAM;存储器1502也可以包括非易失性存储器,例如ROM,快闪存储器,HDD或SSD;存储器1502还可以包括上述种类的存储器的组合。存储器1502可以是指一个存储器,也可以包括多个存储器。在一种实施方式中,存储器1502中存储有计算机可读指令,所述计算机可读指令可以包括多个软件模块,例如处理模块1504、发送模块1505和接收模块1506。处理器1501执行各个软件模块后可以按照各个软件模块的指示进行相应的操作。在本申请实施例中,一个软件模块所执行的操作实际上是指处理器1501根据所述软件模块的指示而执行的操作。例如,接收模块1506用于接收第一报文以及接收第三报文。处理模块1504用于根据第一报文得到第二报文以及根据第三报文得到第三报文。发送模块1505用于发送第二报文以及发送第四报文。此外,处理器1501执行存储器1502中的计算机可读指令后,可以按照所述计算机可读指令的指示,执行如在图8-图10对应的实施例中第二网络设备执行的操作,以及执行如在图11对应的实施例中网络设备a执行的操作。
本申请实施例还提供了一种通信系统,包括图13所对应的实施例中的网络设备1300,图14所对应的实施例中的网络设备1400以及图15所对应的实施例中的网络设备1500,用于执行图6对应的实施例中的方法,或者图9对应的实施例中的方法,或者图12对应的实施例中的方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及方法操作,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,可以全部或部分地通过硬件、固件或者其任意组合来实现。当具体实现过程中涉及软件时,可以全部或部分地体现为计算机程序产品的形式。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如SSD)等。
本说明书的各个部分均采用递进的方式进行描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点介绍的都是与其他实施方式不同之处。尤其,对于装置和系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
以上所述,以上实施例仅用以对本申请的技术方案进行了详细介绍,但以上实施例的说明只是用于帮助理解本发明实施例的方法,不应理解为对本发明实施例的限制。本技术领域的技术人员可轻易想到的变化或替换,都应涵盖在本发明实施例的保护范围之内。
Claims (44)
1.一种在网络中传输报文的方法,其特征在于,所述网络包括第一网络设备和第二网络设备,所述第一网络设备具有第一接口和第二接口,所述第二网络设备具有第三接口,所述第三接口的媒体访问控制MAC地址为第一MAC地址,所述第二接口的互联网协议IP地址为第一IP地址,所述第三接口的IP地址为第二IP地址,所述第一IP地址和所述第二IP地址属于不同的网段,所述方法包括:
所述第一网络设备通过所述第一接口接收第一报文;
所述第一网络设备根据所述第一报文得到第二报文,所述第二报文的目的MAC地址为第二MAC地址,所述第二MAC地址与所述第一MAC地址不同;
在第一路径上,所述第一网络设备通过所述第二接口向所述第二网络设备的所述第三接口发送所述第二报文,所述第二网络设备为所述第一路径上与所述第一网络设备相邻的下游节点。
2.根据权利要求1所述的方法,其特征在于,所述网络还包括第三网络设备,所述第三网络设备具有第四接口,所述第四接口的MAC地址为第三MAC地址,所述方法还包括:
所述第一网络设备通过所述第一接口接收第三报文;
所述第一网络设备根据所述第三报文得到第四报文,所述第四报文的目的MAC地址为所述第二MAC地址,所述第二MAC地址与所述第三MAC地址不同;
在第二路径上,所述第一网络设备通过所述第二接口向所述第三网络设备的所述第四接口发送所述第四报文,其中,所述第三网络设备为所述第二路径上与所述第一网络设备相邻的下游节点,所述第二网络设备为所述第二路径上与所述第三网络设备相邻的下游节点。
3.根据权利要求1或2所述的方法,其特征在于,所述网络还包括旁路开关,在所述第一路径上,所述第一网络设备通过所述旁路开关与所述第二网络设备直连。
4.根据权利要求2所述的方法,其特征在于,所述网络还包括旁路开关;
当所述第三网络设备故障时,在所述第一路径上,所述第一网络设备通过所述旁路开关与所述第二网络设备直连;
当所述第三网络设备正常工作时,在所述第二路径上,所述第一网络设备通过所述旁路开关与所述第三网络设备直连。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述网络为多协议标签交换MPLS网络,所述第一网络设备为所述第一路径的头节点或中间节点,所述第二报文携带的MPLS标签为第一标签,位于所述第一路径上的所有节点对应所述第一路径的入标签和出标签均配置为所述第一标签。
6.根据权利要求1-4任意一项所述的方法,其特征在于,所述网络为MPLS网络,所述第一网络设备为所述第一路径的中间节点,所述第一报文和所述第二报文携带的MPLS标签均为第一标签,位于所述第一路径上的所有节点对应所述第一路径的入标签和出标签均配置为所述第一标签。
7.根据权利要求2或4所述的方法,其特征在于,所述网络为MPLS网络,所述第一网络设备为所述第二路径的头节点或中间节点,所述第四报文携带的MPLS标签为第一标签,位于所述第二路径上的所有节点对应所述第二路径的入标签和出标签均配置为所述第一标签。
8.根据权利要求2或4所述的方法,其特征在于,所述网络为MPLS网络,所述第一网络设备为所述第二路径的中间节点,所述第三报文和所述第四报文携带的MPLS标签均为第一标签,位于所述第二路径上的所有节点对应所述第二路径的入标签和出标签均配置为所述第一标签。
9.一种在网络中传输报文的方法,其特征在于,所述网络包括第一网络设备和第二网络设备,所述第一网络设备具有第一接口和第二接口,所述第二网络设备具有第三接口,所述第一接口的媒体访问控制MAC地址为第一MAC地址,所述方法包括:
所述第一网络设备通过所述第一接口接收第一报文,所述第一报文的目的MAC地址为第二MAC地址,所述第二MAC地址与所述第一MAC地址不同;
所述第一网络设备根据所述第一报文得到第二报文,所述第二报文的目的MAC地址为所述第二MAC地址;
在第一路径上,所述第一网络设备通过所述第二接口向所述第二网络设备的所述第三接口发送所述第二报文,所述第二网络设备为所述第一路径上与所述第一网络设备相邻的下游节点。
10.根据权利要求9所述的方法,其特征在于,所述网络还包括第三网络设备,所述第三网络设备具有第四接口,所述方法还包括:
所述第一网络设备通过所述第一接口接收第三报文,所述第三报文的目的MAC地址为所述第二MAC地址;
所述第一网络设备根据所述第三报文得到第四报文,所述第四报文的目的MAC地址为所述第二MAC地址;
在第二路径上,所述第一网络设备通过所述第二接口向所述第三网络设备的所述第四接口发送所述第四报文,其中,所述第三网络设备为所述第二路径上与所述第一网络设备相邻的下游节点,所述第二网络设备为所述第二路径上与所述第三网络设备相邻的下游节点。
11.根据权利要求1或2所述的方法,其特征在于,所述网络还包括旁路开关,在所述第一路径上,所述第一网络设备通过所述旁路开关与所述第二网络设备直连。
12.根据权利要求10所述的方法,其特征在于,所述网络还包括旁路开关;
当所述第三网络设备故障时,在所述第一路径上,所述第一网络设备通过所述旁路开关与所述第二网络设备直连;
当所述第三网络设备正常工作时,在所述第二路径上,所述第一网络设备通过所述旁路开关与所述第三网络设备直连。
13.根据权利要求9-12任意一项所述的方法,其特征在于,所述网络为多协议标签交换MPLS网络,所述第一报文和所述第二报文携带的MPLS标签均为第一标签,位于所述第一路径上的所有节点对应所述第一路径的入标签和出标签均配置为所述第一标签。
14.根据权利要求10或12所述的方法,其特征在于,所述网络为MPLS网络,所述第三报文和所述第四报文携带的MPLS标签均为第一标签,位于所述第二路径上的所有节点对应所述第一路径的入标签和出标签均配置为所述第一标签。
15.根据权利要求9-14任意一项所述的方法,其特征在于,在所述第一网络设备根据所述第一报文得到第二报文之前,所述方法还包括:
所述第一网络设备确定所述第二MAC地址与预先保存的MAC地址匹配,则确定所述第一报文为合法报文。
16.一种在网络中传输报文的方法,其特征在于,所述网络包括第一网络设备和第二网络设备,所述第一网络设备具有第一接口和第二接口,所述第二网络设备具有第三接口,所述第一接口的媒体访问控制MAC地址为第一MAC地址,所述第一接口的互联网协议IP地址为第一IP地址,所述第三接口的IP地址为第二IP地址,所述第一IP地址和所述第二IP地址属于不同的网段,所述方法包括:
在第一路径上,所述第一网络设备通过所述第一接口接收所述第二网络设备通过所述第三接口发送的第一报文,其中,所述第一网络设备为所述第一路径上与所述第二网络设备相邻的下游节点,所述第一报文的目的MAC地址为第二MAC地址,所述第二MAC地址与所述第一MAC地址不同;
所述第一网络设备剥除所述第一报文中的所述第二MAC地址,得到第二报文;
所述第一网络设备通过所述第二接口发送所述第二报文。
17.根据权利要求16所述的方法,其特征在于,所述网络还包括第三网络设备,所述第三网络设备具有第四接口,所述方法还包括:
在第二路径上,所述第一网络设备通过所述第一接口接收所述第三网络设备通过所述第四接口发送的第三报文,其中,所述第一网络设备为所述第二路径上与所述第三网络设备相邻的下游节点,所述第二网络设备为所述第二路径上与所述第三网络设备相邻的上游节点,所述第三报文的目的MAC地址为所述第二MAC地址;
所述第一网络设备剥除所述第三报文中的所述第二MAC地址,得到第四报文;
所述第一网络设备发送所述第四报文。
18.根据权利要求16或17所述的方法,其特征在于,所述网络还包括旁路开关,在所述第一路径上,所述第一网络设备通过所述旁路开关与所述第二网络设备直连。
19.根据权利要求17所述的方法,其特征在于,所述网络还包括旁路开关;
当所述第三网络设备故障时,在所述第一路径上,所述第一网络设备通过所述旁路开关与所述第二网络设备直连;
当所述第三网络设备正常工作时,在所述第二路径上,所述第一网络设备通所述旁路开关与所述第三网络设备直连。
20.根据权利要求16-19任意一项所述的方法,其特征在于,所述网络为多协议标签交换MPLS网络,所述第一报文携带的MPLS标签为第一标签,位于所述第一路径上的所有节点对应所述第一路径的入标签和出标签均配置为所述第一标签。
21.根据权利要求17或19所述的方法,其特征在于,所述网络为MPLS网络,所述第一报文携带的MPLS标签为第一标签,位于所述第二路径上的所有节点对应所述第二路径的入标签和出标签均配置为所述第一标签。
22.根据权利要求16-21任意一项所述的方法,其特征在于,在所述第一网络设备剥除所述第一报文中的所述第二MAC地址之前,所述方法还包括:
所述第一网络设备确定所述第二MAC地址与预先保存的MAC地址匹配,则确定所述第一报文为合法报文。
23.一种用于在网络中传输报文的网络设备,用作第一网络设备,其特征在于,所述网络还包括第二网络设备,所述第一网络设备具有第一接口和第二接口,所述第二网络设备具有第三接口,所述第三接口的媒体访问控制MAC地址为第一MAC地址,所述第二接口的互联网协议IP地址为第一IP地址,所述第三接口的IP地址为第二IP地址,所述第一IP地址和所述第二IP地址属于不同的网段,所述第一网络设备包括:
存储器,所述存储器包括计算机可读指令;
与所述存储器连接的处理器,所述处理器用于执行所述计算机可读指令,以执行以下操作:
通过所述第一接口接收第一报文;
根据所述第一报文得到第二报文,所述第二报文的目的MAC地址为第二MAC地址,所述第二MAC地址与所述第一MAC地址不同;
在第一路径上,通过所述第二接口向所述第二网络设备的所述第三接口发送所述第二报文,所述第二网络设备为所述第一路径上与所述第一网络设备相邻的下游节点。
24.根据权利要求23所述的网络设备,其特征在于,所述网络还包括第三网络设备,所述第三网络设备具有第四接口,所述第四接口的MAC地址为第三MAC地址,所述处理器还用于执行所述计算机可读指令,以执行以下操作:
通过所述第一接口接收第三报文;
根据所述第三报文得到第四报文,所述第四报文的目的MAC地址为所述第二MAC地址,所述第二MAC地址与所述第三MAC地址不同;
在第二路径上,通过所述第二接口向所述第三网络设备的所述第四接口发送所述第四报文,其中,所述第三网络设备为所述第二路径上与所述第一网络设备相邻的下游节点,所述第二网络设备为所述第二路径上与所述第三网络设备相邻的下游节点。
25.根据权利要求23或24所述的网络设备,其特征在于,所述网络还包括旁路开关,在所述第一路径上,所述第一网络设备通过所述旁路开关与所述第二网络设备直连。
26.根据权利要求24所述的网络设备,其特征在于,所述网络还包括旁路开关;
当所述第三网络设备故障时,在所述第一路径上,所述第一网络设备通过所述旁路开关与所述第二网络设备直连;
当所述第三网络设备正常工作时,在所述第二路径上,所述第一网络设备通过所述旁路开关与所述第三网络设备直连。
27.根据权利要求23-26任意一项所述的网络设备,其特征在于,所述网络为多协议标签交换MPLS网络,所述第一网络设备为所述第一路径的头节点或中间节点,所述第二报文携带的MPLS标签为第一标签,位于所述第一路径上的所有节点对应所述第一路径的入标签和出标签均配置为所述第一标签。
28.根据权利要求23-26任意一项所述的网络设备,其特征在于,所述网络为MPLS网络,所述第一网络设备为所述第一路径的中间节点,所述第一报文和所述第二报文携带的MPLS标签均为第一标签,位于所述第一路径上的所有节点对应所述第一路径的入标签和出标签均配置为所述第一标签。
29.根据权利要求24或26所述的网络设备,其特征在于,所述网络为MPLS网络,所述第一网络设备为所述第二路径的头节点或中间节点,所述第四报文携带的MPLS标签为第一标签,位于所述第二路径上的所有节点对应所述第二路径的入标签和出标签均配置为所述第一标签。
30.根据权利要求24或26所述的网络设备,其特征在于,所述网络为MPLS网络,所述第一网络设备为所述第二路径的中间节点,所述第三报文和所述第四报文携带的MPLS标签均为第一标签,位于所述第二路径上的所有节点对应所述第二路径的入标签和出标签均配置为所述第一标签。
31.一种用于在网络中传输报文的网络设备,用作第一网络设备,其特征在于,所述网络还包括第二网络设备,所述第一网络设备具有第一接口和第二接口,所述第二网络设备具有第三接口,所述第一接口的媒体访问控制MAC地址为第一MAC地址,所述第一网络设备包括:
存储器,所述存储器包括计算机可读指令;
与所述存储器连接的处理器,所述处理器用于执行所述计算机可读指令,以执行以下操作:
通过所述第一接口接收第一报文,所述第一报文的目的MAC地址为第二MAC地址,所述第二MAC地址与所述第一MAC地址不同;
根据所述第一报文得到第二报文,所述第二报文的目的MAC地址为所述第二MAC地址;
在第一路径上,通过所述第二接口向所述第二网络设备的所述第三接口发送所述第二报文,所述第二网络设备为所述第一路径上与所述第一网络设备相邻的下游节点。
32.根据权利要求23所述的网络设备,其特征在于,所述网络还包括第三网络设备,所述第三网络设备具有第四接口,所述处理器还用于执行所述计算机可读指令,以执行以下操作:
通过所述第一接口接收第三报文,所述第三报文的目的MAC地址为所述第二MAC地址;
根据所述第三报文得到第四报文,所述第四报文的目的MAC地址为所述第二MAC地址;
在第二路径上,通过所述第二接口向所述第三网络设备的所述第四接口发送所述第四报文,其中,所述第三网络设备为所述第二路径上与所述第一网络设备相邻的下游节点,所述第二网络设备为所述第二路径上与所述第三网络设备相邻的下游节点。
33.根据权利要求31或32所述的网络设备,其特征在于,所述网络还包括旁路开关,在所述第一路径上,所述第一网络设备通过所述旁路开关与所述第二网络设备直连。
34.根据权利要求32所述的网络设备,其特征在于,所述网络还包括旁路开关;
当所述第三网络设备故障时,在所述第一路径上,所述第一网络设备通过所述旁路开关与所述第二网络设备直连;
当所述第三网络设备正常工作时,在所述第二路径上,所述第一网络设备通过所述旁路开关与所述第三网络设备直连。
35.根据权利要求31-34任意一项所述的网络设备,其特征在于,所述网络为多协议标签交换MPLS网络,所述第一报文和所述第二报文携带的MPLS标签均为第一标签,位于所述第一路径上的所有节点对应所述第一路径的入标签和出标签均配置为所述第一标签。
36.根据权利要求32或34所述的网络设备,其特征在于,所述网络为MPLS网络,所述第三报文和所述第四报文携带的MPLS标签均为第一标签,位于所述第二路径上的所有节点对应所述第一路径的入标签和出标签均配置为所述第一标签。
37.根据权利要求31-36任意一项所述的网络设备,其特征在于,所述处理器还用于执行所述计算机可读指令,以执行以下操作:
确定所述第二MAC地址与预先保存的MAC地址匹配,则确定所述第一报文为合法报文。
38.一种用于在网络中传输报文的网络设备,用作第一网络设备,其特征在于,所述网络还包括第二网络设备,所述第一网络设备具有第一接口和第二接口,所述第二网络设备具有第三接口,所述第一接口的媒体访问控制MAC地址为第一MAC地址,所述第一接口的互联网协议IP地址为第一IP地址,所述第三接口的IP地址为第二IP地址,所述第一IP地址和所述第二IP地址属于不同的网段,所述第一网络设备包括:
存储器,所述存储器包括计算机可读指令;
与所述存储器连接的处理器,所述处理器用于执行所述计算机可读指令,以执行以下操作:
在第一路径上,通过所述第一接口接收所述第二网络设备通过所述第三接口发送的第一报文,其中,所述第一网络设备为所述第一路径上与所述第二网络设备相邻的下游节点,所述第一报文的目的MAC地址为第二MAC地址,所述第二MAC地址与所述第一MAC地址不同;
剥除所述第一报文中的所述第二MAC地址,得到第二报文;
通过所述第二接口发送所述第二报文。
39.根据权利要求38所述的网络设备,其特征在于,所述网络还包括第三网络设备,所述第三网络设备具有第四接口,所述处理器还用于执行所述计算机可读指令,以执行以下操作:
在第二路径上,通过所述第一接口接收所述第三网络设备通过所述第四接口发送的第三报文,其中,所述第一网络设备为所述第二路径上与所述第三网络设备相邻的下游节点,所述第二网络设备为所述第二路径上与所述第三网络设备相邻的上游节点,所述第三报文的目的MAC地址为所述第二MAC地址;
剥除所述第三报文中的所述第二MAC地址,得到第四报文;
发送所述第四报文。
40.根据权利要求38或39所述的网络设备,其特征在于,所述网络还包括旁路开关,在所述第一路径上,所述第一网络设备通过所述旁路开关与所述第二网络设备直连。
41.根据权利要求39所述的网络设备,其特征在于,所述网络还包括旁路开关;
当所述第三网络设备故障时,在所述第一路径上,所述第一网络设备通过所述旁路开关与所述第二网络设备直连;
当所述第三网络设备正常工作时,在所述第二路径上,所述第一网络设备通所述旁路开关与所述第三网络设备直连。
42.根据权利要求38-41任意一项所述的网络设备,其特征在于,所述网络为多协议标签交换MPLS网络,所述第一报文携带的MPLS标签为第一标签,位于所述第一路径上的所有节点对应所述第一路径的入标签和出标签均配置为所述第一标签。
43.根据权利要求39或41所述的网络设备,其特征在于,所述网络为MPLS网络,所述第一报文携带的MPLS标签为第一标签,位于所述第二路径上的所有节点对应所述第二路径的入标签和出标签均配置为所述第一标签。
44.根据权利要求38-43任意一项所述的网络设备,其特征在于,所述处理器还用于执行所述计算机可读指令,以执行以下操作:
确定所述第二MAC地址与预先保存的MAC地址匹配,则确定所述第一报文为合法报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910029197.4A CN111435948B (zh) | 2019-01-12 | 2019-01-12 | 一种在网络中传输报文的方法及网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910029197.4A CN111435948B (zh) | 2019-01-12 | 2019-01-12 | 一种在网络中传输报文的方法及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111435948A true CN111435948A (zh) | 2020-07-21 |
CN111435948B CN111435948B (zh) | 2021-11-19 |
Family
ID=71580617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910029197.4A Active CN111435948B (zh) | 2019-01-12 | 2019-01-12 | 一种在网络中传输报文的方法及网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111435948B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277864A (zh) * | 2022-07-27 | 2022-11-01 | 海通证券股份有限公司 | 路由确定方法及装置、计算机可读存储介质、终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103634423A (zh) * | 2013-12-06 | 2014-03-12 | 北京东土科技股份有限公司 | 一种基于三层接口的mpls-tp配置方法及装置 |
US20140321265A1 (en) * | 2013-04-29 | 2014-10-30 | Telefonaktiebolaget L M Ericsson (Publ) | Fast traffic recovery in vrrp based routers |
CN106161272A (zh) * | 2016-08-31 | 2016-11-23 | 迈普通信技术股份有限公司 | 实现vrrp负载均衡的方法和路由设备 |
CN107547366A (zh) * | 2017-05-15 | 2018-01-05 | 新华三技术有限公司 | 一种报文转发方法和装置 |
-
2019
- 2019-01-12 CN CN201910029197.4A patent/CN111435948B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140321265A1 (en) * | 2013-04-29 | 2014-10-30 | Telefonaktiebolaget L M Ericsson (Publ) | Fast traffic recovery in vrrp based routers |
CN103634423A (zh) * | 2013-12-06 | 2014-03-12 | 北京东土科技股份有限公司 | 一种基于三层接口的mpls-tp配置方法及装置 |
CN106161272A (zh) * | 2016-08-31 | 2016-11-23 | 迈普通信技术股份有限公司 | 实现vrrp负载均衡的方法和路由设备 |
CN107547366A (zh) * | 2017-05-15 | 2018-01-05 | 新华三技术有限公司 | 一种报文转发方法和装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277864A (zh) * | 2022-07-27 | 2022-11-01 | 海通证券股份有限公司 | 路由确定方法及装置、计算机可读存储介质、终端 |
CN115277864B (zh) * | 2022-07-27 | 2024-01-26 | 海通证券股份有限公司 | 路由确定方法及装置、计算机可读存储介质、终端 |
Also Published As
Publication number | Publication date |
---|---|
CN111435948B (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109873760B (zh) | 处理路由的方法和装置、以及数据传输的方法和装置 | |
US11310079B2 (en) | EVPN packet processing method, device, and system for MAC learning via MAC/IP advertisement route | |
WO2021170092A1 (zh) | 报文处理方法、装置、网络设备及存储介质 | |
JP5242591B2 (ja) | イーサネット(登録商標)/tmplsハイブリッドネットワークoamフレーム作成方法および対応する信号 | |
CN111698152B (zh) | 一种故障保护方法、节点及存储介质 | |
CN105245452A (zh) | 多协议标签交换流量工程隧道建立方法及设备 | |
US20100014531A1 (en) | Establishing pseudowires in packet switching networks | |
CN108718269B (zh) | 报文处理方法及装置 | |
CN114531395B (zh) | 一种通告网络设备处理能力的方法、设备和系统 | |
WO2015184740A1 (zh) | 检测层次信息的处理方法及装置 | |
CN113950811B (zh) | 扩展bgp保护以用于sr路径入口保护 | |
US20240235994A1 (en) | Packet processing method, network device, and network system | |
EP2832055B1 (en) | Pseudowire groups in a packet switched network | |
US8817648B2 (en) | Pseudowire extended group messaging in a packet switched network | |
CN111435948B (zh) | 一种在网络中传输报文的方法及网络设备 | |
CN112702263B (zh) | 转发报文的方法及装置 | |
CN103109504A (zh) | 提供使用偏移的带内控制信道的伪线 | |
JP7273130B2 (ja) | 通信方法および装置 | |
EP4047888B1 (en) | Method for issuing oam configuration information and control node | |
WO2022222884A1 (zh) | 转发路径的故障感知方法、装置及系统 | |
EP2832056B1 (en) | Pseudowire extended group actions in a packet switched network | |
CN115801552A (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 |