CN113285863A - 经由多个隧道传输加密的分组的多个副本 - Google Patents

经由多个隧道传输加密的分组的多个副本 Download PDF

Info

Publication number
CN113285863A
CN113285863A CN202010583100.7A CN202010583100A CN113285863A CN 113285863 A CN113285863 A CN 113285863A CN 202010583100 A CN202010583100 A CN 202010583100A CN 113285863 A CN113285863 A CN 113285863A
Authority
CN
China
Prior art keywords
packet
network device
header
additional
encrypted
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
Application number
CN202010583100.7A
Other languages
English (en)
Other versions
CN113285863B (zh
Inventor
S·K·巴塔
G·孔达帕武鲁鲁
R·斯
R·辛哈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Juniper Networks Inc
Original Assignee
Juniper Networks Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Juniper Networks Inc filed Critical Juniper Networks Inc
Publication of CN113285863A publication Critical patent/CN113285863A/zh
Application granted granted Critical
Publication of CN113285863B publication Critical patent/CN113285863B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/164Implementing security features at a particular protocol layer at the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开的实施例涉及经由多个隧道传输加密的分组的多个副本。网络设备可以从传输网络设备接收分组,其中分组包括第一外互联网协议(IP)报头、通用路由封装(GRE)报头、第二外IP报头、封装安全性有效载荷(ESP)报头、以及内分组,其中内分组由ESP报头封装,ESP报头由第二外IP报头封装,第二外IP报头由GRE报头封装,并且GRE报头由第一外IP报头封装。网络设备可以对分组进行解封装以从分组中移除第一外IP报头和GRE报头。在对分组进行解封装之后,网络设备可以对分组进行解密以标识内分组。网络设备可以使与内分组相关联的一个或多个动作被执行。

Description

经由多个隧道传输加密的分组的多个副本
技术领域
本公开总体上涉及网络领域,并且更具体地涉及经由多个隧道传输加密的分组的多个样本。
背景技术
网络隧道是一种用于以公共网络的网络设备不知道私有信息的方式通过公共网络来安全传输私有信息的机制。隧道协议是一种使得能够创建网络隧道的通信协议。隧道协议使得私有信息能够通过被称为封装的过程在公共网络上被发送。
发明内容
根据一些实现,一种方法可以包括:经由网络设备与传输网络设备之间的多个隧道中的一个隧道,由网络设备从传输网络设备接收分组,其中分组包括第一外互联网协议(IP)报头、通用路由封装(GRE)报头、第二外IP报头、提供分组的内分组的加密的封装安全性有效载荷(ESP)报头、以及内分组,其中内分组由ESP报头封装,ESP报头由第二外IP报头封装,第二外IP报头由GRE报头封装,并且GRE报头由第一外IP报头封装;由网络设备对分组进行解封装,以从分组中移除第一外IP报头和GRE报头;在对分组进行解封装之后,由网络设备对分组进行解密,以标识内分组;以及由网络设备使与内分组相关联的一个或多个动作被执行。
根据一些实现,一种网络设备可以包括一个或多个存储器;以及一个或多个处理器,用以:对分组进行加密以创建加密的分组,其中加密的分组包括外互联网协议(IP)报头,该外互联网协议报头包括源地址和目的地地址,源地址标识网络设备的虚拟隧道端点,目的地地址标识接收网络设备的虚拟隧道端点;对加密的分组进行复制以创建多个加密的分组;基于隧道协议,对多个加密的分组中的每个加密的分组进行封装,以创建多个封装加密的分组;其中每个封装加密的分组包括附加的外IP报头,附加的外IP报头包括源地址和目的地地址,源地址标识网络设备的物理隧道端点,目的地地址标识接收网络设备的物理隧道端点;以及经由网络设备与接收网络设备之间的多个隧道中的相应隧道,将多个封装加密的分组中的每个封装加密的分组发送给接收网络设备。
根据一些实现,一种非瞬态计算机可读介质可以存储一个或多个指令。一个或多个指令在由网络设备的一个或多个处理器执行时可以使一个或多个处理器:经由网络设备与传输网络设备之间的多个通用路由封装(GRE)隧道中的一个GRE隧道,从传输网络设备接收分组,其中分组包括内分组,内分组由封装安全性有效载荷(ESP)部分封装,封装安全性有效载荷(ESP)部分由GRE部分封装;对分组进行解封装,以从分组中移除GRE部分;在对分组进行解封装之后,对分组进行解密以标识内分组;以及基于内分组中包括的报头路由内分组。
附图说明
图1A-图1H是本文描述的一个或多个示例实现的图。
图2是在其中可以实现本文描述的系统和/或方法的示例环境的图。
图3A和图3B是图2的一个或多个设备的示例组件的图。
图4-图6是用于经由传输网络设备与接收网络设备之间的多个隧道来传输加密的分组的多个副本的示例过程的流程图。
具体实施方式
示例实现的以下详细描述参考了附图。不同附图中的相同附图标记可以标识相同或相似的元件。
在许多情况下,多个隧道可以连接第一网络设备和第二网络设备。在一些情况下,第一网络设备可以被配置为经由多个隧道将相同分组的多个副本发送给第二网络设备。例如,对于一些对数据敏感的应用(例如,以最小化分组丢失),第一网络设备可以经由多个隧道中的每个隧道向第二网络设备发送数据分组的个体副本。作为另一个示例,第一网络设备可以经由多个隧道中的每个隧道向第二网络设备发送探测分组的个体副本(探测分组例如是被用来确定多个隧道的状态、性能等的分组)。
在一些情况下,在经由隧道发送分组的副本之前,第一网络设备使用诸如通用路由封装(GRE)协议之类的隧道协议来封装分组的副本,然后使用诸如封装安全性有效载荷(ESP)协议之类的加密协议对分组的副本进行加密。在对分组进行封装和加密时,第一网络设备可以向分组添加一个或多个报头。通常,一个或多个报头包括与多个隧道中的特定隧道相关联的公共端点地址,分组的副本应该在该特定隧道上从第一网络设备被传输到第二网络设备。因此,分组的每个副本可以包括一个或多个报头,该一个或多个报头包括端点地址,该端点地址与该分组的其他副本的一个或多个报头中包括的端点地址不同。
第一网络设备可以经由多个隧道分别向第二网络设备发送分组的每个副本(例如,在对分组的副本进行封装和加密之后)。在许多情况下,第二网络设备可能不知道该分组的副本是彼此的副本。因此,第二网络设备可以解密和/或解封装分组的每个副本,以确定分组的多个副本是彼此的复制。这浪费了第二网络设备的计算资源(例如,处理资源、存储器资源、功率资源等)来重新解密和/或重新解封装分组的每个副本以获取分组的相同副本。
根据本文描述的一些实现,传输网络设备可以对分组进行加密(例如,使用ESP协议)以创建加密的分组,复制该加密的分组以创建多个加密的分组,并且使用隧道协议(例如,使用GRE隧道协议)封装多个加密的分组中的每个加密的分组以创建多个封装加密的分组。此外,在一些实现中,当对分组进行加密时,传输网络设备可以用IP报头(例如,ESP外IP报头)对加密的分组进行封装,以指示传输网络设备的特定虚拟隧道端点和接收网络设备的特定虚拟隧道端点。因此,在一些实现中,每个封装加密的分组包括相同的加密的分组,该加密的分组包括指示相同的虚拟隧道端点的IP报头。
在一些实现中,经由连接传输网络设备和接收网络设备的多个隧道中的相应隧道,传输网络设备可以将每个封装加密的分组发送给接收网络设备。因此,在一些实现中,通过对第一封装加密的分组进行解封装以暴露第一加密的分组并且对第二封装加密的分组进行解封装以暴露第二加密的分组,接收网络设备可以确定第一封装加密的分组与第二封装加密的分组相同。在一些实现中,第一加密的分组和第二加密的分组可以具有相同的结构(例如,每个分组由指示特定虚拟隧道端点的相同IP报头进行封装),并且接收网络设备可以确定第一加密的分组和第二加密的分组彼此匹配(例如,不必解密这两个分组)。
以这种方式,传输网络设备可以对分组进行加密并制作分组的多个副本,而不是单独地对分组的多个副本进行加密。此外,仅通过对分组的副本进行解封装(例如,不必对分组的副本进行解密),接收网络设备可以确定分组的副本是复制的。因此,接收网络设备可以仅对分组的副本之一进行解密来处理该分组,并且丢弃和/或忽略该分组的其他副本。因此,本文描述的一些实现消除了传输网络设备和接收网络设备进行的不必要的加密和解密步骤,因此节省了传输网络设备和接收网络设备的计算资源,否则这些计算资源将浪费在执行不必要的加密和解密步骤上。
图1A-图1H是本文描述的一个或多个示例实现100的图。如图1A-图1H所示,(多个)示例实现100可以包括传输网络设备和接收网络设备。如图1A中所示,传输网络设备可以与第一局域网(LAN)相关联(被示为LAN 1,192.168.1.1/24),并且接收网络设备可以与第二LAN相关联(被示为LAN 2,192.168.2.1/24)。例如,传输网络设备可以是包括第一主机的第一LAN的网关(例如,第一端点设备是网络业务的源或目的地),并且接收网络设备可以是包括第二主机的第二LAN的网关(例如,第二端点设备是网络业务的源或目的地)。
在一些实现中,可以使用多个网络隧道(例如,通用路由封装(GRE)隧道)在传输网络设备与接收网络设备之间建立多个点对点连接。例如,如图1A中所示,多个隧道(例如,被示为隧道1-N,其中N大于或等于2)连接传输网络设备和接收网络设备。虽然本文参考GRE隧道协议来描述示例隧道,但本文描述的实现也适用于可以被用来配置网络设备之间的点对点连接的其他隧道协议。
每个隧道可以具有与传输网络设备相关联的隧道端点和与接收网络设备相关联的隧道端点。在一些实现中,隧道可以具有与传输网络设备相关联的物理隧道端点(例如,物理IP地址)和与接收网络设备相关联的物理隧道端点。例如,如图1A中所示,隧道1具有与传输网络设备相关联的物理隧道端点(例如,172.16.0.1)和与接收网络设备相关联的物理隧道端点(例如,172.19.0.1);隧道2具有与传输网络设备相关联的物理隧道端点(例如,172.17.0.1)和与接收网络设备相关联的物理隧道端点(例如,172.20.0.1);并且隧道N具有与传输网络设备相关联的物理隧道端点(例如,172.18.0.1)和与接收网络设备相关联的物理隧道端点(例如,172.21.0.1)。物理隧道端点可以是公共端点。
附加地或备选地,隧道可以具有与传输网络设备相关联的虚拟隧道端点(例如,虚拟IP地址,诸如用于回送(L0)接口)和与接收网络相关联的虚拟隧道端点设备。在一些实现中,多个隧道中的每个隧道可以具有与传输网络设备相关联的相同的虚拟隧道端点,并且可以具有与接收网络设备相关联的相同的虚拟隧道端点。例如,如图1A中所示,隧道1-N具有与传输网络设备相关联的相同的虚拟隧道端点(100.0.0.1)和与接收网络设备相关联的相同的虚拟隧道端点(101.0.0.2)。虚拟隧道端点可以是私有端点。
如在图1B中并通过附图标记102所示,传输网络节点可以接收数据分组。例如,传输网络节点可以接收由与第一LAN相关联的第一主机发送的数据分组。如图1B中所示,数据分组可以包括IP报头和数据有效载荷。IP报头可以包括与传输网络设备相关联的源地址(例如,其标识第一LAN 192.168.1.1)和与接收网络设备相关联的目的地地址(例如,其标识第二LAN 192.168.2.1)。
如通过附图标记104所示,传输网络设备可以对数据分组进行加密以创建加密的数据分组。例如,传输网络设备可以使用封装安全性有效载荷(ESP)协议(例如,传送模式中的ESP、隧道模式中的ESP等)对数据分组进行加密。在一些实现中,传输网络设备可以用ESP报头(例如,其提供数据分组的加密)对数据分组进行封装以创建加密的数据分组。附加地或备选地,传输网络设备可以用外IP报头(例如,ESP外IP报头)对加密的数据分组进行封装,该外IP报头包括标识传输网络设备的虚拟隧道端点的源地址(例如,如图1B中所示的100.0.0.1)和/或标识接收网络设备的虚拟隧道端点的目的地地址(例如,如图1B中所示的100.0.0.2)。因此,如图1B中所示,传输网络设备可以创建加密的数据分组,其包括由ESP报头进行封装的内分组(例如,包括IP报头和数据有效载荷的数据分组),ESP报头由ESP外IP报头进行封装。
如在图1C中并通过附图标记106所示,传输网络设备可以复制加密的数据分组以创建多个加密的数据分组。在一些实现中,传输网络设备可以确定连接传输网络设备与接收网络设备的隧道的数目,并且可以复制加密的数据分组以创建相同数目的加密的数据分组。例如,传输网络设备可以确定连接传输网络设备与接收网络设备的N个(例如,其中N大于或等于2)隧道,并且可以复制加密的数据分组以创建N个加密的数据分组。
如通过附图标记108所示,传输网络设备可以对多个加密的数据分组进行封装。在一些实现中,传输网络设备可以使用隧道协议(例如,GRE隧道协议)对每个加密的数据分组进行封装,以创建多个封装加密的分组(例如,N个封装加密的分组)。例如,传输网络设备可以使用GRE报头对加密的数据分组进行封装,以创建封装加密的数据分组。
附加地或备选地,传输网络设备可以用外IP报头(例如,GRE外IP报头)对加密的数据分组进行封装,外IP报头包括标识网络设备的物理隧道端点的源地址和/或标识接收网络设备的物理隧道端点的目的地地址。例如,传输网络设备可以用GRE外IP报头对第一加密的数据分组进行封装,GRE外IP报头包括源地址和/或目的地地址,源地址标识与传输网络设备相关联的隧道1的物理隧道端点(例如,172.16.0.1),目的地地址标识与接收网络设备相关联的隧道1的物理隧道端点(例如,172.19.0.1);可以用GRE外IP报头对第二加密的数据分组进行封装,GRE外IP报头包括源地址和/或目的地地址,源地址标识与传输网络设备相关联的隧道2的物理隧道端点(例如,172.17.0.1),目的地地址标识与接收网络设备相关联的隧道2的物理隧道端点(例如,172.20.0.1);和/或可以用GRE外IP报头对第N个加密的数据分组进行封装,GRE外IP报头包括源地址和/或目的地地址,源地址标识与传输网络设备相关联的隧道N的物理隧道端点(例如,172.18.0.1),目的地地址标识与接收网络设备相关联的隧道N的物理隧道端点(例如,172.21.0.1)。
因此,如图1C中所示,传输网络设备可以创建多个封装加密的数据分组(被示为封装加密的数据分组1-N),其中每个封装加密的数据分组都包括一个内分组(例如,包含IP报头和数据有效载荷的数据分组),其中内分组由ESP报头进行封装,ESP报头由ESP外IP报头进行封装,ESP外IP报头由GRE报头进行封装,并且GRE报头由GRE外IP报头进行封装。
如在图1D中并通过附图标记110所示,传输网络设备可以将多个封装加密的数据分组发送(例如,路由、传输等)给接收网络设备。在一些实现中,传输网络设备可以经由与接收网络设备之间的多个隧道中的相应隧道(例如,对应隧道)将每个封装加密的数据分组发送给接收网络设备。例如,传输网络设备可以经由隧道1向接收网络设备发送封装加密的数据分组1(例如,其包括指示隧道1的物理隧道端点的GRE外IP报头);可以经由隧道2向接收网络设备发送封装加密的数据分组2(例如,其包括指示隧道2的物理隧道端点的GRE外IP报头);和/或可以经由隧道N向接收网络设备发送封装加密的数据分组N(例如,其包括指示隧道N的物理隧道端点的GRE外IP报头)。
在一些实现中,(例如,由于隧道延时问题、隧道业务等)在接收多个封装加密的数据分组中的任何其他封装加密的数据分组之前,接收网络设备可以经由多个隧道中的特定隧道来接收封装加密的数据分组之一(在下文中被称为“第一接收的封装加密的数据分组”)。在一些实现中,如通过附图标记112所示,接收网络设备可以对第一接收的封装加密的数据分组进行解封装。例如,接收网络设备可以从第一接收的封装加密的数据分组中移除GRE外IP报头和/或GRE报头。因此,接收网络设备可以解封装第一接收的封装加密的数据分组以暴露和/或标识被包括在第一接收的封装加密的数据分组中的加密的数据分组。附加地或备选地,接收网络设备可以不对第一接收的封装加密的数据分组进行解封装。
在一些实现中,接收网络设备可以对加密的数据分组的ESP报头(例如,在接收网络设备对第一接收的封装加密的数据分组进行解封装之后暴露的ESP报头)进行处理(例如,解析),以标识与ESP报头相关联的序列号(例如,计数器值)。附加地或备选地,在一些实现中,当接收网络设备不对第一接收的封装加密的数据分组进行解封装时,接收网络设备可以对第一接收的封装加密的数据分组的ESP报头进行处理,以标识与该ESP报头相关联的序列号。如通过附图标记114所示,接收网络设备可以使该序列号被存储在数据结构(例如,接收网络设备中包括的和/或接收网络设备可访问的数据结构)中。例如,接收网络设备可以将序列号发送给数据结构,以使数据结构在条目中包括序列号,并且使数据结构将该条目存储在数据结构中。数据结构可以在删除该条目之前将该条目在数据结构中存储一段时间(例如,100毫秒、1秒、10秒等)。附加地或备选地,数据结构可以在序列号满足(例如,大于)阈值(例如,阈值序列号)时将条目存储在数据结构中。否则,数据结构可以删除该条目。以这种方式,数据结构确保仅当前序列号被存储在数据结构中。
如通过附图标记116所示,接收网络设备可以对加密的数据分组进行解密。例如,使用传输网络设备用来对数据分组进行加密的ESP协议,接收网络设备可以对加密的分组进行解密(例如,如本文中关于图1B和附图标记104所述)。在一些实现中,接收网络设备可以对加密的数据分组的ESP报头进行处理以标识ESP协议,并且可以使用ESP协议对加密的数据分组进行解密。在一些实现中,当对加密的数据分组进行解密时,接收网络设备可以从加密的数据分组中移除ESP外IP报头和/或ESP报头。因此,接收网络设备可以对加密的数据分组进行解密以暴露和/或标识数据分组(例如,加密的数据分组的内分组)。
在一些实现中,接收网络设备可以对数据分组(例如,在接收网络设备对加密的数据分组进行解密之后暴露的数据分组)进行处理,以标识数据分组的IP报头和/或数据分组的数据有效载荷。接收网络设备可以解析IP报头以标识和/或确定IP报头的目的地地址(例如,其标识第二LAN 192.168.2.1)。如通过附图标记118所示,接收网络设备可以将数据分组发送(例如,路由、传输等)给IP报头的目的地地址(例如,发送给与第二LAN相关联的第二主机)。
附加地或备选地,在接收第一接收的封装加密的数据分组之后,接收网络设备可以经由多个隧道中的不同隧道来接收多个封装加密的数据分组中的附加的封装加密的数据分组。附加的封装加密的数据分组可以具有与第一接收的封装加密的数据分组相同或相似的结构。例如,附加的封装加密的数据分组可以包括内分组(例如,包括IP报头和数据有效载荷的数据分组),其中内分组由ESP报头进行封装,ESP报头由ESP外IP报头进行封装,ESP外IP报头由GRE报头进行封装,并且GRE报头由GRE外IP报头进行封装。
在一些实现中,以与本文关于附图标记112所述的类似方式,接收网络设备可以对附加的封装加密的数据分组进行解封装。例如,接收网络设备可以从附加的封装加密的数据分组中移除GRE外IP报头和/或GRE报头。因此,接收网络设备可以对附加的封装加密的数据分组进行解封装,以暴露和/或标识在附加的封装加密的数据分组中包括的加密的数据分组。附加地或备选地,接收网络设备可以不对附加的封装加密的数据分组进行解封装。
在一些实现中,接收网络设备可以处理(例如,解析)加密的数据分组的ESP报头(例如,在接收网络设备对附加的封装加密的数据分组解封装之后暴露的ESP报头),以标识与该ESP报头相关联的序列号。附加地或备选地,在一些实现中,当接收网络设备不对附加的封装加密的数据分组进行解封装时,接收网络设备可以处理附加的封装加密的数据分组的ESP报头,以标识与该ESP报头相关联的序列号。接收网络设备可以从数据结构中获取与第一接收的封装加密的数据分组的ESP报头相关联的序列号(例如,接收网络设备可以从数据结构中取回包括与第一接收的封装加密的数据分组的ESP报头相关联的序列号的条目)。接收网络设备可以比较与附加的封装加密的数据分组的ESP报头相关联的序列号和与第一接收的封装加密的数据分组相关联的序列号。当序列号匹配时,接收网络设备可以确定附加的封装加密的数据分组中的加密的数据分组与第一接收的封装加密的数据分组中的加密的数据分组相匹配(例如,与之相同、是其副本、是其复制等),和/或附加的封装加密的数据分组中的数据分组与第一接收的封装加密的数据分组的数据分组相匹配(例如,与之相同、是其副本、是其复制等)。因此,如通过附图标记120所示,接收网络设备可以使附加的封装加密的数据分组中的加密的数据分组被丢弃。
虽然本文结合图1B-图1D描述的一些示例实现涉及处理、传输和/或接收数据分组,但是预期的实现包括处理、传输和/或接收网络设备可以处理、传输和/或接收的任何种类的分组。例如,本文中关于图1E-图1H描述的一些实例实现涉及处理、传输和/或接收探测分组。
如在图1E中并通过附图标记122所示,传输网络设备可以生成探测分组。探测分组可以包括合成的数据有效载荷和用户数据报协议(UDP)报头。合成的数据有效载荷可以包括合成的数据,以近似数据分组的数据有效载荷的大小和/或内容。UDP报头可以指定特定端口(例如,端口3600)以指示该探测分组是(例如,将被发送给接收网络设备并被路由回到传输网络设备的)探测分组。
如通过附图标记124所示,传输网络设备可以(例如,以与本文关于图1B和附图标记104所述的类似方式)对探测分组进行加密以创建加密的探测分组。例如,传输网络设备可以使用ESP协议对探测分组进行加密,这可能使得用ESP报头对探测分组进行封装。附加地或备选地,传输网络设备可以用外IP报头(例如,ESP外IP报头)对加密的探测分组进行封装,外IP报头包括源地址和/或目的地地址,源地址标识传输网络设备的虚拟隧道端点(例如,如图1E中所示的100.0.0.1),目的地地址标识接收网络设备的虚拟隧道端点(例如,如图1E中所示的100.0.0.2)。因此,如图1E中所示,传输网络设备可以创建加密的探测分组,加密的探测分组包括由ESP报头进行封装的内分组(例如,包括合成的数据有效载荷和UDP报头的探测分组),ESP报头由ESP外IP报头进行封装。
如在图1F中并通过附图标记126所示,传输网络设备可以(例如,以本文关于图1C和附图标记106所述的类似方式)对加密的探测分组进行复制以创建多个加密的探测分组。例如,传输网络设备可以确定连接传输网络设备和接收网络设备的N个(例如,其中N大于或等于2)隧道,并且可以对加密的探测分组进行复制以创建N个加密的探测分组。
如通过附图标记128所示,传输网络设备可以(例如,以本文关于图1C和附图标记108所述的类似方式)对多个加密的探测分组进行封装。在一些实现中,传输网络设备可以使用隧道协议(例如,GRE隧道协议)对每个加密的探测分组进行封装,以创建多个封装加密的分组(例如,N个封装加密的分组)。例如,传输网络设备可以用GRE报头对加密的探测分组进行封装,以创建封装加密的探测分组。
附加地或备选地,传输网络设备可以用外IP报头(例如,GRE外IP报头)对加密的探测分组进行封装,外IP报头包括源地址和/或目的地地址,源地址标识网络设备的物理隧道端点,目的地地址标识接收网络设备的物理隧道端点。例如,传输网络设备可以用GRE外IP报头对第一加密的探测分组进行封装,GRE外IP报头包括源地址和/或目的地地址,源地址标识与传输网络设备相关联的隧道1的物理隧道端点(例如,172.16.0.1),目的地地址标识与接收网络设备相关联的隧道1的物理隧道端点(例如,172.19.0.1);可以用GRE外IP报头对第二加密的探测分组进行封装,GRE外IP报头包括源地址和/或目的地地址,源地址标识与传输网络设备相关联的隧道2的物理隧道端点(例如,172.17.0.1),目的地地址标识与接收网络设备相关联的隧道2的物理隧道端点(例如,172.20.0.1);和/或可以用GRE外IP报头对第N个加密的探测分组进行封装,GRE外IP报头包括源地址和/或目的地地址,源地址标识与传输网络设备相关联的隧道N的物理隧道端点(例如,172.18.0.1),目的地地址标识与接收网络设备相关联的隧道N的物理隧道端点(例如,172.21.0.1)。
因此,如图1F中所示,传输网络设备可以创建多个封装加密的探测分组(被示为封装加密的探测分组1-N),其中每个封装加密的探测分组包括内分组(例如,包括UDP报头和合成的数据有效载荷的探测分组),其中内分组由ESP报头进行封装,ESP报头由ESP外IP报头进行封装,ESP外IP报头由GRE报头进行封装,并且GRE报头由GRE外IP报头进行封装。
如在图1G中并通过附图标记130所示,传输网络设备可以(例如,以本文关于图1D和附图标记110所述的类似方式)将多个封装加密的探测分组发送给接收网络设备。在一些实现中,传输网络设备可以经由与接收网络设备之间的多个隧道中的相应隧道(例如,对应隧道)将每个封装加密的探测分组发送给接收网络设备。
在一些实现中,在接收多个封装加密的探测分组中的任何其他的封装加密的探测分组之前,接收网络设备可以经由多个隧道中的特定隧道来接收封装加密的探测分组之一(在下文中被称为“第一接收的封装加密的探测分组”)。如通过附图标记132所示,以本文关于图1D和附图标记112所述的类似方式,接收网络设备可以对第一接收的封装加密的探测分组进行解封装。例如,接收网络设备可以从第一接收的封装加密的探测分组中移除GRE外IP报头和/或GRE报头。因此,接收网络设备可以对第一接收的封装加密的探测分组进行解封装,以暴露和/或标识在第一接收的封装加密的探测分组中包括的加密的探测分组。附加地或备选地,接收网络设备可以不对第一接收的封装加密的探测分组进行解封装。
在一些实现中,接收网络设备可以处理(例如,解析)加密的探测分组的ESP报头(例如,在接收网络设备对第一接收的封装加密的探测分组进行解封装之后暴露的ESP报头),以标识与该ESP报头相关联的序列号。附加地或备选地,在一些实现中,当接收网络设备不对第一接收的封装加密的探测分组进行解封装时,接收网络设备可以对第一接收的封装加密的探测分组的ESP报头进行处理,以标识与该ESP报头相关联的序列号。如通过附图标记134所示,接收网络设备可以使序列号被存储在数据结构(例如,接收网络设备中包括的和/或接收网络设备可访问的数据结构)中。例如,接收网络设备可以将序列号发送给数据结构,以使数据结构在条目中包括序列号,并使数据结构将该条目存储在数据结构中。
如通过附图标记136所示,接收网络设备可以对加密的探测分组进行解密。例如,使用传输网络设备用来对探测分组进行加密的ESP协议,接收网络设备可以对加密的分组进行解密(例如,如本文关于图1E和附图标记124所述)。在一些实现中,接收网络设备可以对加密的探测分组的ESP报头进行处理以标识ESP协议,并且可以使用ESP协议对加密的探测分组进行解密。在一些实现中,当对加密的探测分组进行解密时,接收网络设备可以从加密的探测分组中移除ESP外IP报头和/或ESP报头。因此,接收网络设备可以对加密的探测分组进行解密,以暴露和/或标识探测分组(例如,加密的探测分组的内分组)。
如通过附图标记138所示,接收网络设备可以复制探测分组(例如,在接收网络设备对加密的探测分组进行解密之后暴露的探测分组),并且可以使探测分组的副本被存储在数据结构中。例如,接收网络设备可以将探测分组的副本发送给数据结构,以使数据结构将探测分组的副本包括在条目中,该条目包括数据结构中的序列号。在删除该条目之前,数据结构可以将该条目在数据结构中存储一段时间(例如,100毫秒、1秒、10秒等)。附加地或备选地,数据结构可以在序列号满足(例如,大于)阈值(例如,阈值序列号)时将该条目存储在数据结构中。否则,数据结构可以删除该条目。以这种方式,数据结构确保仅当前序列号和探测分组的当前副本被存储在数据结构中。
如通过附图标记140所示,接收网络设备可以修改探测分组。例如,接收网络设备可以处理探测分组以标识数据分组的合成的数据有效载荷,并且可以更新探测分组的合成的数据有效载荷。接收网络设备可以更新合成的数据有效载荷,以包括与接收网络设备接收第一接收的封装加密的探测分组的时间有关的信息和/或与接收网络设备要(例如,向传输网络设备)发送(例如,路由、传输等)探测分组的时间有关的信息。
如通过附图标记142所示,接收网络设备可以(例如,在修改探测分组之后)将探测分组发送给传输网络设备。例如,接收网络设备可以处理探测分组以标识探测分组的UDP报头(例如,其指示接收网络设备要将探测分组将发送(例如,传输、路由等)给传输网络设备)。经由多个隧道中的特定隧道,接收网络设备可以基于UDP报头向传输网络设备发送探测分组,该特定隧道从传输网络设备向接收网络设备传输第一接收的封装加密的探测分组。
附加地或备选地,在接收第一接收的封装加密的探测分组之后,接收网络设备可以经由多个隧道中的不同隧道来接收多个封装加密的探测分组中的附加的封装加密的探测分组。附加的封装加密的探测分组可以具有与第一接收的封装加密的探测分组相同或相似的结构。例如,附加的封装加密的探测分组可以包括内分组(例如,包括IP报头和数据有效载荷的探测分组),其中内分组由ESP报头进行封装,ESP报头由ESP外IP报头进行封装,ESP外IP报头由GRE报头进行封装,并且GRE报头由GRE外IP报头进行封装。
在一些实现中,以本文关于附图标记132所述的类似方式,接收网络设备可以对附加的封装加密的探测分组进行解封装。例如,接收网络设备可以从附加的封装加密的探测分组中移除GRE外IP报头和/或GRE报头。因此,接收网络设备可以对附加的封装加密的探测分组进行解封装,以暴露和/或标识在附加的封装加密的探测分组中包括的加密的探测分组。附加地或备选地,接收网络设备可以不对附加的封装加密的探测分组进行解封装。
在一些实现中,接收网络设备可以处理(例如,解析)加密的探测分组的ESP报头(例如,在接收网络设备对附加的封装加密的探测分组解封装之后暴露的ESP报头),以标识与该ESP报头相关联的序列号。附加地或备选地,在一些实现中,当接收网络设备不对附加的封装加密的探测分组进行解封装时,接收网络设备可以处理附加的封装加密的探测分组的ESP报头,以标识与该ESP报头相关联的序列号。接收网络设备可以从数据结构中获取与第一接收的封装加密的探测分组的ESP报头相关联的序列号(例如,接收网络设备可以从数据结构中取回包括与第一接收的封装加密的探测分组的ESP报头相关联的序列号的条目)。接收网络设备可以将与附加的封装加密的探测分组的ESP报头相关联的序列号和与第一接收的封装加密的探测分组相关联的序列号进行比较。当序列号相匹配时,接收网络设备可以确定附加的封装加密的探测分组的加密的探测分组与第一接收的封装加密的探测分组的加密的探测分组相匹配(例如,与之相同、是其副本、是其复制等),和/或附加的封装加密的探测分组的探测分组与第一接收的封装加密的探测分组的探测分组相匹配(例如,与之相同、是其副本、是其复制等)。因此,如在图1H中并通过附图标记144所示,接收网络设备可以使附加的封装加密的探测分组的加密的探测分组被丢弃。
如通过附图标记146所示,接收网络设备可以(例如,在使附加的封装加密的探测分组的加密的探测分组被丢弃之后)生成新探测分组。在一些实现中,接收网络设备可以基于存储在数据结构中的探测分组的副本来生成新探测分组。例如,接收网络设备可以复制在数据结构中存储的探测分组的副本,以生成新探测分组。作为另一示例,接收网络设备可以从数据结构(例如,从存储在数据结构中的包括探测分组的副本的条目中)中移除探测分组的副本,并且使探测分组的副本成为新探测分组。然后,接收网络设备可以使该条目从数据结构中被删除。
如通过附图标记148所示,接收网络设备可以修改新探测分组。例如,接收网络设备可以更新探测分组的合成的数据有效载荷。接收网络设备可以更新合成的数据有效载荷,以包括与接收网络设备何时接收附加的封装加密的探测分组有关的信息和/或与接收网络设备何时(例如,向传输网络设备)发送(例如,路由、传输和/或接收)新探测分组有关的信息。
如通过附图标记150所示,接收网络设备可以(例如,在对新探测分组进行修改之后)将修改后的新探测分组发送给传输网络设备。例如,接收网络设备可以对新探测分组进行处理,以标识新探测分组的UDP报头(例如,其指示接收网络设备要向传输网络设备发送(例如,传输、路由等)新探测分组。经由多个隧道中的不同隧道,接收网络设备可以基于UDP报头向传输网络设备发送新探测分组,该不同隧道从传输网络设备向接收网络设备传输附加的封装加密的探测分组。
如上所指示,图1A-图1H仅仅作为一个或多个示例而被提供。其他示例可以与关于图1A-图1H描述的示例不同。
图2是在其中可以实现本文描述的系统和/或方法的示例环境200的图。如图2中所示,环境200可以包括网络设备210-1和网络设备210-2(下文中统称为“网络设备210”,并且单独称为“网络设备210”)以及网络220。环境200的设备可以经由有线连接、无线连接、或有线和无线连接的组合来互连。
网络设备210包括能够接收、提供、存储、生成和/或处理信息的一个或多个设备。在一些实现中,网络设备210可以包括路由器、交换机、网关、防火墙设备、调制解调器、集线器、网桥、策略器、网络接口控制器(NIC)、反向代理、服务器(例如,代理服务器)、多路复用器、安全性设备、入侵检测设备、负载平衡器、或类似设备。在一些实现中,网络设备210可以被实现为在诸如机架之类的壳体内实现的物理设备。在一些实现中,网络设备210可以被实现为由云计算环境或数据中心的一个或多个计算机设备实现的虚拟设备。在一些实现中,网络设备210可以对应于传输网络设备和/或接收网络设备。在一些实现中,网络设备210可以处理、传输和/或接收分组(例如,数据分组、探测分组等)。
网络220包括一个或多个有线和/或无线网络。例如,网络可以包括分组交换网络、蜂窝网络(例如,第五代(5G)网络、诸如长期演进(LTE)网络之类的第四代(4G)网络、第三代(3G)网络、码分多址(CDMA)网络、公共陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网(例如,公共交换电话网络(PSTN)、私有网络、自组织网络、内联网、互联网、基于光纤的网络、云计算网络等、和/或这些或其他类型的网络的组合。
图2中所示的设备和网络的数目和布置作为一个或多个示例而被提供。在实践中,与图2中所示的那些设备和/或网络相比,可以存在更多的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或被不同地布置的设备和/或网络。此外,图2中所示的两个或更多设备可以在单个设备内实现,或者可以将图2中所示的单个设备实现为多个分布式设备。附加地或备选地,环境200的一组设备(例如,一个或多个设备)可以执行被描述为由环境200的另一组设备执行的一个或多个功能。
图3A-图3B是图2的一个或多个设备的示例组件的图。图3A是设备300的示例组件的图。设备300可以对应于网络设备210等中的一个或多个网络设备。在一些实现中,一个或多个网络设备可以包括一个或多个设备300和/或设备300的一个或多个组件。如图3A中所示,设备300可以包括总线305、处理器310、存储器315、存储组件320、输入组件325、输出组件330和通信接口335。
总线305包括允许设备300的组件之间进行通信的组件。处理器310以硬件、固件或硬件与软件的组合来实现。处理器310采用中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、ASIC或其他类型的处理组件的形式。在一些实现中,处理器310包括能够被编程以执行功能的一个或多个处理器。存储器315包括随机存取存储器(RAM)、只读存储器(ROM)和/或存储信息和/或指令以供处理器310使用的另一类型的动态或静态存储设备(例如,闪存、磁存储器和/或光存储器)。
存储组件320存储与设备300的操作和使用有关的信息和/或软件。例如,存储组件320可以包括硬盘(例如,磁盘、光盘、磁光盘、和/或固态磁盘)、致密盘(CD)、数字多功能光盘(DVD)、软盘、盒带、磁带和/或其他类型的非瞬态计算机可读介质、以及对应的驱动。
输入组件325包括允许设备300接收信息的组件,诸如经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风)。附加地或备选地,输入组件325可以包括用于感测信息的传感器(例如,全球定位系统(GPS)组件、加速度计、陀螺仪和/或致动器)。输出组件330包括提供来自设备300的输出信息的组件(例如,显示器、扬声器和/或一个或多个发光二极管(LED))。
通信接口335包括类收发器组件(例如,收发器和/或分离的接收器和传输器),类收发器组件使得设备300能够诸如经由有线连接、无线连接、或有线和无线的组合与其他设备通信。通信接口335可以允许设备300从另一设备接收信息和/或向另一设备提供信息。例如,通信接口335可以包括以太网接口、光学接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、Wi-Fi接口、蜂窝网络接口等。
设备300可以执行本文描述的一个或多个过程。设备300可以基于处理器310执行由非瞬态计算机可读介质(诸如存储器315和/或存储组件320)存储的软件指令来执行这些处理。计算机可读介质在本文中被定义为非瞬态存储设备。存储器设备包括单个物理存储设备内的存储器空间或分布在多个物理存储设备上的存储器空间。
可以经由通信接口335从另一计算机可读介质或另一设备将软件指令读取到存储器315和/或存储组件320中。当被执行时,存储在存储器315和/或存储组件320中的软件指令可以使处理器310执行本文所述的一个或多个过程。附加地或备选地,可以使用硬连线电路来代替软件指令或将其与软件指令结合使用来执行本文所述的一个或多个过程。因此,本文描述的实现不限于硬件电路和软件的任何特定组合。
图3A中所示的组件的数目和布置作为示例而被提供。在实践中,与图3A中所示的组件相比,设备300可以包括更多的组件、更少的组件、不同的组件或被不同地布置的组件。附加地或备选地,设备300的一组组件(例如,一个或多个组件)可以执行被描述为由设备300的另一组组件执行的一个或多个功能。
图3B是设备350的示例组件的图。设备350可以对应于网络设备210等中的一个或多个网络设备。在一些实现中,一个或多个网络设备可以包括一个或多个设备350和/或设备350的一个或多个组件。如图3B中所示,设备350可以包括一个或多个输入组件355-1至355-B(B≥1)(下文中统称为输入组件355,并被单独称为输入组件355)、交换组件360、一个或多个输出组件365-1至365-C(C≥1)(下文中统称为输出组件365,并被单独称为输出组件365)、和控制器370。
输入组件355可以是用于物理隧道的附接点,并且可以是用于诸如分组之类的传入业务的入口点。例如,输入组件355可以通过执行数据隧道层封装或解封装来处理传入业务。在一些实现中,输入组件355可以发送和/或接收分组。在一些实现中,输入组件355可以包括输入线卡,输入线卡包括一个或多个分组处理组件(例如,以集成电路的形式),诸如一个或多个接口卡(IFC)、分组转发组件、线卡控制器组件、输入端口、处理器、存储器和/或输入队列。在一些实现中,设备350可以包括一个或多个输入组件355。
交换组件360可以将输入组件355与输出组件365互连。在一些实现中,可以经由一个或多个交叉开关,经由总线,和/或用共享存储器来实现交换组件360。共享存储器可以充当临时缓冲器,以在最终将分组调度用于递送给输出组件365之前存储来自输入组件355的分组。在一些实现中,交换组件360可以使输入组件355、输出组件365和/或控制器370能够进行通信。
输出组件365可以存储分组并且可以调度分组以用于在输出物理隧道上的传输。输出组件365可以支持数据隧道层封装或解封装、和/或各种更高级别的协议。在一些实现中,输出组件365可以发送分组和/或接收分组。在一些实现中,输出组件365可以包括输出线卡,该输出线卡包括一个或多个分组处理组件(例如,以集成电路的形式),诸如一个或多个IFC、分组转发组件、线卡控制器组件、输出端口、处理器、存储器和/或输出队列。在一些实现中、设备350可以包括一个或多个输出组件365。在一些实现中,输入组件355和输出组件365可以由一组相同的组件来实现(例如,输入/输出组件可以是输入组件355和输出组件365的组合)。
控制器370包括例如以CPU、GPU、APU、微处理器、微控制器、DSP、FPGA、ASIC和/或另一类型的处理器形式的处理器。处理器以硬件、固件或硬件与软件的组合实现。在一些实现中,控制器370可以包括可以被编程以执行功能的一个或多个处理器。
在一些实现中,控制器370可以包括RAM、ROM和/或另一种类型的动态或静态存储设备(例如,闪存、磁存储器、光存储器等),其存储信息和/或指令以供控制器370使用。
在一些实现中,控制器370可以与连接到设备300的其他设备、网络和/或系统进行通信以交换关于网络拓扑的信息。控制器370可以基于网络拓扑信息创建路由表,基于路由表创建转发表,并将转发表转发给输入组件355和/或输出组件365。输入组件355和/或输出组件365可以使用转发表以对传入和/或传出分组执行路由查找。
控制器370可以执行本文描述的一个或多个过程。响应于执行由非瞬态计算机可读介质所存储的软件指令,控制器370可以执行这些过程。本文将计算机可读介质定义为非瞬态存储设备。存储器设备包括单个物理存储设备内的存储器空间或分布在多个物理存储设备上的存储器空间。
可以经由通信接口从另一计算机可读介质或另一设备将软件指令读入与控制器370相关联的存储器和/或存储组件中。当被执行时,被存储在与控制器370相关联的存储器和/或存储组件中的软件指令可以使控制器370执行本文所述的一个或多个过程。附加地或备选地,可以使用硬连线电路代替软件指令或与软件指令结合来执行本文所述的一个或多个过程。因此,本文描述的实现不限于硬件电路和软件的任何具体组合。
图3B中所示的组件的数目和布置作为示例而被提供。在实践中,与图3B中所示的组件相比,设备350可以包括更多的组件、更少的组件、不同的组件或被不同地布置的组件。附加地或备选地,设备350的一组组件(例如,一个或多个组件)可以执行被描述为由设备350的另一组组件执行的一个或多个功能。
图4是用于经由传输网络设备和接收网络设备之间的多个隧道来传输加密的分组的多个副本的示例过程400的流程图。在一些实现中,图4的一个或多个过程框可以由网络设备(例如,网络设备210)执行。在一些实现中,图4的一个或多个过程框可以由与网络设备分离或包括网络设备的另一设备或设备群组,诸如另一网络设备来执行。
如图4中所示,过程400可以包括:经由网络设备与传输网络设备之间的多个隧道中的一个隧道,从传输网络设备接收分组(框410)。例如,如上所述,网络设备(例如,使用处理器310、存储器315、存储组件320、输入组件325、输出组件330、通信接口335、输入组件355、交换组件360、输出组件365、控制器370等)可以经由网络设备和传输网络设备之间的多个隧道中的一个隧道,从传输网络设备接收分组。在一些实现中,分组包括第一外IP报头、GRE报头、第二外IP报头,提供对分组的内分组的加密的ESP报头、以及内分组。在一些实现中,内分组由ESP报头封装,ESP报头由第二外IP报头封装,第二外IP报头由GRE报头封装,并且GRE报头由第一外IP报头封装。
如图4中进一步所示,过程400可以包括:对分组进行解封装,以从分组中移除第一外IP报头和GRE报头(框420)。例如,如上所述,网络设备(例如,使用处理器310、存储器315、存储组件320、输入组件325、输出组件330、通信接口335、输入组件355、交换组件360、输出组件365、控制器370等)可以对分组进行解封装,以从该分组中移除第一外IP报头和GRE报头。
如图4中进一步所示,过程400可以包括:在对分组进行解封装之后,对分组进行解密以标识分组的内分组(框430)。例如,如上所述,网络设备(例如,使用处理器310、存储器315、存储组件320、输入组件325、输出组件330、通信接口335、输入组件355、交换组件360、输出组件365、控制器370等)可以在对分组解封装之后对该分组进行解密以标识该分组的内分组。
如图4中进一步所示,过程400可以包括:使与内分组相关联的一个或多个动作被执行(框440)。例如,如上所述,网络设备(例如,使用处理器310、存储器315、存储组件320、输入组件325、输出组件330、通信接口335、输入组件355、交换组件360、输出组件365、控制器370等)可以使与内分组相关联的一个或多个动作被执行。
过程400可以包括附加的实现,诸如结合本文其他地方描述的一个或多个其他过程和/或在下面描述的任何单个实现或实现的任何组合。
在第一实现中,第一外IP报头的源地址标识传输网络设备的物理隧道端点,第一外IP报头的目的地地址标识网络设备的物理隧道端点,第二外IP报头的源地址标识传输网络设备的虚拟隧道端点,并且第二外IP报头的目的地地址标识网络设备的虚拟隧道端点。
在第二实现中,单独地或与第一实现相组合,使与内分组相关联的一个或多个动作被执行包括:标识内分组的IP报头和内分组的有效载荷,其中IP报头的源地址标识与传输网络设备相关联的第一局域网(LAN),并且IP报头的目的地地址标识与网络设备相关联的第二LAN,其中有效载荷由IP报头封装,以及将内分组发送给IP报头的目的地地址。
在第三实现中,单独地或与第一和第二实现中的一个或多个实现相组合,使与内分组相关联的一个或多个动作被执行包括:更新内分组的有效载荷,以及经由隧道将内分组发送给传输网络设备。
在第四实现中,单独地或与第一至第三实现中的一个或多个实现相组合,过程400包括:在对分组进行解封装之后,标识与ESP报头相关联的序列号;以及使该序列号被存储在数据结构中。
在第五实现中,单独地或与第一至第四实现中的一个或多个实现相组合,过程400包括:经由网络设备与传输网络设备之间的多个隧道中的不同隧道来接收附加的分组,其中附加的分组包括附加的第一外IP报头、附加的GRE报头、附加的第二外IP报头、附加的ESP报头、以及附加的内分组,其中附加的内分组由附加的ESP报头封装,附加的ESP报头由附加的第二外IP报头封装,附加的第二IP报头由附加的GRE报头封装,并且附加的GRE报头由附加的第一外IP报头封装;对附加的分组进行解封装,以从附加的分组中移除附加的第一外IP报头和附加的GRE报头;在对附加的分组进行解封装之后,标识与附加的ESP报头相关联的序列号;从数据结构中获取与ESP报头相关联的序列号;基于与附加的ESP报头相关联的序列号和与ESP报头相关联的序列号,确定附加的内分组是内分组的副本;以及基于确定附加的内分组是内分组的副本,使附加的分组被丢弃。
在第六实现中,单独地或与第一至第五实现中的一个或多个实现相组合,过程400包括:标识与ESP报头相关联的序列号,以及使该序列号和内分组的副本被存储在数据结构中。
在第七实现中,单独地或与第一至第六实现中的一个或多个实现相组合,过程400包括:经由网络设备与传输网络设备之间的多个隧道中的不同隧道,接收附加的分组;对附加的分组进行解封装,以从附加的分组中移除附加的分组的外IP报头和附加的分组的GRE报头;在对附加的分组进行解封装之后,标识与附加的分组的ESP报头相关联的序列号;从数据结构中获取与分组的ESP报头相关联的序列号;确定与附加的分组的ESP报头相关联的序列号与分组的ESP报头的序列号相匹配;基于确定与附加的分组的ESP报头相关联的序列号与分组的ESP报头的序列号相匹配,使附加的分组被丢弃;以及在使附加的分组被丢弃之后,基于数据结构中存储的分组的内分组的副本,生成新的内分组。
在第八实现中,单独地或与第一至第七实现中的一个或多个实现相组合,过程400包括:对新的内分组的有效载荷进行更新,以及在对新的内分组的有效载荷进行更新之后,经由隧道向传输网络设备发送新的内分组。
在第九实现中,单独地或与第一至第八实现中的一个或多个实现相组合,过程400包括:使ESP报头的序列号和内分组的副本被存储在一起,作为数据结构中的条目;经由网络设备与传输网络设备之间的多个隧道中的不同隧道,接收附加的分组;确定与附加的分组的ESP报头相关联的序列号与数据结构中存储的序列号相匹配;经由不同的隧道并基于确定与附加的分组的ESP报头相关联的序列号与数据结构中存储的序列号相匹配,向传输网络设备发送数据结构中存储的内分组的副本;以及在向传输网络设备发送数据结构中存储的内分组的副本之后,使该条目从数据结构中被删除。
尽管图4示出了过程400的示例框,但是在一些实现中,与图4中所描绘的框相比,过程400可以包括更多的框、更少的框、不同的框或被不同地布置的框。可以并行地执行过程400的两个或更多个框。
图5是用于经由传输网络设备与接收网络设备之间的多个隧道来传输加密的分组的多个副本的示例过程500的流程图。在一些实现中,图5的一个或多个过程框可以由网络设备(例如,网络设备210)来执行。在一些实现中,图5的一个或多个过程框可以由与网络设备分离或包括网络设备的另一设备或设备群组,诸如另一网络设备来执行。
如图5中所示,过程500可以包括:对分组进行加密以创建加密的分组(框510)。例如,如上所述,网络设备(例如,使用处理器310、存储器315、存储组件320、输入组件325、输出组件330、通信接口335、输入组件355、交换组件360、输出组件365、控制器370等)可以对分组进行加密以创建加密的分组。在一些实现中,加密的分组包括外IP报头,外IP报头包括源地址和目的地地址,源地址标识网络设备的虚拟隧道端点,目的地地址标识接收网络设备的虚拟隧道端点。
如图5中所示,过程500可以包括:对加密的分组进行复制以创建多个加密的分组(框520)。例如,如上所述,网络设备(例如,使用处理器310、存储器315、存储组件320、输入组件325、输出组件330、通信接口335、输入组件355、交换组件360、输出组件365、控制器370等)可以对加密的分组进行复制以创建多个加密的分组。
如图5中进一步所示,过程500可以包括:基于隧道协议对多个加密的分组中的每个加密的分组进行封装,以创建多个封装加密的分组(框530)。例如,如上所述,网络设备(例如,使用处理器310、存储器315、存储组件320、输入组件325、输出组件330、通信接口335、输入组件355、交换组件360、输出组件365、控制器370等)可以基于隧道协议对多个加密的分组中的每个加密的分组进行封装以创建多个封装加密的分组。在一些实现中,每个封装加密的分组包括附加的外IP报头,附加的外IP报头包括源地址和目的地地址,源地址标识网络设备的物理隧道端点,目的地地址标识接收网络设备的物理隧道端点。
如图5中进一步所示,过程500可以包括:经由网络设备与接收网络设备之间的多个隧道中的相应隧道,将多个封装加密的分组中的每个封装加密的分组发送给接收网络设备(框540)。例如,如上所述,网络设备(例如,使用处理器310、存储器315、存储组件320、输入组件325、输出组件330、通信接口335、输入组件355、交换组件360、输出组件365、控制器370等)可以经由网络设备与接收网络设备之间的多个隧道中的相应隧道,将多个封装加密的分组中的每个封装加密的分组发送给接收网络设备。
过程500可以包括附加的实现,诸如在下面和/或结合本文其他地方描述的一个或多个其他过程来描述的任何单个实现或实现的任何组合。
在第一实现中,过程500包括经由多个隧道中的一个隧道从接收网络设备接收分组的修改版本。
在第二实现中,单独地或与第一实现相组合,分组是探测分组,其包括UDP报头和合成的数据有效载荷。
在第三实现中,单独地或与第一和第二实现中的一个或多个实现相组合,分组是包括数据有效载荷和IP报头的数据分组,IP报头包括源地址和目的地地址,源地址标识与网络设备相关联的第一LAN,目的地地址标识与接收网络设备相关联的第二LAN。
在第四实现中,单独地或与第一至第三实现中的一个或多个实现相组合,过程500包括:使用ESP协议对分组进行加密以创建加密的分组,其中加密的分组包括外IP报头和ESP报头。
在第五实现中,单独地或与第一至第四实现中的一个或多个实现相组合,封装多个加密的分组中的加密的分组以创建封装加密的分组包括:使用GRE隧道协议对加密的分组进行封装以创建封装加密的分组,其中封装加密的分组包括附加的外IP报头和GRE报头。
尽管图5示出了过程500的示例框,但是在一些实现中,与图5中所描绘的框相比,过程500可以包括更多的框、更少的框、不同的框或被不同地布置的框。可以并行地执行过程500的两个或更多个框。
图6是用于经由传输网络设备与接收网络设备之间的多个隧道来传输加密的分组的多个副本的示例过程600的流程图。在一些实现中,图6的一个或多个过程框可以由网络设备(例如,网络设备210)执行。在一些实现中,图6的一个或多个过程框可以由与网络设备分离或包括网络设备的另一设备或设备群组,诸如另一网络设备执行。
如图6中所示,过程600可以包括:经由网络设备与传输网络设备之间的多个GRE隧道中的一个GRE隧道,从传输网络设备接收分组。例如,如上所述,网络设备(例如,使用处理器310、存储器315、存储组件320、输入组件325、输出组件330、通信接口335、输入组件355、交换组件360、输出组件365、控制器370等)可以经由网络设备与传输网络设备之间的多个GRE隧道中的一个GRE隧道,从传输网络设备接收分组。在一些实现中,分组包括由ESP部分进行封装的内分组,ESP部分由GRE部分进行封装。
如图6中进一步所示,过程600可以包括:对分组进行解封装,以从分组中移除GRE部分(框620)。例如,如上所述,网络设备(例如,使用处理器310、存储器315、存储组件320、输入组件325、输出组件330、通信接口335、输入组件355、交换组件360、输出组件365、控制器370等)可以对该分组进行解封装以从分组中移除GRE部分。
如图6中进一步所示,过程600可以包括:对分组进行解密,以标识内分组(框630)。例如,如上所述,网络设备(例如,使用处理器310、存储器315、存储组件320、输入组件325、输出组件330、通信接口335、输入组件355、交换组件360、输出组件365、控制器370等)可以对该分组进行解密以标识内分组。
如图6中进一步所示,过程600可以包括:基于内分组中包括的报头,路由该内分组(框640)。例如,如上所述,网络设备(例如,使用处理器310、存储器315、存储组件320、输入组件325、输出组件330、通信接口335、输入组件355、交换组件360、输出组件365、控制器370等)可以基于内分组中包括的报头,路由内分组。
过程600可以包括附加的实现,诸如结合本文其他地方描述的一个或多个其他过程和/或在下面描述的任何单个实现或实现的任何组合。
在第一实现中,内分组是包括UDP报头的探测分组,UDP报头指示网络设备要将内分组路由给传输网络设备。
在第二实现中,单独地或与第一实现相组合,内分组是包括IP报头的数据分组,IP报头指示网络设备要将内分组路由到LAN地址,其中基于内分组中包括的报头路由内分组包括将内分组路由到LAN地址。
在第三实现中,单独地或与第一和第二实现中的一个或多个实现相组合,过程600包括:在路由内分组之前,更新内分组的有效载荷以包括关于网络设备何时接收该分组的信息以及关于网络设备何时路由内分组的信息。
尽管图6示出了过程600的示例框,但是在一些实现中,与图6中所描绘的框相比,过程600可以包括更多的框、更少的框、不同的框或被不同地布置的框。可以并行地执行过程600的两个或更多个框。
以下是一些示例实施例。
示例1.一种方法,包括:经由网络设备与传输网络设备之间的多个隧道中的一个隧道,由网络设备从传输网络设备接收分组,其中分组包括第一外互联网协议(IP)报头、通用路由封装(GRE)报头、第二外IP报头、提供分组的内分组的加密的封装安全性有效载荷(ESP)报头、以及内分组,其中内分组由ESP报头封装,ESP报头由第二外IP报头封装,第二外IP报头由GRE报头封装,并且GRE报头由第一外IP报头封装;由网络设备对分组进行解封装,以从分组中移除第一外IP报头和GRE报头;在对分组进行解封装之后,由网络设备对分组进行解密,以标识内分组;以及由网络设备使与内分组相关联的一个或多个动作被执行。
示例2.根据示例1的方法,其中第一外IP报头的源地址标识传输网络设备的物理隧道端点,并且第一外IP报头的目的地地址标识网络设备的物理隧道端点,并且其中第二外IP报头的源地址标识传输网络设备的虚拟隧道端点,并且第二外IP报头的目的地地址标识网络设备的虚拟隧道端点。
示例3.根据示例1的方法,其中使与内分组相关联的一个或多个动作被执行包括:标识内分组的IP报头和内分组的有效载荷,其中IP报头的源地址标识与传输网络设备相关联的第一局域网(LAN),并且IP报头的目的地地址标识与网络设备相关联的第二LAN,其中有效载荷由IP报头封装;以及将内分组发送给IP报头的目的地地址。
示例4.根据示例1的方法,其中使与内分组相关联的一个或多个动作被执行包括:更新内分组的有效载荷;以及经由一个隧道将内分组发送给传输网络设备。
示例5.根据示例1的方法,还包括:在对分组进行解封装之后,标识与ESP报头相关联的序列号;以及使序列号被存储在数据结构中。
示例6.根据示例1的方法,还包括:经由网络设备与传输网络设备之间的多个隧道中的不同隧道,接收附加的分组,其中附加的分组包括附加的第一外IP报头、附加的GRE报头、附加的第二外IP报头、附加的ESP报头以及附加的内分组,其中附加的内分组由附加的ESP报头封装,附加的ESP报头由附加的第二外IP报头封装,附加的第二外IP报头由附加的GRE报头封装,并且附加的GRE报头由附加的第一外IP报头封装;对附加的分组进行解封装,以从附加的分组中移除附加的第一外IP报头和附加的GRE报头;在对附加的分组进行解封装之后,标识与附加的ESP报头相关联的序列号;从数据结构中获取与ESP报头相关联的序列号;基于与附加的ESP报头相关联的序列号和与ESP报头相关联的序列号,确定附加的内分组是内分组的副本;以及基于确定附加的内分组是内分组的副本,使附加的分组被丢弃。
示例7.根据示例1的方法,还包括:标识与ESP报头相关联的序列号;以及使序列号和内分组的副本被存储在数据结构中。
示例8.根据示例1的方法,还包括:经由网络设备与传输网络设备之间的多个隧道中的不同隧道,接收附加的分组;对附加的分组进行解封装,以从附加的分组中移除附加的分组的外IP报头和附加的分组的GRE报头;在对附加的分组进行解封装之后,标识与附加的分组的ESP报头相关联的序列号;从数据结构中获取与分组的ESP报头相关联的序列号;确定与附加的分组的ESP报头相关联的序列号与分组的ESP报头的序列号相匹配;基于确定与附加的分组的ESP报头相关联的序列号与分组的ESP报头的序列号相匹配,使附加的分组被丢弃;以及在使附加的分组被丢弃之后,基于被存储在数据结构中的分组的内分组的副本,生成新的内分组。
示例9.根据示例8的方法,还包括:更新新的内分组的有效载荷;以及在更新新的内分组的有效载荷之后,经由隧道将新的内分组发送给传输网络设备。
示例10.根据示例1的方法,还包括:使ESP报头的序列号和内分组的副本被存储在一起,作为数据结构中的条目;经由网络设备与传输网络设备之间的多个隧道中的不同隧道,接收附加的分组;确定与附加的分组的ESP报头相关联的序列号与数据结构中存储的序列号相匹配;经由不同隧道并且基于确定与附加的分组的ESP报头相关联的序列号与数据结构中存储的序列号相匹配,将数据结构中存储的内分组的副本发送给传输网络设备;以及在将数据结构中存储的内分组的副本发送给传输网络设备之后,使条目从数据结构中被删除。
示例11.一种网络设备,包括:一个或多个存储器;以及一个或多个处理器,用以:对分组进行加密以创建加密的分组,其中加密的分组包括外互联网协议(IP)报头,外互联网协议报头包括源地址和目的地地址,源地址标识网络设备的虚拟隧道端点,目的地地址标识接收网络设备的虚拟隧道端点;对加密的分组进行复制以创建多个加密的分组;基于隧道协议,对多个加密的分组中的每个加密的分组进行封装,以创建多个封装加密的分组;其中每个封装加密的分组包括附加的外IP报头,附加的外IP报头包括源地址和目的地地址,源地址标识网络设备的物理隧道端点,目的地地址标识接收网络设备的物理隧道端点;以及经由网络设备与接收网络设备之间的多个隧道中的相应隧道,将多个封装加密的分组中的每个封装加密的分组发送给接收网络设备。
示例12.根据示例11的网络设备,其中一个或多个处理器还用以:经由多个隧道中的一个隧道,从接收网络设备接收分组的修改版本。
示例13.根据示例11的网络设备,其中分组是探测分组,探测分组包括用户数据报协议(UDP)报头和合成的数据有效载荷。
示例14.根据示例11的网络设备,其中分组是包括数据有效载荷和IP报头的数据分组,IP报头包括源地址和目的地地址,源地址标识与网络设备相关联的第一局域网(LAN),目的地地址标识与接收网络设备相关联的第二LAN。
示例15.根据示例11的网络设备,其中一个或多个处理器在对分组进行加密以创建加密的分组时用以:使用封装安全性有效载荷(ESP)协议,对分组进行加密以创建加密的分组,其中加密的分组包括外IP报头和ESP报头。
示例16.根据示例11的网络设备,其中当对多个加密的分组中的加密的分组进行封装以创建封装加密的分组时,一个或多个处理器用以:使用通用路由封装(GRE)隧道协议对加密的分组进行封装,以创建封装加密的分组,其中封装加密的分组包括附加的外IP报头和GRE报头。
示例17.一种非瞬态计算机可读介质,其存储指令,指令包括:一个或多个指令,一个或多个指令在由网络设备的一个或多个处理器执行时,使一个或多个处理器:经由网络设备与传输网络设备之间的多个通用路由封装(GRE)隧道中的一个GRE隧道,从传输网络设备接收分组,其中分组包括内分组,内分组由封装安全性有效载荷(ESP)部分封装,封装安全性有效载荷(ESP)部分由GRE部分封装;对分组进行解封装,以从分组中移除GRE部分;在对分组进行解封装之后,对分组进行解密以标识内分组;以及基于内分组中包括的报头,路由内分组。
示例18.根据示例17的非瞬态计算机可读介质,其中内分组是包括用户数据报协议(UDP)报头的探测分组,用户数据报协议(UDP)报头指示网络设备要将内分组路由给传输网络设备。
示例19.根据示例17的非瞬态计算机可读介质,其中内分组是包括互联网协议(IP)报头的数据分组,互联网协议报头指示网络设备要将内分组路由到局域网(LAN)地址,其中使一个或多个处理器基于内分组中包括的报头路由内分组的一个或多个指令使一个或多个处理器:将内分组路由到LAN地址。
示例20.根据示例17的非瞬态计算机可读介质,其中一个或多个指令在由一个或多个处理器执行时,还使一个或多个处理器:在路由内分组之前,更新内分组的有效载荷以包括关于网络设备何时接收分组的信息和关于网络设备何时要路由内分组的信息。
前述公开内容提供了说明和描述,但并不旨在穷举或将实现限制为所公开的精确形式。可以按照以上公开内容进行修改和变化,或者可以从实现的实践中获取修改和变化。
如本文所使用的,业务或内容可以包括一组分组。数据分组可以指用于将信息进行通信的通信结构,诸如协议数据单元(PDU)、网络数据分组、数据报、段、消息、块、小区、帧、子帧、时隙、符号、上述任一项的一部分、和/或能够经由网络传输的其他类型的格式化或未格式化的数据单元。
如本文所使用,术语“组件”旨在被广义地解释为硬件、固件和/或硬件与软件的组合。
显然,本文描述的系统和/或方法可以以不同形式的硬件、固件或硬件与软件的组合来实现。用来实现这些系统和/或方法的实际的专用控制硬件或软件代码并不限制实现。因此,本文中不参考具体的软件代码来描述系统和/或方法的操作和行为——应理解,可以基于本文的描述将软件和硬件设计为实现系统和/或方法。
即使特征的特定组合在权利要求中被陈述和/或在说明书中被公开,这些组合也不旨在限制各种实现的公开。在实践中,许多这些特征可以以权利要求书中未具体陈述和/或说明书中未公开的方式进行组合。尽管下面列出的每个从属权利要求可以只直接从属于一个权利要求,但是各种实现的公开包括与权利要求集中的每个其他权利要求结合的每个从属权利要求。
除非如此明确地描述,否则本文中使用的任何元件、动作或指令均不应被解释为关键或必要的。从外,如本文中所使用的,冠词“一”和“一个”旨在包括一个或多个项目并可以与“一个或多个”互换使用。此外,如本文所使用的,冠词“该”旨在包括结合冠词“该”引用的一个或多个项目并可以与“一个或多个”互换使用。此外,如本文所用的,术语“组”旨在包括一个或多个项目(例如,相关项目、不相关项目、相关和不相关项目的组合等)并可以与“一个或多个”互换使用。在仅意在一个项目的情况下,使用短语“仅一个”或类似的语言。同样,如本文所使用的,术语“有”、“具有”、“拥有”等旨在是开放式术语。此外,除非另有明确说明,否则短语“基于”旨在表示“至少部分地基于”。另外,如本文所使用的,除非另有明确说明(例如,如果与“二者之一”或“只是其中之一”结合使用),否则术语“或”在串联使用时意在包括性的并可以与“和/或”互换使用。

Claims (20)

1.一种方法,包括:
经由网络设备与传输网络设备之间的多个隧道中的一个隧道,由所述网络设备从所述传输网络设备接收分组,
其中所述分组包括第一外互联网协议(IP)报头、通用路由封装(GRE)报头、第二外IP报头、提供所述分组的内分组的加密的封装安全性有效载荷(ESP)报头、以及所述内分组,
其中所述内分组由所述ESP报头封装,所述ESP报头由所述第二外IP报头封装,所述第二外IP报头由所述GRE报头封装,并且所述GRE报头由所述第一外IP报头封装;
由所述网络设备对所述分组进行解封装,以从所述分组中移除所述第一外IP报头和所述GRE报头;
在对所述分组进行解封装之后,由所述网络设备对所述分组进行解密,以标识所述内分组;以及
由所述网络设备使与所述内分组相关联的一个或多个动作被执行。
2.根据权利要求1所述的方法,其中所述第一外IP报头的源地址标识所述传输网络设备的物理隧道端点,并且所述第一外IP报头的目的地地址标识所述网络设备的物理隧道端点,并且
其中所述第二外IP报头的源地址标识所述传输网络设备的虚拟隧道端点,并且所述第二外IP报头的目的地地址标识所述网络设备的虚拟隧道端点。
3.根据权利要求1所述的方法,其中使与所述内分组相关联的所述一个或多个动作被执行包括:
标识所述内分组的IP报头和所述内分组的有效载荷,
其中所述IP报头的源地址标识与所述传输网络设备相关联的第一局域网(LAN),并且所述IP报头的目的地地址标识与所述网络设备相关联的第二LAN,
其中所述有效载荷由所述IP报头封装;以及
将所述内分组发送给所述IP报头的所述目的地地址。
4.根据权利要求1所述的方法,其中使与所述内分组相关联的所述一个或多个动作被执行包括:
更新所述内分组的有效载荷;以及
经由所述一个隧道将所述内分组发送给所述传输网络设备。
5.根据权利要求1所述的方法,还包括:
在对所述分组进行解封装之后,标识与所述ESP报头相关联的序列号;以及
使所述序列号被存储在数据结构中。
6.根据权利要求1所述的方法,还包括:
经由所述网络设备与所述传输网络设备之间的所述多个隧道中的不同隧道,接收附加的分组,
其中所述附加的分组包括附加的第一外IP报头、附加的GRE报头、附加的第二外IP报头、附加的ESP报头以及附加的内分组,
其中所述附加的内分组由所述附加的ESP报头封装,所述附加的ESP报头由所述附加的第二外IP报头封装,所述附加的第二外IP报头由所述附加的GRE报头封装,并且所述附加的GRE报头由所述附加的第一外IP报头封装;
对所述附加的分组进行解封装,以从所述附加的分组中移除所述附加的第一外IP报头和所述附加的GRE报头;
在对所述附加的分组进行解封装之后,标识与所述附加的ESP报头相关联的序列号;
从数据结构中获取与所述ESP报头相关联的序列号;
基于与所述附加的ESP报头相关联的所述序列号和与所述ESP报头相关联的所述序列号,确定所述附加的内分组是所述内分组的副本;以及
基于确定所述附加的内分组是所述内分组的副本,使所述附加的分组被丢弃。
7.根据权利要求1所述的方法,还包括:
标识与所述ESP报头相关联的序列号;以及
使所述序列号和所述内分组的副本被存储在数据结构中。
8.根据权利要求1所述的方法,还包括:
经由所述网络设备与所述传输网络设备之间的所述多个隧道中的不同隧道,接收附加的分组;
对所述附加的分组进行解封装,以从所述附加的分组中移除所述附加的分组的外IP报头和所述附加的分组的GRE报头;
在对所述附加的分组进行解封装之后,标识与所述附加的分组的ESP报头相关联的序列号;
从数据结构中获取与所述分组的所述ESP报头相关联的序列号;
确定与所述附加的分组的所述ESP报头相关联的所述序列号与所述分组的所述ESP报头的所述序列号相匹配;
基于确定与所述附加的分组的所述ESP报头相关联的所述序列号与所述分组的所述ESP报头的所述序列号相匹配,使所述附加的分组被丢弃;以及
在使所述附加的分组被丢弃之后,基于被存储在所述数据结构中的所述分组的所述内分组的副本,生成新的内分组。
9.根据权利要求8所述的方法,还包括:
更新所述新的内分组的有效载荷;以及
在更新所述新的内分组的所述有效载荷之后,经由所述隧道将所述新的内分组发送给所述传输网络设备。
10.根据权利要求1所述的方法,还包括:
使所述ESP报头的序列号和所述内分组的副本被存储在一起,作为数据结构中的条目;
经由所述网络设备与所述传输网络设备之间的所述多个隧道中的不同隧道,接收附加的分组;
确定与所述附加的分组的ESP报头相关联的序列号与所述数据结构中存储的所述序列号相匹配;
经由所述不同隧道并且基于确定与所述附加的分组的所述ESP报头相关联的所述序列号与所述数据结构中存储的所述序列号相匹配,将所述数据结构中存储的所述内分组的所述副本发送给所述传输网络设备;以及
在将所述数据结构中存储的所述内分组的所述副本发送给所述传输网络设备之后,使所述条目从所述数据结构中被删除。
11.一种网络设备,包括:
一个或多个存储器;以及
一个或多个处理器,用以:
对分组进行加密以创建加密的分组,
其中所述加密的分组包括外互联网协议(IP)报头,所述外互联网协议报头包括源地址和目的地地址,所述源地址标识所述网络设备的虚拟隧道端点,所述目的地地址标识接收网络设备的虚拟隧道端点;
对所述加密的分组进行复制以创建多个加密的分组;
基于隧道协议,对所述多个加密的分组中的每个加密的分组进行封装,以创建多个封装加密的分组;
其中每个封装加密的分组包括附加的外IP报头,所述附加的外IP报头包括源地址和目的地地址,所述源地址标识所述网络设备的物理隧道端点,所述目的地地址标识所述接收网络设备的物理隧道端点;以及
经由所述网络设备与所述接收网络设备之间的多个隧道中的相应隧道,将所述多个封装加密的分组中的每个封装加密的分组发送给所述接收网络设备。
12.根据权利要求11所述的网络设备,其中所述一个或多个处理器还用以:
经由所述多个隧道中的一个隧道,从所述接收网络设备接收所述分组的修改版本。
13.根据权利要求11所述的网络设备,其中所述分组是探测分组,所述探测分组包括用户数据报协议(UDP)报头和合成的数据有效载荷。
14.根据权利要求11所述的网络设备,其中所述分组是包括数据有效载荷和IP报头的数据分组,所述IP报头包括源地址和目的地地址,所述源地址标识与所述网络设备相关联的第一局域网(LAN),所述目的地地址标识与所述接收网络设备相关联的第二LAN。
15.根据权利要求11所述的网络设备,其中所述一个或多个处理器在对所述分组进行加密以创建所述加密的分组时用以:
使用封装安全性有效载荷(ESP)协议,对所述分组进行加密以创建所述加密的分组,
其中所述加密的分组包括所述外IP报头和ESP报头。
16.根据权利要求11所述的网络设备,其中当对所述多个加密的分组中的所述加密的分组进行封装以创建所述封装加密的分组时,所述一个或多个处理器用以:
使用通用路由封装(GRE)隧道协议对所述加密的分组进行封装,以创建所述封装加密的分组,
其中所述封装加密的分组包括所述附加的外IP报头和GRE报头。
17.一种非瞬态计算机可读介质,其存储指令,所述指令包括:
一个或多个指令,所述一个或多个指令在由网络设备的一个或多个处理器执行时,使所述一个或多个处理器:
经由所述网络设备与传输网络设备之间的多个通用路由封装(GRE)隧道中的一个GRE隧道,从所述传输网络设备接收分组,
其中所述分组包括内分组,所述内分组由封装安全性有效载荷(ESP)部分封装,所述封装安全性有效载荷(ESP)部分由GRE部分封装;
对所述分组进行解封装,以从所述分组中移除所述GRE部分;
在对所述分组进行解封装之后,对所述分组进行解密以标识所述内分组;以及
基于所述内分组中包括的报头,路由所述内分组。
18.根据权利要求17所述的非瞬态计算机可读介质,其中所述内分组是包括用户数据报协议(UDP)报头的探测分组,所述用户数据报协议(UDP)报头指示所述网络设备要将所述内分组路由给所述传输网络设备。
19.根据权利要求17所述的非瞬态计算机可读介质,其中所述内分组是包括互联网协议(IP)报头的数据分组,所述互联网协议报头指示所述网络设备要将所述内分组路由到局域网(LAN)地址,
其中使所述一个或多个处理器基于所述内分组中包括的所述报头路由所述内分组的一个或多个指令使所述一个或多个处理器:
将所述内分组路由到所述LAN地址。
20.根据权利要求17所述的非瞬态计算机可读介质,其中所述一个或多个指令在由所述一个或多个处理器执行时,还使所述一个或多个处理器:
在路由所述内分组之前,更新所述内分组的有效载荷以包括关于所述网络设备何时接收所述分组的信息和关于所述网络设备何时要路由所述内分组的信息。
CN202010583100.7A 2020-02-19 2020-06-23 经由多个隧道传输加密的分组的多个副本 Active CN113285863B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/794,356 US11405422B2 (en) 2020-02-19 2020-02-19 Transmitting multiple copies of an encrypted packet via multiple tunnels between a transmitting network device and a receiving network device
US16/794,356 2020-02-19

Publications (2)

Publication Number Publication Date
CN113285863A true CN113285863A (zh) 2021-08-20
CN113285863B CN113285863B (zh) 2023-02-03

Family

ID=71266356

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010583100.7A Active CN113285863B (zh) 2020-02-19 2020-06-23 经由多个隧道传输加密的分组的多个副本

Country Status (3)

Country Link
US (1) US11405422B2 (zh)
EP (2) EP4333383A1 (zh)
CN (1) CN113285863B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11223559B2 (en) * 2019-09-10 2022-01-11 Cisco Technology, Inc. Determining connectivity between compute nodes in multi-hop paths
US11470071B2 (en) * 2020-04-20 2022-10-11 Vmware, Inc. Authentication for logical overlay network traffic
EP3907966A1 (en) * 2020-05-04 2021-11-10 Juniper Networks, Inc. Efficient encryption and decryption of duplicate packets communicated via a virtual private network
US11575653B2 (en) 2020-05-04 2023-02-07 Juniper Networks, Inc. Efficient encryption and decryption of duplicate packets communicated via a virtual private network
US11290380B2 (en) * 2020-07-30 2022-03-29 S.C Correct Networks S.R.L. Method for transferring information across a data center network
US11968115B2 (en) 2021-10-31 2024-04-23 Avago Technologies International Sales Pte. Limited Method for verifying data center network performance

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130191628A1 (en) * 2012-01-25 2013-07-25 Cisco Technology, Inc. Media Path Monitoring Over a Secure Network
US20190132297A1 (en) * 2017-11-02 2019-05-02 Arista Networks, Inc. Distributing packets across processing cores
US20190334880A1 (en) * 2018-04-26 2019-10-31 Vmware, Inc. Packet capture in software-defined networking (sdn) environments
US20190372936A1 (en) * 2018-05-31 2019-12-05 Cisco Technology, Inc. Encryption for gateway tunnel-based vpns independent of wan transport addresses

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10462042B2 (en) * 2017-06-20 2019-10-29 Cisco Technology, Inc. Network path selection
US10523556B2 (en) * 2017-08-08 2019-12-31 Versa Networks, Inc. Method and system for routing connections in a software-defined wide area network
US10992590B2 (en) * 2018-04-09 2021-04-27 Nicira, Inc. Path maximum transmission unit (PMTU) discovery in software-defined networking (SDN) environments
US10972379B2 (en) * 2018-04-15 2021-04-06 Versa Networks, Inc. Application performance based path-selection
US11115327B2 (en) * 2018-08-24 2021-09-07 Oracle International Corporation Methods, systems, and computer readable media for providing mobile device connectivity
US11474894B2 (en) * 2019-06-03 2022-10-18 Cisco Technology, Inc. Partial reroute of traffic onto a backup tunnel using predictive routing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130191628A1 (en) * 2012-01-25 2013-07-25 Cisco Technology, Inc. Media Path Monitoring Over a Secure Network
US20190132297A1 (en) * 2017-11-02 2019-05-02 Arista Networks, Inc. Distributing packets across processing cores
US20190334880A1 (en) * 2018-04-26 2019-10-31 Vmware, Inc. Packet capture in software-defined networking (sdn) environments
US20190372936A1 (en) * 2018-05-31 2019-12-05 Cisco Technology, Inc. Encryption for gateway tunnel-based vpns independent of wan transport addresses

Also Published As

Publication number Publication date
US11405422B2 (en) 2022-08-02
EP3869746A1 (en) 2021-08-25
EP3869746B1 (en) 2023-11-22
CN113285863B (zh) 2023-02-03
EP4333383A1 (en) 2024-03-06
US20210258347A1 (en) 2021-08-19

Similar Documents

Publication Publication Date Title
CN113285863B (zh) 经由多个隧道传输加密的分组的多个副本
CN112152985B (zh) 在中间路由器处具有减少的分组加密的gre隧穿
CN112887259B (zh) 基于应用的网络安全
US10805210B1 (en) GRE tunneling with reduced packet encryption at intermediate routers using loose source routing
CN113612723B (zh) 经由虚拟私有网络传达的重复分组的高效加密和解密
US20230127468A1 (en) Efficient encryption and decryption of duplicate packets communicated via a virtual private network
US10567284B1 (en) Transport batching technique for network communications
US11368294B2 (en) Facilitating hitless security key rollover using data plane feedback
CN113452664B (zh) 在网络隧道内建立网络微隧道
US11245669B1 (en) Firewall filter comprising one or more objects
US11626981B2 (en) Facilitating hitless security key rollover using data plane feedback
US11539668B2 (en) Selective transport layer security encryption
US11777847B1 (en) Point-to-multipoint transport chain
CN111865821B (zh) 提供可预测服务质量业务引导
CN113765878B (zh) 选择性的传送层安全加密
CN111614564A (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