用于经由交换结构在边缘设备之间实施连接的方法和装置与流程

文档序号:19123978发布日期:2019-11-13 01:56阅读:209来源:国知局
用于经由交换结构在边缘设备之间实施连接的方法和装置与流程



背景技术:

这里所描述的一些实施例总体上涉及用于经由交换结构(switchfabric)在边缘设备网络中的边缘设备之间实施连接的方法和装置。特别地但并非作为限制,这里所描述的一些实施例涉及用于经由交换结构、在利用基于网络地址的协议进行操作的边缘设备网络中的边缘设备之间实施连接的方法和装置,上述交换结构保持边缘设备与交换结构设备之间的管理、控制平面、数据平面和/或地址分离。

一些已知的交换结构包括提供服务的边缘设备和在边缘节点之间以及向其它网络提供连接的交换结构设备。这样的已知交换结构通常不会为了管理和/或操作而在边缘设备和交换结构设备之间进行分离。例如,边缘设备能够受制于相邻交换结构设备的管理协调。然而,这样的管理和操作边缘设备以及交换结构设备的方法会产生对交换结构造成不利影响的风险并且导致交换结构的安全隐患。此外,边缘设备和交换结构设备经常由不同群体进行管理。

因此,需要经由交换结构、在利用基于网络地址的协议进行操作的边缘设备网络中的边缘设备之间实施连接的方法和装置,上述交换结构保持边缘设备与交换结构设备之间的管理、控制平面、数据平面和/或地址分离。



技术实现要素:

在一些实施例中,一种装置包括经由交换结构可操作地耦合至第二边缘设备的第一边缘设备。第一边缘设备和第二边缘设备共同定义利用基于网络地址的协议来操作的边缘设备网络。该第一边缘设备通过该交换结构、经由多协议标签交换(mpls)与第二边缘设备通信。此外,该第一边缘设备可操作地耦合至该交换结构使得该交换结构的节点能够在没有边缘设备网络的协调的情况下被修改。此外,该第一边缘设备可操作地耦合至第二边缘设备以定义边缘设备网络,使得该边缘设备网络中的边缘设备能够在没有该交换结构的协调的情况下被修改。

附图说明

图1是根据实施例的经由交换结构连接边缘设备的交换结构系统的示意性图示。

图2是根据实施例的边缘设备的系统框图。

图3是根据实施例的交换结构设备的系统框图。

图4是图示根据实施例的用于经由交换结构而在边缘设备之间的通信的方法的流程图。

具体实施方式

在一些实施例中,一种装置包括第一边缘设备,该第一边缘设备经由交换结构可操作地耦合至第二边缘设备。第一边缘设备和第二边缘设备共同定义利用基于网络地址的协议来操作的边缘设备网络。这样的基于网络地址的协议例如可以是内部路由协议(interiorroutingprotocol,igp)、标签分发协议(ldp)、边界网关协议(bgp)、资源预留协议-流量工程(rsvp-te)协议等。在这样的实施例中,第一边缘设备通过交换结构、经由多协议标签交换(mpls)与第二边缘设备通信。

此外,第一边缘设备可操作地耦合至交换结构使得该交换结构的节点能够在没有边缘设备网络的协调的情况下被修改。类似地,该第一边缘设备可操作地耦合至第二边缘设备以定义边缘设备网络,使得该边缘设备网络中的边缘设备能够在没有该交换结构的协调的情况下被修改。

在一些情况下,第一边缘设备可以被配置为根据自动发现协议向交换结构的第一交换结构设备发送请求。这样的自动发现协议例如可以是动态主机配置协议(dhcp)、地址解析协议(arp)、radius(远程认证拨号用户服务)协议、diameter协议、简单文件传输协议(tftp)、链路层发现协议(lldp)等。第一边缘设备可以被配置为根据自动发现协议并且响应于该请求而接收响应。该响应可以包括与第一边缘设备相关联的标签。此外,第一交换结构设备能够根据至少一种mpls协议向交换结构的第二交换结构设备发送指示该标签的广告。mpls协议例如可以是ldp、rsvp-te、bgp等。

在接收到该响应之后,第一边缘设备可以被配置为向第二边缘设备发送该标签,使得mpls隧道基于该标签而被建立在第一边缘设备与第二边缘设备之间。在一些情况下,第一边缘设备可以被配置为根据bgp向第二边缘设备发送该标签。在一些情况下,第一边缘设备和第二边缘设备可以在没有任何其它协议消息(例如,任何基于网络地址的协议消息)的情况下经由自动发现消息与交换结构通信。

在一些实施例中,一种装置包括交换结构设备,该交换结构设备被包括在可操作地耦合至边缘设备网络的交换结构内。该边缘设备网络利用基于网络地址的协议来操作,使得该边缘设备网络中的边缘设备能够通过该交换结构、经由例如mpls隧道的集合进行通信。在这样的实施例中,该交换结构设备可以在没有边缘设备网络的协调的情况下被修改。类似地,该边缘设备网络中的边缘设备能够在没有交换结构的协调的情况下被修改。

在一些实施例中,一种装置包括可操作地耦合至交换结构的第一边缘设备,该交换结构耦合至第二边缘设备。该第一边缘设备通过该交换结构、经由mpls隧道与该边缘设备通信。在这样的实施例中,该第一边缘设备还可操作地耦合至第二边缘设备以定义边缘设备网络,使得该边缘设备网络中的边缘设备能够独立于交换结构而被修改并且该交换结构的(多个)节点能够独立于该边缘设备网络而被修改。

如本说明书中所使用的,术语“物理跳(physicalhop)”可以包括两个节点和/或设备之间的物理链接。例如,将第一节点与第二节点可操作地耦合的数据路径可以被称作是物理跳。类似地指出,物理跳可以物理地链接第一节点与第二节点。

如本说明书中所使用的,术语“单个物理跳”可以包括系统中两个节点和/或设备之间的直接物理连接。类似地指出,单个物理跳可以包括两个节点在没有中间节点的情况下经由其进行耦合的链接。因此,例如,如果第一节点经由单个物理跳耦合至第二节点,则该第一节点能够在不通过中间节点发送数据单元的情况下直接向第二节点发送数据单元(例如,数据分组、数据单位等)。

如本说明书中所使用的,模块例如可以是与执行具体功能相关联的可操作地耦合的电学部件的任意组件和/或集合,并且例如可以包括存储器、处理器、电轨线、光学连接器、(存储在存储器中和/或在硬件中执行的)软件等。

如本说明书中所使用的,除非上下文明确另外指示,否则单数形式“一个”(“a”、“an”和“the”)包括复数指代。因此,例如,术语“隧道模块”意在表示单个模块或者共同被配置为执行隧道传输数据的功能的多个模块的组合。

图1是根据实施例的经由交换结构105连接边缘设备(例如,边缘设备150、162、164、170、180)的交换结构系统100的示意性图示。交换结构系统100包括交换结构105以及边缘设备网络145。交换结构105包括一个或多个交换结构设备,诸如交换结构设备110、120、130和140。边缘设备网络145包括一个或多个边缘设备,诸如边缘设备150、162、164、170和180。在一些实施例中,虽然并未在图1中示出,但是交换结构105可以包括比图1所示的那些更多或更少的交换结构设备;边缘设备网络145可以包括比图1所示的那些更多或更少的边缘设备。

在一些实施例中,交换结构系统100可以在各种位置和环境中实施,和/或针对不同功能来实施。例如,交换结构系统100可以被实施在数据中心,交换结构105在那里用作数据中心网络并且边缘设备网络145包括数据中心的服务器。对于另一个示例,交换结构系统100可以被实施为接入网络,其中交换结构105是城域网(man)并且边缘设备网络145包括支持mpls的dslam(数字订户线路接入复用器)、enodeb(e-utran节点b或演进型节点b)、olt(光学线路终端)等。对于又另一个示例,交换结构系统100可以被实施为服务网络,其中交换结构105是广域网(wan),并且边缘设备网络145包括提供商边缘(pe)节点。

来自边缘设备网络145的每个边缘设备耦合至来自交换结构105的至少一个交换结构设备。例如,如图1所示,交换结构设备110耦合至边缘设备150和164;交换结构设备120耦合至边缘设备170;交换结构设备130耦合至边缘设备162和164;并且交换结构设备140耦合至边缘设备180。在一些实施例中,虽然并未在图1中示出,但是来自交换结构150的每个交换结构设备可以(例如,经由mpls隧道)可操作地耦合至来自交换结构105的每个其余交换结构设备。因此,来自边缘设备网络145的每个边缘设备能够经由交换结构105可操作地耦合至来自边缘设备网络145的每个其余边缘设备。

边缘设备网络14的每个边缘设备可以是被配置为可操作地耦合至交换结构105的任意设备。这样的边缘设备例如可以是计算节点、服务器、路由器、访问交换机、网关等。在一些实施例中,边缘设备可以是输入节点、输出节点、架顶(top-of-rack,tor)设备等。在一些实施例中,边缘设备可以用作数据传输的源边缘设备和目的地边缘设备。在一些实施例中,虽然并且在图1中示出,但是边缘设备网络145的边缘设备能够耦合至一个或多个外部处理设备或消费者节点。在这样的实施例中,边缘设备能够将(多个)外部处理设备可操作地耦合至交换结构105。边缘设备能够往来于交换结构105以及往来于所耦合的(多个)外部处理设备发送和接收数据单元(例如,数据分组和/或数据单位的流)。

能够连接至边缘设备网络145的边缘设备的外部处理设备(图1中未示出)例如可以包括服务器、存储设备、网关、工作站等。外部处理设备可以使用任意适当的连接而可操作地耦合至边缘设备的一个或多个端口,上述连接例如光学连接(例如,光学线缆和光学连接器)、电连接(例如,电线缆和电连接器)等。类似地指出,边缘设备的每个端口能够提供通信接口,外部处理设备能够通过该通信接口可操作地耦合至该边缘设备。这样,外部处理设备能够向边缘设备发送数据单元和从边缘设备接收数据单元。在一些情况下,外部处理设备和边缘设备之间的连接可以是直接链接。这样的链接可以被称作单物理跳链接。在其它情况下,外部处理设备可以经由中间节点而可操作地耦合至边缘设备。这样的连接可以被称作多物理跳链接。

在一些实施例中,边缘设备网络145的边缘设备能够被配置为(例如,向消费者)提供服务,诸如vpn(虚拟私有网络)、伪线路、互联网接入等。例如在新的消费者加入交换结构系统100、发起新的服务、引入新的边缘设备以容纳新的消费者等的时候,边缘设备能够为了维护而被升级、配置、重启或关机。此外,在一些实施例中,边缘设备例如可以被称作标签边缘、pe路由器、提供商边缘节点等。

图2是根据实施例的边缘设备200的框图。边缘设备200在结构和功能上可以类似于参考图1所示出并描述的边缘设备150、162、164、170、180。特别地,类似于图1所示的边缘设备145中的边缘设备,边缘设备200可以是任意设备,其被配置为耦合至交换结构的一个或多个交换结构设备(例如,图1中的交换结构105中的交换结构设备110、120、130、140)。因此,边缘设备200能够经由交换结构可操作地耦合至一个或多个其它边缘设备。

如图2所示,边缘设备200包括通信接口230、存储器210以及包括隧道模块225的处理器220。虽然图2中并未示出,但是边缘设备200可以包括具有各种功能的其它模块。例如,边缘设备200可以包括dhcp模块,其被配置为(根据dhcp)从将边缘设备200可操作地耦合至交换结构的交换结构设备获得地址。作为另一个示例,边缘设备200可以包括arp模块,其被配置为根据arp与将边缘设备200可操作地耦合至交换结构的交换结构设备进行通信。

边缘设备200的通信接口230(例如,传输/接收数据)、隧道模块225(例如,封装/解封装数据单元)、其它模块(图2中未示出)的每种(多种)操作以及存储器210上的(多种)操作能够由处理器220控制。处理器220可以是被配置为运行和/或执行处理器220中所包括的(多个)模块的任意适当处理器。处理器220中的每个模块可以是能够执行与该模块相关联的一种或多种具体功能的基于硬件的模块(例如,现场可编程门阵列(fpga)、专用集成电路(asci)、数字信号处理器(dsp)等)和/或基于软件的模块(例如,存储在存储器210中和/或在处理器220执行的计算机代码的模块)的任意组合。

如以下所详细描述的,隧道模块225可以被配置为使得边缘设备200能够通过交换结构而使用隧道往来于耦合至该交换结构的其它边缘设备传输和接收数据。隧道模块225能够被配置为使得边缘设备200能够通过交换结构、使用mpls与其它边缘设备进行通信。特别地,隧道模块225可以被配置为利用与mpls隧道相关联的标签栈对数据进行封装。如以下详细描述的,这样的标签栈可以包括一个或多个标签,诸如识别连接交换结构中的两个交换结构设备的mpls隧道的标签,识别从交换结构设备到耦合至该交换结构设备的边缘设备的路线的标签,等等。

边缘设备200的通信接口230例如可以包括一个或多个端口(图2中未示出),其能够被用来在边缘设备200与将该边缘设备200可操作地耦合至交换结构的(多个)交换结构设备之间实施(多个)连接(例如,有线连接、无线连接)。该(多个)连接例如可以是经由电线缆的双绞线电信令、经由光纤线缆的光纤信令等。这样,边缘设备200能够被配置为通信接口230的(多个)端口接收数据和/或发送数据,通信接口230的这些端口与(多个)交换结构设备的通信接口相连接。此外,在一些实施例中,边缘设备200能够通过通信接口230的一个端口与交换结构设备之一(例如,图1中的交换结构设备110)实施一种类型的连接,而通过通信接口230的另一个端口与另一个交换结构设备(例如,图1中的交换结构设备130)实施不同类型的连接。

在一些实施例中,存储器210例如可以是随机访问存储器(ram)(例如,动态ram、静态ram)、闪存、可移动存储器等。有关与将边缘设备200可操作地耦合至交换结构的(多个)交换结构设备进行交互以及通过交换结构建立与其它边缘设备的mpls隧道的控制信息能够被存储在存储器210中。例如,如以下所讨论的,被分配给边缘设备200的地址和/或识别从交换结构设备(即,将边缘设备200耦合至交换结构的交换结构设备)到边缘设备的路线的标签能够被存储在存储器210中。作为另一个示例,识别到其它边缘设备的路线的标签和/或识别交换结构内的mpls的标签也能够被存储在存储器210中。

返回图1,交换结构105的每个交换结构设备(例如,交换结构设备110、120、130、140)可以是被配置为可操作地耦合至其它(多个)交换结构设备和/或(多个)边缘设备(例如,边缘设备150、162、164、170、180),使得交换结构105能够将边缘设备互相可操作地耦合并且使得能够在该边缘设备之间进行数据传输的任意设备。因此,交换结构105的交换结构设备可以被配置为在边缘设备之间以及针对其它网络(图1中未示出)提供连接。这样的交换结构设备例如可以是路由设备(例如,l2/l3路由器)、交换设备(例如,l2/l3交换机)、网关、工作站、服务器、计算节点等。在一些实施例中,交换结构设备例如可以被称作核心节点、标签交换机、提供商节点、提供商路由器、结构节点等。

在一些实施例中,除了提供到边缘设备的连接之外,交换结构105的交换结构设备并不提供其它服务。在这样的实施例中,在交换结构设备处出现硬件或软件故障、要在交换结构设备处安装新的线路卡等的时候,执行交换结构设备的维护。如以下详细讨论的,由于边缘设备网络145和交换结构105之间分离的管理和操作,交换结构设备在边缘设备被修改时并不被打扰。

图3是根据实施例的交换结构设备300的系统框图。交换结构设备300在结构和功能上可以类似于关于图1所示出并描述的交换结构设备110、120、130、140。特别地,类似于图1中的交换结构105的交换结构设备,交换结构设备300可以被包括在交换结构(例如,图1中的交换结构105)内并且被配置为将一个或多个边缘设备(例如,图1中的边缘设备150、162、164、170、180)可操作地耦合至该交换结构。

如图3所示,交换结构设备300包括:通信接口360、包括路由表352的存储器320以及包括隧道模块345的处理器340。虽然并未在图3中示出,但是交换结构设备300可以包括具有各种功能的其它模块。例如,交换结构设备300可以包括dhcp模块,该dhcp模块被配置为处理从耦合至交换结构设备300的(多个)边缘设备所接收的dhcp请求。作为另一个示例,交换结构设备300可以包括arp模块,该arp模块被配置为根据arp与耦合至交换结构设备300的(多个)边缘设备进行通信。

交换结构设备300的通信接口360(例如,传输/接收数据)、隧道模块345(例如,传输隧道数据)、其它模块(图3中未示出)的每种(多种)操作以及存储器320上的(多种)操作能够由处理器340进行控制。处理器340可以是被配置为运行和/或执行处理器340中所包括的(多个)模块的任意适当处理器。处理器340中的每个模块可以是基于硬件的模块(例如,cpu、通用处理器、fpga、asic、dsp等)、基于软件的模块(例如,存储在存储器320中和/或在处理器340执行的计算机代码的模块)和/或能够执行与该模块相关联的一种或多种具体功能的基于硬件和软件的模块的组合。

隧道模块345可以被配置为使得交换结构设备300能够往来于其它交换结构设备或耦合至交换结构设备300的(多个)边缘设备传输和接收隧道数据。特别地,如以下详细描述的,隧道模块345可以被配置为使得能够使用将交换结构设备300与交换结构的其它交换结构设备相连接的mpls隧道进行隧道数据的传输。因此,耦合至交换结构设备300的(多个)边缘设备能够通过交换结构设备300、使用mpls隧道与耦合至该交换结构的其它边缘设备进行通信。隧道模块345还可以被配置为对数据进行解封装以得到数据中所包括的(多个)标签,并且基于所得到的(多个)标签确定用于传输解封装的数据的路线。在一些实施例中,隧道模块345可以被配置为基于路由表325中所存储的路由信息来确定用于隧道数据的路线(例如,mpls隧道)。

交换结构设备300的通信接口360例如可以包括至少两个端口(图3中未示出),它们能够被用来在交换结构设备300与(多个)边缘设备之间以及在交换结构设备300与该交换结构的(多个)其它交换结构设备之间实施连接。该连接例如可以是经由电线缆的双绞线电信令、经由光纤线缆的光纤信令等。这样,交换结构设备300能够被配置为通过通信接口360的端口来接收数据和/或发送数据,这些端口与(多个)边缘设备和(多个)其它交换结构设备的通信接口相连接。此外,在一些实施例中,交换结构设备300能够通过通信接口360的一个端口与(多个)边缘设备和(多个)其它交换结构设备之一实施一种类型的连接,同时通过通信接口360的另一个端口与另一个边缘设备或交换结构设备实施不同类型的连接。例如,交换结构设备300能够与边缘设备实施双绞线电信令连接(例如,经由电线缆),并且与另一个交换结构设备实施光纤信令连接(例如,经由光纤线缆)。

在一些实施例中,存储器320例如可以是随机访问存储器(ram)(例如,动态ram、静态ram)、闪存、可移动存储器等。有关与耦合至交换结构设备300的(多个)边缘设备进行交互的控制信息能够被存储在存储器320中。在一些实施例中,有关与其它(多个)交换结构设备隧道传输数据的路由信息能够被存储在路由表325中。例如,在一些实施例中,路由表可以被配置为存储标签转发信息库(lfib),其包括与mpls隧道和/或边缘设备网络的边缘设备的标签相关联的路由信息。

例如,路由表325中的lfib能够存储条目,该条目包括识别将交换结构设备300与另一个交换结构设备相连接的mpls隧道的标签、以及交换结构设备300中与该mpls隧道相关联的端口(被包括在通信接口360中)的标识符。因此,响应于接收到包括识别mpls隧道的标签的(多个)数据单元,隧道模块345能够基于该标签以及路由表325中的lfib中所存储的条目来确定端口。隧道模块345随后能够经由该端口发送(多个)数据单元,使得该(多个)数据单元通过mpls隧道被发送到其它交换结构设备。

作为另一个示例,路由表325中的lfib能够存储条目,该条目包括识别耦合至交换结构设备300的边缘设备的标签、以及交换结构设备300中与该边缘设备相关联的端口(被包括在通信接口360中)的标识符。因此,响应于接收到包括识别该边缘设备的标签的(多个)数据单元,隧道模块345能够基于该标签以及存储在路由表325中的lfib中的条目来确定该端口。隧道模块345随后能够经由该端口发送(多个)数据单元,使得该(多个)数据单元被发送到该边缘设备。

返回图1,在一些实施例中,边缘设备网络145和交换结构105能够被分离地管理、控制和/或操作。也就是说,交换结构系统100可以针对边缘设备网络145中的边缘设备(例如,边缘设备150、162、164、170、180)和针对交换结构中的交换结构设备(例如,交换结构设备110、120、130、140)实施分离的管理、控制和/或操作。在这样的实施例中,边缘设备和交换结构设备之间的分离能够在一个或多个方面中被实施,例如包括管理分离、控制平面分离、数据平面分离、地址分离等。

在一些实施例中,可以在边缘设备网络145的边缘设备与交换结构105的交换结构设备之间实施管理分离。特别地,边缘设备和交换结构设备能够由两个(独立)管理员群组分离地管理。例如,边缘设备网络145能够由一个或多个边缘管理员的群组进行管理,而交换结构105则能够由一个或多个结构管理员的另一个群组进行管理。每个边缘管理员或结构管理员例如可以是人、机器(自动执行或由人手工操作)或者(多个)人和(多个)机器的组合,它们针对(多个)边缘设备或(多个)交换结构设备执行管理功能。

作为管理分离的结构,当边缘设备网络145或交换结构105中的中一方被管理时(例如,被修改、被配置)时,不需要来自边缘设备网络145或交换结构105中的另一方的协调。例如,在没有来自(多个)边缘管理员的协调的情况下并且在不对边缘设备网络145中的任何边缘设备进行中断、修改或重新配置的情况下,(多个)结构管理员能够对交换结构105中的交换结构设备(例如,交换结构设备110、120、130或140)进行管理(例如,重启、升级、修改配置、改变mpls协议设置等)。作为另一个示例,类似地,在没有来自(多个)结构管理员的协调的情况下并且在不对交换结构105的任何交换结构设备进行中断、修改或重新配置的情况下,(多个)边缘管理员能够对边缘设备网络145中的边缘设备(例如,边缘设备150、162、164、170或180)进行管理(例如,重启、升级、修改配置等)。

此外,作为管理分离和/或其它分离机制的结果,能够针对边缘设备网络145和交换结构105实施即插即用连接。也就是说,(多个)边缘管理员能够在不与(多个)结构管理员进行协调并且不对边缘设备进行中断、修改或重新配置的情况下增加、去除或移动边缘设备。类似地,(多个)结构管理员能够不与(多个)边缘管理员进行协调并且不对交换结构设备进行中断、修改或重新配置的情况下增加、去除或移动交换结构设备。

在一些实施例中,可以在边缘设备网络145的边缘设备与交换结构105的交换结构设备之间实施路由协议分离。特别地,在交换结构105内实施的路由结构可以在没有边缘设备网络的协调的情况下得以被执行(例如,信号、消息等的交换)。此外,在边缘设备与交换结构设备之间实施的协议(例如,dhcp、arp)能够在没有(多个)边缘管理员与(多个)结构管理员之间的协调的情况下得以被执行(例如,信号、消息等的交换)。作为结果,在交换结构系统100中实施的协议能够在没有(多个)结构管理员与(多个)边缘管理员之间的管理协调的情况下得以被执行。

在一些实施例中,如图1所示,多个边缘设备(例如,边缘设备162、164)能够耦合至一个交换结构设备(例如,交换结构设备130)。在一些实施例中,如图1所示,能够针对边缘设备网络145中的边缘设备实施有效的多归属机制。特别地,边缘设备能够针对多于一个的交换结构设备进行耦合和多归属。在这样的实施例中,边缘设备与相关联的交换结构设备之间的多个链接能够被用于边缘设备与交换结构105之间所传输的负载平衡业务。结果,交换结构105内的业务也能够被负载平衡。此外,边缘设备与相关联的交换结构设备之间的多个链接能够被用来提高边缘设备与交换结构105之间的连接的弹性(resilience)。作为结果,能够针对边缘设备和交换结构105之间的数据传输实现快速恢复。特别地,通过将数据业务指向连接边缘设备与交换结构105的(多个)其余链接,能够减少在检测到故障(例如,连接边缘设备和相关联的交换结构设备的链接的故障,耦合至边缘设备的相关联交换结构设备的故障)时的失效备援时间。

例如,如图1所示,边缘设备164能够经由两个分离的链接分别被耦合至交换结构设备110和130。作为结果,在边缘设备164与交换结构设备110、130之间传输的数据业务能够在这两个链接之间进行负载平衡。此外,在交换结构105内往来于交换结构设备110、130进行传输的数据业务能够基于这两个链接上的负载而进行负载平衡。此外,这两个链接能够被用来提高弹性并且为边缘设备164提供快速恢复。

在一些实施例中,可以在边缘设备网络145的边缘设备与交换结构105的交换结构设备之间实施连接隔离。特别地,来自边缘设备网络145的每个边缘设备并不直接与来自边缘设备网络145的每个其余边缘设备进行通信。相反,边缘设备网络145的边缘设备通过交换结构105互相通信。也就是说,来自边缘设备网络145的每个边缘设备能够经由交换结构105的一个或多个交换结构设备向来自边缘设备网络145的每个其余边缘设备发送(多个)数据单元(例如,(多个)数据平面数据单元、(多个)控制平面数据单元),而不是直接从一个边缘设备向另一个边缘设备进行发送。此外,能够在边缘设备与交换结构设备之间进行传输的(多个)数据单元(例如,(多个)数据平面数据单元、(多个)控制平面数据单元)受到限制。例如,(多个)数据单元能够根据给定协议的集合在边缘设备与交换结构设备之间进行传输。换句话说,(多个)数据单元并不根据任何不被包括在给定协议集合中的协议而在边缘设备与交换结构设备之间进行传输。例如,在一些情况下,交换结构105可以(例如,经由mpls隧道)向边缘设备网络145的边缘设备提供mpls连接,而并不向那些边缘设备提供互联网协议(ip)连接。因此,(多个)数据单元能够根据mpls协议而不是根据ip路由协议在边缘设备与交换结构设备之间进行传输。作为连接隔离的结果,使得被盗用的边缘设备无法对交换结构105进行攻击。类似地,使得被盗用的边缘设备无法对边缘设备网络145进行攻击。

在一些实施例中,可以在边缘设备网络145的边缘设备与交换结构105的交换结构设备之间实施地址分离(或地址独立)。特别地,边缘设备网络145和交换结构105可以分别使用两个独立的地址域。在一些情况下,这两个独立地址域可以具有(多个)重叠地址但是没有(多个)重叠地址的冲突。在一些情况下,这两个地址域是完全不同的(即,不共享重叠地址)。

在一些实施例中,边缘设备网络145的边缘设备可以被配置为根据自动发现协议(例如,dhcp、arp)从耦合至该边缘设备的交换结构设备获得地址。例如,在这样的实施例中,负责管理边缘设备网络145的边缘管理员能够为边缘设备网络145选择地址空间(例如,地址域)并且向负责管理交换结构105的交换管理员通知所选择的地址空间。此外,边缘管理员还能够向结构管理员更新边缘设备网络145的地址空间上的任意变化。作为结果,结构管理员能够向交换结构105的交换结构设备分配地址空间,该地址空间并不与边缘设备网络145的地址空间相重叠。因此,被分配给边缘设备的地址可以不同于被分配给交换结构设备的地址。

例如,边缘设备162能够向交换结构设备130发送针对地址的请求(例如,dhcp请求、arp请求)。响应于该请求,在交换结构设备130处从边缘设备网络145的地址空间选择地址并且随后将该地址从交换结构设备130发送至边缘设备162。在一些情况下,被分配给边缘设备162的地址也可以被包括在交换结构105的地址空间中。因此,该地址将不会被分配给交换结构105的任何交换结构设备;作为结果,不会有交换结构设备与边缘设备162共享相同的地址。

在一些实施例中,交换结构105的交换结构设备(例如,交换结构设备110、120、130、140)可以共同被配置为使得能够在边缘设备网络145的边缘设备(例如,边缘设备150、162、164、170、180)之间进行数据传输。交换结构105能够被配置为实施标签交换路径(lsp)的网格,使得交换结构105的交换结构设备能够使用lsp的网格互相传输数据。能够使用连接交换结构设备的mpls隧道来实施lsp的网格,因此形成mpls隧道的网格。在一些实施例中,例如igp、ldp、rsvp-te等的路由协议能够被用来生成mpls隧道的网格。特别地,例如可以通过在交换结构105内执行lgp及ldp、rsvp-te和/或其它路由协议来建立mpls隧道的网格。

在一些实施例中,mpls隧道的网格在交换结构105内实施且并不延伸至边缘设备网络145的边缘设备。也就是说,在交换结构105内实施的(多种)路由协议并不在交换结构设备和边缘设备的连接处被实施。相反,自动发现协议(例如,dhcp、arp、lldp)能够被用来使得能够在交换结构设备与边缘设备之间进行通信。以下进一步描述使得能够使用mpls隧道在边缘设备之间进行数据传输的细节。

如以上所讨论的,交换结构105和边缘设备网络145均能够具有独立的地址空间。在这样的情况下,交换结构105中的每个交换结构设备能够从用于边缘设备网络145的地址空间中被分配地址(例如,ip地址)的块。因此,交换结构设备能够响应于从边缘设备接收到请求(例如,dhcp请求、arp请求)而从分配给该交换结构设备的地址块中向边缘设备分配地址。此外,在一些实施例中,交换结构105的交换结构设备能够在它们自己之间保持ip连接而并不向边缘设备网络145的边缘设备提供ip连接。

能够参考图1而考虑通过交换结构105使用mpls隧道在边缘设备(例如,边缘设备162)与其它边缘设备(例如,边缘设备164、170、180)之间发起数据传输的方法。最初,边缘设备162能够根据自动发现协议(例如,dhcp、arp、lldp)向交换结构设备130发送请求(在图1中示为信号192)。在一些实施例中,边缘设备162能够被配置为例如响应于边缘设备162被启动、开机、耦合至交换结构设备130等而发送这样的请求。

在一些实施例中,该请求可以是针对分配给边缘设备162的地址和/或标签的请求。例如,该请求可以是针对分配给边缘设备162的ip地址和/或给其它边缘设备用于向边缘设备162发送数据的标签的dhcp请求。响应于该请求,交换结构设备130能够向边缘设备162发送响应(在图1中示为信号194)。该响应可以包括分配给边缘设备162的地址(例如,ip地址)。例如,交换结构设备130能够向边缘设备162分配ip地址10.1.3.1。如以上所讨论的,分配给边缘设备162的地址能够从边缘设备网络145的地址空间中进行选择,该地址空间独立于交换结构105的地址空间。在一些实施例中,边缘设备145的地址空间可以与交换结构105的地址空间有所重叠。作为结果,分配给边缘设备162的地址能够对应于交换结构105的地址空间中所包括(但是还没有被分配)的地址。在这样的实施例中,分配给边缘设备162的地址可以被选择为使得该地址并不被分配给交换结构105中的任何交换结构设备。

在一些实施例中,响应于该请求,交换结构设备130能够针对边缘设备162定义标签,使得该标签能够被用来将数据路由至边缘设备162。例如,交换结构130能够定义标签[el162→162,经由130],其指示能够经由交换结构设备130到达边缘设备162。在一些实施例中,分配给边缘设备162的地址可以包括在针对边缘设备162所定义的标签中。在这样的实施例中,该标签例如可以是[el162→10.1.3.1,经由130]。交换结构设备130随后可以被配置为将针对边缘设备162的标签存储在例如交换结构设备130中的路由表(例如,图3中的交换结构设备300中的路由表325)中。在一些实施例中,针对边缘设备162的标签例如能够被添加至路由表中的lfib。lfib中的标签可以与交换结构设备130中将交换结构设备130连接至边缘设备162的端口相关联并且被用来识别该端口。

在一些实施例中,交换结构设备130能够被配置为(连同所分配的地址一起)向边缘设备162发送标签(例如,经由信号194)。在一些实施例中,在针对边缘设备162分配地址并定义标签时,交换结构设备130能够被配置为向边缘设备网络145中的耦合至交换结构105的其它边缘设备(例如,边缘设备150、164、170、180)、和/或向交换结构105中的其它交换结构设备声明该地址和标签。特别地,交换结构设备130能够被配置为经由交换结构105中的交换结构设备向其它边缘设备发送广告(例如,消息),该广告包括边缘设备162的路由信息(例如,边缘设备162的地址、边缘设备162的标签、以及将交换结构设备130作为到达边缘设备162的“下一跳”的标识符)。例如,该广告可以包括诸如10.1.3.1、el162、下一跳:130之类的路由信息。作为结果,使得能够在交换结构105的其它交换结构设备和/或边缘设备网络145的其它边缘设备处获得与去往边缘地址162的路由相关联的信息(包括边缘设备162的地址、标签和下一跳)。

在一些实施例中,作为交换结构设备130向其它边缘设备发送边缘设备162的路由信息的替换形式,边缘设备162可以被配置为向边缘设备网络145的其它边缘设备发送其路由信息。在这样的实施例中,边缘设备162能够根据诸如bgp之类的基于网络地址的协议,向其它边缘设备发送路由信息(例如,边缘设备162的地址、边缘设备162的标签、以及将交换结构设备130作为到达边缘设备162的“下一跳”的标识符)。在一些实施例中,该bgp消息能够在边缘设备网络145的控制平面(未示出)内被发送,该边缘设备网络145的控制平面独立于交换结构105的控制平面(即,不经由交换结构105)。在这样的实施例中,例如,边缘设备162能够在不经过交换结构105的情况下向边缘设备180发送包括路由信息的bgp消息(在图1中示为信号199)。在其它实施例中,该bgp消息能够通过交换结构105的控制平面被发送(即,经由交换结构105)。在这样的实施例中,例如,边缘设备162能够经由交换结构设备130、140向边缘设备180发送包括路由信息的bgp消息(图1中未示出)。

如图1所示的示例,当边缘设备180试图与边缘设备162进行通信时,边缘设备180能够首先基于所接收的边缘设备162的路由信息,将交换结构设备130确定为到达边缘设备162的下一跳。边缘设备180随后能够向交换结构设备140发送请求(在图1中示为信号193)。该请求例如可以是用于求解去往交换结构设备130的路线的arp请求。响应于该arp请求,交换结构设备140能够进行检查以确定交换结构设备140与交换结构设备130之间是否存在mpls连接(例如,mpls隧道)。在确定交换结构设备140与交换结构设备130之间存在mpls隧道(例如,图1中的mpls隧道190)之后,交换结构设备140能够针对该mpls隧道定义标签。例如,交换结构设备140能够针对mpls隧道190定义标签[fl140-130:140到130]。交换结构设备140随后能够将该标签添加至例如交换结构设备140的路由表中的lfib。lfib中的该标签能够与交换结构设备140中经由mpls隧道190将交换结构设备140连接至交换结构设备130的端口相关联、并且被用来识别该端口。

在针对mpls隧道190定义了该标签之后,交换结构设备140能够下将该标签发送至边缘设备180(图1中示为信号195)。在一些实施例中,交换结构设备140例如能够向边缘设备180发送交换结构设备130的熵标签和/或(多个)其它交换结构设备的(多个)熵标签。这样的熵标签例如可以包括与mpls隧道190相关联的负载平衡信息(例如,关于交换结构105内的(多个)其它mpls隧道的负载平衡信息)。在一些实施例中,交换结构设备140能向边缘设备180发送与交换结构设备130、交换结构设备140和/或(多个)其它交换结构设备相关联的(多个)其它度量值。因此,边缘设备180能够基于(多个)熵标签和/或与交换结构设备130、交换结构设备140和/或(多个)其它交换结构设备相关联的(多个)其它度量值,决定是否经由交换结构设备140和130或者任意其它可替换路线(图1中未示出)而与边缘设备162进行通信。

在接收到针对mpls隧道190的标签和/或附加信息之后,边缘设备180能够使用标签栈<fl140-130,el162>来建立与边缘设备162的mpls连接。例如,边缘设备180能够通过交换结构设备140、mpls隧道190和交换结构设备130向边缘设备162发送数据单元(例如,数据分组、数据单位、数据帧)。特别地,边缘设备180的隧道模块(例如,图2的边缘设备200的隧道模块225)能够利用标签栈<fl140-130,el162>对该数据单元进行封装。首先,标签el162能够在边缘设备180的隧道模块处被用来封装该数据单元以定义该数据单元的第一封装。接下来,标签fl140-130能够在边缘设备180的隧道模块处被用来对数据单元的第一封装进行封装以定义该数据单元的第二封装。边缘设备180能够将该数据单元的第二封装作为封装数据发送至交换结构设备140。

当接收到利用标签栈<fl140-130>进行封装的数据单元(即,该数据单元的第二封装)时,交换结构设备140的隧道模块(例如,图3中的交换结构设备300的隧道模块345)能够从数据单元的第二封装中解封装标签fl140-130,以得到数据单元的第一封装。基于标签fl140-130,交换结构设备140能够确定经由mpls隧道190向交换结构设备130发送所解封装的数据(即,该数据单元的第一封装)。例如,交换结构设备140能够基于端口的标识符与交换结构设备140的路由表中的标签fl140-130相关联而确定该端口用于发送该数据单元的第一封装。

当接收到利用标签el162进行封装的数据单元(即,该数据单元的第一封装)时,交换结构设备130的隧道模块(例如,图3中的交换结构设备300的隧道模块345)能够从该数据单元的第一封装中解封装标签el162以得到原始数据单元。基于标签el162,交换结构设备130能够确定将该数据单元发送至边缘设备162。例如,交换结构设备130能够基于端口的标识符与交换结构设备130的路由表中的标签el162相关联而确定该端口用于发送该数据单元。因此,边缘设备180能够通过交换结构105、经由mpls隧道向边缘设备162发送该数据单元。

作为图1所示的另一个示例,当边缘设备164尝试与边缘设备162进行通信时,边缘设备164能够首先基于所接收的边缘设备162的路由信息,将交换结构设备130确定为到达边缘设备162的下一跳。在一些实施例中,类似于以上所描述的边缘设备180,边缘设备164能够向交换结构设备130发送arp请求(在图1中示为信号196),以求解去往交换结构设备130的路线。响应于该arp请求,交换结构设备130能够向边缘设备164返回响应(在图1中示为信号198),该响应包括例如空标签。这样的空标签从交换结构设备130指示交换结构设备之间的mpls隧道不被用来到达交换设备130。边缘设备164随后能够以类似于以上所描述的边缘设备180的方法,使用标签栈<空标签,el162>对意图在于边缘设备162的数据单元(例如,数据分组、数据单位、数据帧)进行封装。边缘设备164随后能够以类似于以上所描述的边缘设备180的方法,经由交换结构设备130将所封装的数据单元发送到边缘设备162。在一些其它实施例中,如果边缘设备164确定其直接耦合至(作为到达边缘设备162的下一跳的)交换结构设备130,则发送arp请求以求解去往交换结构设备130的路线的步骤可以被省略或跳过。在这样的实施例中,边缘设备164能够使用标签el162对意图在于边缘设备162的数据进行封装,并且随后将所封装的数据发送至交换结构设备130。当从边缘设备164接收到(例如,使用标签栈<空标签,el162>或标签el162所封装的)该封装数据时,交换结构设备130的隧道模块能够对该封装数据进行解封装以得到意图在于边缘设备162的数据,并且随后将该数据发送至边缘设备162。

图4是图示根据实施例的用于经由交换结构在边缘设备之间进行通信的方法400的流程图。方法400能够在第一边缘设备处执行,该第一边缘设备在结构和功能上类似于关于图1和2所示出并描述的边缘设备(例如,边缘设备150、162、164、170、180、200)。特别地,该第一边缘设备能够耦合至交换结构的交换结构设备(例如,图1中的交换结构105的交换结构设备110、120、130或140、图3中的交换结构300)。该交换结构设备(例如,经由交换结构的(多个)其它交换结构设备)可操作地耦合至第二边缘设备。

在一些实施例中,类似于参考图2所示出并描述的边缘设备200,第一边缘设备可以包括处理器(例如,处理器220)和存储器(例如,存储器210)。该存储器例如可以是非瞬时处理器可读介质。表示用于执行方法400的指令的代码能够被存储在第一边缘设备中所包括的非瞬时处理器可读介质中并且由第一边缘设备的处理器所执行。该代码包括要由该处理器所执行使得第一边缘设备对图4中所图示并且如以下所描述的功能进行操作的代码。

在402,第一边缘设备能够在第一时间根据自动发现协议向交换结构的交换结构设备发送请求。如以上所讨论的,该自动发现协议例如可以是dhcp。该请求(例如,dhcp请求)可以是针对要分配给第一边缘设备的地址和/或要对第一边缘设备定义的标签(例如,以上参考图1所描述的示例中的标签el162)的请求。该标签可以被其它边缘设备和/或交换结构设备用来将数据路由至第一边缘设备。

在404,第一边缘设备能够在第一时间之后的第二时间并且响应于该请求、根据自动发现协议从交换结构设备接收响应。例如,第一边缘设备能够从交换结构设备接收dhcp响应,该dhcp响应包括分配给第一边缘设备的ip地址。在一些实施例中,该响应可以包括针对第一边缘设备所定义的标签。在一些实施例中,该响应可以包括与将数据路由至第一边缘设备相关联的其它路由信息。

在406,第一边缘设备能够向第二边缘设备发送包括该标签的消息或信号,该标签被包括在该响应中,使得基于该标签与第二边缘设备建立mpls隧道。如以上所讨论的,第一边缘设备例如能够使用例如bgp消息向第二边缘设备发送该标签。可替换地,交换结构设备能够将包括该标签的广告(例如,在(多个)消息或(多个)信号中)发送至交换结构的其它交换结构设备,后者进而能够将该标签发送至包括第二边缘设备在内的其它边缘设备。

如以上所详细描述的,在接收到该标签之后,第二边缘设备能够发起建立mpls隧道以到达第一边缘设备。特别地,第二边缘设备能够基于该标签而确定针对第一边缘设备的下一跳的交换结构设备(该示例中的交换结构设备)。第二边缘设备随后能够向相关联的交换结构设备(即,将第二边缘设备可操作地耦合至交换结构的交换结构设备)发送arp请求,以求解出去往下一跳的交换结构设备的路线。响应于该arp请求,第二边缘设备能够接收识别将关联于第二边缘设备的交换结构设备与关联于第一边缘设备的交换结构设备相连接的mpls隧道(例如,图1中将交换结构设备140和交换结构设备130相连接的mpls隧道190)的标签(例如,以上关于图1所描述的示例中的标签fl140-130)。

在408,第二边缘设备能够使用包括第一边缘设备的标签和mpls隧道的标签的标签栈来发送数据单元。基于该标签栈,该数据单元能够通过与第二边缘设备相关联的交换结构设备、mpls隧道以及与第一边缘设备相关联的交换结构设备而以该顺序被传输至第一边缘设备。特别地,能够在与第二边缘设备相关联的交换结构设备处使用mpls隧道的标签(例如,fl140-130),将数据单元从与第二边缘设备相关联的交换结构设备路由至与第一边缘设备相关联的交换结构设备。在与第一边缘设备相关联的交换结构设备处,能够使用第一边缘设备的标签(例如,el162)来将该数据单元从与第一边缘设备相关联的交换结构设备路由至第一边缘设备。作为第二边缘设备使用mpls隧道将该数据单元发送至第一边缘设备的结果,第一边缘设备能够在第二时间之后的第三时间通过该mpls隧道从第二边缘设备接收该数据单元。

虽然这里关于图1示出并描述了边缘设备网络的边缘设备与交换结构的交换结构设备进行交互以得到关联于和其它边缘设备的通信的路由信息(例如,识别mpls隧道和其它边缘设备的标签),但是在其它实施例中,一个或多个路线反射器能够向边缘设备网络的边缘设备提供路由信息。这样的路线反射器能够在边缘设备、交换结构设备或者与边缘设备网络和交换结构分离的设备处实施。例如,路线反射器能够被配置为从边缘设备接收bgp消息,该bgp消息包括该边缘设备的所更新的路由信息。该路线反射器能够被配置为将该bgp消息转发至其它边缘设备。因此,边缘设备网络中的每个边缘设备保持与路线反射器的bgp连接,而并不保持与其它边缘设备的任何连接。作为另一个示例,路线反射器能够用作边缘设备网络的dhcp服务器和/或arp服务器。因此,每个交换结构设备能够将从其相关联的边缘设备所接收的dhcp请求和/或arp请求转发至路线反射器(例如,经由交换结构的其它交换结构设备),并且从路线反射器接收dhcp响应和/或arp响应。作为又另一个示例,路线反射器可以用作中央控制器,其存储与交换结构相关联的路由信息并且将该路由信息提供至交换结构的交换结构设备。因此,每个交换结构设备与路线反射器进行通信,以获得mpls隧道和/或边缘设备的标签。交换结构设备随后能够使用从路线反射器所接收的标签,以通过交换结构路由数据。

这里所描述的一些实施例涉及一种具有非瞬时计算机可读介质(也被称作非瞬时处理器可读介质)的计算机存储产品,该非瞬时计算机可读介质在其上具有用于执行各种计算机所实施的操作的指令或计算机代码。就其本身并不包括瞬时传播信号(例如,在诸如空间或线缆的传输介质上承载信息的传播电磁波)的意义而言,计算机可读介质(或处理器可读介质)是非瞬时的。媒介和计算机代码(也被称作代码)可以是出于一个或多个具体目的而设计和构造的那些媒介和计算机代码。非瞬时计算机可读媒介的示例包括但并不局限于:磁性存储媒介,诸如硬盘、软盘和磁带;光学存储媒介,诸如紧致盘/数字视频盘(cd/dvd)、紧致盘只读存储器(cd-rom)和全息设备;诸如光盘的磁性光学存储媒介;载波信号处理模块;以及被专门配置为存储并执行计算机代码的硬件设备,诸如专用集成电路(asic)、可编程逻辑设备(pld)、只读存储器(rom)和随机访问存储器(ram)设备。这里所描述的其它实施例涉及一种计算机程序产品,其例如可以包括这里所讨论的指令和/或计算机代码。

计算机代码的示例包括但并不局限于微代码或微指令、诸如由编译器所产生的机器指令、用来产生web服务的代码,以及包含由计算机使用解释器执行的更高级指令的文件。例如,实施例可以使用命令编程语言(例如,c、fortran等)、功能编程语言(haskell、erlang等)、逻辑编程语言(例如,prolog)、面向对象编程语言(例如,java、c++等)或者其它适当编程语言和/或开发工具来实施。计算机代码另外的示例包括但并不局限于控制信号、加密代码和压缩代码。

虽然以上已经对各个实施例进行了描述,但是应当理解的是,它们仅是作为示例而非限制被给出。在以上所描述的方法指示某些事件以某个顺序进行的情况下,某些事件的排序可以有所修改。此外,某些事件在可能时可以在并行处理中同时执行,以及如以上所描述的那样顺序执行。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1