具有单独控制设备和转发设备的网络中的控制设备发现制造技术

技术编号:13912837 阅读:137 留言:0更新日期:2016-10-27 07:54
软件定义网络(SDN)包括多个转发设备以及与转发设备分开布置的路由控制设备。路由控制设备建立到网络转发设备的路径以及从网络转发设备起始的路径。使用这些路径,转发设备向路由控制设备发送反映网络拓扑结构的信息。本文中所公开的实施例实现了自动发现网络的拓扑结构以及到路由控制设备的路径和从路由控制设备起始的路径。

【技术实现步骤摘要】
【国外来华专利技术】
本领域总体上涉及网络路由。
技术介绍
通信网络可以例如提供允许在两个地理上的远程位置之间传送数据的网络连接。网络连接可以跨越连接诸如路由器的通信设备的多个链路。网络可以根据链路通过通信设备如何互连而具有不同拓扑结构。在给定特定网络拓扑的情况下,在源和目的地之间可以存在多条路线。根据当前容量和使用情况,一些路线可能比其他路线更可取。传统的路由算法依赖于每个路由器从与其邻近的链路和设备获得的本地信息来路由数据。路由器将这种信息保持在路由表中。并且基于传入分组的目的地址,路由器使用其路由表将分组转发至特定邻近设备。为了开发路由表,每个路由器使用如边界网关协议(BGP)的协议与本地邻近路由器交换路由和可达性信息。以这种方式,每个路由器既转发分组,也进行控制功能以更新其自身的路由表。虽然使用本地信息在一些情况下是所希望的,但是其可能不总是高效地路由数据。为了更高效地路由数据,被称为软件定义网络(SDN)的另一种技术将控制功能和转发功能分为单独的设备。控制设备使用网络拓扑的全局知识,以针对各个数据流确定通过转发设备的网络的路径。以这种方式,路由控制设备可以例如通过网络建立使延迟最小化或使带宽最大化的路径。
技术实现思路
在实施例中,一种计算机实现的方法发现从网络转发设备至路由控制设备的路线。该发现方法包括:在转发设备的端口上接收控制分组。然后,所述方法至少部分地基于接收到控制分组的端口,识别转发设备上的哪个端口将数据转发到达路由控制设备。响应于在转发设备接收到新数据流,所述方法在所识别的端口上将命令发送到路由控制设备。所述命令指示路由控制设备确定通过转发设备到目的地的路径并配置转发设备以沿所确定的路径转发所述新数据流。然后,所述方法根据路由控制设备的配置命令,转发所述新数据流。还公开了系统和计算机程序产品实施例。以下参照附图详细地描述本专利技术的其他实施例、特征和优点以及各种实施例的结构和操作。附图说明并入本文中且形成说明书的一部分的附图示出了本公开,并且与描述一起进一步用于解释本公开的原理且使相关领域技术人员能够制造和使用本公开。图1A是示出了路由控制设备将控制分组发送到转发设备的示图。图1B是示出了转发设备在整个网络中分发(flood)控制分组的示图。图1C是示出了控制设备如何收集反映网络拓扑的信息的示图。图2是示出了用于找到从控制设备至转发设备的路径的方法的流程图。图3是示出了用于建立从每个转发设备至控制设备的路径的方法的流程图。图4A是示出了使用从转发设备至控制设备的路径的网络连接的示图。图4B是示出了路由控制设备建立快速路径的示图。图5是示出了具有多个控制设备的网络的示图。图6是示出了控制设备和转发设备的模块的示图。要素首次出现的附图通常由相应附图标记中的最左边的一个或多个数字来指示。在附图中,相似的附图标记可以指示相同或功能相似的要素。具体实施方式如上所述,SDN路由技术使用网络拓扑的全局知识以高效地路由分组。这些技术使用彼此分离的路由控制设备和转发设备。当转发设备通过网络接收到新的数据流时,转发设备联系路由控制设备以确定用于该数据流的新路径。路由控制设备确定通过网络的转发设备的新路径,并相应地配置转发设备。为了运行,路由控制设备和转发设备需要配置有网络信息。具体地,为了请求通过互连的转发设备创建新路径,转发设备需要知晓如何将数据路由到路由控制设备。并且,路由控制设备需要知晓网络拓扑以确定通过网络的路径。手动地配置这种信息会是耗时且容易出错的。这里公开的实施例使得拓扑信息能够被自动地发现。在实施例中,路由控制设备连接到转发设备并将控制分组发送到转发设备。控制分组在地址字段中包含控制设备的地址,作为其源地址。控制设备还将序列号附着到每个控制分组。转发设备附着性能信息,所述性能信息例如指示网络需要多长时间将信息从转发设备发送到路由控制设备。然后,转发设备在该转发设备的连接到其他转发设备的其他端口上广播或分发(flood)控制分组。并且,如果其他转发设备之前没有转播具有更好性能信息的分组,则这些转发设备更新性能信息并转播该分组。当转发设备接收到控制分组时,它们记得在哪个端口控制分组接收到具有最佳性能信息的分组。转发设备知晓的该端口在至路由控制设备的最快路线上。并且,每个转发设备可以请求在至路由控制设备的该路线上建立标签交换路径。利用所建立的路径,转发设备将关于其邻近网络拓扑和网络条件的信息发送到控制设备。使用来自所有转发设备的这种信息,控制设备可以创建全局网络拓扑和网络条件的数据库。该拓扑数据库使得控制设备能够在网络中建立源转发设备和目的转发设备之间的路径。一旦向控制器建立了该路径,则控制器可以在之后的任何时间,使用可以利用更完整的拓扑和性能信息的另一种方法来确定用于转发设备和控制器之间的通信的更好路径。如果确定了该更好路径,则可以通过控制器重新用信号通知特定的新路径并且随后消除现有路径,来替换现有路径。以下具体实施方式分为五个部分。第一部分参照图1A至图1C描述了网络中的控制设备将控制分组发送到每个转发设备,并从转发设备收集拓扑和网络条件信息。第二部分参照图2至图3描述了在控制设备和每个转发设备之间建立双向连接。第三部分参照图4A至图4B描述了使用控制设备建立并传送数据而不需要边缘路由器缓冲大量分组。第四部分参照图5描述了使用网络中的多个控制设备。最后的第五部分参照图6描述了控制设备系统及其模块以及转发设备系统及其模块。控制设备和控制分组图1A是示出了通信网络的示图100。通信网络可以是局域网(LAN)、城域网(MAN)或广域网(WAN)。其可以利用任意点到点或多点到多点的网络协议。所使用的网络接入协议可以包括例如:多协议标签交换(MPLS)、以太网、异步传输模式(ATM)、高级数据链路控制(HDLC)或分组中继。通信网络包括通过链路互连的多个转发设备,例如转发设备104、106、108、110和112。转发设备是转发分组的设备,包括位于数据链路层(OSI层2)和网络层(OSI层3)的设备。通信网络还包括路由控制设备102。路由控制设备102可以连接到至少一个转发设备,例如转发设备104。路由控制设备102可以在地理上远离网络中的其他转发设备。在示例中,用户可以将数据从源转发设备(例如转发设备106)发送到目的转发设备(例如110)。数据可以是被划分成多个分组的数据流,并且每个分组可以指定转发设备110或另一下游设备作为其目的地。路由控制设备102提供用于建立网络连接的智能路由。为此,控制设备102需要网络链路和设备的拓扑结构和条件的知识。路由控制设备102直接连接转发设备104。为了控制设备获得网络的知识,控制设备102将控制分组120发送到转发设备104。控制分组120可以包括表明该分组是控制分组的指示、路由控制设备102的标识符(例如其媒体访问控制地址)和该分组的序列号。在实施例中,控制设备102可以按照均匀时间间隔发送新的控制分组。每次控制设备102发送新分组时,控制设备102可以使序列号递增,从而发送具有不同编号的新的控制分组。在说明性示例中,控制分组120可以包括以下信息:类型标记:C(用于控制分组)控制设备的MAC地址:01:23:45:67:89:ab控制分组的序列号:1一旦路由控本文档来自技高网...

【技术保护点】
一种用于发现从多个转发设备到路由控制设备的路线的方法,包括:(a)在所述多个转发设备中的转发设备的端口上接收控制分组;(b)至少部分地基于接收到控制分组的端口,识别所述转发设备上的哪个端口将数据转发到达所述路由控制设备;(c)响应于在所述转发设备处接收到新数据流,在(b)中识别的端口上将消息发送到所述路由控制设备,所述消息指示所述路由控制设备确定通过所述多个转发设备到目的地的路径并将所述多个转发设备的子集配置为沿所确定的路径转发所述新数据流;以及(d)根据所述路由控制设备的配置命令,转发所述新数据流。

【技术特征摘要】
【国外来华专利技术】2014.02.24 US 14/188,0271.一种用于发现从多个转发设备到路由控制设备的路线的方法,包括:(a)在所述多个转发设备中的转发设备的端口上接收控制分组;(b)至少部分地基于接收到控制分组的端口,识别所述转发设备上的哪个端口将数据转发到达所述路由控制设备;(c)响应于在所述转发设备处接收到新数据流,在(b)中识别的端口上将消息发送到所述路由控制设备,所述消息指示所述路由控制设备确定通过所述多个转发设备到目的地的路径并将所述多个转发设备的子集配置为沿所确定的路径转发所述新数据流;以及(d)根据所述路由控制设备的配置命令,转发所述新数据流。2.根据权利要求1所述的方法,其中,所述发送(c)包括:通过控制设备转发所述新数据流的初始分组。3.根据权利要求1所述的方法,还包括:(e)在所述转发设备的与在(a)中接收到分组的端口不同的其余端口上,将控制分组从所述转发设备转发到另一转发设备。4.根据权利要求3所述的方法,还包括:(f)在所述转发设备,将标签发送到所述多个转发设备中的另一转发设备,其中,当所述标签附着到在所述转发设备接收到的分组时,所述标签指示所述转发设备在(b)中识别的端口上朝所述路由控制设备转发所述分组。5.根据权利要求3所述的方法,其中,控制分组包括序列号以及将分组从所述转发设备路由到所述路由控制设备的估计时间,并且所述方法还包括:(f)确定所述转发设备是否之前已经转发了来自所述路由控制设备的另一控制分组,所述另一控制分组具有所述序列号,并具有比所述控制分组中的估计时间少的将分组从所述转发设备路由到所述路由控制设备的另一估计时间,以及其中,当在(f)中确定所述转发设备之前没有转发所述另一控制分组时,发生转发步骤(e)。6.根据权利要求1所述的方法,还包括:(e)在(b)中识别的端口上将消息发送到所述路由控制设备,所述消息识别所述转发设备以及在所述多个转发设备中所述转发设备所连接到的其他转发设备,其中,所述路由控制设备使用所述消息来建立表示网络拓扑结构的数据库,并使用所述数据库来确定路径。7.根据权利要求1所述的方法,其中,控制分组包括所述路由控制设备的标识符,并且所述方法还包括:(e)在所述转发设备的端口上接收包括另一路由控制设备的标识符在内的另一控制分组;(f)至少部分地基于接收到转发设备的端口,识别所述转发设备上的哪个端口将数据转发到达所述另一路由控制设备;以及(g)响应于在所述转发设备接收到新数据流,确定所述路由控制设备和所述另一路由控制设备中的哪一个发送消息,所述消息指示所述路径配置为通过所述多个转发设备。8.一种用于发现到控制设备的路线的转发设备,包括:交换发现模块,被配置为:(i)在转发设备的端口上接收控制分组,以及(ii)至少部分地基于接收到控制分组的端口来识别所述转发设备上的哪个端口将数据转发到达路由控制设备;路径请求模块,被配置为响应于在所述转发设备接收到新数据流,在所识别的端口上将消息发送到所述路由控制设备,所述消息指示所述路由控制设备进行以下操作:(I)确定通过所述多个转发设备到目的地的路径,以及(ii)将所述多个转发设备的子集配置为沿所确定的路径转发所述新数据流;以及路由表,位于所述转发设备内,用于使得所述转发设备能够根据所述路由控制设备的配置命令转发所述新数据流。9.根据权利要求8所述的设备,其中,所述路径请求模块还被配置为:通过所述控制设备转发所述新数据流的初始分组。10.根据权利要求8所述的设备,其中,所述交换发现模块被配置为:在所述转发设备的与接收到控制分组的端口不同的其余端口上,将控制分组从所述转发设备转发到另一转发设备。11.根据权利要求10所述的设备,其中,所述交换发现模块被配置为:将标签发送到所述多个转发设备中的另一转发设备,其中,当所述标签附着到在所述转发设备接收到的分组时,所述标签指示所述转发设备在由所述交换发现模块识别的端口上朝所述路由控制设备转发所述分组。12.根据权利要求10所述的设备,其中,控制分组包括序列号以及将分组从所述转发设备路由到所述路由控制设备的估计时间,并且所述转发设备还包括:性能度量模块,被配置为:确定所述转发设备是否之前已经转发了来自所述路由控制设备的另一控制分组,所述另一控制分组具有所述序列号,并具有比所述控制分组中的性能度量更好的将分组从所述转发设备...

【专利技术属性】
技术研发人员:威廉姆·托马斯·塞拉詹姆斯·麦克尔·塞拉
申请(专利权)人:第三雷沃通讯有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1