CN104067562B - 用于第二层多网络链路隧道的协议 - Google Patents
用于第二层多网络链路隧道的协议 Download PDFInfo
- Publication number
- CN104067562B CN104067562B CN201180074664.7A CN201180074664A CN104067562B CN 104067562 B CN104067562 B CN 104067562B CN 201180074664 A CN201180074664 A CN 201180074664A CN 104067562 B CN104067562 B CN 104067562B
- Authority
- CN
- China
- Prior art keywords
- network
- layer
- tunnel
- packet
- layer packet
- 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
Classifications
-
- 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/12—Protocol engines
-
- 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
- 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/0272—Virtual private networks
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/162—Implementing security features at a particular protocol layer at the data link layer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种用于使用隧道联合信息以允许网络装置传输和接收第二层数据包的方法和系统通过多个网络链路在不同的第二层网络之间提供第二层隧道。第三层数据包用于封装第二层数据包。所述隧道联合信息包括网络链路标识和隧道序列号。所述网络链路标识用于识别所述一个或多个第三层数据包所属的网络链路和虚拟专用隧道,并且所述隧道序列号用于识别网络链路中的所述一个或多个第三层数据包的序列。
Description
技术领域
本发明涉及数据通信领域。更确切地说,本发明涉及一种用于使用隧道联合信息(tunnel association information)以允许多个网络链路在第二层数据上打开隧道的方法和设备。
背景技术
第二层隧道在多个远距离网络之间建立隧道网络以创建虚拟专用网(VPN)。第二层隧道创建可以通过输入正确指令以设置隧道接口来手动地完成,或者可以通过在网络装置中输入服务以协商正确的隧道接口来自动地完成。
第二层隧道协议(L2TP)(由互联网工程任务组公布的标准)是用于支持第二层虚拟专用网(VPN)的隧道协议。该隧道协议无法单独地提供任何加密或保密性;该隧道协议取决于在隧道内穿过的加密协议以提供私密性。IPsec通常用于通过提供保密性、授权和完整性来保护L2TP数据包。这两个协议的组合通常称为L2TP/IPsec。
实施L2TP的问题在于性能,因为仍然可用于有效载荷的字节数减少。在L2TP/IPsec下,仍然可用于有效载荷的字节数由于多层次的封装而进一步减少。另外,IPsec设置和维修起来相对复杂。L2TP或L2TP/IPsec在结合网络上的实施会进一步减少仍然可用于有效载荷的字节数并且增加设置和维修的复杂性,两个或两个以上的逻辑或物理网络连接组合在该结合网络中。
有利效果
本发明允许使用隧道联合信息,所述隧道联合信息在第三层数据包中含有网络链路标识(NLID)和隧道序列号(TSN),以在第三层网络上提供第二层隧道,同时提高性能并且与其他第二层隧道方法和系统相比降低复杂性。
发明内容
为了解决上述问题,本发明揭示使用隧道联合信息以解决该问题的方法和系统。根据本发明的实施例,在将第二层数据包封装在第三层数据包中时,网络装置使用隧道联合信息。在将第二层数据包从接收到的第三层数据包中去封装时,网络装置也使用隧道联合信息。隧道联合信息的使用允许第三层数据包通过属于同一VPN的不同网络链路进行传输和接收。因此,第三层数据包可以具有不同的源地址和目标地址并且产生更高的吞吐量和可靠性。隧道联合信息存储在协议标头中。隧道联合信息包括网络链路标识和隧道序列号。网络链路标识用于识别第三层数据包所属的网络链路和虚拟专用隧道。隧道序列号用于识别网络链路中的所述一个或多个第三层数据包的序列。
揭示一种由处理引擎、网络接口、封装引擎、去封装引擎、协议引擎以及存储系统组成的系统来解决上述问题。处理引擎由封装引擎、去封装引擎和处理引擎组成。封装引擎用于将接收到的第二层数据包封装在一个或多个待传递的第三层数据包中。去封装引擎用于将第三层数据包去封装成部分或完整的第二层数据包并且从第三层数据包中检索协议标头。加密引擎用于对第二层数据包和第三层数据包进行加密和解密。协议引擎用于创建和检索含有隧道联合信息的协议标头。存储系统用于向处理引擎提供指令并且提供临时存储。
附图说明
附图并入本说明书中并构成本说明书的一部分,说明了本发明的各实施例,并与具体实施方式一起解释本发明。在附图中,
图1是图示了网络环境的网络图,其中网络装置采用第二层虚拟专用网隧道的示例性方法,
图2是图示了一种示例性方法的流程图,其中当发送第二层数据包时,网络装置采用第二层虚拟专用网隧道,
图3是图示了一种示例性方法的流程图,其中当接收第三层数据包时,网络装置采用第二层虚拟专用网隧道,
图4是本发明的示例性互联网协议数据包格式,
图5是图示了一种示例性系统的框图,其中网络装置采用第二层虚拟专用网隧道,
图6是图示了网络连接、网络链路与虚拟专用网隧道之间的关系的框图。
具体实施方式
现在下文将参考附图来更加全面地描述不同实施例,附图中示出优选实施例。可以提出许多不同的形式并且所描述的实施例不应被理解为限于本文中所提出的实施例。相反,这些实施例用以使本发明全面且完整,且用于将范围完全传达给所属领域的技术人员。相同数字始终指代相同元件。
图1图示了两个远距离的第二层网络如何可以通过实施本发明的实施例经由第三层网络连接在一起的网络环境。可以采用同一网络环境来通过第三层网络连接三个或三个以上的远距离第二层网络。本发明中可以采用的第二层网络协议包括以太网、令牌环网、帧中继网、PPP、X.25和ATM。本发明中可以采用的第三层网络协议包括互联网协议(IP)第4版、IPv6、互联网分组交换协议和可路由协议组。
计算装置101a、101b和101c连接到开关102上并且处于同一第二层网络中,以使得它们可以通过第二层通信协议彼此通信。计算装置102a、102b和102c连接到开关106上并且处于同一第二层网络中,以使得它们也可以通过第二层通信协议彼此通信。然而,计算装置101a、101b和101c中的任一者都无法通过第二层通信协议与计算装置102a、102b和102c中的任一者直接通信,即使计算装置101a、101b、101c、102a、102b和102c都使用同一第二层通信协议,例如,以太网。这是因为开关102和开关106通过互联网104分开。为了允许计算装置101a、101b和101c能够感知计算装置102a、102b和102c处于同一网络中,必须在计算装置101a、101b、101c、102a、102b和102c之间建立虚拟专用网(VPN)。路由器103和路由器105一起通过互联网104在开关102与开关106之间建立VPN。
路由器103通过VPN将第二层数据包从开关102经由互联网104路由到路由器105上,方式是首先将第二层数据包封装在一个或多个第三层数据包中,随后通过网络连接120a、120b和120c中的一者或多者传递一个或多个第三层数据包。连接的网络连接120a、120b和120c分别通过三个网络接口连接到路由器103上,并且可以使用光纤、以太网、ATM、帧中继网、T1/E1、IPv4、IPv6、无线技术、Wi-Fi、WiMax、高速分组接入技术和3GPP长期演进技术(LTE)来实施。因此,可以传送第二层数据包的不同部分的一个或多个第三层数据包可以具有不同的第三层源地址和目标地址。如果多个第三层数据包用于封装一个第二层数据包,那么第二层数据包分段成多个第三层数据包。网络连接120a、120b和120c可以由相同或不同的网络服务供应商提供,以将路由器103连接到互联网104上。
类似地,网络连接121a和121b分别通过两个网络接口连接到路由器105上,并且可以使用光纤、以太网、ATM、帧中继网、T1/E1、IPv4、IPv6、无线技术、Wi-Fi、WiMax、高速分组接入技术和3GPP长期演进技术(LTE)来实施。网络连接121a和121b可以由相同或不同的网络服务供应商提供,以将路由器105连接到互联网104上。
网络连接,例如,由路由器103的天线网络接口部署的LTE连接,可以含有一个或多个网络链路。属于同一VPN的数据包可以由一个或多个网络连接传送。属于同一VPN的数据包也可以由一个或多个网络链路传送。网络连接可以传送多个VPN隧道。然而,网络链路仅可以传送属于一个VPN隧道的数据包。网络链路可以使用面向连接的协议(例如,TCP)或无连接协议(例如,UDP)。
图6图示了网络连接、网络链路与建立在逻辑网络120a、120b、120c、121a和121b中的VPN隧道之间的关系。例如,路由器105与路由器103之间建立有两个VPN,即VPNa和VPNb。VPNa通过使用两个网络链路,即网络链路131a和131b来实施。网络链路131a使用网络连接121a的第三层源地址和网络连接120b的第三层目标地址来传送属于VPNa的数据包。网络链路131b也传送属于VPNa的数据包,但是使用网络连接121a的第三层源地址和网络连接120c的第三层目标地址。例如,当第二层数据包通过VPNa从路由器105传递到路由器103时,所述第二层数据包可以分段成两个第三层数据包,所述第三层数据包可以具有相同的第三层源地址和不同的第三层目标地址。
VPNb通过使用三个网络链路,即网络链路132a、132b和132c来实施。网络链路132a使用网络连接121a的第三层源地址和网络连接120a的第三层目标地址来传送属于VPNb的数据包。网络链路132b也传送属于VPNb的数据包,但是使用网络连接121b的第三层源地址和网络连接120b的第三层目标地址。网络链路132c也传送属于VPNb的数据包,但是使用网络连接121b的第三层源地址和网络连接120c的第三层目标地址。当多个第二层数据包通过VPNb从路由器105传递到路由器103时,所述第二层数据包可以通过不同的网络链路传送并且因此封装第二层数据包的第三层数据包可以具有不同的第三层源地址和不同的第三层目标地址。
具有不同的第三层源地址和不同的第三层目标地址的第三层数据包可以封装属于同一隧道的第二层数据包有效载荷的原因是利用了第三层数据包内部的隧道联合信息。
隧道联合信息由一系列位表示并且包含在协议标头中。协议标头由一系列位组成。表示协议标头的位的数目根据将要输入VPN隧道的信息的本质和信息的数量而变化。根据本发明各实施例中的一者,隧道联合信息可以出于安全的目的进行加密。根据本发明各实施例中的一者,隧道联合信息包括网络链路标识(NLID)和隧道序列号(TSN)。NLID用于识别第三层数据包所属的网络链路。网络链路是使用逻辑网络建立在两个网络节点之间的链路。
由于可以存在使用同一对的第三层源地址和目标地址在两个网络装置之间实施的多个网络链路,因此表示NLID的位的数目应足够长,以避免混淆网络链路的标识。另外,NLID用于允许接收路由器能够认识到接收到的第三层数据包属于特定的VPN隧道,而不属于其他网络流量。TSN用于协助接收路由器(例如,路由器105)将属于网络链路的接收到的第三层数据包重新排序到正确的序列中。TSN由路由器103分配。根据本发明的一个实施例,在网络链路的寿命期间,每一个TSN应该是唯一的。根据本发明的一个实施例,当网络链路的寿命超过时间周期时,TSN可以再次被重新使用。表示TSN的位的数目应该足够长,以避免混淆数据包序列。根据本发明的一个实施例,用以表示NLID的位的数目是32个位。根据本发明的一个实施例,用以表示TSN的位的数目也是32个位。
根据本发明各实施例中的一者,对于源地址、目标地址或者对于一对源地址和目标地址,NLID是唯一的。因此,同一TSN可以重新用于不同的源地址、目标地址或一对源地址和目标地址。根据本发明各实施例中的一者,端口号也是NLID的一部分。
互联网104由互连的计算机网络运行的第三层协议的一个或多个系统组成。互联网104的互连计算机网络的系统可以是专用计算机网络或公用计算机网络。当路由器105通过网络连接121a和121中的一者或这两者从互联网104接收一个或多个第三层数据包时,所述路由器将一个或多个第三层数据包转换回第二层数据包并且随后将第二层数据包传递到开关106。使用同一VPN隧道,来自开关106的第二层数据包也可以被发送到开关102。因此,计算装置101a、101b和101c以及计算装置102a、102b和102c处于同一VPN中并且能够使用同一第二层网络协议相互通信。
根据本发明各实施例中的一者,路由器103与互联网104之间的网络连接的数目至少为一。根据本发明各实施例中的一者,互联网104与路由器105之间的网络连接的数目至少为一。当路由器103与互联网104之间仅存在一个网络连接以及互联网104与路由器106之间存在一个网络连接时,属于VPN隧道的所有第三层数据包必须穿过路由器103与互联网104之间的同一网络连接以及还穿过路由器105与互联网104之间的同一网络连接。在这种情况下,与L2TP相比,由本发明提供的性能提高、更多冗余以及带宽增加的益处并不显著。
方法
图2是图示了通过使用隧道联合以将第二层数据包封装在第三层数据包中的本发明各实施例中的一者的流程图。当路由器103在步骤201处接收第二层数据包时,路由器103通过首先在步骤202处创建协议标头来将第二层数据包封装成一个或多个第三层数据包。随后,在步骤203处,协议标头通过路由器103用隧道联合信息来填充。隧道联合信息用于允许路由器103能够与路由器105通信,以便将第三层数据包与VPN隧道相联系。
根据本发明各实施例中的一者,路由器103对第二层数据包进行加密。在步骤204处,路由器103决定第二层数据包是否必须通过手动设置的或在网络装置之间协商的以下预定义规则来进行加密。如果决定第二层数据包必须进行加密,那么在步骤205处,加密信息将被添加到协议标头中。加密信息包括密码信息和种子值信息。根据本发明各实施例中的一者,加密通过使用高级加密标准来进行,并且相关的初始化向量被认为是加密信息并且被添加到隧道联合信息中且存储在协议标头中。在步骤206处,根据本发明的一个实施例,对完整的第二层数据包进行加密。根据本发明的另一实施例,还对协议标头进行加密。当协议标头进行加密时,存储在协议标头中的加密信息未进行加密,以便促进在接收网络装置处的解密过程。步骤205和步骤206的排序可以交换。根据本发明各实施例中的一者,路由器103不会对第二层数据包进行加密并且因此步骤204、205和206不存在。
在步骤207处,创建第三层数据包标头信息。第三层数据包标头用源地址、目标地址以及路由器103的端口信息来填充。然而,当路由器103具有一个以上的网络连接时,路由器103可以具有一个以上的第三层源地址和/或一个以上的第三层目标地址。当第三层数据包通过一个以上的网络连接传递到互联网104时,属于同一VPN隧道的第三层数据包的源地址和目标地址可以彼此不同。例如,在图1所示的网络处,通过路由器103从开关102接收的第二层数据包通过三个不同的第三层数据包进行封装。第一个第三层数据包使用网络120a通过路由器103传送到网络连接121a,因此第一个第三层数据包的源地址和目标地址分别是网络连接120a和网络连接121a的地址。第二个第三层数据包使用网络120a通过路由器103传送到网络连接121b,因此第二个第三层数据包的源地址和目标地址分别是网络连接120a和网络121b的地址。第三个第三层数据包使用网络连接120c通过路由器103传送到网络连接121b,因此第二个第三层数据包的源地址和目标地址分别是网络连接120c和网络121b的地址。取决于许多决策因素,例如,网络延时和网络带宽,路由器103确定将要使用的网络连接,这对所属领域的技术人员而言是很容易选择和实施的。
在步骤208处,路由器103组合有效载荷,所述有效载荷是在步骤201处从开关102接收到的原始第二层数据包,协议标头和第三层数据包标头组合在一起,以形成一个或多个第三层数据包。在步骤209处,路由器103将一个或多个第三层数据包传递到互联网104。当一个第三层数据不足以将协议标头和完整的第二层数据包封装在一起时,第二层数据包可以进行分段并且被封装入多个第三层数据包中。所述分段可以依靠第三层分段来完成,以使得协议标头和第二层数据包一起被看作一个有效载荷并且根据使用的第三层协议进行分段。因此,第一个第三层数据包含有完整的协议标头以及第二层数据包的一部分,并且随后的第三层数据包不含有协议标头。另一方面,分段可以依靠网络链路协议来完成,以使得每个第三层数据包含有完整的协议标头和第二层数据包的一部分。
根据本发明各实施例中的一者,第三层数据包标头含有用于路由的信息,包括用于数据链路层、网络层以及OSI模型的运输层的信息。
图4图示了用以传送利用本发明部署的VPN隧道的第三层数据包的一个实施例。第三层数据包是由IP标头401、UDP标头402、协议标头403以及有效载荷404组成的IP数据包。IP标头401由一系列位组成并且是由互联网工程任务组(IETF)发布的RFC79中所描述的IPv4或者也由IETF发布的RFC2460中所描述的IPv6的标头。UDP标头由一系列位组成并且传送由IETF发布的RFC768中所描述的用户数据协议的信息。协议标头403由一系列位组成并且含有本发明中所描述的隧道联合信息。有效载荷404由一系列位组成并且传送完整的第二层数据包或第二层数据包的一部分。
在第三层数据包可以使用VPN隧道来封装第二层数据包之前,建立VPN隧道所需的过程和对应信息包括对所属领域的技术人员而言显而易见的存取。对应信息可以由网络装置管理员输入和/或可以在网络装置之间进行交换。如何交换VPN隧道建立信息对所属领域的技术人员同样是显而易见的。
用于封装第二层数据包的第三层数据包的数目取决于许多因素,包括第二层数据包的数据包尺寸、第三层数据包的有效载荷尺寸、互联网104中常规允许的第三层数据包的尺寸、用户法则、标准以及其他因素。如何确定用于封装的第三层数据包的数目对所属领域的技术人员是显而易见的。
当第二层数据包通过网络链路进行发送以检查网络链路的健康状况、VPN隧道的健康状况或者传送非有效载荷信息时,NLID和TSN可以被设置为零。除了那些以外,NLID和TSN的值是非零的,因为NLID和TSN用于识别网络链路和数据包序列。
根据本发明各实施例中的一者,隧道联合信息进一步包括全球序列号(GSN),所述全球序列号用于通过接收网络装置将从VPN隧道接收到的数据包安排至正确的序列。根据本发明的一个实施例,在VPN隧道的寿命期间,每一个GSN应该是唯一的。根据本发明的一个实施例,当网络链路的寿命超过时间周期时,GSN可以再次被重新使用。表示GSN的位的数目应该足够长,以避免混淆数据包序列。根据本发明的一个实施例,用以表示GSN的位的数目是32个位。
根据本发明各实施例中的一者,隧道联合信息进一步包括第二层隧道指示符,所述第二层隧道指示符用于通知接收网络装置第三层数据包含有第二层隧道的内容。第二层隧道指示符可以通过使用一个或多个位嵌入到协议标头中。
根据本发明各实施例中的一者,隧道联合信息进一步包括数据偏移指示符,所述数据偏移指示符指示出用户UDP与协议标头之间的偏移的数量。数据偏移指示符可以通过使用一个或多个位嵌入到协议标头中。
根据本发明各实施例中的一者,隧道联合信息进一步包括版本指示符,所述版本指示符确定正被使用的VPN隧道协议的版本并且允许向后和向前的兼容性。版本指示符可以通过使用一个或多个位嵌入到协议标头中。
根据本发明各实施例中的一者,隧道联合信息进一步包括保留位的数目,当更多的信息必须在隧道联合信息中传送时,这些位保留用于将来使用。
根据本发明各实施例中的一者,隧道联合信息进一步包括任选的时间戳指示符,所述任选的时间戳指示符确定时间戳信息是否可用于协议标头中。时间戳信息可以用于计算数据包的发送与数据包的接收之间的时差,或者用于计算数据包的发送与对应确认的接收之间的往返时间。时间戳指示符和时间戳信息可以通过使用一个或多个位嵌入到协议标头中。
根据本发明各实施例中的一者,隧道联合信息进一步包括确认指示符,所述确认指示符确定确认信息是否包含在协议标头中。确认信息用于数已成功接收到的数据包的数目。确认指示符和确认信息可以通过使用一个或多个位嵌入到协议标头中。根据本发明各实施例中的一者,确认信息指示出已接收到的数据包的最高序列号,例如,TSN。
根据本发明各实施例中的一者,隧道联合信息进一步包括交替的确认指示符,所述交替的确认指示符确定交替的确认信息是否包含在协议标头中。交替的确认信息用于数已成功接收到的数据包的数目并且用于确认接收到一个以上的数据包。交替的确认指示符和交替的确认信息可以通过使用一个或多个位嵌入到协议标头中。
根据本发明各实施例中的一者,协议标头所使用的字节数是属于用于路由的第三层数据包的标头的字节数以及从第三层数据包的总字节数中减去的属于封装的第二层数据包的有效载荷的字节数。
图3是图示了通过使用隧道联合以将第二层数据包去封装在第三层数据包中的本发明各实施例中的一者的流程图。当路由器105在步骤301处从互联网104接收第三层数据包时,路由器105通过检验第三层数据包的端口数来确定第三层数据包是否属于任何VPN隧道。如果在步骤302处,端口数与预定义的端口数匹配,那么路由器105认为第三层数据包属于VPN隧道。预定义的端口数可以通过网络管理员、网络装置的制造商进行预先确定,或者可以在网络装置之间进行协商。随后在步骤303处,路由器105识别协议标头。根据一个实施方式,协议标头紧靠着第三层数据包的标头。
由于含有隧道联合信息的协议标头,在步骤304处通过读取存储在协议标头中的NLED,路由器105能够确定第三层数据包所属的网络链路和VPN并且确定第三层数据包是含有整个第二层数据包还是含有部分第二层数据包。当对第三层数据包的有效载荷进行加密且路由器105首先识别来自存储在协议标头中的隧道联合信息的加密信息时,在步骤305处确定且随后在步骤307处利用在步骤306处从协议标头中检索的信息对有效载荷进行加密。根据本发明各实施例中的一者,对第三层数据包的部分有效载荷进行加密,例如,未对封装的第二层数据包的标头进行加密,但是对第二层数据包的内容进行加密。根据一个实施例,对第三层数据包的整个有效载荷进行加密。
根据一个实施例,当第三层数据包不含有加密的有效载荷时,步骤305、306和307不存在。
在步骤308处,第三层数据包进行去封装以检索整个或部分第二层数据包。
当完整的第二层数据包从一个或多个第三层数据包中去封装时,随后在步骤309处,路由器105能够传递第二层数据包。
根据一个实施例,接收路由器,例如,路由器105认为接收到的第三层数据包是可靠的,即使属于同一VPN隧道的第三层数据包具有不同的源地址或目标地址,因为接收路由器依靠隧道联合信息来辨别可靠的第三层数据包。当存在一个以上传送用于VPN隧道的第三层数据包的网络连接时会发生这种情况。在相同情况下,先前技术认为第三层数据包中的一些并不可靠,因为源地址不同或目标地址不同。
系统
图5图示了实施本发明各实施例中的一者的网络装置。系统由连接到内部网络上的一个或多个第一网络接口505;连接到一个或多个公用和/或专用网上的一个或多个第二网络接口506;处理引擎501和存储装置507组成。第一网络接口505和第二网络接口506可以通过将与光纤、缆线或天线连接的媒介来实施。处理引擎501可以通过使用一个或多个中央处理单元、网络处理器、微处理器、微控制器、FPGA、ASIC或能够执行指令的任何装置来实施,以执行系统的基本算术、逻辑和输入/输出操作。
封装引擎502用于将第二层数据包封装成一个或多个第三层数据包并且将协议标头输入到每个第三层数据包中。去封装引擎504用于将第三层数据包去封装成部分或完整的第二层数据包并且从第三层数据包中检索协议标头。加密引擎用于对第二层数据包和第三层数据包进行加密和解密。所述领域的一般技术人员应了解,用以封装、去封装、加密和解密数据包的许多不同实施方式适用于实践本发明。封装引擎502、协议引擎503和去封装引擎504的功能通过处理引擎501来传送。可替代地,封装引擎502、协议引擎503和去封装引擎504的功能可以通过中央处理单元、网络处理器、微处理器、微控制器、FPGA、ASIC或能够执行指令的任何装置来实施,以执行系统的基本算术、逻辑和输入/输出操作。
存储装置507可以通过使用DRAM、SDRAM、闪存RAM、光学存储器、磁性存储器、硬盘和/或能够提供存储能力的任何其他材料来实施。
网络装置通过一个或多个第一网络接口505连接到一个或多个局域网上。在局域网中,计算装置通过第二层技术彼此通信。网络装置还通过一个或多个第二网络接口506连接到一个或多个广域网上。在广域网中,计算装置通过第三层技术彼此通信。网络装置通过使用一个或多个第二网络接口506经由一个或多个广域网建立具有其他网络装置的一个或多个VPN隧道。
当在第一网络接口505中的一者处接收第二层数据包且第二层数据包将通过VPN隧道传递到另一局域网时,第二层数据包首先通过封装引擎502与协议标头一起被封装在一个或多个第三层数据包中,随后通过一个或多个第二网络接口506传递到广域网上。协议引擎503用于创建含有隧道联合信息的协议标头。
当通过VPN隧道在第二网络接口505中的一者处接收第三层数据包(含有源于另一局域网的整个或部分第二层数据包)且第三层数据包将传递局域网时,协议标头从第三层数据包中检索到并且随后通过使用协议引擎502和去封装引擎504进行去封装以检索整个或部分第二层数据包。如果第二层数据包分段成一个或多个第三层数据包时,网络装置不会将第二层数据包传递到局域网,直到整个第二层数据包可用为止。协议引擎503用于从协议标头中检索隧道联合信息。
存储装置507用于向处理引擎501提供指令,以在将第二层数据包封装成一个或多个第三层数据包期间提供临时存储,并且以在将一个或多个第三层数据包去封装成第二层数据包期间提供临时存储。根据本发明的一个实施例,存储装置507用于直接向封装引擎502、协议引擎503和去封装引擎507提供指令。
所述领域的一般技术人员应了解,许多不同的硬件组合也将适用于实践本发明。
在不脱离本发明的精神和范围的情况下,替代实施例对于本发明所涉及领域的技术人员而言是显而易见的。因此,本发明的范围由所附权利要求书指出而非由先前的描述指出。
Claims (32)
1.一种用于计算机连网的方法,所述方法包括:
通过一个或多个处理器、一个或多个网络接口,或一个或多个处理器和一个或多个网络接口的组合在一个第一网络装置中执行:
所述第一网络装置与第二网络装置建立多个网络链路;所述第一网络装置与第二网络装置建立多个虚拟专用网VPN隧道,其中所述多个VPN隧道是通过使用一个或多个所述网络链路来实施;通过局域网接口接收第二层数据包;创建协议标头,其中隧道联合信息存储在所述协议标头中,其中所述隧道联合信息包括网络链路标识、隧道序列号和全球序列号;使用所述协议标头将所述第二层数据包封装在一个或多个第三层数据包中,其中所述第三层数据包具有相同或不同源地址,其中所述第三层数据包具有相同或不同目标地址;确定所述一个或多个第三层数据包是否足以将所述协议标头和所述第二层数据包封装在一起;当一个第三层数据不足以将所述协议标头和所述第二层数据包封装在一起时,使用一个以上第三层数据将所述协议标头和所述第二层数据包封装在一起时;其中,当所述协议标头和所述第二层数据包被看作一个有效载荷,所述一个以上第三层数据的第一个数据包含有所述协议标头和所述第二层数据包的一部分,并且所述一个以上第三层数据的随后的数据包不含有所述协议标头以及含有所述第二层数据包的其余部分;根据预定义规则,对所述一个或多个第三层数据包的有效载荷进行加密;通过所述一个或多个网络接口将所述一个或多个第三层数据包传递,其中所述一个或多个网络接口是广域网WAN接口;其中所述网络链路标识用于识别所述第二层数据包所属的所述网络链路和所述VPN隧道;其中所述隧道序列号用于识别网络链路中的所述一个或多个第三层数据包的序列。
2.根据权利要求1所述的方法,所述隧道联合信息包括版本指示符、时间戳指示符以及确认指示符。
3.根据权利要求1所述的方法,其中当所述一个或多个第三层数据包的所述有效载荷进行加密时,所述隧道联合信息包括初始化向量。
4.根据权利要求1所述的方法,其中当网络链路的寿命超过时间周期时,所述全球序列号以及所述隧道序列号再次被重新使用;其中一个全球序列号用于通过所述网络装置将从VPN隧道接收到的数据包安排至正确的序;以及其中一个隧道序列号用于识别网络链路中的所述一个或多个第三层数据包的序列。
5.根据权利要求2所述的方法,其中所述时间戳指示符用于计算所述一个或多个第三层数据包的发送与所述一个或多个第三层数据包的接收之间的时差,或者用于计算所述一个或多个第三层数据包的发送与对应确认的接收之间的往返时间。
6.根据权利要求1所述的方法,其中当所述第二层数据包进行发送以检查网络链路的健康状况、VPN隧道的健康状况或者传送非有效载荷信息时,所述网络链路标识以及所述隧道序列号被设置为零。
7.根据权利要求1所述的方法,其中加密信息存储在所述协议标头中。
8.根据权利要求7所述的方法,其进一步包括对所述协议标头进行加密以及对存储在所述协议标头中的所述加密信息不进行加密。
9.根据权利要求1所述的方法,其中所述一个或多个第三层数据包是互联网协议数据包。
10.根据权利要求1所述的方法,其中所述一个或多个第三层数据包使用用户数据报协议进行传递。
11.根据权利要求1所述的方法,其中所述网络链路标识的长度为三十二个位。
12.根据权利要求1所述的方法,其中所述隧道序列号的长度为三十二个位。
13.一种用于计算机连网的方法,所述方法包括:
通过一个或多个处理器、一个或多个网络接口,或一个或多个处理器和一个或多个网络接口的组合在一个第一网络装置中执行:通过所述一个或多个网络接口接收由第二网络装置发送的一个或多个第三层数据包,其中所述一个或多个网络接口是广域网WAN接口,其中所述第三层数据包不可以具有相同源地址,其中所述第三层数据包不可以具有相同目标地址,其中通过所述一个或多个网络接口建立一个或多个虚拟专用网VPN隧道;确定所述一个或多个第三层数据包是否属于任何VPN隧道,其中检查所述一个或多个第三层数据包的端口数来建立所述确定;当所述一个或多个第三层数据包的所述端口与预定义的端口数匹配,从所述第三层数据包中检索协议标头,其中其中隧道联合信息存储在所述协议标头中,其中所述隧道联合信息包括网络链路标识和隧道序列号;当所述一个或多个第三层数据包的有效载荷被加密,从所述协议标头以及解密所述有效载荷读取加密信息;从所述一个或多个第三层数据包去封装第二层数据包;通过局域网LAN接口接收所述第二层数据包;其中所述网络链路标识用于识别所述第二层数据包所属的网络链路和VPN隧道,其中所述隧道序列号用于识别网络链路中的所述一个或多个第三层数据包的序列。
14.根据权利要求13所述的方法,其中当所述一个或多个第三层数据包的所述有效载荷进行加密时,所述隧道联合信息包括初始化向量。
15.根据权利要求13所述的方法,其中所述一个或多个第三层数据包是互联网协议数据包。
16.根据权利要求13所述的方法,其中所述一个或多个第三层数据包使用用户数据报协议进行传递。
17.根据权利要求13所述的方法,其中所述网络链路标识的长度为三十二个位。
18.根据权利要求13所述的方法,其中所述隧道序列号的长度为三十二个位。
19.根据权利要求13所述的方法,其进一步包括:在所述去封装之前将所述一个或多个第三层数据包安排成正确的顺序。
20.一种传输和接收通信数据的网络装置,所述网络装置包括:连接到一个或多个局域网上的一个或多个局域网网络接口;连接到一个或多个广域网上的一个或多个广域网网络接口;处理引擎,所述处理引擎耦合到所述一个或多个局域网网络接口和所述一个或多个广域网网络接口上,所述处理引擎包括封装引擎,用于将接收到的第二层数据包封装在一个或多个待传递的第三层数据包中、去封装引擎,用于将一个或多个接收到的第三层数据包去封装成待传递的第二层数据包,以及协议引擎,用于处理隧道联合信息,其中隧道联合信息包括网络链路标识、全球序列号和隧道序列号;存储系统,用于向所述处理引擎提供指令;第一网络装置与第二网络装置建立多个网络链路;所述第一网络装置与第二网络装置建立多个虚拟专用网VPN隧道,其中所述多个VPN隧道是通过使用一个或多个所述网络链路来实施;通过局域网(LAN)接口接收第二层数据包;创建协议标头,其中隧道联合信息存储在所述协议标头中,其中所述隧道联合信息包括网络链路标识、隧道序列号和全球序列号;使用所述协议标头将所述第二层数据包封装在一个或多个第三层数据包中,其中所述第三层数据包具有相同或不同源地址,其中所述第三层数据包具有相同或不同目标地址;确定所述一个或多个第三层数据包是否足以将所述协议标头和所述第二层数据包封装在一起;当一个第三层数据不足以将所述协议标头和所述第二层数据包封装在一起时,使用一个以上第三层数据将所述协议标头和所述第二层数据包封装在一起时;其中,当所述协议标头和所述第二层数据包被看作一个有效载荷,所述一个以上第三层数据的第一个数据包含有所述协议标头和所述第二层数据包的一部分,并且所述一个以上第三层数据的随后的数据包不含有所述协议标头以及含有所述第二层数据包的其余部分;根据预定义规则,对所述一个或多个第三层数据包的有效载荷进行加密;通过所述一个或多个网络接口将所述一个或多个第三层数据包传递,其中所述一个或多个网络接口是广域网WAN接口;其中所述网络链路标识用于识别所述第二层数据包所属的所述网络链路和所述VPN隧道;其中所述隧道序列号用于识别网络链路中的所述一个或多个第三层数据包的序列。
21.根据权利要求20所述的网络装置,其进一步包括:对所述一个或多个第三层数据包的有效载荷进行加密。
22.根据权利要求20所述的网络装置,其中当所述一个或多个第三层数据包的所述有效载荷进行加密时,所述隧道联合信息包括初始化向量。
23.根据权利要求20所述的网络装置,其中当网络链路的寿命超过时间周期时,所述全球序列号以及所述隧道序列号再次被重新使用;其中一个全球序列号用于通过所述网络装置将从VPN隧道接收到的数据包安排至正确的序;以及其中一个隧道序列号用于识别网络链路中的所述一个或多个第三层数据包的序列。
24.根据权利要求20所述的网络装置,其中所述隧道联合信息包括版本指示符、时间戳指示符以及确认指示符,其中所述时间戳指示符用于计算所述一个或多个第三层数据包的发送与所述一个或多个第三层数据包的接收之间的时差,或者用于计算所述一个或多个第三层数据包的发送与对应确认的接收之间的往返时间。
25.根据权利要求20所述的网络装置,其中当所述第二层数据包进行发送以检查网络链路的健康状况、VPN隧道的健康状况或者传送非有效载荷信息时,所述网络链路标识以及所述隧道序列号被设置为零。
26.根据权利要求21所述的网络装置,其中加密信息存储在所述协议标头中。
27.根据权利要求21所述的网络装置,其进一步包括对所述协议标头进行加密以及对存储在所述协议标头中的所述加密信息不进行加密。
28.根据权利要求20所述的网络装置,其中所述一个或多个第三层数据是互联网协议数据包。
29.根据权利要求20所述的网络装置,其中所述一个或多个第三层数据包使用用户数据报协议进行传递。
30.根据权利要求20所述的网络装置,其中所述网络链路标识的长度为三十二个位。
31.根据权利要求20所述的网络装置,其中所述隧道序列号的长度为三十二个位。
32.根据权利要求20所述的网络装置,其进一步包括:在所述去封装之前将所述一个或多个第三层数据包安排成正确的顺序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711146334.XA CN107682370B (zh) | 2011-11-11 | 2011-11-11 | 创建用于嵌入的第二层数据包协议标头的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2011/055042 WO2013068790A1 (en) | 2011-11-11 | 2011-11-11 | Protocol for layer two multiple network links tunnelling |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711146334.XA Division CN107682370B (zh) | 2011-11-11 | 2011-11-11 | 创建用于嵌入的第二层数据包协议标头的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104067562A CN104067562A (zh) | 2014-09-24 |
CN104067562B true CN104067562B (zh) | 2017-12-15 |
Family
ID=48288599
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711146334.XA Active CN107682370B (zh) | 2011-11-11 | 2011-11-11 | 创建用于嵌入的第二层数据包协议标头的方法和系统 |
CN201180074664.7A Active CN104067562B (zh) | 2011-11-11 | 2011-11-11 | 用于第二层多网络链路隧道的协议 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711146334.XA Active CN107682370B (zh) | 2011-11-11 | 2011-11-11 | 创建用于嵌入的第二层数据包协议标头的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9369550B2 (zh) |
EP (1) | EP2777217B1 (zh) |
CN (2) | CN107682370B (zh) |
WO (1) | WO2013068790A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10044841B2 (en) * | 2011-11-11 | 2018-08-07 | Pismo Labs Technology Limited | Methods and systems for creating protocol header for embedded layer two packets |
US9882713B1 (en) | 2013-01-30 | 2018-01-30 | vIPtela Inc. | Method and system for key generation, distribution and management |
US10142254B1 (en) | 2013-09-16 | 2018-11-27 | Cisco Technology, Inc. | Service chaining based on labels in control and forwarding |
GB2524131B (en) * | 2013-10-28 | 2020-07-08 | Pismo Labs Technology Ltd | Methods and systems for transmitting broadcast data |
US9467478B1 (en) | 2013-12-18 | 2016-10-11 | vIPtela Inc. | Overlay management protocol for secure routing based on an overlay network |
US10044502B2 (en) | 2015-07-31 | 2018-08-07 | Nicira, Inc. | Distributed VPN service |
US10567347B2 (en) * | 2015-07-31 | 2020-02-18 | Nicira, Inc. | Distributed tunneling for VPN |
US9979557B2 (en) | 2015-08-10 | 2018-05-22 | Hughes Network Systems, Llc | Carrier grade Ethernet layer 2 over layer 3 satellite backbones (L2oL3SB) |
US9980303B2 (en) | 2015-12-18 | 2018-05-22 | Cisco Technology, Inc. | Establishing a private network using multi-uplink capable network devices |
US11108592B2 (en) * | 2016-01-21 | 2021-08-31 | Cox Communications, Inc. | Systems and methods for implementing a layer two proxy for wireless network data |
US9942787B1 (en) * | 2016-03-22 | 2018-04-10 | Amazon Technologies, Inc. | Virtual private network connection quality analysis |
US10447591B2 (en) | 2016-08-30 | 2019-10-15 | Oracle International Corporation | Executing multiple virtual private network (VPN) endpoints associated with an endpoint pool address |
US10630657B2 (en) * | 2017-03-02 | 2020-04-21 | ColorTokens, Inc. | System and method for enhancing the security of data packets exchanged across a computer network |
CN107040446B (zh) * | 2017-03-13 | 2021-04-09 | 安徽新华博信息技术股份有限公司 | 一种vpn隧道协议实现方法 |
CN114745351A (zh) * | 2020-12-23 | 2022-07-12 | 中兴通讯股份有限公司 | 报文传输方法、系统、网络设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1468007A (zh) * | 2002-07-10 | 2004-01-14 | 华为技术有限公司 | 提供虚拟局域网段业务的虚拟交换机及方法 |
CN101288272A (zh) * | 2003-11-19 | 2008-10-15 | 思科技术公司 | 隧道化安全性群组 |
CN102123002A (zh) * | 2011-03-07 | 2011-07-13 | 上海华为技术有限公司 | 一种基于IPsec的频率同步方法和相关设备 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001022610A1 (en) * | 1999-09-21 | 2001-03-29 | Interdigital Technology Corporation | Multiuser detector for variable spreading factors |
US6732314B1 (en) * | 2000-05-26 | 2004-05-04 | 3Com Corporation | Method and apparatus for L2TP forward error correction |
US7342942B1 (en) * | 2001-02-07 | 2008-03-11 | Cortina Systems, Inc. | Multi-service segmentation and reassembly device that maintains only one reassembly context per active output port |
US7194766B2 (en) * | 2001-06-12 | 2007-03-20 | Corrent Corporation | Method and system for high-speed processing IPSec security protocol packets |
US7221675B2 (en) * | 2001-12-07 | 2007-05-22 | Nortel Networks Limited | Address resolution method for a virtual private network, and customer edge device for implementing the method |
US7237260B2 (en) * | 2003-07-08 | 2007-06-26 | Matsushita Electric Industrial Co., Ltd. | Method for dynamic selection for secure and firewall friendly communication protocols between multiple distributed modules |
CN1780294B (zh) * | 2004-11-26 | 2010-07-07 | 中兴通讯股份有限公司 | 基于以太网上的点到点协议实现虚拟专网的方法 |
US20070283429A1 (en) * | 2006-05-30 | 2007-12-06 | A10 Networks Inc. | Sequence number based TCP session proxy |
US7769869B2 (en) * | 2006-08-21 | 2010-08-03 | Citrix Systems, Inc. | Systems and methods of providing server initiated connections on a virtual private network |
US8165088B2 (en) * | 2006-09-13 | 2012-04-24 | Toshiba America Research, Inc. | MIH protocol state machine |
US8050267B2 (en) * | 2007-02-19 | 2011-11-01 | Cisco Technology, Inc. | Simple virtual private network for small local area networks |
US8023419B2 (en) * | 2007-05-14 | 2011-09-20 | Cisco Technology, Inc. | Remote monitoring of real-time internet protocol media streams |
CN101110745A (zh) * | 2007-08-14 | 2008-01-23 | 华为技术有限公司 | 衔接二层网络和三层网络的方法、装置和系统 |
US8181009B2 (en) * | 2009-03-03 | 2012-05-15 | Harris Corporation | VLAN tagging over IPSec tunnels |
US8867349B2 (en) * | 2009-05-18 | 2014-10-21 | Cisco Technology, Inc. | Regulation of network traffic in virtual private networks |
-
2011
- 2011-11-11 US US13/881,727 patent/US9369550B2/en active Active
- 2011-11-11 CN CN201711146334.XA patent/CN107682370B/zh active Active
- 2011-11-11 CN CN201180074664.7A patent/CN104067562B/zh active Active
- 2011-11-11 EP EP11875527.1A patent/EP2777217B1/en active Active
- 2011-11-11 WO PCT/IB2011/055042 patent/WO2013068790A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1468007A (zh) * | 2002-07-10 | 2004-01-14 | 华为技术有限公司 | 提供虚拟局域网段业务的虚拟交换机及方法 |
CN101288272A (zh) * | 2003-11-19 | 2008-10-15 | 思科技术公司 | 隧道化安全性群组 |
CN102123002A (zh) * | 2011-03-07 | 2011-07-13 | 上海华为技术有限公司 | 一种基于IPsec的频率同步方法和相关设备 |
Also Published As
Publication number | Publication date |
---|---|
US20140294018A1 (en) | 2014-10-02 |
EP2777217A4 (en) | 2015-06-24 |
US9369550B2 (en) | 2016-06-14 |
CN104067562A (zh) | 2014-09-24 |
CN107682370B (zh) | 2020-07-17 |
WO2013068790A1 (en) | 2013-05-16 |
EP2777217A1 (en) | 2014-09-17 |
CN107682370A (zh) | 2018-02-09 |
EP2777217B1 (en) | 2020-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104067562B (zh) | 用于第二层多网络链路隧道的协议 | |
CN106878138B (zh) | 一种报文传输方法和装置 | |
US20210105153A1 (en) | Method for Generating Forwarding Information, Controller, and Service Forwarding Entity | |
US10044841B2 (en) | Methods and systems for creating protocol header for embedded layer two packets | |
US6438612B1 (en) | Method and arrangement for secure tunneling of data between virtual routers | |
CN104704778B (zh) | 用于虚拟和物理网络集成的方法和系统 | |
CN104639414B (zh) | 一种报文转发方法和设备 | |
CN104394148B (zh) | IPv6下IPSec协议外出处理硬件实现系统 | |
CN108028838A (zh) | 分布式vpn服务 | |
US20040205336A1 (en) | Transparent IPSec processing inline between a framer and a network component | |
CN106233673A (zh) | 网络服务插入 | |
CN106161225B (zh) | 用于处理vxlan报文的方法、装置及系统 | |
CN107181663A (zh) | 一种报文处理方法、相关设备及计算机可读存储介质 | |
CN104247367A (zh) | 提升IPsec性能和防窃听安全性 | |
CN107547508A (zh) | 一种报文发送、接收方法、装置及网络设备 | |
CN107306198B (zh) | 报文转发方法、设备和系统 | |
US20190372948A1 (en) | Scalable flow based ipsec processing | |
CN107872332A (zh) | 一种报文转发路径的探测方法及相关装置 | |
CN109412927A (zh) | 一种多vpn数据传输方法、装置及网络设备 | |
CN108964880A (zh) | 一种数据传输方法及装置 | |
CN104579973B (zh) | 一种虚拟集群中的报文转发方法和装置 | |
CN106453314A (zh) | 数据加解密的方法及装置 | |
CN108390812B (zh) | 报文转发方法及装置 | |
JP2016508682A (ja) | ドメインにまたがるvpnトラフィックのqosによる区別のための方法および配置構成 | |
CN104780090B (zh) | Vpn组播传输的方法、装置、pe设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |