首页> 中国专利> 用于在云计算中卸载隧道数据包的方法和系统

用于在云计算中卸载隧道数据包的方法和系统

摘要

用于在云计算中卸载隧道数据包的方法和系统。该方法提供一种网络设备,该网络设备可提供基于层2(L2)的隧道连接以卸载由隧道连接网关执行的隧道连接的至少一部分。由网络设备提供的基于层2(L2)的隧道连接可包括确定可接收由隧道连接网关处理的业务数据包的一个或多个其它网络设备;以及将业务数据包的至少一部分从网络设备直接传输至一个或多个其它网络设备,其中使用通过网络设备建立的L2隧道,使得一个或多个业务数据包的至少一部分的传输通过旁路一个或多个隧道连接网关来卸载隧道连接。可通过网络控制器处理通过网络设备的基于L2的隧道连接卸载的至少一部分。在网络设备中提供卸载隧道连接可基于业务数据包的业务类型的确定。

著录项

  • 公开/公告号CN102238230A

    专利类型发明专利

  • 公开/公告日2011-11-09

    原文格式PDF

  • 申请/专利权人 美国博通公司;

    申请/专利号CN201110118543.X

  • 发明设计人 坎·弗兰克·凡;

    申请日2011-05-09

  • 分类号H04L29/08(20060101);H04L12/56(20060101);

  • 代理机构44217 深圳市顺天达专利商标代理有限公司;

  • 代理人蔡晓红;邹秋菊

  • 地址 美国加州尔湾市奥尔顿公园路16215号92618-7013

  • 入库时间 2023-12-18 03:43:07

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-11-06

    专利权的转移 IPC(主分类):H04L29/08 登记生效日:20181017 变更前: 变更后: 申请日:20110509

    专利申请权、专利权的转移

  • 2017-03-29

    专利权的转移 IPC(主分类):H04L29/08 登记生效日:20170306 变更前: 变更后: 申请日:20110509

    专利申请权、专利权的转移

  • 2015-05-27

    授权

    授权

  • 2011-12-21

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20110509

    实质审查的生效

  • 2011-11-09

    公开

    公开

说明书

技术领域

本发明的具体实施例涉及联网,更具体地说,涉及一种用于在云计算中卸 载隧道数据包(tunnel packet)的方法和系统。

背景技术

云计算或是基于网络的计算向企业网络展示了许多具有吸引力的特征。云 计算通常支持使用应用程序而不需要在特定终端系统上安装该应用程序。即, 服务器和应用程序位于“云”中。结果是,从虚拟的任何地方都可使用该应用程 序和数据。然而,采用已有的技术,与从基于企业网络的客户-服务器到基于 网络的云之间的变换有关的复杂度和费用对于许多企业可能是禁止的。

比较本发明后续将要结合附图介绍的系统,现有技术的其它局限性和弊端 对于本领域的普通技术人员来说是显而易见的。

发明内容

提供了一种用于云计算中卸载隧道数据包处理的系统和/或方法,至少结 合一幅附图进行了充分的展现和描述,并在权利要求中得到了更完整的阐述。

依据本发明的一方面,一种方法包括:

在采用层2(L2)隧道连接(tunneling)以通过由一个或多个隧道连接网 关处理的一个或多个隧道来卸载至少一部分隧道连接的网络设备中:

确定一个或多个其它网络设备,所述一个或多个其它网络设备用于通过由 所述一个或多个隧道连接网关处理的所述一个或多个隧道来接收一个或多个 业务数据包(traffic packet);和

传输至少一部分所述一个或多个业务数据包至所述确定的一个或多个其 它网络设备,其中,所述一个或多个业务数据包的所述至少一部分的所述传输 通过旁路所述一个或多个隧道连接网关经所述一个或多个隧道来卸载隧道连 接。

优选地,所述方法进一步包括通过所述网络设备建立一个或多个L2隧道, 以用于卸载所述一个或多个业务数据包的所述至少一部分的隧道连接。

优选地,所述方法进一步包括通过所述网络设备建立的所述一个或多个 L2隧道传输所述一个或多个业务数据包的所述至少一部分。

优选地,所述方法进一步包括格式化所述一个或多个业务数据包的所述至 少一部分以用于通过所述网络设备建立的所述一个或多个L2隧道传输。

优选地,所述方法进一步包括通过所述网络设备中的一个或多个网络连接 建立所述一个或多个L2隧道的至少一部分。

优选地,所述方法进一步包括通过所述网络设备中的网络控制器处理所述 L2隧道连接卸载的至少一部分。

优选地,所述网络控制器用于在所述网络设备中处理所述L2隧道连接卸 载的至少一部分,所述处理对所述网络设备的操作是透明的(transparent of  operation of said network device)。

优选地,所述方法进一步包括维护在所述L2隧道连接卸载过程中使用的 隧道连接表格。

优选地,所述方法进一步包括确定与所述一个或多个数据包的每个相关的 业务类型,所述业务类型包括单播、组播、和/或广播业务。

优选地,所述方法进一步包括基于所述业务类型的确定传输所述一个或多 个业务数据包的所述至少一部分。

依据本发明的一方面,一种系统包括:

在网络设备中使用的一个或多个电路和/或处理器,所述网络设备采用层2 (L2)隧道连接(tunneling)以通过由一个或多个隧道连接网关处理的一个或 多个隧道来卸载至少一部分隧道连接,所述一个或多个电路和/或处理器用于:

确定一个或多个其它网络设备,所述一个或多个其它网络设备用于通过由 所述一个或多个隧道连接网关处理的所述一个或多个隧道来接收一个或多个 业务数据包;和

传输至少一部分所述一个或多个业务数据包至所述确定的一个或多个其 它网络设备,其中,所述一个或多个业务数据包的所述至少一部分的所述传输 通过旁路所述一个或多个隧道连接网关经所述一个或多个隧道来卸载隧道连 接。

优选地,所述一个或多个电路和/或处理器用于通过所述网络设备建立一 个或多个L2隧道,以用于卸载所述一个或多个业务数据包的所述至少一部分 的隧道连接。

优选地,所述一个或多个电路和/或处理器用于通过所述网络设备建立的 所述一个或多个L2隧道传输所述一个或多个业务数据包的所述至少一部分。

优选地,所述一个或多个电路和/或处理器用于格式化所述一个或多个业 务数据包的所述至少一部分以用于通过所述网络设备建立的所述一个或多个 L2隧道传输。

优选地,所述一个或多个电路和/或处理器用于通过所述网络设备中的一 个或多个网络连接建立所述一个或多个L2隧道的至少一部分。

优选地,所述一个或多个电路和/或处理器包括网络控制器,以用于通过 所述网络设备中的网络控制器处理所述L2隧道连接卸载的所述至少一部分。

优选地,所述网络控制器用于在所述网络设备处理中所述L2隧道连接卸 载的至少一部分,所述处理对所述网络设备的操作是透明的。

优选地,所述一个或多个电路和/或处理器用于维护在所述L2隧道连接卸 载过程中使用的隧道连接表格。

优选地,所述一个或多个电路和/或处理器用于确定与所述一个或多个数 据包的每个相关的业务类型,所述业务类型包括单播、组播、和/或广播业务。

优选地,所述一个或多个电路和/或处理器用于基于所述业务类型的确定 传输所述一个或多个业务数据包的所述至少一部分。

本发明的各种优点、各个方面和创新特征,以及其中所示例的实施例的细 节,将在以下的描述和附图中进行详细介绍。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1A是描绘可依据本发明实施例采用的示范传输系统的框图,所述传输 系统可支持隧道连接并包括服务多个本地网络设备的数据中心;

图1B是描绘可依据本发明的实施例采用的示范分布式数据中心环境的示 意图;

图2是描绘依据本发明实施例的采用卸载隧道连接的示范传输系统的框 图;

图3A是描绘依据本发明实施例的示范网络设备的框图,可配置所述网络 设备以卸载层2(L2)隧道连接;

图3B是依据本发明实施例的描绘示范隧道数据包的框图,可结合基于卸 载的层2(L2)隧道连接的传输采用所述隧道数据包;

图4A是依据本发明实施例的描绘用于卸载隧道数据包处理的示范步骤的 流程图;

图4B是依据本发明实施例的描绘用于基于业务类型在云计算中卸载隧道 数据包处理的步骤的流程图。

具体实施方式

本发明的具体实施例可在用于在云计算中卸载隧道数据包的方法和系统 中找到。在本发明的各个实施例中,网络设备可提供基于隧道连接的层2(L2), 其可用于卸载至少一部分由隧道连接网关提供的隧道连接操作和/或服务。网 络设备中提供的基于L2的隧道处理可包括确定一个或多个其它网络设备,网 络设备中处理的业务数据包可发送到所述其它网络设备。至少一部分业务数据 包可从网络设备传输至一个或多个其它网络设备,从而使得至少一部分业务数 据包的传输通过旁路所述一个或多个隧道连接网关卸载隧道连接。在这方面, 可通过一个或多个L2隧道传输所述至少一部分业务数据包,可通过用于隧道 连接卸载的网络设备建立所述L2隧道。可格式化通过L2隧道传输的至少一 部分业务数据包,以用于通过L2隧道的传输(例如通过将它们封装在数据IP 包中),所述L2隧道由所述网络设备建立。可由网络设备中的网络控制器处 理由网络设备提供的基于L2的隧道连接的至少一部分。在这方面,网络设备 对基于L2的隧道连接的处理可在网络设备中透明地执行。在网络设备中执行 的隧道连接卸载可基于处理的业务数据包的业务类型的确定。业务数据包可包 括例如单播、组播、和/或广播业务。在这方面,只有单播业务数据包在网络 设备中在卸载的L2隧道处理过程中处理。组播或广播业务可转发至隧道连接 网关处进行处理。网络设备可维护在所述网络设备中的基于L2的隧道处理过 程中使用的隧道连接表格。

图1A是描绘可依据本发明实施例采用的示范传输系统的框图,所述传输 系统可支持隧道连接并包括服务多个本地网络设备的数据中心。参见图1A, 其中示出了数据中心网络104、多个本地网络设备102a-102n、一个或多个隧 道连接网关106、多个远程网络设备112a-112m、计算云120、以及多个云网 络设备122a-122k。

多个本地网络设备102a-102n的每个可包括合适的逻辑、电路、接口、和 /或代码,以用于基于例如预装的指令和/或用户输入或反馈(例如,响应设备 输出)来执行各种任务和/或执行应用程序。示范网络设备可包括台式个人电 脑(PC)、便携式电脑、智能电话或其它手持移动设备、服务器、交换机、和 /或路由器。多个本地网络设备102a-102n的每个可在任务的执行和/或应用程 序的执行过程中传输数据和/或消息。在这方面,本地网络设备102a-102n可通 过无线和/或有线网络链路发送和/或接收数据。由本地网络设备102a-102n使 用的网络链路可包括以太网链路,诸如10/100Mbps以太网、1千兆比特以太 网、或10千兆比特以太网(10GbE)链路;蜂窝链路;无线局域网(WLAN), 诸如WiFi(IEEE 802.11);和/或其它类似的无线和/或有线链路。远程网络设 备112a-112m可与本地网络设备102a-102n类似。远程网络设备112a-112m可 以不需要与数据中心104关联。而是可以与不同的数据中心关联和/或与任何 数据中心都不关联。

数据中心网络104可与由数据中心服务的网络对应。在这方面,数据中心 网络104可与由特定信息技术(IT)操作者管理的专用网络对应,所述特定信 息技术(IT)操作者可采用一个或多个数据中心设施、容纳IT装置(housing IT equipment)和/或给关联网络中的设备和/或用户提供相关服务。可采用数据中 心以容纳提供第一和/或第二(例如,备份或冗余)电信和/或存储应用的大型 计算系统、和/或设备。

隧道连接网关106可包括合适的逻辑、电路、接口、和/或代码,以用于 提供隧道连接服务和/或基于隧道连接服务的传输。在这方面,隧道连接网关 106可用于支持一个或多个可提供隧道连接的隧道连接协议。在基于传输的隧 道连接中,可采用可设计为交付协议的特定协议来封装和/或携带对应另一个 协议的数据或数据包,可将所述另一个协议设计为有效载荷协议。这可支持在 对应交付协议的不兼容的交付-网络上携带对应有效载荷协议的数据,以通过 原本为不信任的网络来提供那些数据的安全传输。在开放式系统互连(OSI) 模型中,交付协议可通常在相同层或OSI模型中与有效载荷协议不同的层上 操作。例如,在有效载荷数据包包括层2(L2)数据包的实例中,基于L2数 据包的交付的隧道连接还可基于另一个网络协议,诸如互联网协议(IP)。在 这方面,可封装隧道连接L2数据包为传输的IP数据包,所述IP数据包可在 任何支持IP的网络中传输。可采用各种隧道连接协议以支持基于IP的隧道连 接传输,包括例如通用路由封装(GRE)协议。在这方面,可在使用采用公共 IP地址的基于GRE的交付数据包的互联网上携带(隧道连接)包括专用地址 的有效荷载IP数据包。在该隧道连接操作过程中,可采用L2MAC地址作为 用于业务定向和路由的主要识别手段。

计算云120可包括多个互联的设备、系统、和/或子网,上述可提供和/或 支持由计算云120提供的各种服务。在这方面,术语“云”指的是互联网,而且 是基于作为计算机网络图中云的互联网的图形描绘,以呈现互联网的底层基础 架构。计算云120可包括例如多个与提供由计算云120提供的各种服务有关的 服务器和/或计算设备。在这方面,可采用这些服务器以提供可靠的服务,例 如可通过单个服务器和/或数据中心交付所述可靠的服务。计算云120可向用 户呈现为例如由计算云120提供的服务和/或资源的单点访问。计算云120中 的服务器可包括例如应用服务器,所述应用服务器可用于运行特定软件应用程 序和/或web服务器,HTTP客户可连接到所述web服务器,以随着数据内容 一起发送命令和接收响应。计算云120还可包括网络设备,诸如网络设备 122a-122k,所述网络设备122a-122k在访问计算云120过程中获得特定服务, 可在支持由计算云120提供的服务中采用自己本身。在这方面,网络设备 122a-122k与远程网络设备112a-112m类似。

操作中,可采用隧道连接网关106以数据中心网络104中的网络设备内提 供隧道连接服务。在这方面,可在数据中心网络104内的网络设备与数据中心 网络104以外的网络设备(诸如远程设备112a-112m中的一个或多个)之间的 交互过程中采用基于隧道连接的传输。在这方面,隧道连接网关106可用于支 持一个或多个隧道连接协议,所述隧道连接协议可提供本地网络设备 102a-102n的一个或多个和/或数据中心网络104以外的一个或多个对应下载者 (诸如远程设备112a-112m中的一个或多个)之间的隧道连接。然而对隧道连 接网关106的集中隧道连接操作可能是不需要的,因为在重负载下,隧道连接 网关106可转变成网络瓶颈。相应地,在本发明的各个示范实施例中,可从隧 道连接网关106卸载至少一部分隧道连接操作到网络设备中,所述网络设备可 试图采用基于隧道连接的传输。例如,在实例中,其中隧道连接传输是基于 L2隧道连接、包括使用基于IP的数据包的隧道连接L2数据包、例如基于GRE 协议,可在网络设备102a-1025n内直接执行L2隧道处理的至少一些。这能够 卸载将在隧道连接网关106内执行的隧道处理的至少一些,从而可减少隧道连 接网关106内的处理负载和/或释放处理或存储资源。

图1B是描绘可依据本发明的实施例采用的示范分布式数据中心环境的 图。参见图1B,示出了包括多个本地数据中心网络1541-154M的分布式数据中 心环境152。本地数据中心网络1541-154M的每个实质上与图1A的数据中心网 络104类似。在这方面,多个本地数据中心网络1541-154M的每个可包括多个 网络设备,后者可包括例如一个或多个便携式电脑162、一个或多个台式电脑 164、一个或多个服务器166、和/或一个或多个交换机168。

在本发明的示范方面中,可由一个或多个隧道连接网关服务本地数据中心 网络1541-154M的每个,其中示出了隧道连接网关1561-156M。在这方面,隧 道连接网关1561-156M的每个可与隧道连接网关106类似,实质上如图1A所 描述的。

传统的数据中心原本在物理上和/或地理上受限和受约束,数据中心技术 的最新进展开创了移动和冗余的新纪元。在这方面,当前数据中心可跨越大的 地理区域,并重视和/或支持分布式环境,所述分布式环境包括多个其中具有 不同系统的位置,如图1B的分布式环境152中所示。另外,虚拟化技术的出 现和/或发展也增加了基于数据中心的服务中更具移动性的需要。在这方面, 可配置诸如服务器166的平台以支持虚拟机(VM),所述虚拟机在提供与平 台和/或平台内物理资源交互的管理程序的顶部运行。在这方面,可采用VM 以用于托管应用程序,所述应用程序可在相对平台和/或下方的物理资源独立 和/或透明的VM内运行。相应地,VM和/或VM内的任何应用程序可顺从物 理机之间的透明迁移,诸如从本地数据中心网络1561中的服务器166到本地 数据中心网络1562中的台式机164。当优选组件间的传输限制在信任的环境中 进行时,需要使用设备和/或网络传输位于分布式环境中的组件,其中所述分 布式环境诸如分布式数据中心环境152,所述设备和/或网络诸如基于IP的网 络,如互联网150,该互联网150不是相同信任环境的成员。相应地,可通过 使用额外的措施确保安全传输,所述额外的措施可保护传输的安全,即使是在 穿越不信任的网络和/或设备时。

可例如采用隧道连接以在分布式环境中提供安全传输,诸如分布式数据中 心环境152。在这方面,可采用诸如隧道连接网关1561-156M的隧道连接网关 以实现分布式环境内组件间交换的消息和/或数据的交换,诸如在分布式数据 中心环境152内,通过依据隧道连接协议封装它们以在穿越不信任实体的过程 中保护它们。可采用诸如GRE的基于IP的隧道连接协议以通过将它们封装到 IP数据包内来隧道连接数据包,例如充分利用基于IP的网络的普遍性的优势。 在这方面,可将隧道数据包作为IP数据包的有效载荷进行传输,例如将诸如 TCP和/或IP报头的额外的报头附加给它们。相应地,分布式数据中心环境152 的组件之间交换的消息和/或数据可隧道连接(tunneled)成为层2(L2)数据 包,可将所述L2数据包封装到IP数据包内,从而例如使得它们可通过互联网 150进行传输。可采用L2MAC地址作为用于业务定向和路由的主要识别手段。 在这方面,统一的层2网络是一种解决方案,其中层2广播域概念可延伸到本 地连接的网络以外,所述本地连接的网络诸如本地数据中心网络1561-156M的 每个。通过使用隧道连接和数据包封装,可在交叉的多个本地数据中心网络上 建立统一的层2网络。统一的层2广播域的使用可征收各种需求,然而,诸如 将单播业务交付到正确的终端站,如果位置是已知的,或将单播业务驱动至多 个分段而不考虑地理位置;将多播业务复制到多个分段;将广播业务复制到多 个分段;以及如果存在互连的隧道连接网关的多个路径,或者如果存在不只一 个隧道连接网关,避免网络循环。

然而,可能不需要将所有的隧道连接操作都约束到隧道连接网关,诸如隧 道连接网关1561-156M,尤其是在重负载的情形中,此时隧道连接网关 1561-156M可转变成网络瓶颈。相应地,在本发明的各个实施例中,例如可从 诸如隧道连接网关1561-156M的隧道连接网关卸载至少一部分隧道连接操作到 分布式数据中心环境152内的网络设备中,以减少隧道连接网关1561-156M处 的工作负载、和/或释放隧道连接网关内的资源。在这方面,可以选择方式执 行卸载,以确保传输的连续有效性和/或安全性。例如,在实例中,其中将统 一的层2广播网络配置在分布式的数据中心环境152内以用作隧道连接目的, 可将卸载限制为诸如单播业务的特定业务类型、和/或仅在特定条件下。在这 方面,单播业务的正确交付通常要求分配位置和/或寻址信息到所有的本地数 据中心网络1541-154M。在这方面,与设备相关的位置信息可包括涉及和/或描 述或限定与设备相关的位置的信息。位置信息可包括例如物理位置有关的信 息,诸如地理上有关的信息。位置信息还可包括逻辑上有关的信息,诸如描述 相关设备逻辑上在网络和/或分布式环境层次内的位置的信息,这例如能够确 定分布式数据中心环境152中最近的隧道连接网关。相应地,可采用位置和/ 或寻址信息以确保业务数据包的合适路由,使得当通过诸如隧道连接网关1561的隧道连接网关接收单播业务时,可封装它并将它交付给正确的对应隧道连接 网关,随后交付给正确的端点网络设备。在位置和/或寻址信息可能不出现的 情况中,封装的业务可能会被交付给所有的隧道连接网关1561-156M

相应地,为了卸载单播业务隧道,网络设备可执行位置和/或寻址信息的 查找,并在可能时执行封装/解封装,诸如基于位置和/或寻址信息的可用性而 不是依靠和/或采用隧道连接网关,这最终将增强分布式数据中心环境152中 的可扩展性和稳定性。然而,隧道连接组播和/或广播业务可保留在隧道连接 网关1561-156M中。在这方面,组播和/或广播的复制本质上是隧道连接网关的 响应,其中,封装网关处接收的业务并组播至同一层2广播域中的其它隧道连 接网关。在目的隧道连接网关进行接收时,将覆盖封装的业务以成为组播或广 播层2数据包,然后所述层2数据包将提交至本地网络,并最终复制给所有的 分段(segment)。另外,包括卸载业务在内的所有类型的业务可能还需要在隧 道连接网关中进行特殊的处理,使得业务不会再次提交至发起者本地数据中心 网络或再次提交至先前已交付了业务的地方,否则这将导致网络循环。卸载的 隧道连接数据流服务的网络设备可包括具有基于非虚拟化结构的设备,其中可 运行单个操作;具有基于虚拟化结构的设备包括多个虚拟机(VM)、单根I/O 虚拟化(SR-IOV)、和/或多根I/O虚拟化(MR-IOV);和/或上述的任意组合。

图2是描绘依据本发明实施例的采用卸载隧道连接的示范传输系统的框 图。参见图2,示出了包括源和目的网络设备的网络设备212a和212b、以及 隧道连接网关206a和206b。图2中还示出了一个或多个网络设备214。

隧道连接网关206a和206b可与实质上关于图1A所描述的隧道连接网关 106类似。网络设备202a和202b包括可通过隧道管线传输的网络设备。在 这方面,网络设备202a和202b可与图1A的环境152的不同本地数据中心网 络1541-154M中的网络设备对应。例如,网络设备202a可与本地数据中心网络 1561中的服务器166对应,以及网络设备202b可与本地数据中心网络1562中 的台式机164对应。

操作中,网络设备202a和202b可通过分别使用隧道连接网关206a和206b 进行安全传输。在这方面,网络设备202a可通过专用连接220a传输目的地是 网络设备202b的数据包至与网络设备202a相关的隧道连接网关206a。例如, 隧道连接网关206a可通过去除任何额外的报头将从网络设备202a接收的数据 包解装(strip)成L2数据包。然后将解装的L2数据包封装成IP数据包,可 通过IP公共连接222将所述IP数据包传输至对应的隧道连接网关206b,其中, 可将初始的L2数据包作为IP数据包中的有效载荷进行传输。隧道连接网关 206b可解封装接收的IP数据包,并可提取初始的L2数据包,然后所述L2数 据包可通过专用连接220b行进至网络设备202b。

为了卸载一些由隧道连接网关206a和206b提供的隧道连接服务,可由网 络设备直接处理至少一些隧道数据包。例如,网络设备202a和202b可用于处 理特定类型的业务,诸如直接通过它们自己的公共和/或外部连接的单播业务, 如所示的通过IP公共连接224,所述IP公共连接224例如可穿越一个或多个 外部网络设备214。在这方面,网络设备202a可执行位置和/或寻址信息的查 找,并在对应网络设备202b的相关信息的可用性确定时,直接执行基于隧道 连接的封装,以将隧道L2数据包封装为IP数据包,可通过IP连接224将所 述IP数据包传输至网络设备202b。类似地,网络设备202b可执行位置和/或 寻址信息的查找,并在基于对应网络设备202a的信息的可用性的基础上,在 携带隧道L2数据包的接收IP数据包上执行基于隧道连接的解封装,可通过IP 连接224接收所述隧道L2数据包。

图3A是描绘依据本发明实施例的示范网络设备的框图,可配置所述网络 设备以卸载层2(L2)隧道连接。参见图3A,示出了网络设备300、主处理器 302、系统存储器304、系统总线306、输入/输出(I/O)子系统308、以及网 络访问子系统310。还在图3A中示出了网络320。

网络设备300可包括主处理器302、系统存储器304、系统总线306、输 入/输出(I/O)子系统308、和/或网络访问子系统310。在这方面,主处理器 302可提供网络设备300的操作的整体控制和/或管理;I/O子系统308可实现 用户与网络设备300的交互;以及在执行各种任务和/或应用程序时,网络访 问子系统310可实现来自和/或送去网络设备300的数据和/或消息的传输。网 络设备300还可包括其它硬件资源(未示出),所述硬件资源诸如内部或外围 声卡和/或图形卡。网络设备300可例如与图2的网络设备202a、202b、和/ 或214对应。在本发明的示范方面中,网络设备300可用于处理从隧道连接网 关的隧道连接卸载,实质上如图1A、1B、和/或2相关的描述。在这方面,网 络设备300可用于执行L2隧道连接以实现将L2数据包转发至目的网络设备, 所述L2数据包原本可能通过隧道连接网关直接隧道连接至目的地网络设备。

主处理器302可包括合适的逻辑、电路、接口、和/或代码,以用于处理 数据、和/或控制和/或管理网络设备300的操作、和/或网络300内执行的任务 和/或应用程序。在这方面,主处理器302可用于通过采用例如一个或多个控 制信号来配置和/或控制网络设备300的各种组件和/或子系统。主处理器302 还可控制网络设备300内的数据转移。主处理器303可实现例如存储在系统存 储器304中的应用程序、程序和/或代码的执行。系统存储器304可包括合适 的逻辑、电路、接口和/或代码,以实现网络设备300中数据、代码和/或其它 信息的永久性和/或非永久性的存储和/或提取。在这方面,系统存储器304可 包括一个或多个存储器设备和/或可实施合并一个或多个存储器技术,所述存 储器技术包括例如只读存储器(ROM)、随机存储器(RAM)、和/或闪存。系 统存储器304可存储例如可包括参数和/或代码的配置数据,包括软件和/或固 件,但是配置数据不仅限于这方面。

系统总线306可包括合适的逻辑、电路、接口、和/或代码,以能够实现 网络设备300中各种组件和/或系统之间的数据和/或消息的交换。在这方面, 系统总线可包括基于并行或串行、和/或内部或外围的总线技术、和/或上述的 任意组合。示范系统总线接口可包括内置集成电路(I2C)、通用串行总线 (USB)、先进技术连接(ATA)、小型电脑系统接口(SCSI)、外围组件互联 (PCI)、和/或基于高速外围组件互联(PCI-e)的接口。

I/O子系统308可包括合适的逻辑、电路、接口、和/或代码,以能够输入 和/或输出数据和/或消息,以例如支持用户与网络设备300的交互,从而能够 接收用户输入和/或提供用户输出。例如,I/O子系统308可促进通过一个或多 个I/O设备与网络设备300的交互,所述I/O设备诸如监控器、鼠标、和/或键 盘。

网络访问子系统310可包括合适的逻辑、电路、接口、和/或代码,以用 于从网络设备300传输数据和/或消息、和/或传输数据和/或消息至网络设备 300。网络访问子系统310可例如与一个或多个网络接口控制器(NIC)对应, 所述网络接口控制器(NIC)合并到网络设备300中以促进网络的可访问性。 网络访问子系统310可包括例如联网处理器312、联网存储器314、和/或多个 端口316a-316n。联网处理器312可包括合适的逻辑、电路、接口、和/或代码, 以用于控制和/或管理网络访问子系统310的操作。联网存储器314可包括合 适的逻辑、电路、接口、和/或代码,以用于网络访问子系统310内数据的专 用本地存储和/或缓冲。在这方面,联网存储器314可包括一个或多个集成在 网络访问子系统310中的ROM和/或RAM存储器设备。多个端口316a-316n 的每个可包括合适的逻辑、电路、接口、和/或代码,以用于基于一个或多个 有线的和/或无线的联网标准或协议,在网络访问子系统310中提供网络接口 功能。多个端口316a-316n可包括例如10GbE端口。网络访问子系统310可通 过多个端口316a-316n支持和/或执行例如物理(PHY)层相关的访问、和/或 用于所述物理(PHY)层相关访问的处理。网络访问子系统310还可执行至少 一些层2(L2)处理。在这方面,网络访问子系统310可提供各种媒体访问控 制(MAC)和/或逻辑链路控制(LLC)相关的服务。在本发明的示范方面中, 网络访问子系统310可用于执行和/或处理至少一部分由网络设备300提供的 隧道连接卸载。在这方面,网络访问子系统310可用于建立L2隧道上的连接, 可在隧道连接卸载过程中采用所述L2隧道。另外,网络访问子系统310例如 通过联网处理器312可提供至少一些隧道连接卸载过程中需要的格式化和/或 数据包处理。

网络320可包括互联的网络和/或设备的系统,所述网络和/或设备能够基 于一个或多个联网标准实现多个节点间的数据和/或消息的交换,所述联网标 准包括例如互联网协议(IP)。网络320可包括多个宽带子网络,所述宽带子 网络可包括例如卫星网络、有线网络、DVB网络、互联网、和/或其它局域网 或广域网。这些子网络可共同实现例如通过以太网数据包将数据传递至多个终 端用户。在这方面,可通过铜线、光纤电缆、无线接口、和/或其它基于标准 的接口提供网络320内、和/或目的至网络320或来自网络320的物理连接。 网络320可与图1A的计算云120和/或图1B的互联网150对应。

操作中,可采用网络设备300例如通过主处理器302执行各种任务、应用 程序、和/或处理。由网络设备300执行的任务、应用程序、和/或处理可基于 例如系统存储器304中的预编程的指令来执行、和/或可由用户输入和/或输出 触发和/或控制、和/或可需要用户输入和/或输出,所述用户输入和/或输出可 例如通过I/O子系统308接收和/或提供。在它的操作过程中,网络设备300 例如通过网络访问子系统310发送和/或接收数据和/或消息。例如通过网络链 路发送和/或接收由网络设备300传输的数据和/或消息,可通过多个端口 316a-316n的一个或多个来采用所述网络链路。

可将网络设备300配置为虚拟平台。在这方面,例如可采用主处理器302 以运行多个虚拟机(VM)。另外,例如通过主处理器302运行和/或使用管理 程序(HV),以支持VM的操作。在这方面,管理程序可用于支持至少一些 VM与网络设备300中的一些物理资源交互,所述网络设备300诸如网络访问 子系统310。

本发明的各个实施例中,网络设备300可支持从隧道连接网关的卸载隧道 处理,实质上如图1A、1B和2的相关描述。在这方面,网络设备300可用于 执行至少一些隧道处理,所述隧道处理原本由隧道连接网关执行,可从所述隧 道连接网关卸载隧道处理。例如,在统一的层2广播网络内执行隧道连接的实 例中,可采用网络设备300进行至少一部分业务的隧道连接处理,所述业务例 如包括单播业务,从而支持从隧道连接网关的卸载隧道处理,采用所述隧道连 接网关以支持统一的层2广播网络。在这方面,可例如由网络访问子系统310 执行卸载隧道连接。采用网络访问子系统310是具有优势的,因为它能够采用 与联网相关的处理和/或网络访问系统310中的存储资源。另外,网络访问系 统310内的隧道连接处理还可允许执行对网络设备300内运行的主机透明的该 隧道处理,所述网络设备300可包括操作系统或在所述网络设备300内运行的 虚拟机。

本发明的示范方面中,网络设备300可例如通过系统存储器304维护隧道 连接表格330,可采用所述隧道连接表格330以存储与通过网络设备300提供 卸载的隧道连接传输有关的信息。可基于网络设备300的操作,诸如在隧道处 理过程中,生成和/或更新隧道连接表格330中的信息;和/或基于从诸如隧道 连接网关的其它设备和/或实体接收的信息生成和/或更新隧道连接表格330中 的信息。隧道连接表格330可包括多个表格项目3321-332M。每条项目332可 存储与特定隧道管线相关的信息。与每条表格项目332相关的示范隧道信息可 包括例如诸如封装帧格式(例如,L2vs IP)的对应隧道的属性、本地MAC 目的、远程数据中心识别符、IP地址、和/或可在封装过程中采用的任何额外 信息,以例如制定封装初始有效载荷数据包的外部交付报头。可基于与隧道连 接端(tunneling peer)有关的唯一识别符索引和/或访问隧道连接表格330中的 项目。例如,可采用目的网络设备的MAC地址作为用于隧道连接表格330中 隧道连接信息的存储和/或提取的索引。可通过网络设备330,例如使用主处理 器302,在通过网络设备300提供的卸载隧道的建立、配置、使用、和/或管理 过程中生成隧道连接表格330。

卸载L2隧道处理到网络设备300包括例如通过网络访问子系统310执行 各种任务和/或操作,所述任务和/或操作需要促进L2隧道连接卸载。示范任 务可包括隧道连接任务数据包发送过程中的封装、隧道连接任务数据包接收过 程中的解封装、和/或分割避免。在这方面,封装过程中,对于每个发送数据 包,可采用目的MAC地址作为查找隧道连接表格330中对应项目332的密匙。 在找到诸如项目3321的命中(entry hit)项目的实例中,可采用存储在命中项 目中的隧道连接属性来封装有效负荷数据包,从而隧道连接数据包至目的网络 设备。在这方面,可采用从表格项目3321提取的属性来制定封装初始有效负 荷数据包的外部交付报头。在这方面,可将外部封装报头配置给例如本地数据 中心网络的边缘路由器,配置使得生成的数据包可作为常规IP数据包出现, 并且相应地,它可转发至目的网络设备。因此,不需要采用其中的相关隧道连 接网关和/或功能。

可在封装的隧道数据包上执行解封装,诸如在网络设备300对应目的网络 设备时,所述目的网络例如目的网络212b,例如在隧道连接传输过程中,可 通过网络设备300的网络访问子系统310从例如网络320接收所述隧道数据。 在这方面,解封装可包括从接收的数据包解装(strip)任何外部报头,可在例 如隧道连接卸载过程中附加所述外部报头。可存储解装的报头,至少是临时地, 以用于例如策略检查。然后以相同的方式处理恢复的数据包,将数据包当作初 始是本地的,例如来自本地数据中心网络内。另外,可执行额外的安全检查以 确保特定的隧道连接属性是匹配的和/或有效的。在采用网络设备300用于将 隧道连接卸载的数据包在原网络设备和目的网络设备之间行进的实例中,诸如 当网络设备300对应网络设备214时,网络访问子系统310需要处理隧道报头 并解析隧道报头中初始数据包报头信息的属性。这样做需要改变数据包解析 器,例如在单个通过数据包解析的情况中,和/或需要在至少一些部分的隧道 数据包上执行额外的完整计算,诸如隧道数据包内携带的有效载荷部分。

可执行分段避免(fragmentation avoidance)以在隧道连接操作过程中防止 超过最大允许的数据包尺寸。这涉及确保用于基于隧道连接的传输的数据包格 式化不会超出最大所允许的数据包尺寸,例如针对用于传输的隧道数据包的交 付协议。这由隧道连接相关的附加所导致,诸如隧道报头的附加。在这方面, 插入隧道报头可导致生成的数据包超出传统的最大数据包长度。相应地,为了 防止任何生成的分段,网络访问子系统310可基于隧道连接卸载意识处理数据 包,从而相应地减少最大MTU。

图3B是依据本发明实施例的描绘示范隧道数据包的框图,可结合基于卸 载的层2(L2)隧道连接的传输采用所述隧道数据包。参见图3B,示出了隧 道数据包350,可在基于隧道连接的传输过程中采用所述隧道数据包350,所 述传输包括在诸如网络设备300的网络设备中卸载的隧道处理过程。

隧道数据包350可包括多个字段,可设置和/或使用所述字段以支持通过 例如网络设备之间基于隧道连接的管的传输数据。例如基于通用路由封装 (GRE)协议,可配置隧道数据包350以支持隧道连接。在这方面,隧道数据 包350可包括初始的有效负荷字段352、初始源地址字段354、初始目的地址 字段356、GRE报头字段358、隧道互联网协议(IP)报头字段360、隧道类 型字段362、隧道源地址字段364、以及隧道目的地址字段366。

初始有效负荷字段352可与初始数据对应,如从发起者接收的,可通过基 于隧道连接的管线传输所述初始数据。可采用初始源地址字段354存储初始设 备的诸如MAC地址的地址信息,初始有效负荷字段352中的数据从所述初始 设备发起。可采用初始目的地址字段356存储初始目的设备的诸如MAC地址 的地址信息,初始有效负荷字段352中数据的目的地是所述初始目的设备。

可采用隧道IP报头字段360以存储与隧道传输关联的IP报头相关的信息, 诸如节点内两个连续节点之间的隧道连接传输。在这方面,选择和/或采用GRE 协议用于隧道连接的实例中,隧道IP报头字段360可包含IP源和IP目的地 址、路径特定IP识别符(IPID)、存活时间(TTL)信息。另外,可相应地设 置协议类型子字段,诸如设置为值0x47。

可采用隧道类型字段362存储与识别所采用隧道的类型关联的信息。在这 方面,隧道类型字段362可与封装的数据包中的外部以太网类型字段对应。在 选择和/或采用GRE协议用于隧道的实例中,其中封装是基于GRE的,可相 应地设置隧道类型字段362以指示值0x0800是用于IP数据包。

可采用隧道源地址字段364以存储寻址信息,诸如MAC地址,所述寻址 信息与用于特定隧道链路的源设备有关。换句话说,隧道源地址字段364可包 含正在隧道内传输的封装的数据包的源MAC地址。可采用隧道目的地址字段 366以存储寻址信息,诸如MAC地址,所述寻址信息与用于特定隧道链路的 目的设备有关。换句话说,隧道目的地址字段366可包含正在隧道内传输的封 装的数据包的目的MAC地址。可选择设置隧道互联网协议(IP)360、隧道 类型字段362、隧道源地址字段364、以及隧道目的地址字段366中采用的值, 使得生成的数据包350相对例如本地数据中心网络的边缘路由器以常规IP数 据包出现,而且相应地,它可行进之目的网络设备远程数据中心网络。

GRE报头字段358可包括多个可依据GRE协议组装的字段,以促进基于 GRE的隧道连接。在这方面,GRE报头字段358可包括例如标志字段358a、 递归字段358b、反向字段358c、版本信息字段358d、协议类型字段358e、校 验字段358f、偏移字段358g、关键字段358h、序列号字段358i、以及路由字 段358j。

标志字段358a可包括多个标志比特,可设置所述标志比特以指示与GRE 隧道有关的特定字段的出现或有效性。标志字段358a可包括例如1比特校验 出现标志、1比特路由出现、1比特密匙出现标志、1比特序列号出现标志、 以及1比特严格源路由使用标志。例如,当设置1比特校验出现时,这指示校 验字段358f出现且包含有效信息。当设置1比特路由出现标志时,这指示偏 移字段358g出现且包含有效信息。另外,设置校验出现标志和1比特路由出 现标志这两个标志的任一个要求两个字段都必须出现和有效。当设置1比特密 匙出现字段时,这指示密匙字段358h出现并包含有效信息。当设置1比特序 列号出现标志时,这指示序列号字段358i出现并包含有效信息。可在路由字 段358j包括严格源路由时设置1比特严格源路由使用标志。

递归字段358b可包含与所允许的额外封装的数量有关的信息。在这方面, 缺省值为“0”。可采用版本信息字段358d存储与GRE协议版本有关的信息。 通常,清除版本信息字段(即,设为0),除了在点对点隧道连接协议(PPTP) 的情况中设为“1”之外。协议类型字段358e可包含与有效负荷数据包的协议 类型有关的信息。通常,可基于用于数据包的以太网协议类型字段设置协议类 型字段358e。校验字段358f可包含与GRE报头358和有效负荷数据包作为整 体的IP校验有关的信息。可采用偏移字段358g指示从路由字段358j的开始 到待检查的激活源路由项目的第一字节的字节偏移。密匙字段358h可包含通 过封装器节点插入的数字。在这方面,密匙字段358h将用于识别隧道内的单 个业务流。序列号字段358i可包含通过封装器节点插入的数字。在这方面, 可在接收器节点处使用序列号字段358i以建立顺序,所述顺序中数据包已从 封装器节点发送至接收器节点。路由字段358j可包含源路由项目(SRE)清 单。

图4A是依据本发明实施例的描绘用于卸载隧道数据包处理的示范步骤的 流程图。参见图4A,示出的流程图400包括多个示范步骤,可执行所述步骤 以实现卸载隧道数据包处理。

步骤402中,确定是否执行网络设备中的L2隧道连接卸载。在这方面, 可确定网络设备300是否用于提供L2隧道连接卸载,诸如在分布式数据中心 环境中。在L2隧道连接卸载在网络设备中是不可用的实例中,多个示范步骤 可进行至步骤404。步骤404中,业务数据包可转发至隧道连接网关,以在该 隧道连接网关中使用专用的隧道连接处理服务。返回至步骤402,在L2隧道 连接卸载在网络设备中是可用的实例中,多个示范步骤可进行至步骤406。步 骤406中,可确定一个或多个可用于接收卸载的隧道业务数据包的其它网络设 备。在这方面,该一个或多个其它网络设备可包括目的网络设备和/或其它网 络设备,可在卸载的隧道连接传输过程中穿越所述一个或多个其它网络设备。 步骤408中,在需要时可建立网络设备和一个或多个其它网络设备之间的连 接,以实现卸载的隧道业务数据包的传输。在这方面,连接可包括通过例如网 络设备建立的L2隧道。步骤440中,可通过建立的连接将卸载的隧道数据包 传输至一个或多个其它网络设备。

图4B是依据本发明实施例的描绘用于基于业务类型在云计算中卸载隧道 数据包处理的步骤的流程图。参见图4B,示出的流程图430包括多个步骤, 可执行所述步骤以实现卸载隧道数据包处理。

步骤432中,可确定业务类型。例如,在隧道连接包括通过IP数据包交 付L2数据包的实例中,业务类型的确定即确定隧道连接L2数据包是否包括 基于单播、组播、和/或广播业务的数据包。在业务类型确定为组播或广播的 实例中,多个步骤可进行至步骤404。步骤434中,业务数据包可转发至隧道 连接网关,以在所述隧道连接网关中使用专用的隧道连接处理服务。

返回至步骤432,在业务类型确定为单播的实例中,多个示范步骤可进行 至步骤436。步骤436中,可执行确定目的地址/位置是否是可用的。在目的信 息是不可用的实例中,多个示范步骤可进行至步骤434。在目的寻址和/或位置 信息是可用的实例中,多个示范步骤可进行至步骤438。步骤438中,可在网 络设备内执行必需的封装,而且可通过网络设备中可用的IP网络连接由网络 设备直接传输生成的封装数据包。步骤440中,基于例如隧道数据包的处理, 在网络设备内可更新和/或修改(如有需要)本地化的隧道连接信息/表格。

本发明的各个实施例可包括用于在云计算中卸载隧道数据包处理的方法 和系统。网络设备可提供基于层2(L2)的隧道连接,所述隧道连接可用于卸 载由隧道连接网关提供的隧道连接操作和/或服务的至少一部分,所述隧道连 接网关诸如隧道连接网关1561-156M的一个或多个,所述隧道连接网关 1561-156M可在分布式数据中心环境152中分别向本地数据中心网络1541-154M的每个提供隧道连接服务。在这方面,网络设备300中提供的基于L2的隧道 连接可包括确定一个或多个其它网络,网络设备300中处理的业务数据包的目 的地是所述一个或多个其它网络。至少一部分业务数据包可从网络设备300 传输至其它网络设备,使得这部分业务数据包的传输能够通过旁路隧道连接网 关1561-156M的至少一些以实现卸载隧道连接,原本所述隧道连接网关 1561-156M将用于隧道连接这些业务数据包。在这方面,可通过由网络设备300 建立的一个或多个L2隧道传输所述业务数据包的至少一部分,以用于隧道连 接卸载。可格式化通过L2隧道传输的业务数据包部分以用于使用通过所述网 络设备300建立的L2隧道的传输,例如通过将它们封装到IP数据包中。

可通过网络设备300中的网络访问子系统310处理由网络设备300提供的 基于L2的隧道连接的至少一部分,所述网络设备300包括例如网络接口控制 器(NIC)。在这方面,可在网络访问子系统310内例如通过联网处理器312 执行与基于L2的隧道连接相关处理。另外,网络访问子系统310可处理和/ 或执行基于L2的隧道连接操作,所述隧道连接操作相对网络设备300中的其 它操作是透明的。网络设备300内执行的隧道连接卸载可以基于处理的业务数 据包的业务类型的确定。业务数据包可包括例如单播、组播、和/或广播业务。 在这方面,网络设备300中卸载的L2隧道连接处理过程中处理的只有单播业 务数据包。组播或广播可转发至隧道连接网关1561-156M以此处进行专用处理。 网络设备300可通过网络访问子系统310维护隧道连接表格330,可在网络设 备300中的基于L2的隧道连接处理过程中采用所述隧道连接表格330。

本发明的其它实施例提供了非暂时的计算机可读介质和/或存储介质、和/ 或非暂时的机器可读介质和/或存储介质,在上面所存储的机器代码和/或计算 机程序具有至少一个可由机器和/或计算机执行的代码段,从而使得机器和/或 计算机执行以上所描述的步骤以在云计算中卸载隧道数据包处理。

相应地,本发明可在软件、硬件或软硬件结合中实现。本发明能在至少一 个计算机系统内的集中模式中实现,或者是在分布模式中实现,其不同组成跨 越到多个互联计算机系统上。任何能够实现上述方法的计算机系统和装置都是 合适的。一种典型的软硬件结合可以是通用计算机系统,通过装载和执行计算 机程序控制该计算机系统,从而实现以上所描述的方法。

本发明也可嵌入计算机程序产品中,该产品包括能够实施上述方法的所有 特性,当装载入计算机系统后能够实现这些方法。在本文中,计算机程序可以 是任意形式表述的指令集,包括采用任意语言、代码或编码,旨在使系统具有 信息处理能力,从而能执行具体的功能。执行的方式可以是直接的,或是转换 成另一种语言、代码或编码,或是以另一种物质形式再现,或是同时采用后两 种方式。

尽管本发明是根据具体的实施例进行描述的,但是只要不脱离本发明所规 定的范围,各种变形和等效替代对本领域技术人员而言应当是可以理解的。另 外,只要不脱离本发明所规定的范围,可以根据本发明的教导进行多种变形以 适应特定的情况。因此,本发明并不仅限于上述公开的具体实施例,还包括落 入随附的权利要求书范围内的所有实施例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号