用于第二层多网络链路隧道的协议的利记博彩app

文档序号:7978516阅读:254来源:国知局
用于第二层多网络链路隧道的协议的利记博彩app
【专利摘要】一种用于使用隧道联合信息以允许网络装置传输和接收第二层数据包的方法和系统通过多个网络链路在不同的第二层网络之间提供第二层隧道。第三层数据包用于封装第二层数据包。所述隧道联合信息包括网络链路标识和隧道序列号。所述网络链路标识用于识别所述一个或多个第三层数据包所属的网络链路和虚拟专用隧道,并且所述隧道序列号用于识别网络链路中的所述一个或多个第三层数据包的序列。
【专利说明】用于第二层多网络链路隧道的协议

【技术领域】
[0001] 本发明涉及数据通信领域。更确切地说,本发明涉及一种用于使用隧道联合信息 (tunnel association information)以允许多个网络链路在第二层数据上打开隧道的方法 和设备。

【背景技术】
[0002] 第二层隧道在多个远距离网络之间建立隧道网络以创建虚拟专用网(VPN)。第二 层隧道创建可以通过输入正确指令以设置隧道接口来手动地完成,或者可以通过在网络装 置中输入服务以协商正确的隧道接口来自动地完成。
[0003] 第二层隧道协议(L2TP)(由互联网工程任务组公布的标准)是用于支持第二层虚 拟专用网(VPN)的隧道协议。该隧道协议无法单独地提供任何加密或保密性;该隧道协议 取决于在隧道内穿过的加密协议以提供私密性。IPsec通常用于通过提供保密性、授权和完 整性来保护L2TP数据包。这两个协议的组合通常称为L2TP/IPsec。
[0004] 实施L2TP的问题在于性能,因为仍然可用于有效载荷的字节数减少。在L2TP/ IPsec下,仍然可用于有效载荷的字节数由于多层次的封装而进一步减少。另外,IPsec设 置和维修起来相对复杂。L2TP或L2TP/IPsec在结合网络上的实施会进一步减少仍然可用 于有效载荷的字节数并且增加设置和维修的复杂性,两个或两个以上的逻辑或物理网络连 接组合在该结合网络中。
[0005] 有利效果
[0006] 本发明允许使用隧道联合信息,所述隧道联合信息在第三层数据包中含有网络链 路标识(NLID)和隧道序列号(TSN),以在第三层网络上提供第二层隧道,同时提高性能并 且与其他第二层隧道方法和系统相比降低复杂性。


【发明内容】

[0007] 为了解决上述问题,本发明揭示使用隧道联合信息以解决该问题的方法和系统。 根据本发明的实施例,在将第二层数据包封装在第三层数据包中时,网络装置使用隧道联 合信息。在将第二层数据包从接收到的第三层数据包中去封装时,网络装置也使用隧道联 合信息。隧道联合信息的使用允许第三层数据包通过属于同一 VPN的不同网络链路进行传 输和接收。因此,第三层数据包可以具有不同的源地址和目标地址并且产生更高的吞吐量 和可靠性。隧道联合信息存储在协议标头中。隧道联合信息包括网络链路标识和隧道序列 号。网络链路标识用于识别第三层数据包所属的网络链路和虚拟专用隧道。隧道序列号用 于识别网络链路中的所述一个或多个第三层数据包的序列。
[0008] 揭示一种由处理引擎、网络接口、封装引擎、去封装引擎、协议引擎以及存储系统 组成的系统来解决上述问题。处理引擎由封装引擎、去封装引擎和处理引擎组成。封装引 擎用于将接收到的第二层数据包封装在一个或多个待传递的第三层数据包中。去封装引擎 用于将第三层数据包去封装成部分或完整的第二层数据包并且从第三层数据包中检索协 议标头。加密引擎用于对第二层数据包和第三层数据包进行加密和解密。协议引擎用于创 建和检索含有隧道联合信息的协议标头。存储系统用于向处理引擎提供指令并且提供临时 存储。

【专利附图】

【附图说明】
[0009] 附图并入本说明书中并构成本说明书的一部分,说明了本发明的各实施例,并与

【具体实施方式】一起解释本发明。在附图中,
[0010] 图1是图示了网络环境的网络图,其中网络装置采用第二层虚拟专用网隧道的示 例性方法,
[0011] 图2是图示了一种示例性方法的流程图,其中当发送第二层数据包时,网络装置 采用第二层虚拟专用网隧道,
[0012] 图3是图示了一种示例性方法的流程图,其中当接收第三层数据包时,网络装置 采用第二层虚拟专用网隧道,
[0013] 图4是本发明的示例性互联网协议数据包格式,
[0014] 图5是图示了一种示例性系统的框图,其中网络装置采用第二层虚拟专用网隧 道,
[0015] 图6是图示了网络连接、网络链路与虚拟专用网隧道之间的关系的框图。

【具体实施方式】
[0016] 现在下文将参考附图来更加全面地描述不同实施例,附图中示出优选实施例。可 以提出许多不同的形式并且所描述的实施例不应被理解为限于本文中所提出的实施例。相 反,这些实施例用以使本发明全面且完整,且用于将范围完全传达给所属领域的技术人员。 相同数字始终指代相同元件。
[0017] 图1图示了两个远距离的第二层网络如何可以通过实施本发明的实施例经由第 三层网络连接在一起的网络环境。可以采用同一网络环境来通过第三层网络连接三个或三 个以上的远距离第二层网络。本发明中可以采用的第二层网络协议包括以太网、令牌环网、 帧中继网、PPP、X. 25和ATM。本发明中可以采用的第三层网络协议包括互联网协议(IP)第 4版、IPv6、互联网分组交换协议和可路由协议组。
[0018] 计算装置101a、101b和101c连接到开关102上并且处于同一第二层网络中,以使 得它们可以通过第二层通信协议彼此通信。计算装置l〇2a、102b和102c连接到开关106上 并且处于同一第二层网络中,以使得它们也可以通过第二层通信协议彼此通信。然而,计算 装置101a、101b和101c中的任一者都无法通过第二层通信协议与计算装置102a、102b和 102c中的任一者直接通信,即使计算装置101a、101b、101c、102a、102b和102c都使用同一 第二层通信协议,例如,以太网。这是因为开关102和开关106通过互联网104分开。为了 允许计算装置101a、101b和101c能够感知计算装置102a、102b和102c处于同一网络中, 必须在计算装置l〇la、101b、101c、102a、102b和102c之间建立虚拟专用网(VPN)。路由器 103和路由器105 -起通过互联网104在开关102与开关106之间建立VPN。
[0019] 路由器103通过VPN将第二层数据包从开关102经由互联网104路由到路由器 105上,方式是首先将第二层数据包封装在一个或多个第三层数据包中,随后通过网络连接 120a、120b和120c中的一者或多者传递一个或多个第三层数据包。连接的网络连接120a、 120b和120c分别通过三个网络接口连接到路由器103上,并且可以使用光纤、以太网、ATM、 帧中继网、1'1/^1、1? ¥4、1?¥6、无线技术、1丨^、1丨1&?、高速分组接入技术和36--长期演进 技术(LTE)来实施。因此,可以传送第二层数据包的不同部分的一个或多个第三层数据包 可以具有不同的第三层源地址和目标地址。如果多个第三层数据包用于封装一个第二层数 据包,那么第二层数据包分段成多个第三层数据包。网络连接120a、120b和120c可以由相 同或不同的网络服务供应商提供,以将路由器103连接到互联网104上。
[0020] 类似地,网络连接121a和121b分别通过两个网络接口连接到路由器105上,并且 可以使用光纤、以太网、ATM、帧中继网、T1/E1、IPv4、IPv6、无线技术、Wi-Fi、WiMax、高速分 组接入技术和3GPP长期演进技术(LTE)来实施。网络连接121a和121b可以由相同或不 同的网络服务供应商提供,以将路由器105连接到互联网104上。
[0021] 网络连接,例如,由路由器103的天线网络接口部署的LTE连接,可以含有一个或 多个网络链路。属于同一 VPN的数据包可以由一个或多个网络连接传送。属于同一 VPN的 数据包也可以由一个或多个网络链路传送。网络连接可以传送多个VPN隧道。然而,网络 链路仅可以传送属于一个VPN隧道的数据包。网络链路可以使用面向连接的协议(例如, TCP)或无连接协议(例如,UDP)。
[0022] 图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时,所述第二层数据包可以分段成两个第三层数据包,所述第三层数据包可 以具有相同的第三层源地址和不同的第三层目标地址。
[0023] VPNb通过使用三个网络链路,即网络链路132a、132b和132c来实施。网络链路 132a使用网络连接121a的第三层源地址和网络连接120a的第三层目标地址来传送属于 VPNb的数据包。网络链路132b也传送属于VPNb的数据包,但是使用网络连接121b的第三 层源地址和网络连接120b的第三层目标地址。网络链路132c也传送属于VPNb的数据包, 但是使用网络连接121b的第三层源地址和网络连接120c的第三层目标地址。当多个第二 层数据包通过VPNb从路由器105传递到路由器103时,所述第二层数据包可以通过不同的 网络链路传送并且因此封装第二层数据包的第三层数据包可以具有不同的第三层源地址 和不同的第三层目标地址。
[0024] 具有不同的第三层源地址和不同的第三层目标地址的第三层数据包可以封装属 于同一隧道的第二层数据包有效载荷的原因是利用了第三层数据包内部的隧道联合信息。
[0025] 隧道联合信息由一系列位表不并且包含在协议标头中。协议标头由一系列位组 成。表示协议标头的位的数目根据将要输入VPN隧道的信息的本质和信息的数量而变化。 根据本发明各实施例中的一者,隧道联合信息可以出于安全的目的进行加密。根据本发明 各实施例中的一者,隧道联合信息包括网络链路标识(NLID)和隧道序列号(TSN)。NLID用 于识别第三层数据包所属的网络链路。网络链路是使用逻辑网络建立在两个网络节点之间 的链路。
[0026] 由于可以存在使用同一对的第三层源地址和目标地址在两个网络装置之间实施 的多个网络链路,因此表示NLID的位的数目应足够长,以避免混淆网络链路的标识。另外, NLID用于允许接收路由器能够认识到接收到的第三层数据包属于特定的VPN隧道,而不属 于其他网络流量。TSN用于协助接收路由器(例如,路由器105)将属于网络链路的接收到 的第三层数据包重新排序到正确的序列中。TSN由路由器103分配。根据本发明的一个实 施例,在网络链路的寿命期间,每一个TSN应该是唯一的。根据本发明的一个实施例,当网 络链路的寿命超过时间周期时,TSN可以再次被重新使用。表示TSN的位的数目应该足够 长,以避免混淆数据包序列。根据本发明的一个实施例,用以表示NLID的位的数目是32个 位。根据本发明的一个实施例,用以表示TSN的位的数目也是32个位。
[0027] 根据本发明各实施例中的一者,对于源地址、目标地址或者对于一对源地址和目 标地址,NLID是唯一的。因此,同一 TSN可以重新用于不同的源地址、目标地址或一对源地 址和目标地址。根据本发明各实施例中的一者,端口号也是NLID的一部分。
[0028] 互联网104由互连的计算机网络运行的第三层协议的一个或多个系统组成。互联 网104的互连计算机网络的系统可以是专用计算机网络或公用计算机网络。当路由器105 通过网络连接121a和121中的一者或这两者从互联网104接收一个或多个第三层数据包 时,所述路由器将一个或多个第三层数据包转换回第二层数据包并且随后将第二层数据包 传递到开关106。使用同一 VPN隧道,来自开关106的第二层数据包也可以被发送到开关 102。因此,计算装置101a、101b和101c以及计算装置102a、102b和102c处于同一 VPN中 并且能够使用同一第二层网络协议相互通信。
[0029] 根据本发明各实施例中的一者,路由器103与互联网104之间的网络连接的数目 至少为一。根据本发明各实施例中的一者,互联网104与路由器105之间的网络连接的数 目至少为一。当路由器103与互联网104之间仅存在一个网络连接以及互联网104与路由 器106之间存在一个网络连接时,属于VPN隧道的所有第三层数据包必须穿过路由器103 与互联网104之间的同一网络连接以及还穿过路由器105与互联网104之间的同一网络连 接。在这种情况下,与L2TP相比,由本发明提供的性能提高、更多冗余以及带宽增加的益处 并不显著。
[0030] 方法
[0031] 图2是图示了通过使用隧道联合以将第二层数据包封装在第三层数据包中的本 发明各实施例中的一者的流程图。当路由器103在步骤201处接收第二层数据包时,路由 器103通过首先在步骤202处创建协议标头来将第二层数据包封装成一个或多个第三层数 据包。随后,在步骤203处,协议标头通过路由器103用隧道联合信息来填充。隧道联合信 息用于允许路由器103能够与路由器105通信,以便将第三层数据包与VPN隧道相联系。
[0032] 根据本发明各实施例中的一者,路由器103对第二层数据包进行加密。在步骤204 处,路由器103决定第二层数据包是否必须通过手动设置的或在网络装置之间协商的以下 预定义规则来进行加密。如果决定第二层数据包必须进行加密,那么在步骤205处,加密信 息将被添加到协议标头中。加密信息包括密码信息和种子值信息。根据本发明各实施例中 的一者,加密通过使用高级加密标准来进行,并且相关的初始化向量被认为是加密信息并 且被添加到隧道联合信息中且存储在协议标头中。在步骤206处,根据本发明的一个实施 例,对完整的第二层数据包进行加密。根据本发明的另一实施例,还对协议标头进行加密。 当协议标头进行加密时,存储在协议标头中的加密信息未进行加密,以便促进在接收网络 装置处的解密过程。步骤205和步骤206的排序可以交换。根据本发明各实施例中的一者, 路由器103不会对第二层数据包进行加密并且因此步骤204、205和206不存在。
[0033] 在步骤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 确定将要使用的网络连接,这对所属领域的技术人员而言是很容易选择和实施的。
[0034] 在步骤208处,路由器103组合有效载荷,所述有效载荷是在步骤201处从开关 102接收到的原始第二层数据包,协议标头和第三层数据包标头组合在一起,以形成一个或 多个第三层数据包。在步骤209处,路由器103将一个或多个第三层数据包传递到互联网 104。当一个第三层数据不足以将协议标头和完整的第二层数据包封装在一起时,第二层数 据包可以进行分段并且被封装入多个第三层数据包中。所述分段可以依靠第三层分段来完 成,以使得协议标头和第二层数据包一起被看作一个有效载荷并且根据使用的第三层协议 进行分段。因此,第一个第三层数据包含有完整的协议标头以及第二层数据包的一部分,并 且随后的第三层数据包不含有协议标头。另一方面,分段可以依靠网络链路协议来完成,以 使得每个第三层数据包含有完整的协议标头和第二层数据包的一部分。
[0035] 根据本发明各实施例中的一者,第三层数据包标头含有用于路由的信息,包括用 于数据链路层、网络层以及0SI模型的运输层的信息。
[0036] 图4图示了用以传送利用本发明部署的VPN隧道的第三层数据包的一个实施例。 第三层数据包是由IP标头401、UDP标头402、协议标头403以及有效载荷404组成的IP数 据包。IP标头401由一系列位组成并且是由互联网工程任务组(IETF)发布的RFC79中所 描述的IPv4或者也由IETF发布的RFC2460中所描述的IPv6的标头。UDP标头由一系列位 组成并且传送由IETF发布的RFC768中所描述的用户数据协议的信息。协议标头403由一 系列位组成并且含有本发明中所描述的隧道联合信息。有效载荷404由一系列位组成并且 传送完整的第二层数据包或第二层数据包的一部分。
[0037] 在第三层数据包可以使用VPN隧道来封装第二层数据包之前,建立VPN隧道所需 的过程和对应信息包括对所属领域的技术人员而言显而易见的存取。对应信息可以由网络 装置管理员输入和/或可以在网络装置之间进行交换。如何交换VPN隧道建立信息对所属 领域的技术人员同样是显而易见的。
[0038] 用于封装第二层数据包的第三层数据包的数目取决于许多因素,包括第二层数据 包的数据包尺寸、第三层数据包的有效载荷尺寸、互联网104中常规允许的第三层数据包 的尺寸、用户法则、标准以及其他因素。如何确定用于封装的第三层数据包的数目对所属领 域的技术人员是显而易见的。
[0039] 当第二层数据包通过网络链路进行发送以检查网络链路的健康状况、VPN隧道的 健康状况或者传送非有效载荷信息时,NLID和TSN可以被设置为零。除了那些以外,NLID 和TSN的值是非零的,因为NLID和TSN用于识别网络链路和数据包序列。
[0040] 根据本发明各实施例中的一者,隧道联合信息进一步包括全球序列号(GSN),所述 全球序列号用于通过接收网络装置将从VPN隧道接收到的数据包安排至正确的序列。根据 本发明的一个实施例,在VPN隧道的寿命期间,每一个GSN应该是唯一的。根据本发明的一 个实施例,当网络链路的寿命超过时间周期时,GSN可以再次被重新使用。表示GSN的位的 数目应该足够长,以避免混淆数据包序列。根据本发明的一个实施例,用以表示GSN的位的 数目是32个位。
[0041] 根据本发明各实施例中的一者,隧道联合信息进一步包括第二层隧道指示符,所 述第二层隧道指示符用于通知接收网络装置第三层数据包含有第二层隧道的内容。第二层 隧道指示符可以通过使用一个或多个位嵌入到协议标头中。
[0042] 根据本发明各实施例中的一者,隧道联合信息进一步包括数据偏移指示符,所述 数据偏移指示符指示出用户UDP与协议标头之间的偏移的数量。数据偏移指示符可以通过 使用一个或多个位嵌入到协议标头中。
[0043] 根据本发明各实施例中的一者,隧道联合信息进一步包括版本指示符,所述版本 指示符确定正被使用的VPN隧道协议的版本并且允许向后和向前的兼容性。版本指示符可 以通过使用一个或多个位嵌入到协议标头中。
[0044] 根据本发明各实施例中的一者,隧道联合信息进一步包括保留位的数目,当更多 的信息必须在隧道联合信息中传送时,这些位保留用于将来使用。
[0045] 根据本发明各实施例中的一者,隧道联合信息进一步包括任选的时间戳指示符, 所述任选的时间戳指示符确定时间戳信息是否可用于协议标头中。时间戳信息可以用于计 算数据包的发送与数据包的接收之间的时差,或者用于计算数据包的发送与对应确认的接 收之间的往返时间。时间戳指示符和时间戳信息可以通过使用一个或多个位嵌入到协议标 头中。
[0046] 根据本发明各实施例中的一者,隧道联合信息进一步包括确认指示符,所述确认 指示符确定确认信息是否包含在协议标头中。确认信息用于数已成功接收到的数据包的数 目。确认指示符和确认信息可以通过使用一个或多个位嵌入到协议标头中。根据本发明各 实施例中的一者,确认信息指示出已接收到的数据包的最高序列号,例如,TSN。
[0047] 根据本发明各实施例中的一者,隧道联合信息进一步包括交替的确认指示符,所 述交替的确认指示符确定交替的确认信息是否包含在协议标头中。交替的确认信息用于数 已成功接收到的数据包的数目并且用于确认接收到一个以上的数据包。交替的确认指示符 和交替的确认信息可以通过使用一个或多个位嵌入到协议标头中。
[0048] 根据本发明各实施例中的一者,协议标头所使用的字节数是属于用于路由的第三 层数据包的标头的字节数以及从第三层数据包的总字节数中减去的属于封装的第二层数 据包的有效载荷的字节数。
[0049] 图3是图示了通过使用隧道联合以将第二层数据包去封装在第三层数据包中的 本发明各实施例中的一者的流程图。当路由器105在步骤301处从互联网104接收第三层 数据包时,路由器105通过检验第三层数据包的端口数来确定第三层数据包是否属于任何 VPN隧道。如果在步骤302处,端口数与预定义的端口数匹配,那么路由器105认为第三层 数据包属于VPN隧道。预定义的端口数可以通过网络管理员、网络装置的制造商进行预先 确定,或者可以在网络装置之间进行协商。随后在步骤303处,路由器105识别协议标头。 根据一个实施方式,协议标头紧靠着第三层数据包的标头。
[0050] 由于含有隧道联合信息的协议标头,在步骤304处通过读取存储在协议标头中的 NLED,路由器105能够确定第三层数据包所属的网络链路和VPN并且确定第三层数据包是 含有整个第二层数据包还是含有部分第二层数据包。当对第三层数据包的有效载荷进行 加密且路由器105首先识别来自存储在协议标头中的隧道联合信息的加密信息时,在步骤 305处确定且随后在步骤307处利用在步骤306处从协议标头中检索的信息对有效载荷进 行加密。根据本发明各实施例中的一者,对第三层数据包的部分有效载荷进行加密,例如, 未对封装的第二层数据包的标头进行加密,但是对第二层数据包的内容进行加密。根据一 个实施例,对第三层数据包的整个有效载荷进行加密。
[0051] 根据一个实施例,当第三层数据包不含有加密的有效载荷时,步骤305、306和307 不存在。
[0052] 在步骤308处,第三层数据包进行去封装以检索整个或部分第二层数据包。
[0053] 当完整的第二层数据包从一个或多个第三层数据包中去封装时,随后在步骤309 处,路由器105能够传递第二层数据包。
[0054] 根据一个实施例,接收路由器,例如,路由器105认为接收到的第三层数据包是可 靠的,即使属于同一 VPN隧道的第三层数据包具有不同的源地址或目标地址,因为接收路 由器依靠隧道联合信息来辨别可靠的第三层数据包。当存在一个以上传送用于VPN隧道的 第三层数据包的网络连接时会发生这种情况。在相同情况下,先前技术认为第三层数据包 中的一些并不可靠,因为源地址不同或目标地址不同。
[0055] 系统
[0056] 图5图示了实施本发明各实施例中的一者的网络装置。系统由连接到内部网络上 的一个或多个第一网络接口 505 ;连接到一个或多个公用和/或专用网上的一个或多个第 二网络接口 506;处理引擎501和存储装置507组成。第一网络接口 505和第二网络接口 506可以通过将与光纤、缆线或天线连接的媒介来实施。处理引擎501可以通过使用一个或 多个中央处理单元、网络处理器、微处理器、微控制器、FPGA、ASIC或能够执行指令的任何装 置来实施,以执行系统的基本算术、逻辑和输入/输出操作。
[0057] 封装引擎502用于将第二层数据包封装成一个或多个第三层数据包并且将协议 标头输入到每个第三层数据包中。去封装引擎504用于将第三层数据包去封装成部分或完 整的第二层数据包并且从第三层数据包中检索协议标头。加密引擎用于对第二层数据包和 第三层数据包进行加密和解密。所述领域的一般技术人员应了解,用以封装、去封装、加密 和解密数据包的许多不同实施方式适用于实践本发明。封装引擎502、协议引擎503和去封 装引擎504的功能通过处理引擎501来传送。可替代地,封装引擎502、协议引擎503和去 封装引擎504的功能可以通过中央处理单元、网络处理器、微处理器、微控制器、FPGA、ASIC 或能够执行指令的任何装置来实施,以执行系统的基本算术、逻辑和输入/输出操作。
[0058] 存储装置507可以通过使用DRAM、SDRAM、闪存RAM、光学存储器、磁性存储器、硬盘 和/或能够提供存储能力的任何其他材料来实施。
[0059] 网络装置通过一个或多个第一网络接口 505连接到一个或多个局域网上。在局域 网中,计算装置通过第二层技术彼此通信。网络装置还通过一个或多个第二网络接口 506 连接到一个或多个广域网上。在广域网中,计算装置通过第三层技术彼此通信。网络装置 通过使用一个或多个第二网络接口 506经由一个或多个广域网建立具有其他网络装置的 一个或多个VPN隧道。
[0060] 当在第一网络接口 505中的一者处接收第二层数据包且第二层数据包将通过VPN 隧道传递到另一局域网时,第二层数据包首先通过封装引擎502与协议标头一起被封装在 一个或多个第三层数据包中,随后通过一个或多个第二网络接口 506传递到广域网上。协 议引擎503用于创建含有隧道联合信息的协议标头。
[0061] 当通过VPN隧道在第二网络接口 505中的一者处接收第三层数据包(含有源于另 一局域网的整个或部分第二层数据包)且第三层数据包将传递局域网时,协议标头从第三 层数据包中检索到并且随后通过使用协议引擎502和去封装引擎504进行去封装以检索整 个或部分第二层数据包。如果第二层数据包分段成一个或多个第三层数据包时,网络装置 不会将第二层数据包传递到局域网,直到整个第二层数据包可用为止。协议引擎503用于 从协议标头中检索隧道联合信息。
[0062] 存储装置507用于向处理引擎501提供指令,以在将第二层数据包封装成一个或 多个第三层数据包期间提供临时存储,并且以在将一个或多个第三层数据包去封装成第二 层数据包期间提供临时存储。根据本发明的一个实施例,存储装置507用于直接向封装引 擎502、协议引擎503和去封装引擎507提供指令。
[0063] 所述领域的一般技术人员应了解,许多不同的硬件组合也将适用于实践本发明。
[0064] 在不脱离本发明的精神和范围的情况下,替代实施例对于本发明所涉及领域的技 术人员而言是显而易见的。因此,本发明的范围由所附权利要求书指出而非由先前的描述 指出。
【权利要求】
1. 一种用于计算机连网的方法,所述方法包括: 通过一个或多个处理器、一个或多个网络接口,或一个或多个处理器和一个或多个网 络接口的组合在网络装置中执行:接收第二层数据包;创建协议标头,其中隧道联合信息 存储在所述协议标头中,其中所述隧道联合信息包括网络链路标识和隧道序列号;利用所 述协议标头将所述第二层数据包封装成一个或多个第三层数据包,其中所述第三层数据包 具有相同或不同的源地址,其中所述第三层数据包具有相同或不同的目标地址;将所述一 个或多个第三层数据包传递到一个或多个所述网络接口上;其中所述网络链路标识用于识 别所述第二层数据包所属的网络链路和虚拟专用隧道;其中所述隧道序列号用于识别网络 链路中的所述一个或多个第三层数据包的序列。
2. -种用于计算机连网的方法,所述方法包括: 通过一个或多个处理器、一个或多个网络接口,或一个或多个处理器和一个或多个网 络接口的组合在网络装置中执行:通过一个或多个网络接口接收一个或多个第三层数据 包,其中所述第三层数据包可能不具有相同的源地址,其中所述第三层数据包可能不具有 相同的目标地址;从每个第三层数据包中检索协议标头,其中隧道联合信息存储在所述协 议标头中,其中所述隧道联合信息包括网络链路标识和隧道序列号;从所述一个或多个第 三层数据包中去封装第二层数据包;将所述第二层数据包传递到所述网络接口的一者上; 其中所述网络链路标识用于识别所述第二层数据包所属的网络链路和虚拟专用隧道;其中 所述隧道序列号用于识别网络链路中的所述一个或多个第三层数据包的序列。
3. 根据权利要求1或2所述的方法,其进一步包括:对所述一个或多个第三层数据包 的有效载荷进行加密。
4. 根据权利要求1或2所述的方法,其中当所述一个或多个第三层数据包的所述有效 载荷进行加密时,所述隧道联合信息包括初始化向量。
5. 根据权利要求1或2所述的方法,其中所述隧道联合信息包括全球序列号。
6. 根据权利要求1或2所述的方法,其中所述隧道联合信息包括版本指示符。
7. 根据权利要求1或2所述的方法,其中所述隧道联合信息包括时间戳指示符。
8. 根据权利要求1或2所述的方法,其中所述隧道联合信息包括确认指示符。
9. 根据权利要求1或2所述的方法,其中所述第二层数据包是以太网数据包。
10. 根据权利要求1或2所述的方法,其中所述一个或多个第三层数据包是互联网协议 数据包。
11. 根据权利要求1或2所述的方法,其中所述一个或多个第三层数据包使用用户数据 报协议进行传递。
12. 根据权利要求1或2所述的方法,其中所述网络链路标识的长度为三十二个位。
13. 根据权利要求1或2所述的方法,其中所述隧道序列号的长度为三十二个位。
14. 根据权利要求2所述的方法,其进一步包括:在所述去封装之前将所述一个或多个 第三层数据包安排成正确的顺序。
15. -种传输和接收通信数据的网络装置,所述网络装置包括:连接到一个或多个局 域网上的一个或多个局域网网络接口;连接到一个或多个广域网上的一个或多个广域网网 络接口;处理引擎,所述处理引擎耦合到所述一个或多个局域网网络接口和所述一个或多 个广域网网络接口上,所述处理引擎包括封装引擎,用于将接收到的第二层数据包封装在 一个或多个待传递的第三层数据包中、去封装引擎,用于将一个或多个接收到的第三层数 据包去封装成待传递的第二层数据包,以及协议引擎,用于处理隧道联合信息,其中隧道联 合信息包括网络链路标识和隧道序列号;存储系统,用于向所述处理引擎提供指令;其中 所述网络链路标识用于识别所述第二层数据包所属的网络链路和虚拟专用隧道;其中所述 隧道序列号用于识别网络链路中的所述一个或多个第三层数据包的序列。
16. 根据权利要求15所述的网络装置,其进一步包括:对所述一个或多个第三层数据 包的有效载荷进行加密。
17. 根据权利要求15所述的网络装置,其中当所述一个或多个第三层数据包的所述有 效载荷进行加密时,所述隧道联合信息包括初始化向量。
18. 根据权利要求15所述的网络装置,其中所述隧道联合信息包括全球序列号。
19. 根据权利要求15所述的网络装置,其中所述隧道联合信息包括版本指示符。
20. 根据权利要求15所述的网络装置,其中所述隧道联合信息包括时间戳指示符。
21. 根据权利要求15所述的网络装置,其中所述隧道联合信息包括确认指示符。
22. 根据权利要求15所述的网络装置,其中所述第二层数据包是以太网数据包。
23. 根据权利要求15所述的网络装置,其中所述一个或多个第三层数据包是互联网协 议数据包。
24. 根据权利要求15所述的网络装置,其中所述一个或多个第三层数据包使用用户数 据报协议进行传递。
25. 根据权利要求15所述的网络装置,其中所述网络链路标识的长度为三十二个位。
26. 根据权利要求15所述的网络装置,其中所述隧道序列号的长度为三十二个位。
27. 根据权利要求15所述的网络装置,其进一步包括:在所述去封装之前将所述一个 或多个第三层数据包安排成正确的顺序。
【文档编号】H04L29/06GK104067562SQ201180074664
【公开日】2014年9月24日 申请日期:2011年11月11日 优先权日:2011年11月11日
【发明者】宋浩伟, 陈永康, 吴锦超, 周杰怀 申请人:柏思科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1