CN111869168B - 用于传送数据的方法和系统 - Google Patents
用于传送数据的方法和系统 Download PDFInfo
- Publication number
- CN111869168B CN111869168B CN201880087108.5A CN201880087108A CN111869168B CN 111869168 B CN111869168 B CN 111869168B CN 201880087108 A CN201880087108 A CN 201880087108A CN 111869168 B CN111869168 B CN 111869168B
- Authority
- CN
- China
- Prior art keywords
- packet
- data packet
- identifier
- tunnel
- peer
- 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
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
-
- 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/02—Topology update or discovery
- H04L45/026—Details of "hello" or keep-alive messages
-
- 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/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2475—Traffic characterised by specific attributes, e.g. priority or QoS for supporting traffic characterised by the type of applications
-
- 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
-
- 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/14—Multichannel or multilink protocols
-
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Abstract
本发明的一个方面提供一种被配置为从第一对等体(105)传送数据的数据网络(100)。所述网络包络与第一对等体相关联的排序模块(155),所述排序模块被配置为针对重要性阈值测量数据。当确定数据满足重要性阈值时,复制引擎(160)被配置为:组装第一数据分组,所述第一数据分组具有与第一隧道会话(130)相关联的第一隧道标识符、第一主要分组序列标识符以及次要分组序列标识符;以及组装第二数据分组,所述第二数据分组具有与第二隧道会话(135)相关联的第二隧道标识符、第二主要分组序列标识符以及次要分组序列标识符。第一对等体(105)被配置为:在第一隧道会话(130)内从第一对等体(105)传送第一数据分组;以及在第二隧道会话(135)内从第一对等体(105)传送第二数据分组。
Description
技术领域
本发明总体上涉及用于在虚拟私有网络(VPN)中的对等体之间传送数据的方法和系统。更具体来说,本发明涉及提供了独立于信道的隧道识别和重定向的VPN。
背景技术
虚拟私有网络(VPN)实际上是穿过两个协作路由进程之间的网络的隧道。隧道是通过在对网络分组进行加密之后的层中对其进行封装而建立的。取决于所选择的VPN协议,在其中对分组进行加密的该层可以是多种类型。
一种众所周知的加密协议是IPSec,该协议提供仅对分组的有效载荷进行加密(传输模式)或者对整个分组进行加密(隧道模式)的能力。
在IPSec的隧道模式下,通常在等于或高于有效载荷协议的层级递送协议内对整个分组进行加密和/或认证。通常来说,外部协议是ESP/IP或UDP/IP,其分组不携带关于分组内所载送的有效载荷的信息。
通常来说,隧道是利用诸如IKE和ISAKMP之类的隧道协议而建立的,其中客户端进程调用服务器进程以设立用于隧道的会话,其中IPSec分组及其有效载荷被载送在隧道协议分组内。
虽然这些分组载送隧道id或安全参数索引(SPI),但是分组依赖于提供分组的信道被正确地识别以便对分组进行处理。如果在其中发送分组的信道以任何方式发生改变,则分组将不会被辨识。
这意味着如果具有载送隧道协议的IP分组和IPSec分组的隧道受到扰乱,则客户端将无法向服务器端提供任何信息,这是因为向始发IP地址返回信息的任何尝试都无法与任何隧道数据关联并且不具有认证信息。通常这需要从建立发起端重新建立隧道,从而会花费可观的时间。
类似地,如果隧道的路由发生改变,例如由于在远程服务器后方插入了新的网络,则没有容易的方法向本地端告知所述改变。
几种隧道协议(大部分是基于IPSec、SSL、PPTP/L2TP)都没有解决这些问题,从而需要完全重新建立新的隧道以便重新开始隧道通信量。通常这需要过去足够的时间从而使得任何进行中的事务都将过去。
因此,需要提供某种检测隧道中断的方法,并且提供一种快速地重新建立同一个或另一个隧道以用于所需通信量的方法。
本发明的至少一些优选实施例的一个目的是解决至少其中一些前面所提到的缺点。
一个附加的或替换的目的是提供一种能够替代或封装IPSec分组的隧道协议,从而解决由于隧道的瞬态性质所导致的这一问题和其他问题。
一个附加的或替换的目的是提供一种尽管在没有传输任何用户数据分组的情况下确认隧道仍然可操作的手段。
一个附加的或替换的目的是至少为公众提供一种有用的选择。
发明内容
根据本发明的一个方面,一种在第一对等体与第二对等体之间传送数据的方法包括,当确定数据满足重要性阈值时:在第一隧道会话内从第一对等体传送第一数据分组,所述第一数据分组具有与第一隧道会话相关联的第一隧道标识符、第一主要分组序列标识符以及次要分组序列标识符;以及在第二隧道会话内从第一对等体传送第二数据分组,所述第二数据分组具有与第二隧道会话相关联的第二隧道标识符、第二主要分组序列标识符以及次要分组序列标识符。当确定数据不满足重要性阈值时,所述方法包括在第一隧道会话内从第一对等体传送第一数据分组,所述第一数据分组具有与第一隧道会话相关联的第一隧道标识符以及第一主要分组序列标识符。
在本说明中所使用的术语“包括”意味着“至少部分地由…构成”。在解释本说明书中的包含术语“包括”的每一则声明时,还可以存在除了该术语所引述的一项或多项特征之外的其他特征。相关的术语应当按照相同的方式来解释。
在一个实施例中,第一主要分组序列标识符在第一隧道会话内是唯一的,并且/或者第二主要分组序列标识符在第二隧道会话内是唯一的。
在一个实施例中,第一隧道会话与第一路由相关联,第一路由与第一路由版本标识符相关联,第一路由版本标识符被保持在与第一对等体相关联的计算机存储器中。
在一个实施例中,所述方法还包括把第一路由版本标识符保持在计算机存储器中的路由表内。
在一个实施例中,第一数据分组包括网络内容分组、保活分组、路由表分组的其中之一。
在一个实施例中,第二数据分组包括网络内容分组。
在一个实施例中,第一数据分组包括保活分组,所述保活分组包括第一路由版本标识符。
根据本发明的另一方面,一种在第一对等体与第二对等体之间传送数据的方法包括:在第一隧道会话内从第一对等体传送第一数据分组,所述第一数据分组具有与第一隧道会话相关联的第一隧道标识符、第一主要分组序列标识符以及次要分组序列标识符;以及在第二隧道会话内从第一对等体传送第二数据分组,所述第二数据分组具有与第二隧道会话相关联的第二隧道标识符、第二主要分组序列标识符以及次要分组序列标识符。
根据本发明的另一方面,一种解析在第一对等体与第二对等体之间传送的数据的方法包括:在第二对等体处在第一隧道会话内接收第一数据分组,所述第一数据分组具有与第一隧道会话相关联的第一隧道标识符、第一主要分组序列标识符以及次要分组序列标识符;在第二对等体处在第二隧道会话内接收第二数据分组,所述第二数据分组具有与第二隧道会话相关联的第二隧道标识符、第二主要分组序列标识符以及次要分组序列标识符;以及当确定第一数据分组和第二数据分组都包括次要分组序列标识符时,丢弃第一数据分组或第二数据分组。
在一个实施例中,第一主要分组序列标识符在第一隧道会话内是唯一的,并且/或者第二主要分组序列标识符在第二隧道会话内是唯一的。
在一个实施例中,第一隧道会话与第一路由相关联,第一路由与第一路由版本标识符相关联,第一路由版本标识符被保持在与第二对等体相关联的计算机存储器中。
在一个实施例中,第一数据分组包括与第一数据分组相关联的路由版本标识符,所述方法还包括当确定第一路由版本标识符与关联到第一数据分组的路由版本标识符之间的失配时,传送路由表分组。
在一个实施例中,路由表分组包括第一路由版本标识符。
在一个实施例中,所述方法还包括把第一路由版本标识符保持在计算机存储器中的路由表内。
在一个实施例中,第一数据分组包括保活分组。
根据本发明的另一方面,一种被配置为从第一对等体传送数据的数据网络包络:与第一对等体相关联的排序模块,所述排序模块被配置为针对重要性阈值测量数据;以及复制引擎,所述复制引擎被配置为当确定数据满足重要性阈值时:组装第一数据分组,所述第一数据分组具有与第一隧道会话相关联的第一隧道标识符、第一主要分组序列标识符以及次要分组序列标识符;以及组装第二数据分组,所述第二数据分组具有与第二隧道会话相关联的第二隧道标识符、第二主要分组序列标识符以及次要分组序列标识符。第一对等体被配置为:在第一隧道会话内从第一对等体传送第一数据分组;以及在第二隧道会话内从第一对等体传送第二数据分组。
在一个实施例中,第一主要分组序列标识符在第一隧道会话内是唯一的,并且/或者第二主要分组序列标识符在第二隧道会话内是唯一的。
在一个实施例中,第一隧道会话与第一路由相关联,第一路由与第一路由版本标识符相关联,第一路由版本标识符被保持在与第一对等体相关联的计算机存储器中。
在一个实施例中,所述网络还包括存储在计算机存储器中的路由表,第一路由版本标识符被保持在所述路由表内。
根据本发明的另一方面,一种被配置为解析接收自第一对等体的数据的数据网络包括第二对等体,所述第二对等体被配置为:在第一隧道会话内接收第一数据分组,所述第一数据分组具有与第一隧道会话相关联的第一隧道标识符、第一主要分组序列标识符以及次要分组序列标识符;以及在第二隧道会话内接收第二数据分组,所述第二数据分组具有与第二隧道会话相关联的第二隧道标识符、第二主要分组序列标识符以及次要分组序列标识符;以及复制引擎,其被配置为当确定第一数据分组和第二数据分组都包括次要分组序列标识符时,丢弃第一数据分组或第二数据分组。
在一个实施例中,第一主要分组序列标识符在第一隧道会话内是唯一的,并且/或者第二主要分组序列标识符在第二隧道会话内是唯一的。
在一个实施例中,第一隧道会话与第一路由相关联,第一路由与第一路由版本标识符相关联,第一路由版本标识符被保持在与第二对等体相关联的计算机存储器中。
在一个实施例中,第一数据分组包括与第一数据分组相关联的路由版本标识符,所述数据网络还包括路由引擎,其被配置为当确定第一路由版本标识符与关联到第一数据分组的路由版本标识符之间的失配时,传送路由表分组。
在一个实施例中,路由表分组包括第一路由版本标识符。
在一个实施例中,所述数据网络还包括存储在计算机存储器中的路由表,第一路由版本标识符被保持在所述路由表内。
根据本发明的另一方面,一种计算机可读介质具有存储在其上的计算机可执行指令,所述计算机可执行指令在由处理器执行时使得处理器实施一种在第一对等体与第二对等体之间传送数据的方法。所述方法包括,当确定数据满足重要性阈值时:在第一隧道会话内从第一对等体传送第一数据分组,所述第一数据分组具有与第一隧道会话相关联的第一隧道标识符、第一主要分组序列标识符以及次要分组序列标识符;以及在第二隧道会话内从第一对等体传送第二数据分组,所述第二数据分组具有与第二隧道会话相关联的第二隧道标识符、第二主要分组序列标识符以及次要分组序列标识符。所述方法还包括,当确定数据不满足重要性阈值时,在第一隧道会话内从第一对等体传送第一数据分组,所述第一数据分组具有与第一隧道会话相关联的第一隧道标识符以及第一主要分组序列标识符。
在一个实施例中,第一主要分组序列标识符在第一隧道会话内是唯一的,并且/或者第二主要分组序列标识符在第二隧道会话内是唯一的。
在一个实施例中,第一隧道会话与第一路由相关联,第一路由与第一路由版本标识符相关联。所述方法还包括把第一路由版本标识符保持在与第一对等体相关联的计算机存储器中。
在一个实施例中,所述方法还包括把第一路由版本标识符保持在计算机存储器中的路由表内。
在一个实施例中,第一数据分组包括网络内容分组、保活分组、路由表分组的其中之一。
在一个实施例中,第二数据分组包括网络内容分组。
在一个实施例中,第一数据分组包括保活分组,所述保活分组包括第一路由版本标识符。
根据本发明的另一方面,一种计算机可读介质具有存储在其上的计算机可执行指令,所述计算机可执行指令在由处理器执行时使得处理器实施一种在第一对等体与第二对等体之间传送数据的方法。所述方法包括:在第一隧道会话内从第一对等体传送第一数据分组,所述第一数据分组具有与第一隧道会话相关联的第一隧道标识符、第一主要分组序列标识符以及次要分组序列标识符;以及在第二隧道会话内从第一对等体传送第二数据分组,所述第二数据分组具有与第二隧道会话相关联的第二隧道标识符、第二主要分组序列标识符以及次要分组序列标识符。
根据本发明的另一方面,一种计算机可读介质具有存储在其上的计算机可执行指令,所述计算机可执行指令在由处理器执行时使得处理器实施一种解析在第一对等体与第二对等体之间传送的数据的方法。所述方法包括:在第二对等体处在第一隧道会话内接收第一数据分组,所述第一数据分组具有与第一隧道会话相关联的第一隧道标识符、第一主要分组序列标识符以及次要分组序列标识符;在第二对等体处在第二隧道会话内接收第二数据分组,所述第二数据分组具有与第二隧道会话相关联的第二隧道标识符、第二主要分组序列标识符以及次要分组序列标识符;以及当确定第一数据分组和第二数据分组都包括次要分组序列标识符时,丢弃第一数据分组或第二数据分组。
在一个实施例中,第一主要分组序列标识符在第一隧道会话内是唯一的,并且/或者第二主要分组序列标识符在第二隧道会话内是唯一的。
在一个实施例中,第一隧道会话与第一路由相关联,第一路由与第一路由版本标识符相关联。所述方法还包括把第一路由版本标识符保持在与第二对等体相关联的计算机存储器中。
在一个实施例中,第一数据分组包括与第一数据分组相关联的路由版本标识符。所述方法还包括当确定第一路由版本标识符与关联到第一数据分组的路由版本标识符之间的失配时,传送路由表分组。
在一个实施例中,路由表分组包括第一路由版本标识符。
在一个实施例中,所述方法还包括把第一路由版本标识符保持在计算机存储器中的路由表内。
在一个实施例中,第一数据分组包括保活分组。
在本说明书中关于处理器所使用的术语“组件”、“模块”、“系统”、“接口”等等通常意图指代与计算机有关的实体,比如硬件、硬件与软件的组合、软件或者执行中的软件。举例来说,组件可以是(但不限于)运行在处理器上的进程、处理器、对象、可执行程序、执行线程、程序和/或计算机。作为说明,运行在控制器上的应用和控制器都可以是一个组件。一个或多个组件可以驻留在一个进程和/或执行线程内,并且一个组件可以位于一台计算机上和/或分布在两台或多台计算机之间。
在本说明书中关于数据或信号传输所使用的术语“连接到”包括所有直接或间接类型的通信,其中包括有线和无线、通过蜂窝网络、通过数据总线或者任何其他计算机结构。已经设想到在所连接的要素之间可以有中间元件。比如“与…通信”、“联结到”和“附着到”之类的变体应当按照类似的方式来解释。比如“连接”和“与…连接”之类的相关术语应当按照相同的方式来解释。
在本说明中所使用的术语“信道”包括以下列表当中的一项或多项:网络连接类型、网络IP地址和网络端口。网络连接类型的一个实例包括“UDP”。网络IP地址的一个实例包括203.0.113.1。网络端口的一个实例包括“2453”。
在本说明书中,术语“服务器”和“客户端”是可互换的,这是在于所述术语表示的是其角色而不是硬件中的设计因素。类似地,“本地”和“远程”并不区分硬件或功能方面的差别,而是用来区分相对位置。
本发明在一个方面中包括几个步骤。在后面的详细公开内容中将例示其中一个或多个步骤关于每一个其他步骤的关系,具体实现构造特征的装置,以及被适配来实现这样的步骤的元件组合及部件安排。
本发明的相关领域技术人员将认识到,在不背离如所附权利要求中所限定的本发明的范围的情况下,本发明的许多构造改变以及大不相同的实施例和应用将是不言自明的。本文中的公开内容和描述纯粹是说明性的,而不意图以任何方式作出限制。当在本文中所提到的特定要素在本发明的相关领域内具有已知的等效要素时,这样的已知等效要素被视为合并在本文中,如同其被单独阐述一样。此外,当通过Markush群组描述本发明的特征或方面时,本领域技术人员将认识到,由此也通过Markush群组的任何单独成员或成员子组描述了本发明。
本文中在名词前所使用的“(多个)”意味着该名词的复数和/或单数形式。
本文中所使用的术语“和/或”意味着“以及”或“或者”或全部二者。
当提到本文中所公开的一个数字范围时(例如1到10),还意图涵盖提到该范围内的所有有理数(例如1、1.1、2、3、3.9、4、5、6、6.5、7、8、9和10)以及该范围内的任何有理数范围(例如2到8,1.5到5.5,以及3.1到4.7)的情况,因此本文中所明确公开的所有范围的所有子范围也就此被明确地公开。这些仅仅是具体意图的实例,所列举的最低值到最高值之间的所有可能的值组合都应当被视为按照类似的方式在本申请中被明确地陈述。
在本说明书中提到专利说明书、其他外部文献或者其他信息来源时,这通常是为了提供用于讨论本发明的特征的上下文。除非明确地另行陈述,否则在提到这样的外部文献或这样的信息来源时不应当被解释为承认这样的文献或这样的信息来源在任何司法权限内构成现有技术或者构成本领域内的一般常识的一部分。
在本说明书的描述中可能会提到不处于所附权利要求的范围内的主题内容。该主题内容应当很容易由本领域技术人员识别,并且可以帮助实践如在当前所附权利要求中所限定的本发明。
虽然本发明大体上是如前面所定义,但是本领域技术人员将认识到本发明不限于此,并且本发明还包括在后面的描述中给出其实例的实施例。
附图说明
现在将参照附图仅以举例的方式来描述用于传送数据的方法和系统的优选形式,其中:
图1示出了VPN的一个实施例的方框图;
图2示出了用于在第一对等体与第二对等体之间建立隧道的一种方法;
图3示出了用于从对等体传送数据分组的一种方法;
图4示出了作为图3的方法的一部分的用于组装数据分组的一种方法;
图5示出了解析在对等体处接收到的数据分组的一种方法;
图6示出了如前面参照图5所描述的当由对等体接收时用于处理数据分组的一种方法的实例;以及
图7示出了被配置为实施图1的网络的至少一部分的计算设备的实例。
具体实施方式
图1示出了根据本发明的一个实施例的虚拟私有网络(VPN)100。所述网络包括连接到第一对等体本地网络110的第一对等体105。第一对等体105也可以被称作发起者对等体。
在一个实施例中,第二对等体115连接到第二对等体本地网络120。在一个实施例中,网络120远离网络110。第二对等体115也可以被称作响应者对等体。
第一对等体105和第二对等体115通过因特网125或者其他适当的网络或网络组合彼此连接,以便在对等体105与对等体115之间交换数据。适当的网络的实例包括光纤网络、Wi-Fi网络和蜂窝网络。
在一个实施例中,网络100还包括多个隧道会话或隧道。在130、135和140处表明了隧道的实例。应当认识到,至少其中一个隧道具有对等体105与对等体115之间的涉及网络组合的路径。
在一个实施例中,第一对等体105和/或第二对等体115包括连接到路由器(未示出)的服务器。路由器促进通过VPN连接到网络125。
在一个实施例中,第一对等体105和/或第二对等体115包括智能电话、平板计算机、可穿戴设备或者直接从设备运行VPN而不是通过路由器的类似设备。这样的设备可以被配置成包括两个或更多连接,通过所述连接可以交换数据分组。连接的实例包括Wi-Fi网络和蜂窝网络连接。
在一个实施例中,路由表145被保持在与第一对等体105相关联的计算机存储器中。路由表150被保持在与第二对等体115相关联的计算机存储器中。
后面将进一步描述隧道130、135和140以及路由表145和150的操作。后面在提到对等体之间的隧道时也包括提到与对应的对等体相关联的路由器之间的隧道的情况。
在一个实施例中,在第一对等体105与第二对等体115之间有至少两个隧道。在一个实施例中,在第一对等体105与第二对等体115之间存在多个隧道。举例来说,可以有两个隧道,三个隧道,或者多于三个隧道。
在一个实施例中,第一隧道具有第一对等体105与第二对等体115之间的第一路径或信道。第二隧道具有第一对等体105与第二对等体115之间的第二路径或信道。在一个实施例中,第一路径不同于第二路径。举例来说,在一个实施例中,第一路径包括光纤信道,第二路径则包括蜂窝信道。
在一个实施例中,隧道与对应的路径或信道相关联,各个路径或信道彼此不同。对于不同的隧道使用不同的路径或信道有潜力提供更高的网络可靠性,这是因为一个路径或信道的失效只意味着其他路径或信道可用来在第一对等体105与第二对等体115之间交换数据。第一复制引擎160和排序模块155与第一对等体105相关联。后面将进一步描述第一复制引擎160和排序模块155的操作。总得来说,排序模块确定将要从第一对等体105传送的哪些数据是重要的或关键的。第一复制引擎160创建将在不同隧道内传送的重要或关键数据的复制分组。
第二复制引擎165与第二对等体115相关联。第二复制引擎165检测由复制引擎160创建的复制分组。第二复制引擎165丢弃足够的复制数据分组以便去除重复。
路由引擎170与第二对等体115相关联。后面将进一步描述路由引擎170的操作。总得来说,路由引擎170检测并且解析第一对等体105与第二对等体115之间的路由或路径的改变。
在一个实施例中,网络100包括分别能够充当VPN集中器并且连接到由服务器185表示的本地网络的VPN路由器175和180。
在一个实施例中,每一个VPN路由器175和180是从网络185通过因特网125并且通过VPN隧道(未示出)所管理的远程管理的路由器,所述VPN隧道初始地是从路由器中的默认设定所设置,但是最终是由被分配给每一个路由器的单独VPN隧道所设置。
在一个实施例中,每一个路由器110、120、175、180被配置为管理多个VPN隧道。其中一些隧道可以隧穿经过其他VPN路由器,以便例如到达大型本地网络内部的安全位置。
图2示出了用于在第一对等体105与第二对等体115之间建立隧道的一种方法200。第一对等体105接收205与第二对等体115相关联的信道。第一对等体105使用安全规定通过与第二对等体115相关联的信道连接到第二对等体115。
第一对等体105和第二对等体115关于VPN会话的细节进行协商215。在一个实施例中,所述细节包括以下各项当中的一项或多项:具有标识符的会话密钥,用于新隧道的标识符,用于前20个分组的初始主要分组序列标识符,将在其上建立连接的信道的细节。
在一个实施例中,协商的会话细节被存储220在与第一对等体105相关联的会话表中,并且/或者被存储在与第二对等体115相关联的会话表中。
在第一对等体105与第二对等体115之间建立225隧道。在一个实施例中,重复方法200以便在第一对等体105与第二对等体115之间建立多个隧道。
在一个实施例中,当发起者/第一对等体105建立会话时,第一对等体105向响应者/第二对等体115表明其支持允许通过多个隧道发送重复的数据分组的协议。这就使得响应者/第二对等体115不需要预先配置有关于共享的序列/分组复制的知识。响应者/第二对等体115随后还将选择性地复制从该处去往发起者的用户数据。
后面将更加详细地描述数据分组的复制。
图3示出了用于从对等体传送数据分组的一种示例性方法300。方法300是关于第一对等体105来描述的。应当认识到,相同的方法可以被用来从第二对等体115传送数据分组。
第一对等体105组装305第一数据分组。后面将更加详细地描述处理305。
第一对等体105进行检查310以便确定将要传送的数据是否关键或重要。在一个实施例中,对数据进行检查以便确定其是否满足重要性阈值。重要性阈值通常是用户定义的。
在一个实施例中,重要性阈值是用户定义的,例如在配置文件中规定如何把通信量标记为关键。
重要性阈值的一个实例是与第一对等体105和第二对等体115之间的数据传输相关联的目的或应用。举例来说,任何实时的都是关键的,特别是IP语音(VoIP)和视频呼叫。例如卡支付交易之类的其他应用也可以被视为关键。另一方面,例如web通信量或文件上传之类的应用则不是关键的。
在该例中,重要性阈值测试包括“与数据分组相关联的应用是否匹配从语音、视频和卡支付交易当中所选择的至少一种预定义应用?如果是的话,则数据分组满足重要性阈值并且被视为关键。如果不是的话,则数据分组不满足重要性阈值。”
重要性阈值测试的另一个实例包括“与数据分组相关联的应用是否涉及实时操作?如果是的话,则数据分组满足重要性阈值并且被视为关键。如果不是的话,则数据分组不满足重要性阈值。”
在一个实施例中,重要性阈值被设定为设置了“快速转发”(EF)DSCP值的IP通信量。在该例中,阈值测试包括“与数据分组相关联的互联网协议(IP)报头是否设置了DSCPEF标志?如果是的话,则数据分组满足重要性阈值并且被视为关键。如果不是的话,则数据分组不满足重要性阈值。”
在一个实施例中,通过定义包括IP协议、发送者IP、发送者端口、目的地IP、目的地端口的5元组的值来设定重要性阈值。
在该例中,阈值测试包括“与数据分组相关联的IP协议、发送者IP、发送者端口、目的地IP和目的地端口的至少其中一项的值是否匹配预定义值?如果是的话,则数据分组满足重要性阈值并且被视为关键。如果不是的话,则数据分组不满足重要性阈值。”
在该例中,阈值测试的另一个实例包括“与数据分组相关联的IP协议、发送者IP、发送者端口、目的地IP和目的地端口当中的每一项的值是否匹配对应的预定义值?如果是的话,则数据分组满足重要性阈值并且被视为关键。如果不是的话,则数据分组不满足重要性阈值。”
如果第一数据分组305包含关键数据,则第一对等体105组装315第二数据分组。在一个实施例中,第二数据分组是第一数据分组的副本。
不管第一数据分组305是否包含关键数据,第一对等体105都通过第一隧道传送320第一数据分组。在一个实施例中,第二对等体115接收第一数据分组,正如后面将进一步描述的那样。
在一个实施例中,第一数据分组305包括与第一隧道相关联的第一隧道标识符。第一隧道标识符向网络100的所有组件表明第一数据分组将在并且已在第一隧道内被传送。第一隧道的一个实例是隧道130。
在一个实施例中,第一数据分组还包括第一主要分组序列标识符。正如前面所描述的那样,关于VPN会话的细节的协商215包括在隧道标识符之外确定初始主要分组序列标识符。
在一个实施例中,第一主要分组序列标识符在第一隧道内是唯一的。它是通过递增初始主要分组序列标识符或先前主要分组序列标识符而导出的。
如果第一数据分组包含关键数据,则第一对等体105通过第二隧道传送325第二数据分组。
在一个实施例中,第二数据分组包含与第二隧道相关联的第二隧道标识符。第二隧道标识符向网络100的所有组件表明第二数据分组将在并且已在第二隧道内被传送。第二隧道的一个实例是隧道135。
在一个实施例中,第二数据分组还包括第二主要分组序列标识符。在一个实施例中,第二主要分组序列标识符在第二隧道内是唯一的。它是通过递增第二隧道内的初始主要分组序列标识符或者与第二隧道相关联的先前主要分组序列标识符而导出的。
在一个实施例中,第一数据分组和第二数据分组都包括共同的次要分组序列标识符。数据分组内的次要分组序列标识符的存在向网络100的所有组件表明该数据分组是副本。共同次要分组序列标识符的值向网络100的所有组件表明一对数据分组是彼此的副本。
在一个实施例中,第一对等体105作为发起者对等体确定用于次要分组序列标识符的初始值。每一次当发送对等体具有需要复制的关键数据分组时,次要分组序列标识符被递增。用于次要分组序列标识符的初始值的一个实例是值“1”。递增次要分组序列标识符的一个实例包括把值“1”加到次要分组序列标识符的当前值上。
图4示出了前面参照图3所描述的用于组装305数据分组的一种方法。
将要传送的数据从第一对等体105获取400并且形成到至少一个数据分组中。第一对等体105可以获得将用以发送封装所获取的数据的数据分组的隧道的细节。关于数据分组验证405经过隧道的数据路由。如果数据路由无法被验证,则分组被丢弃。
从存储在会话表中的会话细节取回410对于数据分组所需的标识符,其中会话表被保持在计算机存储器中。保持在会话表中的会话细节包括关于对等体的信息,比如其IP地址、加密/解密密钥、当前主要分组序列标识符以及当前次要分组序列标识符。在一个实施例中,所述标识符包括会话标识符、隧道标识符、主要分组序列标识符当中的一项或多项。
在一个实施例中,使用前面的标识符中的至少一些利用密钥对数据分组的有效载荷进行加密415。
随后取回420用于隧道的正确对等体信道以作为从上一个传入分组取回的地址。
在一个实施例中,用户事先定义将通过哪些信道来发送关键数据。举例来说,默认设定可以包括通过第一对等体105与第二对等体115之间的所有可用信道来发送数据分组。
用户可能希望只通过特定信道进行发送。在一个实例中,作为备用,用户可能具有可用的包括光纤互联网连接的第一信道,包括光纤互联网连接的第二信道,以及包括蜂窝连接的第三信道。蜂窝网络通常按照所发送的通信量的数量来收费。为了最小化成本,用户可能希望通过第一信道和第二信道而不是第三信道来发送复制的关键数据。
随后如前面参照图3所描述的那样传送320数据分组。在一个实施例中,数据分组被传送到第二对等体115。
图5示出了解析在对等体处接收到的数据分组的一种示例性方法500。方法500是关于第二对等体115来描述的。应当认识到,相同的方法被用来从第一对等体105传送数据分组。
在第二对等体115处接收505第一数据分组。第二对等体115对第一数据分组实施处理,正如后面将进一步描述的那样。
在一个实施例中,第一数据分组包括关于分组类型的指示符。分组类型的实例包括封装的网络内容分组、保活分组和路由表分组。
对第一数据分组进行检查510以便确定第一数据分组是否是保活分组。保活分组包含从对等体提取出的信息。保活分组或者被作出响应,或者被用来更新对等体状态。
在一个实施例中,保活分组在正常使用期间被间歇性地传送,并且当隧道未作他用时也被传送。保活分组可以包括第一路由版本标识符。
如果第一数据分组是保活分组,则对与第一数据分组相关联的路由进行验证515。第一路由版本标识符表示与第一对等体105相关联的路由表的版本。针对保持在与第二对等体115相关联的路由表150中的路由版本标识符来检查第一路由版本标识符。
可能会有这样的时间段,此时没有通信量经过隧道,因此没有关于给定的隧道是否实际上正在工作的信息。保活分组的一项功能是检测隧道是可操作的。
如果在第一数据分组中的路由版本标识符与路由表150之间分别存在匹配,则第二对等体115传送确认隧道仍然可操作的简单的响应数据分组。
路由可能不会保持恒定,因此需要向隧道的每一端处的对等体通知在任一端发生的任何改变。当分别检测到第一数据分组中的路由版本标识符与路由表150之间的失配时,第二对等体115传送路由表分组。
路由表分组是例如当第二对等体115通过读取保活分组而检测到用于该隧道的路由表存在错误时所发送的分组。在一个实施例中,第二对等体115返回路由表分组,所述路由表分组包含其路由表的实际当前版本以及承载路由表中的条目的数组。
如果第一数据分组是例如在第二对等体115处从第一对等体105接收到的路由表数据分组520,则通过更新路由表150来更新与第二对等体115相关联的路由表。这一改变具有改变版本号的效果。
在一个实施例中,所述方法包括解析525副本。保活分组和路由表分组通常不包含关键数据,因此通常将不会被复制。对其他类型的分组进行检查,以便在第二对等体115处接收到的两个或更多数据分组内检测共享的次要分组序列标识符的存在。
如果两个或更多数据分组包括共享的次要分组序列标识符,则丢弃其中一个或多个数据分组,从而使得仅有一个数据分组仍然具有次要分组序列标识符。
图6示出了如前面参照图5所描述的当由第二对等体115接收时用于处理第一数据分组的一种方法600的一个实例。
识别605在其上接收到数据分组的信道。对数据分组报头进行检查,以便识别610隧道标识符是所商定的隧道的隧道标识符。
在数据分组上实施615安全检查。在一个实施例中,安全检查包括把完整分组的散列校验与从分组报头中的参数导出的散列进行比较。参数的实例包括协议版本、分组类型、隧道id和序列id。如果发现数据分组不是完好的,则将其丢弃620。
在数据分组上实施的检查的实例包括以下各项当中的一项或多项:
-验证隧道标识符对应于现有信道;
-如果分组类型要求加密则验证有效载荷被加密;
-验证序列标识符大于上一个验证的序列标识符但是小于规定的最大计数较大;
-验证完整性校验值(ICV)正确,作为因子该值至少包括数据有效载荷、协议版本、隧道标识符、序列标识符和分组类型。
如果数据分组是完好的,则使用密钥和初始化矢量对数据分组内的有效载荷进行解密625,其中初始化矢量部分地取决于数据分组的报头的内容。
通过把所接收到的信道与所协商并且被存储在路由表150中的信道进行比较来检查第一对等体信道。当检测到第一对等体信道的改变630时,实施635安全检查。如果信道中的改变满足安全检查并且被验证为有效,则在路由表中更新640返回路径。
当在第一对等体信道中没有检测到改变时,或者当更新第一对等体信道中的改变时,数据分组内的数据被中继645到第二对等体。
下面阐述用于数据分组的一种示例性格式:
上面的数据分组在字节0处包括协议的版本,在字节1处包括分组类型,其通常可以表明封装的网络内容、保活分组、路由表分组或某种其他选项。
字节2-4保持用于隧道的该末端的隧道标识符,其作用域很容易大到足以满足对于使用VPN集中器的大型本地网络所预期的几千个隧道。
字节5-8提供用于每一个隧道分组的再循环主要分组序列标识符。字节9-12被用来表示其中数据分组被复制的次要分组序列标识符。字节13是标识会话标识符的密钥。
字节14-30提供通过从至少有效载荷内容、协议版本、隧道标识符、序列标识符和分组类型进行计算而导出的数据校验值。如果该值与在接收端处使用相同的项所计算出的值不匹配,则分组被视为损坏的或人为的。
从31往后的字节包含有效载荷,其通常是加密网络分组,但是也可以是在分组类型字段中规定的具有其他内容的分组。
不同分组类型的内容被不同地对待。数据分组包含将继续传输到目的地客户端的信息,保活分组包含由本地对等体提取并且或者被作出响应或者被用来更新本地对等体状态的信息,路由分组将包含同样由本地对等体提取并且可以被用来在远程对等体处更新或确认路由的信息。还可以提供其他分组类型。
下面阐述用于保活分组的数据格式的一个实例。
在一个实施例中,保活分组是在正常使用期间被间歇性地发送的作为数据分组的有效载荷内容被加密的分组,并且当VPN隧道未作他用时也被发送。
字节0-3表示作为再循环整数的保活序列标识符。字节4-5表示表明分组何时被创建的时间戳。
字节6表示作为由发起对等体保持的当前所记录的本地路由表的版本的远程路由表版本。路由表版本包括单个字节,因此将比较频繁地回绕。
下面示出用于路由表分组的一种示例性数据格式:
字段 | 数据类型 | 描述 |
路由表版本 | 无符号1字节整数 | 发送者的路由表的版本 |
路由表条目[] | 可变长度 | 零个或更多路由表条目 |
路由表分组是例如当远程对等体通过读取保活分组而检测到用于该隧道的路由表存在错误时作为数据分组的有效载荷内容所发送的分组。
在一个实施例中,路由表分组包括表示其路由表的实际当前版本的1字节整数以及表示路由表中的多个路由表条目的可变长度数组。
图7示出了用以实施图1的网络100的一个或多个组件的实施例的适当计算设备的一个实施例。这些组件包括以下各项当中的一项或多项:第一对等体105,路由表145,排序模块155,复制引擎160,第二对等体115,路由表150,复制引擎165,路由引擎170。
图7的计算设备是适当的计算设备的一个实例。它不意图暗示关于操作环境的使用范围或功能的任何限制。
示例性的计算设备包括(而不限于)个人计算机、服务器计算机、手持式或膝上型设备、移动设备、多处理器系统、消费电子装置、小型计算机、大型计算机以及包括任何前述系统或设备的分布式计算环境。移动设备的实例包括移动电话、平板设备和个人数字助理(PDA)。
虽然不作要求,但是各个实施例是在由一个或多个计算设备执行的“计算机可读指令”的一般情境中来进行描述的。在一个实施例中,计算机可读指令是通过有形计算机可读介质来分发的。
在一个实施例中,计算机可读指令被实施为程序模块。程序模块的实例包括实施特定任务或者实现特定抽象数据类型的函数、对象、应用程序接口(API)和数据结构。通常来说,在各种环境中按照希望来组合或分布计算机可读指令的功能。
图7中示出了系统700,其包括被配置为实施前面所描述的一个或多个实施例的计算设备705。在一个实施例中,计算设备705包括至少一个处理单元710和存储器715。取决于计算设备的确切配置和类型,存储器715是易失性(比如RAM)、非易失性(比如ROM、闪存等等)或者二者的某种组合。
通过在概念上把处理单元710和存储器715分组在一起的虚线示出了服务器720。
在一个实施例中,计算设备705包括附加的特征和/或功能。
一个实例是可移除和/或不可移除的附加存储装置,包括而不限于磁性存储装置和光学存储装置。这样的附加存储装置在图7中被示出为存储装置725。在一个实施例中,用以实施本文中所提供的一个或多个实施例的计算机可读指令被保持在存储装置725中。在一个实施例中,存储装置725存储用以实施操作系统和/或应用程序的其他计算机可读指令。计算机可读指令被加载到存储器715中,以便例如由处理单元710执行。
存储器715和存储装置725是计算机存储介质的实例。计算机存储介质包括而不限于RAM、ROM、EEPROM、闪存或其他存储器技术,CD-ROM、数字通用盘(DVD)或其他光学存储装置,磁盒、磁带、磁盘存储装置或其他磁性存储设备,或者可以被用来存储所期望的信息并且可以由计算设备705访问的任何其他介质。任何这样的计算机存储介质都可以是设备705的一部分。
在一个实施例中,计算设备705包括允许设备705与其他设备进行通信的至少一个通信连接740。所述至少一个通信连接740包括以下各项当中的一项或多项:调制解调器、网络接口卡(NIC)、集成网络接口、射频传送器/接收器、红外端口、USB连接或者用于将计算设备705连接到其他计算设备的其他接口。
在一个实施例中,(多个)通信连接740促进有线连接、无线连接或者有线和无线连接的组合。(多个)通信连接740传送和/或接收通信介质。
通信介质通常在例如载波或其他传输机制的“已调数据信号”中具体实现计算机可读指令或其他数据,并且包括任何信息递送介质。术语“已调数据信号”包括其一项或多项特性被设定或改变从而在其中编码信息的信号。
在一个实施例中,设备705包括至少一个输入设备745,比如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外摄影机、视频输入设备以及/或者任何其他输入设备。在一个实施例中,设备705包括至少一个输出设备750,比如一个或多个显示器、扬声器、打印机以及/或者任何其他输出设备。
(多个)输入设备745和(多个)输出设备750经由有线连接、无线连接或其任意组合连接到设备705。在一个实施例中,来自另一个计算设备的输入设备或输出设备被用作计算设备705的(多个)输入设备745或(多个)输出设备750。
在一个实施例中,计算设备705的各个组件通过各种互连(比如总线)连接在一起。这样的互连包括以下各项当中的一项或多项:外围组件互连(PCI)(比如PCI Express)、通用串行总线(USB)、火线(IEEE 13104)以及光学总线结构。在一个实施例中,计算设备705的各个组件通过网络互连。举例来说,在一个实施例中,存储器715包括位于通过网络互连的不同物理位置处的多个物理存储器单元。
应当认识到,被用来存储计算机可读指令的存储设备可以分布在网络上。举例来说,在一个实施例中,可经由网络760访问的计算设备755存储用以实施本文中所提供的一个或多个实施例的计算机可读指令。在一个实施例中,计算设备705访问计算设备755,并且下载计算机可读指令的一部分或全部以供执行。或者,计算设备705按照需要下载计算机可读指令的某些部分。在一个实施例中,一些指令在计算设备705处被执行,并且一些指令在计算设备755处被执行。
在一个实施例中,客户端应用785实现用户体验和用户界面。在一个实施例中,客户端应用785被提供为瘦客户端应用,其被配置为运行在web浏览器内。客户端应用785在图7中被示出为与计算设备755相关联。应当认识到,在一个实施例中,应用785与计算设备705或另一计算设备相关联。
前面关于本发明的描述包括其优选形式。在不背离本发明的范围的情况下可以对其作出修改。
Claims (40)
1.一种从第一对等体传送数据的方法,所述方法包括:
当确定数据满足重要性阈值时:
在第一隧道会话内从第一对等体传送第一数据分组,所述第一数据分组具有与第一隧道会话相关联的第一隧道标识符、第一主要分组序列标识符以及次要分组序列标识符;以及
在第二隧道会话内从第一对等体传送第二数据分组,所述第二数据分组具有与第二隧道会话相关联的第二隧道标识符、第二主要分组序列标识符以及次要分组序列标识符;以及
当确定数据不满足重要性阈值时:
在第一隧道会话内从第一对等体传送第一数据分组,所述第一数据分组具有与第一隧道会话相关联的第一隧道标识符以及第一主要分组序列标识符;
其中所述次要分组序列标识符在所述第一数据分组内的存在指示所述第一数据分组是副本;并且
其中所述次要分组序列标识符在所述第二数据分组内的存在指示所述第二数据分组是副本。
2.根据权利要求1所述的方法,其中,第一主要分组序列标识符在第一隧道会话内是唯一的,并且/或者第二主要分组序列标识符在第二隧道会话内是唯一的。
3.根据权利要求1或权利要求2所述的方法,其中,第一隧道会话与第一路由相关联,第一路由与第一路由版本标识符相关联,第一路由版本标识符被保持在与第一对等体相关联的计算机存储器中。
4.根据权利要求3所述的方法,还包括把第一路由版本标识符保持在计算机存储器中的路由表内。
5.根据权利要求1、2和4中任一项所述的方法,其中,第一数据分组包括网络内容分组、保活分组、路由表分组的其中之一。
6.根据权利要求1、2和4中任一项所述的方法,其中,第二数据分组包括网络内容分组。
7.根据权利要求3所述的方法,其中,第一数据分组包括保活分组,所述保活分组包括第一路由版本标识符。
8.一种在第一对等体与第二对等体之间传送数据的方法,包括:
在第一隧道会话内从第一对等体传送第一数据分组,所述第一数据分组具有与第一隧道会话相关联的第一隧道标识符、第一主要分组序列标识符以及次要分组序列标识符;以及
在第二隧道会话内从第一对等体传送第二数据分组,所述第二数据分组具有与第二隧道会话相关联的第二隧道标识符、第二主要分组序列标识符以及次要分组序列标识符;
其中所述次要分组序列标识符在所述第一数据分组内的存在指示所述第一数据分组是副本;并且
其中所述次要分组序列标识符在所述第二数据分组内的存在指示所述第二数据分组是副本。
9.一种解析在第一对等体与第二对等体之间传送的数据的方法,包括:
在第二对等体处在第一隧道会话内接收第一数据分组,所述第一数据分组具有与第一隧道会话相关联的第一隧道标识符、第一主要分组序列标识符以及次要分组序列标识符;
在第二对等体处在第二隧道会话内接收第二数据分组,所述第二数据分组具有与第二隧道会话相关联的第二隧道标识符、第二主要分组序列标识符以及次要分组序列标识符;以及
当确定第一数据分组和第二数据分组都包括次要分组序列标识符时,丢弃第一数据分组或第二数据分组。
10.根据权利要求9所述的方法,其中,第一主要分组序列标识符在第一隧道会话内是唯一的,并且/或者第二主要分组序列标识符在第二隧道会话内是唯一的。
11.根据权利要求9或权利要求10所述的方法,其中,第一隧道会话与第一路由相关联,第一路由与第一路由版本标识符相关联,第一路由版本标识符被保持在与第二对等体相关联的计算机存储器中。
12.根据权利要求11所述的方法,其中,第一数据分组包括与第一数据分组相关联的路由版本标识符,所述方法还包括当确定第一路由版本标识符与关联到第一数据分组的路由版本标识符之间的失配时,传送路由表分组。
13.根据权利要求12所述的方法,其中,路由表分组包括第一路由版本标识符。
14.根据权利要求12或权利要求13所述的方法,还包括把第一路由版本标识符保持在计算机存储器中的路由表内。
15.根据权利要求9、10、12和13中的任一项所述的方法,其中,第一数据分组包括保活分组。
16.一种被配置为从第一对等体传送数据的数据网络,所述网络包括:
与第一对等体相关联的排序模块,所述排序模块被配置为针对重要性阈值测量数据;
复制引擎,所述复制引擎被配置为当确定数据满足重要性阈值时:
组装第一数据分组,所述第一数据分组具有与第一隧道会话相关联的第一隧道标识符、第一主要分组序列标识符以及次要分组序列标识符;以及
组装第二数据分组,所述第二数据分组具有与第二隧道会话相关联的第二隧道标识符、第二主要分组序列标识符以及次要分组序列标识符;以及
第一对等体,所述第一对等体被配置为:
在第一隧道会话内从第一对等体传送第一数据分组;以及
在第二隧道会话内从第一对等体传送第二数据分组;
其中所述次要分组序列标识符在所述第一数据分组内的存在指示所述第一数据分组是副本;并且
其中所述次要分组序列标识符在所述第二数据分组内的存在指示所述第二数据分组是副本。
17.根据权利要求16所述的网络,其中,第一主要分组序列标识符在第一隧道会话内是唯一的,并且/或者第二主要分组序列标识符在第二隧道会话内是唯一的。
18.根据权利要求16或权利要求17所述的网络,其中,第一隧道会话与第一路由相关联,第一路由与第一路由版本标识符相关联,第一路由版本标识符被保持在与第一对等体相关联的计算机存储器中。
19.根据权利要求18所述的网络,还包括存储在计算机存储器中的路由表,第一路由版本标识符被保持在所述路由表内。
20.一种被配置为解析接收自第一对等体的数据的数据网络,所述网络包括:
第二对等体,其被配置为:
在第一隧道会话内接收第一数据分组,所述第一数据分组具有与第一隧道会话相关联的第一隧道标识符、第一主要分组序列标识符以及次要分组序列标识符,以及
在第二隧道会话内接收第二数据分组,所述第二数据分组具有与第二隧道会话相关联的第二隧道标识符、第二主要分组序列标识符以及次要分组序列标识符;以及
复制引擎,其被配置为当确定第一数据分组和第二数据分组都包括次要分组序列标识符时,丢弃第一数据分组或第二数据分组。
21.根据权利要求20所述的数据网络,其中,第一主要分组序列标识符在第一隧道会话内是唯一的,并且/或者第二主要分组序列标识符在第二隧道会话内是唯一的。
22.根据权利要求20或权利要求21所述的数据网络,其中,第一隧道会话与第一路由相关联,第一路由与第一路由版本标识符相关联,第一路由版本标识符被保持在与第二对等体相关联的计算机存储器中。
23.根据权利要求22所述的数据网络,其中,第一数据分组包括与第一数据分组相关联的路由版本标识符,所述数据网络还包括路由引擎,其被配置为当确定第一路由版本标识符与关联到第一数据分组的路由版本标识符之间的失配时,传送路由表分组。
24.根据权利要求23所述的数据网络,其中,路由表分组包括第一路由版本标识符。
25.根据权利要求23或权利要求24所述的数据网络,还包括存储在计算机存储器中的路由表,第一路由版本标识符被保持在所述路由表内。
26.一种存储有计算机可执行指令的计算机可读介质,所述计算机可执行指令在由处理器执行时使得处理器实施从第一对等体传送数据的方法,所述方法包括:
当确定数据满足重要性阈值时:
在第一隧道会话内从第一对等体传送第一数据分组,所述第一数据分组具有与第一隧道会话相关联的第一隧道标识符、第一主要分组序列标识符以及次要分组序列标识符;以及
在第二隧道会话内从第一对等体传送第二数据分组,所述第二数据分组具有与第二隧道会话相关联的第二隧道标识符、第二主要分组序列标识符以及次要分组序列标识符;以及
当确定数据不满足重要性阈值时:
在第一隧道会话内从第一对等体传送第一数据分组,所述第一数据分组具有与第一隧道会话相关联的第一隧道标识符以及第一主要分组序列标识符;
其中所述次要分组序列标识符在所述第一数据分组内的存在指示所述第一数据分组是副本;并且
其中所述次要分组序列标识符在所述第二数据分组内的存在指示所述第二数据分组是副本。
27.根据权利要求26所述的计算机可读介质,其中,第一主要分组序列标识符在第一隧道会话内是唯一的,并且/或者第二主要分组序列标识符在第二隧道会话内是唯一的。
28.根据权利要求26或权利要求27所述的计算机可读介质,其中,第一隧道会话与第一路由相关联,第一路由与第一路由版本标识符相关联,所述方法还包括把第一路由版本标识符保持在与第一对等体相关联的计算机存储器中。
29.根据权利要求28所述的计算机可读介质,其中,所述方法还包括把第一路由版本标识符保持在计算机存储器中的路由表内。
30.根据权利要求26、27和29中的任一项所述的计算机可读介质,其中,第一数据分组包括网络内容分组、保活分组、路由表分组的其中之一。
31.根据权利要求26、27和29中的任一项所述的计算机可读介质,其中,第二数据分组包括网络内容分组。
32.根据权利要求28所述的计算机可读介质,其中,第一数据分组包括保活分组,所述保活分组包括第一路由版本标识符。
33.一种存储有计算机可执行指令的计算机可读介质,所述计算机可执行指令在由处理器执行时使得处理器实施在第一对等体与第二对等体之间传送数据的方法,所述方法包括:
在第一隧道会话内从第一对等体传送第一数据分组,所述第一数据分组具有与第一隧道会话相关联的第一隧道标识符、第一主要分组序列标识符以及次要分组序列标识符;以及
在第二隧道会话内从第一对等体传送第二数据分组,所述第二数据分组具有与第二隧道会话相关联的第二隧道标识符、第二主要分组序列标识符以及次要分组序列标识符;
其中所述次要分组序列标识符在所述第一数据分组内的存在指示所述第一数据分组是副本;并且
其中所述次要分组序列标识符在所述第二数据分组内的存在指示所述第二数据分组是副本。
34.一种存储有计算机可执行指令的计算机可读介质,所述计算机可执行指令在由处理器执行时使得处理器实施解析在第一对等体与第二对等体之间传送的数据的方法,所述方法包括:
在第二对等体处在第一隧道会话内接收第一数据分组,所述第一数据分组具有与第一隧道会话相关联的第一隧道标识符、第一主要分组序列标识符以及次要分组序列标识符;
在第二对等体处在第二隧道会话内接收第二数据分组,所述第二数据分组具有与第二隧道会话相关联的第二隧道标识符、第二主要分组序列标识符以及次要分组序列标识符;以及
当确定第一数据分组和第二数据分组都包括次要分组序列标识符时,丢弃第一数据分组或第二数据分组。
35.根据权利要求34所述的计算机可读介质,其中,第一主要分组序列标识符在第一隧道会话内是唯一的,并且/或者第二主要分组序列标识符在第二隧道会话内是唯一的。
36.根据权利要求34或权利要求35所述的计算机可读介质,其中,第一隧道会话与第一路由相关联,第一路由与第一路由版本标识符相关联,所述方法还包括把第一路由版本标识符保持在与第二对等体相关联的计算机存储器中。
37.根据权利要求36所述的计算机可读介质,其中,第一数据分组包括与第一数据分组相关联的路由版本标识符,所述方法还包括当确定第一路由版本标识符与关联到第一数据分组的路由版本标识符之间的失配时,传送路由表分组。
38.根据权利要求37所述的计算机可读介质,其中,路由表分组包括第一路由版本标识符。
39.根据权利要求37或权利要求38所述的计算机可读介质,所述方法还包括把第一路由版本标识符保持在计算机存储器中的路由表内。
40.根据权利要求34、35、37和38中的任一项所述的计算机可读介质,其中,第一数据分组包括保活分组。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
NZ73749617 | 2017-11-20 | ||
NZ737496 | 2017-11-20 | ||
PCT/NZ2018/050164 WO2019098860A1 (en) | 2017-11-20 | 2018-11-20 | Method and system for transmitting data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111869168A CN111869168A (zh) | 2020-10-30 |
CN111869168B true CN111869168B (zh) | 2022-06-17 |
Family
ID=66540347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880087108.5A Active CN111869168B (zh) | 2017-11-20 | 2018-11-20 | 用于传送数据的方法和系统 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20200322274A1 (zh) |
EP (1) | EP3714577A4 (zh) |
CN (1) | CN111869168B (zh) |
AU (1) | AU2018370383A1 (zh) |
CA (1) | CA3086895A1 (zh) |
MX (1) | MX2020004745A (zh) |
WO (1) | WO2019098860A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11863349B2 (en) * | 2021-09-02 | 2024-01-02 | Nile Global, Inc. | Methods and systems for network segmentation |
US11757840B2 (en) * | 2021-09-12 | 2023-09-12 | Netflow, UAB | Configuring a protocol in a virtual private network |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101199187A (zh) * | 2004-07-23 | 2008-06-11 | 茨特里克斯系统公司 | 用于网络节点之间通信最优化的系统和方法 |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050105524A1 (en) * | 2003-11-17 | 2005-05-19 | Hughes Electronics Corporation | System and method for provisioning of route information in a meshed communications network |
EP1580958B1 (en) * | 2004-03-26 | 2010-12-15 | Canon Kabushiki Kaisha | Internet protocol tunnelling using templates |
EP1672891A1 (en) * | 2004-12-14 | 2006-06-21 | Alcatel | Method for transferring messages |
US7350227B2 (en) * | 2005-04-26 | 2008-03-25 | Cisco Technology, Inc. | Cryptographic peer discovery, authentication, and authorization for on-path signaling |
JP4817131B2 (ja) * | 2009-02-03 | 2011-11-16 | 横河電機株式会社 | Ipネットワークシステム |
CN101499972B (zh) * | 2009-03-16 | 2012-01-11 | 杭州华三通信技术有限公司 | Ip安全报文转发方法及装置 |
US9584443B2 (en) * | 2014-08-08 | 2017-02-28 | Pismo Labs Technology Limited | Methods and systems for transmitting data through an aggregated connection |
US8442230B1 (en) * | 2010-11-23 | 2013-05-14 | Juniper Networks, Inc. | Enhanced high availability for group VPN in broadcast environment |
US10637782B2 (en) * | 2011-03-23 | 2020-04-28 | Hughes Network Systems, Llc | System and method for policy-based multipath WAN transports for improved quality of service over broadband networks |
CN102594645B (zh) * | 2011-11-25 | 2017-12-01 | 中兴通讯股份有限公司 | 分布式网络中流量工程隧道的拆除方法及节点设备 |
JP5969689B2 (ja) * | 2012-04-18 | 2016-08-17 | アクメ パケット インコーポレイテッドAcme Packet, Inc. | リアルタイム通信のための冗長性 |
US8948129B2 (en) * | 2012-05-16 | 2015-02-03 | Juniper Networks, Inc. | Methods and apparatus for virtual soft handoff |
US9300570B2 (en) * | 2012-05-22 | 2016-03-29 | Harris Corporation | Multi-tunnel virtual private network |
US8842651B2 (en) * | 2012-11-28 | 2014-09-23 | Motorola Solutions, Inc. | Access point groupings bridging tunneled traffic for a communication network |
CN104283906B (zh) * | 2013-07-02 | 2018-06-19 | 华为技术有限公司 | 分布式存储系统、集群节点及其区间管理方法 |
US20150188949A1 (en) * | 2013-12-31 | 2015-07-02 | Lookout, Inc. | Cloud-based network security |
JP2015177430A (ja) * | 2014-03-17 | 2015-10-05 | 日本電気株式会社 | トンネルエンドポイント装置、通信装置、通信システム、通信方法及びプログラム |
CN110912798B (zh) * | 2014-08-08 | 2021-12-21 | 柏思科技有限公司 | 用于通过聚合连接传输数据的方法及系统 |
GB2529174A (en) * | 2014-08-12 | 2016-02-17 | Ibm | Batch compression management of messages |
US11290524B2 (en) * | 2014-08-13 | 2022-03-29 | Microsoft Technology Licensing, Llc | Scalable fault resilient communications within distributed clusters |
JP6492707B2 (ja) * | 2015-02-04 | 2019-04-03 | 富士通株式会社 | パケット検出プログラム、パケット検出装置、および、パケット検出方法 |
CN106941437B (zh) * | 2016-01-04 | 2020-11-17 | 中兴通讯股份有限公司 | 一种信息传输方法及装置 |
WO2017139699A1 (en) * | 2016-02-10 | 2017-08-17 | Hughes Network Systems, Llc | System and method for policy-based multipath wan transports for improved quality of service over broadband networks |
US10432707B2 (en) * | 2016-03-02 | 2019-10-01 | International Business Machines Corporation | Optimization of integration flows in cloud environments |
US9986499B1 (en) * | 2016-11-07 | 2018-05-29 | Microsoft Technology Licensing, Llc | Location-based determination of channel for initiating peer-to-peer session |
-
2018
- 2018-11-20 EP EP18878228.8A patent/EP3714577A4/en active Pending
- 2018-11-20 AU AU2018370383A patent/AU2018370383A1/en active Pending
- 2018-11-20 MX MX2020004745A patent/MX2020004745A/es unknown
- 2018-11-20 US US16/765,423 patent/US20200322274A1/en not_active Abandoned
- 2018-11-20 WO PCT/NZ2018/050164 patent/WO2019098860A1/en active Search and Examination
- 2018-11-20 CN CN201880087108.5A patent/CN111869168B/zh active Active
- 2018-11-20 CA CA3086895A patent/CA3086895A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101199187A (zh) * | 2004-07-23 | 2008-06-11 | 茨特里克斯系统公司 | 用于网络节点之间通信最优化的系统和方法 |
Non-Patent Citations (2)
Title |
---|
A novel IP over UDP tunneling based firewall traversal for peer-to-peer networks;Shijie Zhou;《Proceedings of 2013 IEEE International Conference on Service Operations and Logistics, and Informatics》;20130926;全文 * |
电力通信网IPv6过渡技术的研究分析;李彬;《中国新通信》;20160720;全文 * |
Also Published As
Publication number | Publication date |
---|---|
WO2019098860A1 (en) | 2019-05-23 |
EP3714577A4 (en) | 2021-07-21 |
AU2018370383A1 (en) | 2020-07-09 |
CN111869168A (zh) | 2020-10-30 |
MX2020004745A (es) | 2020-10-28 |
US20200322274A1 (en) | 2020-10-08 |
CA3086895A1 (en) | 2019-05-23 |
EP3714577A1 (en) | 2020-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10757138B2 (en) | Systems and methods for storing a security parameter index in an options field of an encapsulation header | |
US8132000B2 (en) | Secure transport of multicast traffic | |
US10050870B2 (en) | Handling multipath flows in service function chaining | |
EP2978174B1 (en) | Interest return control message | |
CN107046495B (zh) | 用于构建虚拟专用网络的方法、装置和系统 | |
JP4107213B2 (ja) | パケット判定装置 | |
US20140095862A1 (en) | Security association detection for internet protocol security | |
US9445384B2 (en) | Mobile device to generate multiple maximum transfer units and data transfer method | |
US20210273915A1 (en) | Multi-access interface for internet protocol security | |
US9420003B2 (en) | Dynamic communication between secure endpoints | |
CN111869168B (zh) | 用于传送数据的方法和系统 | |
US9137216B2 (en) | Session layer data security | |
WO2017148419A1 (zh) | 数据传输方法及服务器 | |
CN103227742B (zh) | 一种IPSec隧道快速处理报文的方法 | |
US20140101435A1 (en) | Encrypted communication apparatus and control method therefor | |
CN108989342B (zh) | 一种数据传输的方法及装置 | |
CN108924157B (zh) | 一种基于IPSec VPN的报文转发方法及装置 | |
CN117254976B (zh) | 基于VPP的国标IPsec VPN实现方法、装置、系统及电子设备 | |
WO2022046345A1 (en) | Partial packet encryption for encrypted tunnels | |
EP3180705B1 (en) | End point secured network | |
KR101971995B1 (ko) | 보안을 위한 보안 소켓 계층 복호화 방법 | |
WO2022166979A1 (zh) | 报文处理方法、客户端设备、服务器端设备和计算机可读介质 | |
EP4175228A1 (en) | Encryption segments for security in communication networks | |
EP3131269B1 (en) | Method and device for conducting ah authentication on ipsec packet which has gone through nat traversal | |
CN106464457B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230605 Address after: Illinois, US Patentee after: Marco Network Co. Address before: Oakland, New Zealand Patentee before: Marco networks (New Zealand) Ltd. |