CN112152985B - 在中间路由器处具有减少的分组加密的gre隧穿 - Google Patents
在中间路由器处具有减少的分组加密的gre隧穿 Download PDFInfo
- Publication number
- CN112152985B CN112152985B CN201910912383.2A CN201910912383A CN112152985B CN 112152985 B CN112152985 B CN 112152985B CN 201910912383 A CN201910912383 A CN 201910912383A CN 112152985 B CN112152985 B CN 112152985B
- Authority
- CN
- China
- Prior art keywords
- network node
- header
- packet
- address
- receiving
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- 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/26—Route discovery packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
- H04L63/0435—Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
- H04L63/0485—Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2212/00—Encapsulation of packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
公开了在中间路由器处具有减少的分组加密的GRE隧穿。网络节点可以接收具有内部互联网协议(IP)报头和外部IP报头的分组。内部IP报头可以被加密。网络节点可以生成分组的副本,以获得复制分组。网络节点可以对分组或复制分组中的一个执行解密,以标识内部IP报头的接收方地址。网络节点可以更新分组或复制分组中另一个的外部IP报头,以获得具有更新外部IP报头的更新分组。更新外部IP报头的目的地地址可以被更新到与接收方地址相关联的接收网络节点的隧道端点。网络节点可以根据更新外部IP报头来路由更新分组。
Description
背景技术
网络隧道是用于通过公共网络的私有信息的安全传输的机制,其是通过公共网络的网络设备不知道私有信息的方式。隧穿协议是支持网络隧道的创建的通信协议。隧穿协议使得私有信息能够通过称为封装的过程跨公共网络发送。
发明内容
根据一些实现,一种方法可以包括:由网络节点接收具有内部互联网协议(IP)报头和外部IP报头的分组,其中外部IP报头的源地址标识发送网络节点的隧道端点,并且外部IP报头的目的地地址标识网络节点的隧道端点,其中内部IP报头的源地址标识发送方地址,并且内部IP报头的目的地地址标识接收方地址,其中内部IP报头被加密;由网络节点在接收分组之后生成分组的副本,以获得复制分组;由网络节点对分组或复制分组中的一个分组执行解密,以标识内部IP报头的接收方地址;由网络节点更新分组或复制分组中另一个分组的外部IP报头,以获得具有更新外部IP报头的更新分组,其中更新外部IP报头的源地址被更新到网络节点的隧道端点,并且更新外部IP报头的目的地地址被更新到与接收方地址相关联的接收网络节点的隧道端点;以及由网络节点根据更新外部IP报头来路由更新分组。
根据一些实现,一种网络节点可以包括一个或多个存储器以及一个或多个处理器,一个或多个处理器用于:接收具有内部IP报头和外部IP报头的分组,其中外部IP报头的源地址标识发送网络节点的隧道端点,并且外部IP报头的目的地地址标识网络节点的隧道端点,其中内部IP报头的源地址标识发送方地址,并且内部IP报头的目的地地址标识接收方地址,其中内部IP报头被通用路由封装(GRE)报头封装,GRE报头被提供加密的封装安全净荷(ESP)报头封装,并且ESP报头被外部IP报头封装;生成分组的副本,以获得复制分组;对分组或复制分组中的一个分组执行解密,以标识内部IP报头的接收方地址;更新分组或复制分组中的另一个分组的外部IP报头,以获得具有更新外部IP报头的更新分组,其中更新外部IP报头的源地址被更新到网络节点的隧道端点,并且更新外部IP报头的目的地地址被更新到与接收方地址相关联的接收网络节点的隧道端点;以及根据更新外部IP报头来路由更新分组。
根据一些实现,一种非暂时性计算机可读介质可以存储一个或多个指令,一个或多个指令在由一个或多个处理器运行时,可以使得一个或多个处理器:接收具有内部IP报头和外部IP报头的分组,其中外部IP报头的源地址标识发送网络节点的隧道端点,并且外部IP报头的目的地地址标识中间网络节点的隧道端点,其中内部IP报头的源地址标识发送方地址,并且内部IP报头的目的地地址标识接收方地址,其中内部IP报头被加密;生成分组的副本,以获得复制分组;对分组或复制分组中的一个分组执行解密,以标识内部IP报头的接收方地址;确定与接收方地址相关联的接收网络节点的隧道端点;更新分组或复制分组中的另一个分组的外部IP报头,以获得具有更新外部IP报头的更新分组,其中更新外部IP报头的源地址被更新到中间网络节点的隧道端点,并且更新外部IP报头的目的地地址被更新到接收网络节点的隧道端点;以及根据更新外部IP报头来路由更新分组。
附图说明
图1A至图1E是本文描述的一个或多个示例实现的示图。
图2是其中可以实现本文描述的***和/或方法的示例环境的示图。
图3是图2的一个或多个设备的示例组件的示图。
图4至图6是中间路由器处具有减少的分组加密的GRE隧穿的示例过程的流程图。
具体实施方式
示例实现的以下详细描述参考附图。不同的附图中相同的附图标记可能标识相同或相似的元素。
虚拟专用网络(VPN)可以由软件定义的广域网(SD-WAN)支持以便跨越公共网络(例如,因特网)扩展专用网络。特别地,VPN可以通过使用隧穿协议而在公共网络上建立虚拟点对点连接。例如,GRE是这样的一种隧穿协议,其可以用于使用递送分组在公共网络上传送具有专用地址的IP分组,其中递送分组具有表示GRE通道端点的公共IP地址。IP分组(例如,封装在递送分组内的IP分组)可以由发送网络节点使用安全网络协议套件来加密,并且由接收网络节点使用安全网络协议套件来解密,安全网络协议套件诸如IP安全(IPSec)。
在一些情形下,起源于发送网络节点的递送分组在到达接收网络节点之前,可以通过集线器或者一个或多个其他中间路由器来传送。在这样的情况下,根据当前技术,发送网络节点可以利用与集线器协商的加密密钥来加密IP分组,将IP分组封装在地址是集线器的递送分组中,并且向集线器发送递送分组。集线器可以解封装IP分组,并且使用与发送网络节点协商的解密密钥来解密IP分组。基于经解密的IP分组,集线器可以确定IP分组的目的地位于接收网络节点之后。因此,集线器可以使用与接收网络节点协商的加密密钥来重新加密IP分组,利用地址是接收网络节点的递送分组来重新封装IP分组,并且向接收网络节点发送递送分组。接收网络节点可以解封装IP分组,使用与集线器协商的解密密钥来解密IP分组,并且向目的地发送IP分组。
因此,在通过一个或多个中间路由器(例如,多个中间路由器将需要多个重新加密和重新封装步骤)传送分组时,当前技术需要一个或多个重新加密和重新封装步骤。该附加处理浪费了计算资源(例如,处理器资源、存储器资源等)并且导致网络拥塞,从而降低网络吞吐量。
根据本文描述的一些实现,在不执行对分组的重新加密和重新封装的情况下,一个或多个中间网络节点(例如,发送路由器与接收路由器之间的中间路由器)可以处理发送网络节点处起源并且目的地是接收网络节点的分组。在一些实现中,中间网络节点(例如,中间路由器)可以接收分组(例如,GRE分组),其具有封装了具有内部IP报头的内部分组的外部IP报头。中间网络节点可以生成分组的副本以获得复制分组,并且解密分组或者复制分组中的一个,以标识来自内部IP报头的目的地。中间网络节点可以利用与中间网络节点相关联的地址和目的地来更新分组或者复制分组中的另外一个的外部报头,以获得具有更新外部IP报头的更新分组。网络节点继而可以根据更新外部IP报头来路由更新分组。
以这种方式,中间网络节点能够在不执行分组的重新加密和重新封装的情况下处理和路由分组。通过消除重新加密和重新封装步骤,中间网络节点节省了计算资源,否则这些计算资源将由于执行重新加密和重新封装而浪费。因此,中间网络节点促进分组的更快路由,这减少了网络拥塞并且改善了网络吞吐量。因此,当该中间网络节点是通过其传送分组的多个中间网络节点中的一个时,可以实现网络拥塞的显著减少和网络吞吐量的改善。
图1A-图1E是本文描述的一个或多个示例实现100的示图。如图1A-图1E中所示,示例实现100可以包括发送网络节点(图1A和图1E中示为节点A)、中间网络节点(图1A-图1E中示为集线器)和接收网络节点(图1A和图1E中示为节点B)。
发送网络节点(例如,入口网络节点)、中间网络节点(例如,集线器)和接收网络节点(例如,出口网络节点)可以形成VPN。在一些实现中,VPN还可以包括一个或多个附加网络节点。VPN可以与多个局域网(LAN)相关联。例如,每个LAN可以与实体的办公位置相关联。发送网络节点可以是到第一LAN的网关,其包括发送方主机(图1A和图1E中示为主机A1),并且接收网络节点可以是到第二LAN的网关,其包括接收方主机(图1A和图1E中示为主机B1)。发送方主机可以与专用发送方地址(例如,专用IP地址)相关联,并且接收方主机可以与专用接收方地址(例如,专用IP地址)相关联。
主机可以包括业务传送设备,诸如路由器、网关、交换机、防火墙、集线器、桥接器、反向代理、服务器(例如,代理服务器、运行虚拟机的服务器等)、安全设备、入侵检测设备、负载均衡器或者相似类型的设备。在一些实现中,主机可以包括作为网络业务的源或者目的地的端点设备。例如,主机可以包括计算机或者相似类型的设备。
发送网络节点可以经由中间网络节点与接收网络节点进行通信。也即,可以通过中间网络节点来传送起源于发送网络节点之后并且终止于接收网络节点之后的分组。由此,中间网络节点可以是发送网络节点和接收网络节点之间的中间跳。在一些实现中,中间网络节点可以是发送网络节点和接收网络节点之间的多个中间网络节点中的一个。在一些场景中,在使用发送网络节点或者接收网络节点作为中间跳的情况下,分组可以起源于中间网络节点之后和/或终止于中间网络节点之后。换言之,发送网络节点、中间网络节点和接收网络节点可以是网状网络的节点。
发送网络节点与中间网络节点之间的点对点连接可以使用网络隧道(例如,GRE隧道)来建立,并且接收网络节点与中间网络节点之间的点对点连接可以使用网络隧道来建立。因此,发送网络节点、中间网络节点和接收网络节点每一个可以与为充当隧道端点的隧道接口而配置的隧道接口地址(例如,隧道接口IP地址)和公共地址(例如,公共IP地址)相关联。虽然以下描述将根据GRE隧穿协议的示例来描述,但是描述不限于该特定示例。本文描述的实现也可以应用于可以用于在公共网络上配置点对点连接的其他隧穿协议。
另外,发送网络节点、中间网络节点和接收网络节点可以共享公共安全关联。例如,由发送网络节点、中间网络节点和接收网络节点形成的VPN可以是群组VPN。在群组VPN中,中央密钥服务器可以向每个群组成员(例如,发送网络节点、中间网络节点和接收网络节点)提供加密和解密密钥,以使得任何群组成员可以解密被任何其他群组成员加密的分组。因此,由中间网络节点使用的加密和解密密钥可以与由发送网络节点使用的加密和解密密钥以及由接收网络节点使用的加密和解密密钥相对应(例如,可以相同)。
如图1A中并且由附图标记105所示,中间网络节点可以接收分组。例如,中间网络节点可以接收由发送网络节点(示为图1A中的节点A)发送的分组。在这样的情况下,分组可以起源于发送网络节点之后的主机(示为图1A中的主机A1)处。例如,主机可以已经生成了IP分组,将IP分组提供给发送网络节点,并且发送网络节点可以已经基于确定IP分组的目的地是经由GRE隧穿可达的(例如,根据发送网络点的路由表),而根据GRE隧道协议来封装IP分组。
因此,由中间网络节点接收的分组可以是GRE分组。例如,分组可以包括外部IP报头,并且可以封装与内部IP报头和净荷(例如,用于与内部IP报头的目的地地址相关联的主机)相关联的内部分组(例如,IP分组)。因此,分组可以包括外部IP报头和内部IP报头。
外部IP报头可以包括源地址和目的地地址。外部IP报头的源地址和目的地地址可以标识相应的隧道端点(例如,源隧道端点和目的地隧道端点)。例如,当由中间网络节点从发送网络节点接收到分组时,外部IP报头的源地址可以标识与发送网络节点相关联的隧道端点(例如,172.16.1.1,如图1A中所示),并且外部IP报头的目的地地址可以标识与中间网络节点相关联的隧道端点(例如,172.17.0.1,如图1A中所示)。由此,外部IP报头的源地址和目的地地址可以标识公共IP地址。
内部IP报头也可以包括源地址和目的地地址。内部IP报头的源地址可以标识发送方地址(例如,与正在发送内部分组的主机相关联的IP地址),并且内部IP报头的目的地地址可以标识接收方地址(例如,与要接收内部分组的主机相关联的IP地址)。例如,当由中间网络节点从发送网络节点接收到分组时,内部IP报头的源地址可以标识与发送方主机相关联的发送方地址(例如,192.168.1.1,如图1A中所示),并且内部IP报头的目的地地址可以标识与接收方主机相关联的接收方地址(例如,192.168.2.1,如图1A中所示)。由此,内部IP报头的源地址和目的地地址可以标识专用IP地址(例如,与LAN相关联的专用IP地址)。
当由中间网络节点从发送网络节点接收到分组时,可以加密包括内部IP报头的内部分组。例如,发送网络节点可以基于加密密钥来加密内部分组。此外,发送网络节点可以使用ESP协议(例如,传送模式下的ESP)而加密了内部分组。因此,当中间网络节点从发送网络节点接收到分组时,分组可以包括ESP报头,该ESP报头为包括内部IP报头的内部分组提供加密。在这样的情况下,内部IP报头可以被GRE报头封装,GRE报头可以被ESP报头封装,并且ESP报头可以被外部IP报头封装。
在一些实现中,在从发送网络节点接收分组之前,中间网络节点可以已经从中央密钥服务器(例如,与包括发送网络节点、中间网络节点和接收网络节点的群组VPN相关联的中央式密钥服务器)接收了加密密钥和解密密钥。另外,发送网络节点和接收网络节点各自可以已经从中央密钥服务器接收了与中间网络节点的加密密钥和解密密钥相对应的加密密钥和解密密钥。换言之,与发送网络节点和中间网络节点之间的隧道相关联的加密密钥和解密密钥可以对应于与接收网络节点和中间网络节点之间的隧道相关联的加密密钥和解密密钥。以这种方式,由发送网络节点、中间网络节点和接收网络节点中的任何节点执行的加密都可以被发送网络节点、中间网络节点和接收网络节点中的任何其他节点解密。
如图1B中并且由附图标记110所示,中间网络节点可以复制从发送网络节点接收的分组。换言之,中间网络节点可以生成分组的副本以获得复制分组,并且复制分组可以包含与分组中包含的数据相同的数据。中间网络节点可以(例如,在中间网络节点的缓冲区中)存储分组或复制分组中的一个。例如,中间网络节点可以在缓冲区中存储复制分组。
如图1C中并且由附图标记115所示,中间网络节点可以对分组进行解密。虽然下文描述了分组的解密,但是在一些实现中,中间网络节点可以解密分组或复制分组中的任一个。例如,中间网络节点可以解密分组或复制分组中没有存储在缓冲区中的一个。
中间网络节点可以通过以下方式对分组执行解密,即,解封装内部分组并且对内部分组执行解密,从而解密内部IP报头。中间网络节点可以使用从中央密钥服务器接收的解密密钥,来解密包括内部IP报头的内部分组。
在解密内部分组之后,中间网络节点可以标识针对内部分组的接收方地址(例如,根据内部IP报头的目的地地址)。此外,基于确定接收方地址与中间网络节点不相关联,中间网络节点可以标识用于到达接收方地址的下一跳网络节点(例如,根据中间网络节点的路由表)。例如,接收方地址可以与接收网络节点之后的主机(示为图1A和图1E中的主机B1)相关联,并且中间网络节点可以使用路由表来确定主机是经由具有与接收网络节点相关联的隧道端点(例如,172.16.1.2,如图1A和图1E中所示)的隧道而可达的。
如图1D中并且由附图标记120所示,中间网络节点可以更新复制分组的外部IP报头。例如,中间网络节点可以从缓冲区获得复制分组,并且更新复制分组的外部IP报头。虽然下文描述了更新复制分组的外部IP报头,但是在一些实现中,中间网络节点可以更新分组或复制分组中任一个的外部IP报头。例如,中间网络节点可以更新分组或复制分组中的没有被中间网络节点解密的一个的外部IP报头。
中间网络节点可以将复制分组的外部IP报头的源地址更新到与中间网络节点相关联的隧道端点(例如,172.17.0.1,如图1A和图1E中所示)。中间网络节点可以将复制分组的外部IP报头的目的地地址更新到与下一跳网络节点相关联的隧道端点。例如,基于如上所述确定接收网络节点是用于到达内部分组的接收方地址的下一跳网络节点,中间网络节点可以将复制分组的外部IP报头的目的地地址更新到与接收网络节点相关联的隧道端点(例如,172.16.1.2,如图1A和图1E中所示)。在一些实现中,中间网络节点可以基于更新的源地址和目的地地址来更新复制分组的外部IP报头的校验和值。在一些实现中,中间网络节点在更新复制分组时(例如,在从缓冲区获得复制分组时)可以抛弃分组。
以这种方式,中间网络节点可以获得除了更新的外部IP报头之外的与初始从发送网络节点接收的分组相同的更新分组。因此,根据发送网络节点执行的处理,更新分组保持封装和加密,从而消除了中间网络节点执行重新加密和重新封装的需要,并且节省了否则将会浪费的相关联的计算资源。
如图1E中并且由附图标记125所示,中间网络节点可以路由更新分组。也即,中间网络节点可以根据更新分组的更新外部IP报头来路由更新分组。例如,中间网络节点可以基于更新外部IP报头的目的地地址,将更新分组路由至接收网络节点,更新外部IP报头的目的地地址标识了与接收网络节点相关联的隧道端点。
当接收网络节点接收到更新分组时,接收网络节点可以通过以下方式对更新分组执行解密,即,解封装内部分组并且对内部分组执行解密,从而解密内部IP报头。接收网络节点可以使用从中央密钥服务器接收的解密密钥(例如,与发送网络节点使用的加密密钥相对应的解密密钥)来解密包括内部IP报头的内部分组。
在解密内部分组之后,接收网络节点可以(例如,根据内部IP报头的目的地地址)标识针对内部分组的接收方地址。在一些实现中,接收网络节点可以生成更新分组的副本,确定接收方地址与接收网络节点不相关联,标识用于到达接收方地址的下一跳网络节点,对更新分组的更新外部IP报头进行更新,以获得进一步更新的分组,并且以与上文描述的相似的方式路由进一步更新的分组。可以在一个或多个中间网络节点处重复该过程,直到进一步更新的分组到达与接收方地址相关联的出口网络节点。
在一些实现中,接收网络节点可以确定接收方地址与接收网络节点相关联。因此,接收网络节点可以将更新分组转发至与接收方地址相关联的主机(例如,主机B1,如图1E中所示)。
以这种方式,可以消除否则将由中间网络节点执行的重新加密和重新封装步骤。因此,中间网络节点能够以改进的速度和效率来处理分组,从而减少了网络拥塞并且改善了网络吞吐量。
如上文所指示的,图1A至图1E仅作为一个或多个示例提供。其他示例可以不同于关于图1A至图1E的描述。
图2是其中可以实现本文描述的***和/或方法的示例环境200的示图。如图2中所示,环境200可以包括一个或多个网络节点210-1至210-N(N≥3)(下文中统称为“多个网络节点210”,并且单独称为“网络节点210”)以及网络220。环境200的设备可以经由有线连接、无线连接或者有线连接和无线连接的组合而互连。
网络节点210包括能够接收、提供、存储、生成和/或处理信息的一个或多个设备。在一些实现中,网络节点210可以包括防火墙、路由器、网关、交换机、桥接器、无线接入点、基站(例如,eNodeB、NodeB、gNodeB等),等等。在一些实现中,网络节点210可以实现为在诸如机箱的外壳内实现的物理设备。在一些实现中,网络节点可以实现为由云计算环境或数据中心的一个或多个计算机设备实现的虚拟设备。在一些实现中,网络节点210可以对应于发送网络节点、中间网络节点和/或接收网络节点。在一些实现中,网络节点210可以形成VPN,诸如群组VPN。
在一些实现中,第一网络节点210可以处理从第二网络节点210接收的分组。例如,第一网络节点210可以生成分组的副本以获得复制分组,对分组或复制分组中的一个执行解密,更新分组或复制分组中另一个的外部IP报头以获得更新分组,和/或路由更新分组。
网络220包括一个或多个有线和/或无线网络。例如,网络220可以包括蜂窝网络(例如,长期演进(LTE)网络、码分多址(CDMA)网络、3G网络、4G网络、5G网络、其他类型的蜂窝网络等等)、公共陆地移动网络(PLMN)、LAN、广域网(WAN)、城域网(MAN)、电话网络(例如,公共交换电话网(PSTN))、专用网络、自组织网络、内联网、因特网、基于光纤的网络、云计算网络等,和/或这些或其他类型的网络的组合。
图2中所示的设备和网络的数量和布置作为示例提供。实际上,可以具有附加设备和/或网络、更少的设备和/或网络、不同的设备和/或网络,或者与图2中所示的那些不同布置的设备和/或网络。另外,图2中所示的两个或更多个设备可以在单个设备内实现,或者图2中所示的单个设备可以实现为多个、分布式的设备。附加地或者备选地,环境200的设备的集合(例如,一个或多个设备)可以执行描述为由环境200的另一设备集合执行的一个或多个功能。
图3是设备300的示例组件的示图。设备300可以对应于网络节点210中的一个或多个。在一些实现中,网络节点210中的一个或多个可以包括一个或多个设备300和/或设备300的一个或多个组件。如图3中所示,设备300可以包括一个或多个输入组件305-1至305-B(B≥1)(在下文中统称为“多个输入组件305”,并且单独称为“输入组件305”)、交换组件310、一个或多个输出组件315-1至315-C(C≥1)(在下文中统称为“多个输出组件315”,并且单独称为“输出组件315”)和控制器320。
输入组件305可以是用于物理链路的附接点,并且可以是用于诸如分组的传入业务的进入点。输入组件305可以诸如通过执行数据链路层封装或解封装来处理传入业务。在一些实现中,输入组件305可以发送和/或接收分组。在一些实现中,输入分组305可以包括输入线卡,其包括一个或多个分组处理组件(例如,以集成电路的形式),诸如一个或多个接口卡(IFC)、分组转发组件、线卡控制器组件、输入端口、处理器、存储器和/或输入队列。在一些实现中,设备300可以包括一个或多个输入组件305。
交换组件310可以将输入组件305与输出组件315互连。在一些实现中,交换组件310可以经由一个或多个交叉开关、经由总线和/或利用共享存储器来实现。共享存储器可以充当临时缓冲器,以便在分组被最终调度为递送至输出组件315之前存储来自输入组件305的分组。在一些实现中,交换组件310可以使得输入组件305、输出组件315和/或控制器320能够通信。
输出组件315可以存储分组,并且可以调度分组以用于在输出物理链路上传输。输出组件315可以支持数据链路层封装和解封装和/或多种更高层协议。在一些实现中,输出组件315可以发送分组和/或接收分组。在一些实现中,输出组件315可以包括输出线卡,其包括一个或多个分组处理组件(例如,以集成电路的形式),诸如一个或多个IFC、分组转发组件、线卡控制器组件、输出端口、处理器、存储器和/或输出队列。在一些实现中,设备300可以包括一个或多个输出组件315。在一些实现中,输入组件305和输出组件315可以由相同的组件集合实现(例如,输入/输出组件可以是输入组件305和输出组件315的组合)。
控制器320包括处理器,其形式例如中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)和/或其他类型的处理器。处理器在硬件、固件和/或硬件和软件的组合中实现。在一些实现中,控制器320可以包括一个或多个处理器,其可以被编程为执行功能。
在一些实现中,控制器320可以包括随机存取存储器(RAM)、只读存储器(ROM)和/或其他类型的动态或静态存储设备(例如,闪速存储器、磁性存储器、光学存储器等),其存储用于由控制器320使用的信息和/或指令。
在一些实现中,控制器320可以与其他设备、网络和/或连接至设备300的***进行通信,以交换关于网络拓扑的信息。控制器320可以基于网络拓扑信息创建路由表,基于路由表创建转发表,并且将转发表转发至输入组件305和/或输出组件315。输入组件305和/或输出组件315可以使用转发表来执行针对传入分组和/或传出分组的路由查找。
控制器320可以执行本文描述的一个或多个过程。控制器320可以基于运行由非暂时性计算机可读介质存储的软件指令来执行这些过程。如本文所使用的,计算机可读介质是非暂时性存储器设备。存储器设备包括单个物理存储设备内的存储器空间或者跨多个物理存储设备的存储器空间。
可以将软件指令经由通信接口从另一计算机可读介质或者从另一设备读取到与控制器320相关联的存储器和/或存储组件中。在运行时,存储在与控制器320相关联的存储器和/或存储组件中的软件指令可以使得控制器320执行本文描述的一个或多个过程。附加地或者备选地,硬连线电路可以代替软件指令或者与软件指令相结合来执行本文描述的一个或多个过程。由此,本文描述的实现不限于硬件电路和软件的任何具体组合。
图3中所示的组件的数量和布置仅作为示例提供。实际上,设备300可以包括附加的组件、更少的组件、不同的组件,或者与图3中所示的那些不同布置的组件。附加地或者备选地,设备300的组件集合(例如,一个或多个组件)可以执行被描述为由设备300的另一组件集合执行的一个或多个功能。
图4是用于在中间路由器处具有减少的分组加密的GRE隧穿的示例过程400的流程图。在一些实现中,图4的一个或多个过程框可以由网络节点(例如,网络节点210)执行。例如,图4的一个或多个过程框可以由一个或多个中间网络节点(例如,发送网络节点和接收网络节点之间的一个或多个中间网络节点)执行。在一些实现中,图4的一个或多个过程框可以由与网络节点分离或者包括网络节点的另一设备或者设备群组来执行。
如图4中所示,过程400可以包括接收具有内部IP报头和外部IP报头的分组,其中外部IP报头的源地址标识发送网络节点的隧道端点,并且外部IP报头的目的地地址标识网络节点的隧道端点,其中内部IP报头的源地址标识发送方地址,并且内部IP报头的目的地地址标识接收方地址,并且其中内部IP报头被加密(框410)。例如,网络节点(例如,使用输入组件305、交换组件310、控制器320等)可以接收具有内部IP报头和外部IP报头的分组,如上所述。在一些实现中,外部IP报头的源地址标识发送网络节点的隧道端点,并且外部IP报头的目的地地址标识网络节点的隧道端点。在一些实现中,内部IP报头的源地址标识发送方地址,并且内部IP报头的目的地地址标识接收方地址。在一些实现中,内部IP报头被加密。
如图4中进一步所示,过程400包括在接收分组之后,生成分组的副本以获得复制分组(框420)。例如,网络节点(例如,使用交换组件310、控制器320等)可以在接收分组之后,生成分组的副本以获得复制分组,如上所述。
如图4中进一步所示,过程400可以包括对分组或复制分组中的一个执行解密,以标识内部IP报头的接收方地址(框430)。例如,网络节点(例如,使用交换组件310、控制器320等)可以对分组或复制分组中的一个执行解密,以标识内部IP报头的接收方地址,如上所述。
如图4中进一步所示,过程400可以包括更新分组或复制分组中另一个的外部IP报头,以获得具有更新外部IP报头的更新分组,其中,更新外部IP报头的源地址被更新到网络节点的隧道端点,并且更新外部IP报头的目的地地址被更新到与接收方地址相关联的接收网络节点的隧道端点(框440)。例如,网络节点(例如,使用交换组件310、控制器320等)可以更新分组或复制分组中另一个的外部IP报头,以获得具有更新外部IP报头的更新分组,如上所述。在一些实现中,更新外部IP报头的源地址被更新到网络节点的隧道端点,并且更新外部IP报头的目的地地址被更新到与接收方地址相关联的接收网络节点的隧道端点。
如图4中进一步所示,过程400可以包括根据更新外部IP报头来路由更新分组(框450)。例如,网络节点(例如,使用交换组件310、输出组件315、控制器320等)可以根据更新外部IP报头来路由更新分组,如上所述。
过程400可以包括附加实现,诸如下文描述和/或与本文其他地方描述的一个或多个其他过程相结合的任何单个实现或实现的任何组合。
在第一实现中,网络节点、发送网络节点和接收网络节点与虚拟专用网络相关联。在第二实现中,单独地或者与第一实现相结合地,发送网络节点和网络节点与第一GRE隧道相关联,并且接收网络节点和网络节点与第二GRE隧道相关联。
在第三实现中,单独地或者与第一实现和第二实现中的一个或多个相结合地,内部IP报头与分组的内部分组相关联,其中内部分组具有目的为接收方地址的净荷。在第四实现中,单独地或者与第一实现至第三实现中的一个或多个相结合地,发送网络节点的隧道端点和接收网络节点的隧道端点是公共地址,并且发送方地址和接收方地址是专用地址。
在第五实现中,单独地或者与第一实现至第四实现中的一个或多个相结合地,过程400还包括在接收分组之前,从密钥服务器接收加密密钥和解密密钥,其中,加密密钥和解密密钥对应于由发送网络节点或者接收网络节点接收的加密密钥和解密密钥。在第六实现中,单独地或者与第一实现至第五实现中的一个或多个相结合地,由发送网络节点执行内部IP报头的加密,并且网络节点、发送网络节点和接收网络节点共享安全关联,安全关联允许网络节点和接收网络节点解密由发送网络节点执行的加密。
虽然图4示出了过程400的示例框,但是在一些实现中,过程400可以包括附加框、更少的框、不同的框,或者与图4中描绘的那些不同布置的框。附加地或者备选地,过程400的框中的两个或更多个框可以并行执行。
图5是用于在中间路由器处具有减少的分组加密的GRE隧穿的示例过程500的流程图。在一些实现中,图5的一个或多个过程框可以由网络节点(例如,网络节点210)执行。例如,图5的一个或多个过程框可以由一个或多个中间网络节点执行(例如,发送网络节点和接收网络节点之间的一个或多个中间网络节点)。在一些实现中,图5的一个或多个过程框可以由与网络节点分离或者包括网络节点的另一设备或者设备群组来执行。
如图5中所示,过程500可以包括接收具有内部IP报头和外部IP报头的分组,其中外部IP报头的源地址标识发送网络节点的隧道端点,并且外部IP报头的目的地地址标识网络节点的隧道端点,其中内部IP报头的源地址标识发送方地址,并且内部IP报头的目的地地址标识接收方地址,并且其中内部IP报头被GRE报头封装,GRE报头被提供加密的ESP报头封装,并且ESP报头被外部IP报头封装(框510)。例如,网络节点(例如,使用输入组件305、交换组件310、控制器320等)可以接收具有内部IP报头和外部IP报头的分组,如上所述。在一些实现中,外部IP报头的源地址标识发送网络节点的隧道端点,并且外部IP报头的目的地地址标识网络节点的隧道端点。在一些实现中,内部IP报头的源地址标识发送方地址,并且内部IP报头的目的地地址标识接收方地址。在一些实现中,内部IP报头被GRE报头封装,GRE报头被提供加密的ESP报头封装,并且ESP报头被外部IP报头封装。
如图5中进一步所示,过程500可以包括生成分组的副本以获得复制分组(框520)。例如,网络节点(例如,使用交换组件310、控制器320等)可以生成分组的副本以获得复制分组,如上所述。
如图5中进一步所示,过程500可以包括对分组或复制分组中的一个执行解密,以标识内部IP报头的接收方地址(框530)。例如,网络节点(例如,使用交换组件310、控制器320等)可以对分组或复制分组中的一个执行解密,以标识内部IP报头的接收方地址,如上所述。
如图5中进一步所示,过程500可以包括更新分组或复制分组中另一个的外部IP报头,以获得具有更新外部IP报头的更新分组,其中,更新外部IP报头的源地址被更新到网络节点的隧道端点,并且更新外部IP报头的目的地地址被更新到与接收方地址相关联的接收网络节点的隧道端点(框540)。例如,网络节点(例如,使用交换机组件310、控制器320等)可以更新分组或复制分组中另一个的外部IP报头,以获得具有更新外部IP报头的更新分组,如上所述。在一些实现中,更新外部IP报头的源地址被更新到网络节点的隧道端点,并且更新外部IP报头的目的地地址被更新到与接收方地址相关联的接收网络节点的隧道端点。
如图5中进一步所示,过程500可以包括根据更新外部IP报头来路由更新分组(框550)。例如,网络节点(例如,使用交换组件310、输出组件315、控制器320等)可以根据更新外部IP报头来路由更新分组,如上所述。
过程500可以包括附加实现,诸如下文描述的和/或与本文其他地方描述的一个或多个其他过程相结合的任何单个实现或者实现的任何组合。
在第一实现中,发送网络节点的隧道端点、网络节点的隧道端点和接收网络节点的隧道端点是GRE隧道端点。在第二实现中,单独地或者与第一实现相结合地,网络节点、发送网络节点和接收网络节点与虚拟专用网络相关联。在第三实现中,单独地或者与第一实现和第二实现中的一个或多个相结合地,网络节点、发送网络节点和接收网络节点与群组虚拟专用网络相关联。
在第四实现中,单独地或者与第一实现至第三实现中的一个或多个相结合地,内部IP报头的加密由发送网络节点执行,并且网络节点、发送网络节点和接收网络节点共享安全关联,安全关联允许网络节点和接收网络节点解密由发送网络节点执行的加密。在第五实现中,单独地或者与第一实现至第四实现中的一个或多个相结合地,对分组执行解密,并且针对复制分组更新外部IP报头。在第六实现中,单独地或者与第一实现至第五实现中的一个或多个相结合地,内部IP报头的加密由发送网络节点使用封装安全净荷来执行。
虽然图5示出了过程500的示例框,但是在一些实现中,过程500可以包括附加框、更少的框、不同的框,或者与图5中描绘的那些不同布置的框。附加地或者备选地,过程500的框中的两个或更多个框可以并行执行。
图6是用于在中间路由器处具有减少的分组加密的GRE隧穿的示例过程600的流程图。在一些实现中,图6的一个或多个过程框可以由网络节点(例如,网络节点210)执行。例如,图6的一个或多个过程框可以由一个或多个中间网络节点(例如,发送网络节点和接收网络节点之间的一个或多个中间网络节点)执行。在一些实现中,图6的一个或多个过程框可以由与网络节点分离或者包括网络节点的另一设备或设备群组来执行。
如图6中所示,过程600可以包括接收具有内部IP报头和外部IP报头的分组,其中外部IP报头的源地址标识发送网络节点的隧道端点,并且外部IP报头的目的地地址标识中间网络节点的隧道端点,其中内部IP报头的源地址标识发送方地址,并且内部IP报头的目的地地址标识接收方地址,并且其中内部IP报头被加密(框610)。例如,网络节点(例如,使用输入组件305、交换组件310、控制器320等)可以接收具有内部IP报头和外部IP报头的分组,如上所述。在一些实现中,外部IP报头的源地址标识发送网络节点的隧道端点,并且外部IP报头的目的地地址标识中间网络节点的隧道端点。在一些实现中,内部IP报头的源地址标识发送方地址,并且内部IP报头的目的地地址标识接收方地址。在一些实现中,内部IP报头被加密。
如图6中进一步所示,过程600可以包括生成分组的副本以获得复制分组(框620)。例如,网络节点(例如,使用交换组件310、控制器320等)可以生成分组的副本以获得复制分组,如上所述。
如图6中进一步所示,过程600可以包括对分组或复制分组中的一个执行解密,以标识内部IP报头的接收方地址(框630)。例如,网络节点(例如,使用交换组件310、控制器320等)可以对分组或复制分组中的一个执行解密,以标识内部IP报头的接收方地址,如上所述。
如图6中进一步所示,过程600可以包括确定与接收方地址相关联的接收网络节点的隧道端点(框640)。例如,网络节点(例如,使用交换组件310、控制器320等)可以确定与接收方地址相关联的接收网络节点的隧道端点,如上所述。
如图6中进一步所示,过程600可以包括更新分组或复制分组中另一个的外部IP报头,以获得具有更新外部IP报头的更新分组,其中,更新外部IP报头的源地址被更新到网络节点的隧道端点,并且更新外部IP报头的目的地地址被更新到接收网络节点的隧道端点(框650)。例如,网络节点(例如,使用交换组件310、控制器320等)可以更新分组或复制分组中另一个的外部IP报头,以获得具有更新外部IP报头的更新分组,如上所述。在一些实现中,更新外部IP报头的源地址被更新到中间网络节点的隧道端点,并且更新外部IP报头的目的地地址被更新到接收网络节点的隧道端点。
如图6中进一步所示,过程600可以包括根据更新外部IP报头来路由更新分组(框660)。例如,网络节点(例如,使用交换组件310、输出组件315、控制器320等)可以根据更新外部IP报头来路由更新分组,如上所述。
过程600可以包括附加实现,诸如下文描述和/或与本文其他地方描述的一个或多个其他过程相结合的任何单个实现或实现的任何组合。
在第一实现中,内部IP报头被GRE报头封装,GRE报头被提供加密的ESP报头封装,并且ESP报头被外部IP报头封装。在第二实现中,单独地或者与第一实现相结合地,发送网络节点的隧道端点、中间网络节点的隧道端点和接收网络节点的隧道端点是GRE隧道端点。
在第三实现中,单独地或者与第一实现和第二实现中的一个或多个相结合地,内部IP报头与分组的内部分组相关联,其中内部分组具有目的为接收方地址的净荷。在第四实现中,单独地或者与第一实现至第三实现中的一个或多个相结合地,对复制分组执行解密,并且针对分组更新外部IP报头。
在第五实现中,单独地或者与第一实现至第四实现中的一个或多个相结合地,发送网络节点和中间网络节点与第一隧道相关联,并且接收网络节点和中间网络节点与第二隧道相关联,其中与第一隧道相关联的解密密钥和加密密钥对应于与第二隧道相关联的解密密钥和加密密钥。
虽然图6示出了过程600的示例框,但是在一些实现中,过程600可以包括附加框、更少的框、不同的框,或者与图6中描绘的那些不同布置的框。附加地或者备选地,过程600的两个或更多个框可以并行执行。
前述公开内容提供了图示和描述,但是不旨在穷举或者将实现限制于所公开的精确形式。可以根据以上公开内容做出修改和变化,或者可以从实现的实践中获得修改和变化。
如本文使用的,术语“组件”旨在广义地解释为硬件、固件和/或硬件与软件的组合。
如本文使用的,术语业务或内容可以包括分组的集合。分组可以指用于传送信息的通信结构,诸如协议数据单元(PDU)、网络分组、数据报、分段、消息、块、信元、帧、子帧、时隙、符号、以上任何的一部分,和/或能够经由网络传输的其他类型的格式化或非格式化数据单元。
易见的是,本文描述的***和/或方法能够以硬件、固件或者硬件和软件的组合的不同的形式实现。用于实现这些***和/或方法的实际专用控制硬件或软件代码不是实现的限制。由此,本文没有参考具体的软件代码来描述***和/或方法的操作和行为——可以理解,软件和硬件可以被设计为基于本文的描述实现***和/或方法。
虽然权利要求中陈述和/或说明书中公开了特征的特定组合,但是这些组合不旨在限制各种实现的公开内容。实际上,这些特征中的许多能够以在权利要求中没有明确陈述和/或说明书中公开的方式进行组合。虽然下文列出的每个从属权利要求可能直接从属于仅一个权利要求,但是各种实现的公开内容包括每个从属权利要求与权利要求集合中的每个其他权利要求的组合。
除非明确如此描述,本文使用的元件、动作或指令不应当解释为关键的或必要的。而且,如本文使用的,冠词“一”、“一个”旨在包括一个或多个项目,并且可以与“一个或多个”互换使用。另外,如本文使用的,冠词“该”旨在包括与冠词“该”有关的一个或多个项目,并且可以与“一个或多个”互换使用。另外,如本文使用的,术语“集合”旨在包括一个或多个项目(例如,相关项目、不相关项目、相关项目和不相关项目的组合等),并且可以与“一个或多个”互换使用。当意旨仅一个项目时,使用短语“仅一个”或类似的语言。而且,如本文使用的,术语“具有”、“具备”、“拥有”等旨在作为开放式术语。另外,短语“基于”旨在意味着“至少部分地基于”,除非另外明确说明。而且,如本文使用的,术语“或者”在连续使用时旨在是包括性的,并且可以与“和/或”互换使用,除非另外明确说明(例如,如果与“任一”或“仅一个”结合使用)。
在本公开的上下文中,提供了如下实现方式。
1.一种方法,包括:
由网络节点接收具有内部互联网协议(IP)报头和外部IP报头的分组,
其中所述外部IP报头的源地址标识发送网络节点的隧道端点,并且所述外部IP报头的目的地地址标识所述网络节点的隧道端点,
其中所述内部IP报头的源地址标识发送方地址,并且所述内部IP报头的目的地地址标识接收方地址,
其中所述内部IP报头被加密;
由所述网络节点在接收到所述分组之后生成所述分组的副本,以获得复制分组;
由所述网络节点对所述分组或所述复制分组中的一个分组执行解密,以标识所述内部IP报头的所述接收方地址;
由所述网络节点更新所述分组或所述复制分组中的另一个分组的所述外部IP报头,以获得具有更新外部IP报头的更新分组,
其中所述更新外部IP报头的所述源地址被更新到所述网络节点的所述隧道端点,并且所述更新外部IP报头的所述目的地地址被更新到与所述接收方地址相关联的接收网络节点的隧道端点;以及
由所述网络节点根据所述更新外部IP报头来路由所述更新分组。
2.根据实现方式1所述的方法,其中所述网络节点、所述发送网络节点和所述接收网络节点与虚拟专用网络相关联。
3.根据实现方式1所述的方法,其中所述发送网络节点和所述网络节点与第一通用路由封装(GRE)隧道相关联,并且所述接收网络节点和所述网络节点与第二GRE隧道相关联。
4.根据实现方式1所述的方法,其中所述内部IP报头与所述分组的内部分组相关联,
其中所述内部分组具有目的为所述接收方地址的净荷。
5.根据实现方式1所述的方法,其中所述发送网络节点的所述隧道端点和所述接收网络节点的所述隧道端点是公共地址,以及
其中所述发送方地址和所述接收方地址是专用地址。
6.根据实现方式1所述的方法,还包括:
在接收所述分组之前,从密钥服务器接收加密密钥和解密密钥,其中所述加密密钥和所述解密密钥对应于由所述发送网络节点或者所述接收网络节点接收的加密密钥和解密密钥。
7.根据实现方式1所述的方法,其中所述内部IP报头的加密由所述发送网络节点执行,以及
其中所述网络节点、所述发送网络节点和所述接收网络节点共享安全关联,所述安全关联允许所述网络节点和所述接收网络节点解密由所述发送网络节点执行的加密。
8.一种网络节点,包括:
一个或多个存储器;以及
一个或多个处理器,所述一个或多个处理器可通信地耦合至所述一个或多个存储器,用于:
接收具有内部互联网协议(IP)报头和外部IP报头的分组,
其中所述外部IP报头的源地址标识发送网络节点的隧道端点,并且所述外部IP报头的目的地地址标识所述网络节点的隧道端点,
其中所述内部IP报头的源地址标识发送方地址,并且所述内部IP报头的目的地地址标识接收方地址,
其中所述内部IP报头被通用路由封装(GRE)报头封装,所述GRE报头被提供加密的封装安全净荷(ESP)报头封装,并且所述ESP报头被所述外部IP报头封装;
生成所述分组的副本以获得复制分组;
对所述分组或所述复制分组中的一个分组执行解密,以标识所述内部IP报头的所述接收方地址;
更新所述分组或所述复制分组中的另一个分组的所述外部IP报头,以获得具有更新外部IP报头的更新分组,
其中所述更新外部IP报头的所述源地址被更新到所述网络节点的所述隧道端点,并且所述更新外部IP报头的所述目的地地址被更新到与所述接收方地址相关联的接收网络节点的隧道端点;以及
根据所述更新外部IP报头来路由所述更新分组。
9.根据实现方式8所述的网络节点,其中所述发送网络节点的所述隧道端点、所述网络节点的所述隧道端点和所述接收网络节点的所述隧道端点是GRE隧道端点。
10.根据实现方式8所述的网络节点,其中所述网络节点、所述发送网络节点和所述接收网络节点与虚拟专用网络相关联。
11.根据实现方式8所述的网络节点,其中所述网络节点、所述发送网络节点和所述接收网络节点与群组虚拟专用网络相关联。
12.根据实现方式8所述的网络节点,其中所述内部IP报头的加密由所述发送网络节点执行,以及
其中所述网络节点、所述发送网络节点和所述接收网络节点共享安全关联,所述安全关联允许所述网络节点和所述接收网络节点解密由所述发送网络节点执行的加密。
13.根据实现方式8所述的网络节点,其中对所述分组执行解密,并且针对所述复制分组更新所述外部IP报头。
14.根据实现方式8所述的网络节点,其中所述内部IP报头的加密由所述发送网络节点使用封装安全净荷来执行。
15.一种存储指令的非暂时性计算机可读介质,所述指令包括:
一个或多个指令,所述一个或多个指令在由一个或多个处理器运行时,使得所述一个或多个处理器:
接收具有内部互联网协议(IP)报头和外部IP报头的分组,
其中所述外部IP报头的源地址标识发送网络节点的隧道端点,并且所述外部IP报头的目的地地址标识中间网络节点的隧道端点,
其中所述内部IP报头的源地址标识发送方地址,并且所述内部IP报头的目的地地址标识接收方地址,
其中所述内部IP报头被加密;
生成所述分组的副本以获得复制分组;
对所述分组或所述复制分组中的一个分组执行解密,以标识所述内部IP报头的所述接收方地址;
确定与所述接收方地址相关联的接收网络节点的隧道端点;
更新所述分组或所述复制分组中的另一个分组的所述外部IP报头,以获得具有更新外部IP报头的更新分组,
其中所述更新外部IP报头的所述源地址被更新到所述中间网络节点的所述隧道端点,并且所述更新外部IP报头的所述目的地地址被更新到所述接收网络节点的所述隧道端点;以及
根据所述更新外部IP报头来路由所述更新分组。
16.根据实现方式15所述的非暂时性计算机可读介质,其中所述内部IP报头被通用路由封装(GRE)报头封装,所述GRE报头被提供加密的封装安全净荷(ESP)报头封装,并且所述ESP报头被所述外部IP报头封装。
17.根据实现方式15所述的非暂时性计算机可读介质,其中所述发送网络节点的所述隧道端点、所述中间网络节点的所述隧道端点和所述接收网络节点的所述隧道端点是通用路由封装隧道端点。
18.根据实现方式15所述的非暂时性计算机可读介质,其中所述内部IP报头与所述分组的内部分组相关联,
其中所述内部分组具有目的为所述接收方地址的净荷。
19.根据实现方式15所述的非暂时性计算机可读介质,其中对所述复制分组执行解密,并且针对所述分组更新所述外部IP报头。
20.根据实现方式15所述的非暂时性计算机可读介质,其中所述发送网络节点和所述中间网络节点与第一隧道相关联,并且所述接收网络节点和所述中间网络节点与第二隧道相关联,
其中,与所述第一隧道相关联的解密密钥和加密密钥对应于与所述第二隧道相关联的解密密钥和加密密钥。
Claims (16)
1.一种方法,包括:
由网络节点接收具有内部互联网协议(IP)报头和外部IP报头的分组,
其中所述外部IP报头的源地址标识发送网络节点的隧道端点,并且所述外部IP报头的目的地地址标识所述网络节点的隧道端点,
其中所述内部IP报头的源地址标识发送方地址,并且所述内部IP报头的目的地地址标识接收方地址,
其中所述内部IP报头被所述发送网络节点加密;
由所述网络节点在接收到所述分组之后生成所述分组的副本,以获得复制分组;
由所述网络节点对所述分组或所述复制分组中的任何一个分组执行解密,以标识所述内部IP报头的所述接收方地址;
如果所述复制分组被解密,由所述网络节点更新所述分组的所述外部IP报头,或者如果所述分组被解密,由所述网络节点更新所述复制分组的所述外部IP报头,以获得具有更新外部IP报头的更新分组,
其中所述更新外部IP报头的所述源地址被更新到所述网络节点的所述隧道端点,并且所述更新外部IP报头的所述目的地地址被更新到与所述接收方地址相关联的接收网络节点的隧道端点,其中所述网络节点、所述发送网络节点和所述接收网络节点共享安全关联,所述安全关联允许所述网络节点和所述接收网络节点解密由所述发送网络节点执行的加密;以及
由所述网络节点根据所述更新外部IP报头来路由所述更新分组。
2.根据权利要求1所述的方法,其中所述网络节点、所述发送网络节点和所述接收网络节点与虚拟专用网络相关联。
3.根据权利要求1所述的方法,其中所述发送网络节点和所述网络节点与第一通用路由封装(GRE)隧道相关联,并且所述接收网络节点和所述网络节点与第二GRE隧道相关联。
4.根据权利要求1所述的方法,其中所述内部IP报头与所述分组的内部分组相关联,
其中所述内部分组具有目的为所述接收方地址的净荷。
5.根据权利要求1所述的方法,其中所述发送网络节点的所述隧道端点和所述接收网络节点的所述隧道端点是公共地址,以及
其中所述发送方地址和所述接收方地址是专用地址。
6.根据权利要求1所述的方法,还包括:
在接收所述分组之前,从密钥服务器接收加密密钥和解密密钥,
其中所述加密密钥和所述解密密钥对应于由所述发送网络节点或者所述接收网络节点接收的加密密钥和解密密钥。
7.一种网络节点,包括:
一个或多个存储器;以及
一个或多个处理器,所述一个或多个处理器可通信地耦合至所述一个或多个存储器,用于:
接收具有内部互联网协议(IP)报头和外部IP报头的分组,
其中所述外部IP报头的源地址标识发送网络节点的隧道端点,并且所述外部IP报头的目的地地址标识所述网络节点的隧道端点,
其中所述内部IP报头的源地址标识发送方地址,并且所述内部IP报头的目的地地址标识接收方地址,
其中所述内部IP报头被通用路由封装(GRE)报头封装,所述GRE报头被提供加密的封装安全净荷(ESP)报头封装,并且所述ESP报头被所述外部IP报头封装,其中所述内部IP报头的加密由所述发送网络节点执行;
生成所述分组的副本以获得复制分组;
对所述分组或所述复制分组中的任何一个分组执行解密,以标识所述内部IP报头的所述接收方地址;
如果所述复制分组被解密,更新所述分组的所述外部IP报头,或者如果所述分组被解密,更新所述复制分组的所述外部IP报头,以获得具有更新外部IP报头的更新分组,
其中所述更新外部IP报头的所述源地址被更新到所述网络节点的所述隧道端点,并且所述更新外部IP报头的所述目的地地址被更新到与所述接收方地址相关联的接收网络节点的隧道端点,其中所述网络节点、所述发送网络节点和所述接收网络节点共享安全关联,所述安全关联允许所述网络节点和所述接收网络节点解密由所述发送网络节点执行的加密;以及
根据所述更新外部IP报头来路由所述更新分组。
8.根据权利要求7所述的网络节点,其中所述发送网络节点的所述隧道端点、所述网络节点的所述隧道端点和所述接收网络节点的所述隧道端点是GRE隧道端点。
9.根据权利要求7所述的网络节点,其中所述网络节点、所述发送网络节点和所述接收网络节点与虚拟专用网络相关联。
10.根据权利要求7所述的网络节点,其中所述网络节点、所述发送网络节点和所述接收网络节点与群组虚拟专用网络相关联。
11.根据权利要求7所述的网络节点,其中所述内部IP报头的加密由所述发送网络节点使用封装安全净荷来执行。
12.一种存储指令的非暂时性计算机可读介质,所述指令包括:
一个或多个指令,所述一个或多个指令在由网络节点的一个或多个处理器运行时,使得所述一个或多个处理器:
接收具有内部互联网协议(IP)报头和外部IP报头的分组,
其中所述外部IP报头的源地址标识发送网络节点的隧道端点,并且所述外部IP报头的目的地地址标识中间网络节点的隧道端点,
其中所述内部IP报头的源地址标识发送方地址,并且所述内部IP报头的目的地地址标识接收方地址,
其中所述内部IP报头被所述发送网络节点加密;
生成所述分组的副本以获得复制分组;
对所述分组或所述复制分组中的任何一个分组执行解密,以标识所述内部IP报头的所述接收方地址;
确定与所述接收方地址相关联的接收网络节点的隧道端点;
如果所述复制分组被解密,更新所述分组的所述外部IP报头,或者如果所述分组被解密,更新所述复制分组的所述外部IP报头,以获得具有更新外部IP报头的更新分组,
其中所述更新外部IP报头的所述源地址被更新到所述中间网络节点的所述隧道端点,并且所述更新外部IP报头的所述目的地地址被更新到所述接收网络节点的所述隧道端点,其中所述网络节点、所述发送网络节点和所述接收网络节点共享安全关联,所述安全关联允许所述网络节点和所述接收网络节点解密由所述发送网络节点执行的加密;以及
根据所述更新外部IP报头来路由所述更新分组。
13.根据权利要求12所述的非暂时性计算机可读介质,其中所述内部IP报头被通用路由封装(GRE)报头封装,所述GRE报头被提供加密的封装安全净荷(ESP)报头封装,并且所述ESP报头被所述外部IP报头封装。
14.根据权利要求12所述的非暂时性计算机可读介质,其中所述发送网络节点的所述隧道端点、所述中间网络节点的所述隧道端点和所述接收网络节点的所述隧道端点是通用路由封装隧道端点。
15.根据权利要求12所述的非暂时性计算机可读介质,其中所述内部IP报头与所述分组的内部分组相关联,
其中所述内部分组具有目的为所述接收方地址的净荷。
16.根据权利要求12所述的非暂时性计算机可读介质,其中所述发送网络节点和所述中间网络节点与第一隧道相关联,并且所述接收网络节点和所述中间网络节点与第二隧道相关联,
其中,与所述第一隧道相关联的解密密钥和加密密钥对应于与所述第二隧道相关联的解密密钥和加密密钥。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/457,233 US11032107B2 (en) | 2019-06-28 | 2019-06-28 | GRE tunneling with reduced packet encryption at intermediate routers |
US16/457,233 | 2019-06-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112152985A CN112152985A (zh) | 2020-12-29 |
CN112152985B true CN112152985B (zh) | 2022-02-25 |
Family
ID=68069483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910912383.2A Active CN112152985B (zh) | 2019-06-28 | 2019-09-25 | 在中间路由器处具有减少的分组加密的gre隧穿 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11032107B2 (zh) |
EP (1) | EP3758305B1 (zh) |
CN (1) | CN112152985B (zh) |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10454714B2 (en) | 2013-07-10 | 2019-10-22 | Nicira, Inc. | Method and system of overlay flow control |
US10425382B2 (en) | 2015-04-13 | 2019-09-24 | Nicira, Inc. | Method and system of a cloud-based multipath routing protocol |
US10135789B2 (en) | 2015-04-13 | 2018-11-20 | Nicira, Inc. | Method and system of establishing a virtual private network in a cloud service for branch networking |
US10498652B2 (en) | 2015-04-13 | 2019-12-03 | Nicira, Inc. | Method and system of application-aware routing with crowdsourcing |
US11706127B2 (en) | 2017-01-31 | 2023-07-18 | Vmware, Inc. | High performance software-defined core network |
US10992568B2 (en) | 2017-01-31 | 2021-04-27 | Vmware, Inc. | High performance software-defined core network |
US20180219765A1 (en) | 2017-01-31 | 2018-08-02 | Waltz Networks | Method and Apparatus for Network Traffic Control Optimization |
US20200036624A1 (en) | 2017-01-31 | 2020-01-30 | The Mode Group | High performance software-defined core network |
US10778528B2 (en) | 2017-02-11 | 2020-09-15 | Nicira, Inc. | Method and system of connecting to a multipath hub in a cluster |
US10523539B2 (en) | 2017-06-22 | 2019-12-31 | Nicira, Inc. | Method and system of resiliency in cloud-delivered SD-WAN |
US11115480B2 (en) | 2017-10-02 | 2021-09-07 | Vmware, Inc. | Layer four optimization for a virtual network defined over public cloud |
US10686625B2 (en) | 2017-10-02 | 2020-06-16 | Vmware, Inc. | Defining and distributing routes for a virtual network |
US10999100B2 (en) | 2017-10-02 | 2021-05-04 | Vmware, Inc. | Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider |
US11223514B2 (en) | 2017-11-09 | 2022-01-11 | Nicira, Inc. | Method and system of a dynamic high-availability mode based on current wide area network connectivity |
US11128491B2 (en) | 2019-08-13 | 2021-09-21 | Cloudflare, Inc. | Network layer performance and security provided by a distributed cloud computing network |
US11121985B2 (en) | 2019-08-27 | 2021-09-14 | Vmware, Inc. | Defining different public cloud virtual networks for different entities based on different sets of measurements |
US11044190B2 (en) | 2019-10-28 | 2021-06-22 | Vmware, Inc. | Managing forwarding elements at edge nodes connected to a virtual network |
US11394640B2 (en) | 2019-12-12 | 2022-07-19 | Vmware, Inc. | Collecting and analyzing data regarding flows associated with DPI parameters |
US11489783B2 (en) | 2019-12-12 | 2022-11-01 | Vmware, Inc. | Performing deep packet inspection in a software defined wide area network |
US11722925B2 (en) | 2020-01-24 | 2023-08-08 | Vmware, Inc. | Performing service class aware load balancing to distribute packets of a flow among multiple network links |
US11470071B2 (en) * | 2020-04-20 | 2022-10-11 | Vmware, Inc. | Authentication for logical overlay network traffic |
US11477127B2 (en) | 2020-07-02 | 2022-10-18 | Vmware, Inc. | Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN |
US11709710B2 (en) | 2020-07-30 | 2023-07-25 | Vmware, Inc. | Memory allocator for I/O operations |
US11575591B2 (en) | 2020-11-17 | 2023-02-07 | Vmware, Inc. | Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN |
US11575600B2 (en) * | 2020-11-24 | 2023-02-07 | Vmware, Inc. | Tunnel-less SD-WAN |
US11929903B2 (en) | 2020-12-29 | 2024-03-12 | VMware LLC | Emulating packet flows to assess network links for SD-WAN |
US11792127B2 (en) | 2021-01-18 | 2023-10-17 | Vmware, Inc. | Network-aware load balancing |
US11979325B2 (en) | 2021-01-28 | 2024-05-07 | VMware LLC | Dynamic SD-WAN hub cluster scaling with machine learning |
US11388086B1 (en) | 2021-05-03 | 2022-07-12 | Vmware, Inc. | On demand routing mesh for dynamically adjusting SD-WAN edge forwarding node roles to facilitate routing through an SD-WAN |
US12009987B2 (en) | 2021-05-03 | 2024-06-11 | VMware LLC | Methods to support dynamic transit paths through hub clustering across branches in SD-WAN |
US11729065B2 (en) | 2021-05-06 | 2023-08-15 | Vmware, Inc. | Methods for application defined virtual network service among multiple transport in SD-WAN |
US12015536B2 (en) | 2021-06-18 | 2024-06-18 | VMware LLC | Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of types of resource elements in the public clouds |
US11489720B1 (en) | 2021-06-18 | 2022-11-01 | Vmware, Inc. | Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics |
US12047282B2 (en) | 2021-07-22 | 2024-07-23 | VMware LLC | Methods for smart bandwidth aggregation based dynamic overlay selection among preferred exits in SD-WAN |
US11375005B1 (en) | 2021-07-24 | 2022-06-28 | Vmware, Inc. | High availability solutions for a secure access service edge application |
US11943146B2 (en) | 2021-10-01 | 2024-03-26 | VMware LLC | Traffic prioritization in SD-WAN |
CN114285593B (zh) * | 2021-11-08 | 2024-03-29 | 深圳市联洲国际技术有限公司 | 构建***域网协议的方法、装置、设备及存储介质 |
US11909815B2 (en) | 2022-06-06 | 2024-02-20 | VMware LLC | Routing based on geolocation costs |
US12034587B1 (en) | 2023-03-27 | 2024-07-09 | VMware LLC | Identifying and remediating anomalies in a self-healing network |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103069784A (zh) * | 2010-08-17 | 2013-04-24 | 瑞典爱立信有限公司 | 处理已经在隧道上发送的网络业务的技术 |
CN103458389A (zh) * | 2012-05-29 | 2013-12-18 | 中兴通讯股份有限公司 | 移动节点注册方法、互通方法、切换方法和网元 |
CN105471827A (zh) * | 2014-09-04 | 2016-04-06 | 华为技术有限公司 | 一种报文传输方法及装置 |
CN109787878A (zh) * | 2017-11-10 | 2019-05-21 | 北京华为数字技术有限公司 | 一种隧道链路检测方法及相关设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7194766B2 (en) * | 2001-06-12 | 2007-03-20 | Corrent Corporation | Method and system for high-speed processing IPSec security protocol packets |
US7804826B1 (en) * | 2002-11-15 | 2010-09-28 | Nortel Networks Limited | Mobile IP over VPN communication protocol |
US7571463B1 (en) * | 2003-01-24 | 2009-08-04 | Nortel Networks Limited | Method an apparatus for providing a scalable and secure network without point to point associations |
EP1700430B1 (en) * | 2003-12-22 | 2014-05-21 | Nokia Corporation | Method and system for maintaining a secure tunnel in a packet-based communication system |
EP1744515B1 (en) * | 2005-07-12 | 2011-07-13 | Fujitsu Siemens Computers, Inc. | Method, cluster system and computer-readable medium for distributing data packets |
US20130061034A1 (en) | 2011-09-07 | 2013-03-07 | L-3 Communications Corporation | Transparent Mode Encapsulation |
US9461914B2 (en) * | 2014-04-07 | 2016-10-04 | Cisco Technology, Inc. | Path maximum transmission unit handling for virtual private networks |
US10567347B2 (en) | 2015-07-31 | 2020-02-18 | Nicira, Inc. | Distributed tunneling for VPN |
US10992590B2 (en) * | 2018-04-09 | 2021-04-27 | Nicira, Inc. | Path maximum transmission unit (PMTU) discovery in software-defined networking (SDN) environments |
US10904217B2 (en) * | 2018-05-31 | 2021-01-26 | Cisco Technology, Inc. | Encryption for gateway tunnel-based VPNs independent of wan transport addresses |
-
2019
- 2019-06-28 US US16/457,233 patent/US11032107B2/en active Active
- 2019-09-24 EP EP19199151.2A patent/EP3758305B1/en active Active
- 2019-09-25 CN CN201910912383.2A patent/CN112152985B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103069784A (zh) * | 2010-08-17 | 2013-04-24 | 瑞典爱立信有限公司 | 处理已经在隧道上发送的网络业务的技术 |
CN103458389A (zh) * | 2012-05-29 | 2013-12-18 | 中兴通讯股份有限公司 | 移动节点注册方法、互通方法、切换方法和网元 |
CN105471827A (zh) * | 2014-09-04 | 2016-04-06 | 华为技术有限公司 | 一种报文传输方法及装置 |
CN109787878A (zh) * | 2017-11-10 | 2019-05-21 | 北京华为数字技术有限公司 | 一种隧道链路检测方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
US11032107B2 (en) | 2021-06-08 |
EP3758305A1 (en) | 2020-12-30 |
CN112152985A (zh) | 2020-12-29 |
US20200412576A1 (en) | 2020-12-31 |
EP3758305B1 (en) | 2023-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112152985B (zh) | 在中间路由器处具有减少的分组加密的gre隧穿 | |
US10038766B2 (en) | Partial reassembly and fragmentation for decapsulation | |
US11115391B2 (en) | Securing end-to-end virtual machine traffic | |
US11323361B2 (en) | GRE tunneling with reduced packet encryption at intermediate routers using loose source routing | |
US10904217B2 (en) | Encryption for gateway tunnel-based VPNs independent of wan transport addresses | |
CN111385199B (zh) | 经压缩的路由报头 | |
US11405422B2 (en) | Transmitting multiple copies of an encrypted packet via multiple tunnels between a transmitting network device and a receiving network device | |
CN112887259B (zh) | 基于应用的网络安全 | |
US9923835B1 (en) | Computing path maximum transmission unit size | |
US9369550B2 (en) | Protocol for layer two multiple network links tunnelling | |
CN110784436B (zh) | 用于维持互联网协议安全隧道的方法和设备 | |
US20190386837A1 (en) | Forwarding multicast data packets using bit index explicit replication (bier) for bier-incapable network devices | |
US10841111B2 (en) | Forwarding multicast data packets using bit index explicit replication (BIER) for BIER-incapable network devices | |
CN113612723B (zh) | 经由虚拟私有网络传达的重复分组的高效加密和解密 | |
EP3907966A1 (en) | Efficient encryption and decryption of duplicate packets communicated via a virtual private network | |
US12052223B2 (en) | Maintaining internet protocol security tunnels | |
US11032203B2 (en) | Providing predictable quality of service traffic steering | |
CN116346533A (zh) | 具有减少的报头信息的vpn业务的传输 | |
CN113765878A (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 |