意欲在使用动态路由协议的网络中实现的配置方法

文档序号:1205592 发布日期:2020-09-01 浏览:6次 >En<

阅读说明:本技术 意欲在使用动态路由协议的网络中实现的配置方法 (Configuration method intended to be implemented in a network using a dynamic routing protocol ) 是由 M.布卡戴尔 C.雅克奈 于 2018-11-21 设计创作,主要内容包括:该配置方法包括:-由网络的第一装置接收第一控制消息(CMD,M1)的步骤(E40,E80),所述第一控制消息包括用于网络中的动态路由协议的激活的配置元素;-由所述第一装置基于所述第一消息中包括的配置元素配置用于根据所述第一装置所使用的所述协议建立会话的设立参数的步骤(E50,E90);-如果所述第一消息中包括的配置元素包括用于根据网络中的所述协议处置会话的至少一个管理指令、则由所述第一装置执行所述至少一个管理指令的步骤(E60,E110);和-如果所述第一消息中包括的配置元素包括用于引导配置元素在网络中的传播的设置、则由所述第一装置根据所述传播设置向所述网络中的至少一个第二装置分派至少一个第二控制消息(M1,M2)的步骤(E70,E120),该第二控制消息包括第一消息中包含的全部或部分配置元素。(The configuration method comprises the following steps: -a step (E40, E80) of receiving, by a first device of the network, a first control message (CMD, M1) comprising configuration elements for activation of a dynamic routing protocol in the network; -a step (E50, E90) of configuring, by the first apparatus, setup parameters for establishing a session according to the protocol used by the first apparatus, based on configuration elements included in the first message; -a step (E60, E110) of executing, by the first device, at least one management instruction for handling a session according to the protocol in the network if a configuration element included in the first message includes the at least one management instruction; and-if the configuration element included in said first message comprises settings for directing the propagation of the configuration element in the network, a step (E70, E120) of dispatching, by said first device, at least one second control message (M1, M2) comprising all or part of the configuration element contained in the first message, to at least one second device in said network according to said propagation settings.)

意欲在使用动态路由协议的网络中实现的配置方法

技术领域

本发明涉及电信的一般领域。

其更具体地涉及实现动态路由协议的电信网络的装置的配置,例如BGP(边界网关协议)、OSPF(开放最短路径优先)或甚至IS-IS(中间系统到中间系统)协议,用于意欲通过网络承载业务量的路由的计算、选择和建立。

背景技术

这种路由协议通常在电信网络中使用,以在不同的自治系统(或AS)之间传递路由信息。通常,因特网网络当前由数万个自治系统组成,每个自治系统由称为网络运营商或管理员的特定管理实体操作。每个自治系统由称为自治系统编号或AS编号(或用于AS编号的ASN)的全局唯一编号标识。

如今,BGP协议越来越多地在网络基础架构(以下也简称为“网络”)中使用,数据中心(或DC)基于该网络基础架构,尤其是大型数据中心,也已知为MSDC(大规模可伸缩数据中心)或HSDC(超大规模数据中心)。BGP协议允许在这些网络基础架构内在网络的不同设备之间(例如路由器、控制器或交换机)交换路由信息。数据中心的网络基础架构可以构成成熟的自治系统,或者可以根据自治系统的集合来组织,当基础架构大规模分布时,所述自治系统的集合例如可以形成“BGP联盟”。在这样的网络基础架构内,通常使用私有AS编号,即在因特网上不可见的编号,来促进BGP路由策略的管理,而无需分配全局唯一的AS编号。这使得将数据中心本身的网络基础架构、与该基础架构所连接到的并向其分配单独的AS编号的网络区分开来变得更加容易。在该数据中心的网络基础架构内,例如,相同的AS编号可由位于同一层次级别的几个路由器使用。而且,某些制造商已经开发出特定于数据中心的BGP扩展(例如“允许进入(allowas-in)”),以能够在不同的层次级别中使用相同的AS编号。

数据中心的部署需要资源生产处理的高级别自动化(例如,旨在托管某些虚拟化网络功能的虚拟机的动态生产),以便简化用于配置数据中心的网络基础架构的设备的过程,并使得错误的风险最小化。这种自动化进一步允许改善网络的可用性和稳定性:必须按照需要最小配置工作或根本不需要配置工作的动态方式,来进行与引入新的切换(例如,交换机、路由器)或传输(例如,旨在提供更多容量来处置更多业务量的中心内和中心间数据链路)资源有关的网络基础架构的拓扑的任何更改。

此外,重要的是,当数据中心例如基于软件定义网络(SDN)类型的体系结构时,通常由一个或多个网络控制器控制信令业务量(尤其包括网络基础架构内发出的配置信息)的数量(volumetry)。此信令业务量还可以包括网络的某些设备当检测到其拓扑更改时所发出的通知,例如,位于同一数据中心内的两个交换机之间的连接断开。必要(imperative)的是,确保交换的信令业务量的数量不会以任何方式损害将涉及数据中心的基础架构内托管的资源的、(多个)服务的可用性。

为了优化对数据中心内的资源的利用,底层网络的设备的配置必须遵守用于接口、向这些接口分配的地址等的命名的适当过程。特别是,根据诸如BGP之类的路由协议的数据中心的网络基础架构内的路由策略的实现基于网络的不同设备之间的BGP会话的建立。这些会话基于不同的配置信息(例如,每台设备所属的AS编号)建立:AS编号是强制(mandatory)信息,以便在两个路由器之间建立BGP会话。实际上,如果BGP路由器不知道其所属的自治系统的编号,则其不能与属于邻居自治系统的另一路由器建立BGP会话,也不能与其所属的自治系统的其他路由器建立BGP会话。在自治系统的所有设备之间建立BGP会话是必要的,以保证网络基础架构的拓扑结构的全局和一致的洞察力(vision),并且AS编号以这样的会话的建立为条件(condition)。还要注意,该AS编号还用来选择BGP路由,并且用于检测和防止网络基础架构内的路由环路。

在现有技术的当前状态下,在(数据中心的或任何其他网络基础架构的)网络基础架构内配置激活动态路由协议(例如BGP)的特性功能的处理需要网络的运营商对网络的每台设备的显式配置。经由网络的运营商对多个基本任务的编程来完成该配置;这些基本任务包括:网络管理员连接到网络的每台设备,以便配置每台设备与其对等方建立BGP会话所需的所有参数。这种配置过程很复杂,并因此需要人为干预(通常是耗时的),并且具有能被证明是有害的错误的高风险(例如,通过惩罚对数据中心或对中心的设备子集的访问)。尤其是,BGP对等方必须具有自己的AS编号、其邻居的AS编号、其邻居的IP地址、以及激活BGP协议的显式指令。

因此,需要一种自动配置网络装置的处理,使得网络装置可以激活动态路由协议,例如BGP。这样的处理不仅会大大减少在设备配置上花费的时间,而且会充分限制复杂配置过程经常遭受的错误风险。

发明内容

本发明通过提出一种用于在包括多个装置并使用动态路由协议的网络中实现的配置方法,来特别满足该需求,该配置方法包括:

-由所述网络的第一装置接收第一控制消息的步骤,所述第一控制消息包括用于网络中的动态路由协议的激活的配置元素;

-由所述第一装置基于所述第一消息中包括的配置元素配置根据所述第一装置所使用的所述协议的会话建立参数的步骤;

-如果所述第一消息中包括的配置元素包括根据网络中的所述协议的至少一个会话管理指令、则由所述第一装置执行所述至少一个管理指令的步骤;和

-如果所述第一消息中包括的配置元素包括用于配置元素在网络中的传播的定位点、则由所述第一装置根据所述传播定位点向所述网络的至少一个第二装置发送至少一个第二控制消息的步骤,该第二控制消息包括第一消息中包含的全部或部分配置元素。

相应地,本发明还涉及一种网络的装置,所述网络包括多个装置并使用动态路由协议,该装置被称为第一装置,并包括:

-接收模块,能够接收第一控制消息,所述第一控制消息包括用于网络中的动态路由协议的激活的配置元素;

-配置模块,适于基于所述第一消息中包括的配置元素配置根据所述第一装置使用的所述协议的会话建立参数;

-执行模块,被配置为如果第一消息中包含的配置元素包括根据网络中所述协议的至少一个会话管理指令,则执行所述至少一个管理指令;和

-传播模块,如果所述第一消息中包括的配置元素包括用于配置元素在网络中的传播的定位点,则激活所述传播模块,所述传播模块被配置为根据所述传播定位点向所述网络的至少一个第二装置发送至少一个第二控制消息,该第二控制消息包括第一消息中包含的全部或部分配置元素。

换句话说,本发明提出了一种自动配置机制,其允许在网络内的动态路由协议的激活,并且其分布在网络的所有装置上。第一装置经由控制消息接收其提取并执行的配置元素,然后基于在其已接收的控制消息中传达的指令,将配置元素传送到该网的至少一个第二装置,这些配置元素意欲由所述第二装置应用和/或使用以使能动态路由协议的激活。更具体地,从第一装置接收控制消息的每个第二装置应用该消息中包括的命令,即,从控制消息中提取与其相关的配置元素,用这些进行配置,然后根据其已接收到的控制消息中包含的传播定位点等,在适当时在控制消息中将配置元素依次传送到网络的一个或多个其他装置。

注意,根据本发明,控制消息中包括的配置元素可以具有不同的性质。它们尤其可以包括根据路由协议的会话建立参数(例如,AS编号、或根据动态路由协议在会话期间要应用的一个或多个定时器值),还可以包括根据动态路由协议管理会话的指令(例如,用于与网络的全部或部分装置建立会话或用于分配AS编号的定位点),以及用于配置元素在网络中的传播的定位点。更一般地,这些元素可以包括允许配置网络的装置以激活网络中的动态路由协议的任何类型的信息,即,使得其在网络中的用途可操作,并且特别地允许根据该协议在网络的装置之间建立会话或邻接物(在OSPF协议的含义内)。

同一配置元素还可以承载几种类型的配置信息,例如,会话建立参数以及隐式的根据动态路由协议的会话管理指令(例如,根据动态路由协议与所有直接邻居建立会话)以及由该管理指令引起的配置元素在网络中的传播的隐式信息(例如,朝向与其建立会话的所有邻居传播配置元素)等。

因此,根据本发明,网络的装置逐步传播所需的配置元素(用于根据路由协议建立会话的参数,以及在适当时,用于根据该协议的会话管理的指令和用于配置元素的传播的定位点)用于动态路由协议的激活。其中必须根据所选择的路由策略在网络内协调(orchestrated)传播的方式在不同装置之间交换的消息中有利地传送。

由于本发明,达成了用于配置网络装置以激活网络中的动态路由协议的过程的高级别自动化。这种自动化级别按照特权但非限制性的方式满足大型数据中心(例如MSDC或HSDC数据中心)的需求,并允许简化底层网络基础架构内的操作。这种自动化还使得可能最小化由网络管理员执行的配置过程通常遭受的错误风险。

本发明进一步允许限制网络的各个装置之间的交互以激活路由协议,并且因此减少由此产生的信令业务量的数量。实际上,由于配置元素的逐步传播,对于网络运营商来说,显式配置网络的单台设备可能就足够了,所述设备然后向其邻居传送建根据路由协议立会话所需的参数、以及网络运营商期望的路由策略。然后,这些邻居将信息中继到他们自己的邻居等。因此,大大简化了配置网络装置的过程,并在网络的所有装置之间保持一致。它允许限制与所有装置的手动配置有关的错误风险。它进一步允许减少与网络配置有关的运营成本。

此外,本发明提出的自动配置在路由策略方面提供了很大的灵活性。它可以适应不同类型的网络、这些网络的不同拓扑结构(例如,集群中的组织、层次级别)、以及这些网络的不同配置(例如,私有AS编号的使用、或在层次级别或单独集群处的单独AS编号的分配)。

在特定实施例中,执行步骤还包括根据所述路由协议与所述至少一个第二装置建立至少一个会话的步骤。

按照该方式,在网络的不同装置的配置结束时,自动建立根据与期望路由策略相对应的路由协议的所有会话,并且路由协议被激活并能用于承载网络内的业务量。

在特定实施例中,所述至少一个第二消息是根据所述路由协议的会话建立消息。

按照该方式,在将配置元素传送到第二装置的同时,在第一装置和第二装置之间建立会话。在BGP协议的情况下,第二消息例如是BGP消息OPEN,其被修改以便包括激活BGP路由协议所必需的配置元素。换句话说,如此修改的BGP消息OPEN不再仅仅是声明其发送的装置的配置参数的消息,而是成为传达应用其包含的配置元素的命令的消息,该消息意欲由其寻址到的装置执行。

该实施例有利地提出利用传统的消息格式,其在BGP路由协议(RFC 4271)的规范中描述。因此可能最小化两个装置之间交换的消息的数目。

注意,对于其中修改所述会话建立消息以解释为控制消息的方式没有附加限制。例如,这可以经由添加消息中的选项或包括要使用的配置元素的新字段来完成。

另外,其他类型的消息可用于在网络内传达和传播配置元素。例如,路由器通告(RA)消息也可以适于传达与激活网络内的路由协议所要应用的配置有关的命令。路由器征求(RS)消息也可以适应和用于此目的。在协议“用于因特网协议版本6的邻居发现”(RFC4861)的规范中已经描述了根据现有技术的RA和RS消息。

在特定实施例中,所述至少一个会话管理指令包括以下中的至少一个定位点:

-用于根据所述路由协议与网络中直接相关的所有装置建立会话的定位点;

-用于根据所述路由协议经由预定接口与网络中直接相关的所有装置建立会话的定位点;

-意欲由所述网络的至少一个装置应用、以根据所述路由协议与网络中直接相关的并且属于网络中相同层次级别的所有装置建立会话的定位点;和

-用于根据所述路由协议与至少一个装置建立会话的定位点,所述至少一个装置的路由标识符被包括在所述定位点中。

“直接相关”是指连接到所考虑的装置的所有装置。

所述路由标识符可以是例如IP地址或域名。

例如,所述预定接口是由偶数索引标识的接口、由奇数索引标识的接口、或由预定整数的倍数索引标识的所有接口(例如,整数2的通信是向2的索引倍数所标识的接口:接口[2]、接口[4]、……应用配置的指示)。

在特定实施例中,如果在配置元素中没有指示关于会话本身的管理的定位点,则接收方装置默认进行与和其直接连接的网络的每个装置建立根据所述路由协议的会话。

该实施例允许降低要在配置元素中传送的定位点,并因此降低关联信令。另外,不再必须经由先前的配置利用网络的每个装置显式地激活使用动态路由协议与其邻居的会话的建立。由于本发明逐步传达的定位点,这可以动态和自动地完成。

上面提到的不同定位点允许在路由策略的定义和实施中考虑网络的尺寸和拓扑结构(例如,当适当时按照层次级别的其组织)。另外,它们允许以适当的精确度级别详述通过选择必须根据路由协议一起建立会话的装置所设想的路由策略。

因此,例如,与在会话建立请求的起源处的装置直接相关的网络的每个装置的自动BGP会话建立特别适用于具有少量层次级别的小尺寸网络。

同样,限制与经由预定接口或属于特定层次级别的装置建立会话的定位点可以在大维度的网络中应用,并因此有助于这些网络内集群的组织和动态实施。

当然,仅出于说明目的给出定位点的这些示例。可以设想其他定位点,例如根据正则表达式(regular expression)进行定义,使得可能基于各种参数(例如装置支持的接口或装置在网络中所属的层次级别等)创建过滤器。

类似地,管理指令不限于用于与其他装置建立会话的定位点,并且可以包括其他类型的定位点,例如特别是用于选择用于建立会话的参数的定位点,例如用于分配AS编号的定位点。

在特定实施例中,第一消息可以包括配置元素之中的,第一装置要使用的AS编号、以及可能的用于选择网络的装置可以使用的AS编号的至少一个预定义的值范围。所述值范围可以是连续的或不连续的。

该实施例提供了动态地并且按照分布式方式向网络的装置分配AS编号的可能性。

作为示例,所述至少一个管理指令可以包括用于根据预定策略选择AS编号的定位点。不存在对定位点中指示的策略附加的限制:例如,它可以是在预定的值范围内随机或递增选择AS编号。

特别地,当配置元素包括用于选择AS编号的至少一个预定义的值范围时,该配置方法可以进一步包括由第一装置向所述至少一个第二装置分配从所述至少一个值范围以及要向邻居分配的值范围中选择的至少一个AS编号的步骤。

在其中在配置元素之中存在AS编号或选择这样的编号的AS编号的一个或多个值范围的这些实施例中,本发明使得可能向网络的装置提供它们建立BGP会话所需的AS编号。提供几个值范围允许例如根据层次级别来区分分派的AS编号。

因此,不必用与其关联的至少一个AS编号以及与其可能的邻居关联的AS编号来预先配置网络的每个装置,但是由于本发明,该配置可以动态且自动地进行,并且在网络的所有装置上按照分布式方式进行。

应当注意,本发明没有施加关于网络内AS编号的分派的任何限制:无论这些编号的格式(通常以16或32比特编码)如何,以及当网络的所有装置都使用单一AS编号时、和当向不同的层次级别或甚至向同一层次级别内的不同集群分派单独的AS编号时,其都适用。

除了AS编号或从中选择这些编号的值的范围外,第一消息中包含的配置元素可以包括可能在根据路由协议的会话管理中涉及的其他类型的参数。

因此,在特定实施例中,所述第一消息中包括的所述配置元素还包括以下中的至少一个:

-所述网络的至少一个层次级别的集群尺寸;

-借助于所述路由协议要通告的路由的类型;

-当适当时在所述网络中使用的路由反射器的列表;

-自治系统的BGP联盟标识符;和

-根据所述路由协议在会话期间要应用的至少一个定时器值。

当然,这些参数仅为了说明而给出,并且是可选的。可以在第一消息中,以及在适当时,在根据本发明传播的第二消息中考虑并传达其他参数。

在特定实施例中,该配置方法包括用于检测一个所述第二装置已经被配置用于激活所述路由协议的步骤,所述检测步骤导致取消向该第二装置发送所述第二消息的步骤。

该实施例使得可能考虑网络中已经进行的配置。

在另一特定实施例中,该配置方法包括用于检测一个所述第二装置已经被配置用于激活所述路由协议的步骤,所述检测步骤导致维持向该第二装置发送所述第二消息的步骤,所述检测步骤导致维持将所述第二消息发送至的步骤,然而所述第二消息仅包含可能由所述第二装置的邻居使用的信息。

例如,第二消息可以仅包含意欲向第二装置的邻居分配的AS编号的列表。该实施例使得可能考虑装置的本地配置,但是中继第二装置的邻居可能使用的配置信息。

如前所述,当在网络中实现的路由协议是BGP协议时,本发明具有优选的应用。但是,它也适用于其他路由协议,例如IS-IS或OSPF。

在特定实施例中,该配置方法的不同步骤由计算机程序指令确定。

因此,本发明还涉及信息介质上的计算机程序,该程序可能在诸如路由器或交换机之类的网络的装置中、或更一般地在计算机中实现,该程序包括适于实现上述配置方法的步骤的指令。

该程序可以使用任何编程语言,并且可以采用源代码、目标代码、或源代码与目标代码之间的中间代码的形式,例如部分编译的形式、或任何其他期望的形式。

本发明还涉及一种计算机可读取的信息或记录介质,并且包括如上所述的计算机程序的指令。

所述信息或记录介质可以是能够存储程序的任何实体或装置。例如,支持可以包括储存部件,例如ROM,例如CD ROM或微电子电路ROM,或者还包括磁记录部件,例如硬盘。

另一方面,所述信息或记录介质可以是诸如电或光信号之类的可传输介质,其可以经由电缆或光缆、通过无线电或通过其他手段承载。根据本发明的程序尤其可以在因特网类型的网络上下载。

替代地,所述信息或记录介质可以是其中合并有程序的集成电路,该电路适于执行所讨论的方法或在执行所讨论的方法时使用。

本发明还涉及一种使用动态路由协议的网络的通信系统,该系统包括根据本发明的多个装置,所述装置能够逐步传播与网络中路由协议的激活有关的配置元素。

该系统受益于上述与根据本发明的配置装置和方法相同的优点。特别是,它允许在网络的装置之间的动态路由协议的自动激活。

在特定实施例中,该通信系统还包括控制器,该控制器包括:

-生成模块,被配置为生成控制消息,所述控制消息包括用于网络中的动态路由协议的激活的配置元素;和

-发送模块,被配置为将所述控制消息发送到根据发明的网络的至少一个装置。

该特定实施例在其中网络基于例如SDN体系结构并且包括至少一个网络控制器的上下文中具有优选但非限制性的应用,所述至少一个网络控制器具有用于网络中的资源分配和网络内不同策略的动态实现所必需的计算逻辑,例如用于承载和路由业务量的路由策略、业务量工程、服务质量策略等。在这样的上下文中,可以设想具有网络的全局和系统洞察力(尤其是其拓扑结构的知识)的该控制器被配置为根据定义的路由策略确定网络中路由协议的激活所需的用于配置网络的不同装置的元素,并向网络的一个或几个装置发送包含所有这些配置元素的第一控制消息,使得它或它们朝向网络的其他装置传播这些配置元素。

在优选的实施例中,为了限制网络内的信令,控制器向网络的单个装置寻址具有用于路由协议的激活的配置元素的控制消息。

替代地,该网络可以不具有集中式实体(例如,控制器)。在这种情况下,网络的运营商可以(例如,经由适当的脚本)将包含必须由网络的所有装置实现的动态路由策略的配置元素特性的第一控制消息“手动”传送到网络的任何一个装置,所述网络的任何一个装置然后负责朝向根据本发明的网络的其他装置传播配置元素。

在特定实施例中,该通信系统还包括至少一个附加装置,所述至少一个附加装置被配置为拒绝应用从网络的一个所述第一装置接收到的第二控制消息。这样的附加装置例如是与根据本发明的配置方法不兼容的装置,或者是被配置为不接受由其已经接收到的控制消息向其提议的配置的装置。

因此,本发明使得可能考虑在网络中具有特定功能的某些装置的特定特征,例如负责与网络(例如,因特网)外部的世界交换路由的网络装置。同样,本发明使得可能通过在涉及的网络的每个装置内将参数设置为例如“真”(如果装置与本发明兼容)以及否则设置为例如“假”,来命令装置接受或拒绝自动配置提议。如果必要,可以由运营商修改此参数的值。

在其他实施例中还可以设想,根据本发明的配置方法、装置以及通信系统具有上述特性的组合全部或部分。

附图说明

根据参考图示了没有任何限制特征的本发明的示例性实施例的附图在下面给出的描述,本发明的其他特性和优点将变得明显。在图中:

-图1通过图表表示特定实施例中的根据本发明的通信系统;

-图2表示属于图1的通信系统的控制器;

-图3A和3B分别表示根据本发明并且属于图1的通信系统的网络装置的硬件体系结构和功能体系结构;

-图4表示由图3A和3B所示的网络装置实现的根据本发明的配置方法的主要步骤;

-图5A表示如文档RFC 4271中所述的BGP消息OPEN;

-图5B表示用于实现本发明所修改的BGP消息OPEN;

-图5C图示了图5B的修改后的BGP消息OPEN的字段;

-图6表示用于实现本发明的修改的RA消息的格式;

-图7图示了用于自动发现AS编号并在网络的两个装置之间自动建立BGP会话的本发明的应用示例;和

-图8表示在网络中添加装置之后本发明的应用示例。

具体实施方式

图1在特定实施例中表示在其环境中根据本发明的通信系统1。

在图1所设想的示例中,通信系统1包括多个网络装置(通常由T指定),所有这些网络装置都符合本发明并且属于数据中心(DC)的网络基础架构。装置T经由一个或多个通信接口(在图中以虚线图示)互连,并形成通信网络R。

不存在对网络装置T(也称为网络R的节点)的性质附加的限制:这些是任何网络元素,例如路由器、交换机等。也不存在对装置T在网络R内一起通信所使用的通信接口的性质附加的限制。它们可以是移动或固定、有线或无线通信接口等。

由装置T形成的通信网络R使用动态路由协议。本发明允许着眼于激活网络R中的该动态路由协议的、不同网络装置T的自动和分布式配置。

在这里描述的实施例中,考虑的动态路由协议是BGP协议。本发明可以应用于其他动态路由协议,例如应用于使用AS编号或类似概念(例如,由TRIP协议(特别是在文档RFC3219中描述)使用的ITAD(IP电话管理域)标识符、或者由OSPF路由器(特别是在文档RFC2328中描述)使用的区域编号(参数“区域ID”))的其他路由协议。例如,参数“区域ID”的值可以由OSPF路由器遵循由控制器本地配置的或传递的第一指令而自动分配。

数据中心所基于的网络基础架构在此实现SDN体系结构。但是,SDN的使用不是本发明的前提。

除了网络装置T之外,该基础架构还包括控制器2,该控制器2允许数据中心的网络R的一致和确定性的操作。控制器2以已知的方式具有对网络R、其拓扑结构、其组件、可用的(虚拟或非虚拟)网络功能、其状态等的全局和系统洞察力。该控制器2能够基于BGP协议来定义网络R内的路由策略,并使得可能根据数据中心的运营商设置的目标来承载数据中心业务量。在图1所示的示例中,它连接到网络装置T之一,即连接到装置T11。

为了在通信网络和系统1内应用此路由策略,控制器2如图2所示具有:

-生成模块2A,被配置为生成CMD控制消息,该CMD控制消息包括用于激活网络中的BGP动态路由协议、并反映数据中心的运营商期望的路由策略的配置元素。稍后将详细描述CMD控制消息中包含的配置元素。它们可能已经由数据中心的运营商全部或部分定义,以便反映他希望在网络R中应用的路由策略,并可能已经由运营商通过使用本身已知的方式传送到控制器2及其生成模块2A,例如通过借助于远程登录(Telnet)会话或经由脚本在控制器2上直接连接;和

-发送模块2B,被配置为向装置T中的控制器2所选择的至少一个装置发送这样开发的控制消息。在图1中描述的示例中,假设控制器2将开发的控制消息发送到单个装置。控制器2选择此单个装置的方式(或者如果选择几个装置,则该控制器2向其发送控制消息的装置)取决于工程选择、网络的拓扑结构等。

在图1所示的示例中,通信系统1被组织为多个层次级别(图1中三个,由NIV1、NIV2和NIV3指代),每个层次级别本身被组织为装置的一个或多个集群(即,组):包括四个装置T11、T12、T13和T14的用于层次级别NIV1的集群、分别包括两个装置T21和T22以及两个装置T23和T24的用于层次级别NIV2的两个集群、包括四个装置T31、T32、T33和T34(其每一个属于单独集群)的层次级别NIV3。最后一个层次级别NIV3的网络装置在此连接到数据中心(通常称为S)的不同虚拟机或硬件机(例如服务器)。

当然,该网络基础架构体系结构及其在层次级别和集群中的组织仅是通过说明的方式给出的,并且本发明适用于其他类型的体系结构(具有或不具有诸如控制器2的中央单元)。网络R的体系结构的选择取决于(comes under)网络的工程和拓扑结构、数据中心的尺寸等。

如前所述,在由装置T形成的网络R内使用动态路由协议BGP需要向这些装置中的每一个分配AS编号。在图1中考虑的示例中,数据中心的运营商对于此分配做出以下选择:

-使用私有AS编号(在以4个字节编码的AS编号的情况下,属于范围64512-65524或属于范围4200000000-4294967294);和

-对于位于相同层次级别并属于相同集群的网络装置使用相同的AS编号。

仅为了说明目的给出此AS编号分配策略。数据中心的运营商可以采用其他策略(例如,用于属于同一层次级别的所有装置的相同AS编号、用于网络中所有装置的相同AS编号等)。

如上所指示的,网络R的装置T在此都符合本发明。换句话说,它们配备有允许它们在网络R中逐步传播与路由协议的激活链路的网络的配置元素的部件,并且包括在建立BGP会话时并且只要保持BGP会话、要应用的参数和路由策略。

在这里描述的实施例中,根据本发明的网络R的装置T具有如图3A所示的计算机4的硬件体系结构。它们尤其包括处理器5、随机存取存储器6、只读存储器7、非易失性闪存8、以及包括一个或多个通信接口的通信部件9,每个通信接口均由索引(即整数)标识。

通信部件9允许每个装置T连接到网络R的一个或多个其他装置T,并且使用BGP协议与这些其他装置通信,特别用于在网络内路由和承载业务量。为此,装置T在此被配置为默认在TCP端口179上收听,以便接收与BGP协议有关的消息,特别是请求建立BGP会话的消息OPEN。为了将本发明提出的过程与当前标准所定义的过程区分开,如果并且仅当事先已经正确地命令了所有装置时,才能使用其他端口号。

每个网络装置T的只读存储器7构成根据本发明的记录介质,所述记录介质可以由处理器5读取并且在其上记录了根据本发明的计算机程序PROG。

计算机程序PROG定义网络装置T的功能(在此为软件)模块,其被配置为实现根据本发明的配置方法的步骤。程序PROG所定义的功能模块基于和/或控制上述计算机4的硬件元素5-9。它们在这里特别包含,如图3B所示:

-接收模块10,能够接收第一控制消息,该第一控制消息包括与网络R中的动态路由协议(此处为BGP)的激活相关的配置元素;

-配置模块11,适于从第一消息中包含的配置元素来配置网络装置T使用的根据BGP路由协议的会话建立参数;和

-执行模块12,如果第一消息中包含的配置元素包括根据网络中的BGP路由协议的至少一个会话管理指令,则该模块被激活以执行该会话管理指令;和

-传播模块13,如果第一消息中包括的配置元素包括用于在网络中传播配置元素的定位点,则该传播模块13被激活,并被配置为根据所述传播定位点向网络R的至少一个第二装置发送至少一个第二控制消息。传播模块13发送的第二控制消息包括第一消息中包含的全部或部分配置元素,这些配置元素旨在由第二装置应用以激活网络R中的动态路由协议。

现在参考图4,描述根据本发明实现的用于网络装置T的配置的主要步骤,以便在网络R内激活BGP动态路由协议。通过图示的方式,在图4中设想仅由网络R的三个元素(即,由图1所示的控制器2、由网络装置T11、和由网络装置T21)实现这些步骤。网络装置T11和T21实现的步骤对应于根据本发明的配置方法的步骤。

这里作为预备步骤(preliminary)假设控制器2已经从数据中心的运营商接收到定义其希望在网络R内应用的路由策略的不同配置元素(步骤E10)。这可以由数据中心的运营商经由控制器2的显式配置来进行,例如通过经由Telnet会话连接到控制器2、或通过使用诸如NETCONF的协议。这些配置元素尤其包括意欲在BGP会话建立时由装置T使用的参数值(例如AS编号、定时器值)、用于管理网络R中BGP会话的各种指令,例如与BGP会话的建立、AS编号的分配有关的定位点、以及在网络的不同装置T之间传播配置元素的定位点等。这些元素将在后面进行更详细的描述。

在由数据中心的运营商进行其配置之后,控制器2经由其生成模块2A形成并然后生成CMD控制消息,该CMD控制消息包括允许在网络R中激活BGP路由协议的配置元素(步骤E20)。在这里描述的实施例中,该CMD控制消息例如是消息BGP_PEER_POLICY。应当注意的是,当前在BGP协议中不存在这样的消息,并因此需要为实现本发明而定义。控制消息是指意欲由消息的接收方应用(执行)的消息传达指令,与声明消息相反,声明消息当由网络的装置发送时意欲向网络的其他装置通知它使用的参数。

在这里描述的实施例中,CMD控制消息包括一定数量的字段,即:

-字段ID,其包括与网络R中的BGP会话的管理有关的指令(定位点)(在本发明的意义内用于管理BGP会话的指令)以及与允许激活BGP协议的配置元素的传播有关的指令。在此更确切地说,该指令包括与网络R中的BGP会话的建立以及配置元素的传播有关的定位点。字段ID可以采取反映不同定位点的多个值。

举例来说:

○值0反映这样的定位点,要求由接收该定位点的网络装置建立与网络中与其直接相关的所有装置建立BGP会话,并朝向这些装置传播配置元素;

○值1反映这样的定位点,要求由接收该定位点的网络装置经由奇数索引的接口与网络中与其直接相关的所有装置建立BGP会话,并朝向这些装置传播配置元素;

○值2反映这样的定位点,要求由接收该定位点的网络装置经由偶数索引的接口与网络中与其直接相关的所有装置建立BGP会话,并朝向这些装置传播配置元素;

○值3反映这样的定位点,要求由接收该定位点的网络装置经由整数n(n由该定位点定义并指定大于1的整数)的倍数索引的接口与网络中与其直接相关的所有装置建立BGP会话,并朝向这些装置传播配置元素;

○值4反映这样的定位点,要求由接收该定位点的网络装置与网络中与其直接相关并属于同一层次级别的所有装置建立BGP会话,并朝向这些装置传播配置元素;和

○值5反映这样的定位点,要求由接收该定位点的网络装置与在所述定位点中显式报告的所有装置(基于其路由标识符)建立BGP会话,并朝向这些装置传播配置元素。

仅出于说明的目的给出了定位点和与其关联的值的这些示例。可以为字段ID定义其他值和其他定位点;可以使用正则表达式来定义在例如网络装置的接口或层次级别上应用的过滤器,并解释如何在装置T之间的网络R中必须执行配置元素的传播。另外,字段ID中描述的BGP会话管理指令可以包括其他类型的定位点,例如用于根据预定策略(例如,在预定值范围内随机或递增等)选择AS编号的定位点。意欲允许由网络装置T应用数据中心运营商所期望的路由策略的任何类型的定位点都可以在字段ID中定义和赋值;

-字段AS_NUMBER,指示接收CMD消息的网络装置在建立其BGP会话时应使用的AS编号值。如果此字段包含几个值,则装置选择至少一个值用于其自己使用,其余的可能用于向邻居分配AS编号;

-字段SUPPLIED_ASN_RANGE,包含一个或多个值范围,允许将AS编号动态分配到接收CMD消息的网络装置的邻居。可以由接收CMD消息本身的网络装置或直接由网络装置向其传送字段值的邻居根据预定策略(例如,递增、随机策略等)来执行该动态分配。值得注意的是,可以设想字段SUPPLIED_ASN_RANGE的变体,例如:

○SUPPLIED_ASN_RANGE_ALL:其指定可以由所有层次级别使用的值的范围;

○SUPPLIED_ASN_RANGE_LL:其指定可用于向属于较低级别的邻居装置分配AS编号的值的范围;

○SUPPLIED_ASN_RANGE_UL:其指定可用于向属于较高级别的邻居装置分配AS编号的值的范围;

-字段CLUSTER_SIZE,指示对于每个层次级别考虑的集群尺寸(例如,对于层次级别NIV2,有两个节点)。可以考虑此字段的几种变体,例如:

○CLUSTER_SIZE_ALL:其指定推荐的尺寸以自动形成所有层次级别的集群;

○CLUSTER_SIZE_LL:其指定推荐的尺寸以自动形成较低层次级别的集群;

○CLUSTER_SIZE_UL:其指定推荐的尺寸以自动形成更高层次级别的集群;

-字段ROUTE_TYPES,指定要通告(advertised)的路由的(多个)类型,例如IPv4路由、IPv6路由、VPN(虚拟私有网络)路由、单播路由、多播路由等;

-字段RR_LOCATORS,指定在网络中适当时使用的路由反射器(或RR)***的列表,以便允许与这些路由反射器建立BGP会话;和

-字段BGP_TIMERS,包含意欲在BGP会话期间应用的不同BGP定时器的值的列表。这些定时器尤其可以是已知的定时器ConnectRetryTime、HoldTime、KeepaliveTime、MinASORiginationIntervalTimer和MinRouteAdvertisementIntervalTimer。在此处描述的实施例中,在该字段中缺少上述定时器之一的值意味着必须使用该定时器的默认值(例如,对于ConnectRetryTime为120秒,对于HoldTime为90秒,对于KeepaliveTime时间为HoldTime的值的三分之一,对于MinASORiginationIntervalTimer为15秒,等等)。

注意,仅出于说明目的而给出这些不同字段,并且当适当时可以使用这些字段的子集或其他字段(例如,其中控制器2包括属于同一层次级别的网络装置的IP地址的列表的字段)。字段CLUSTER_SIZE、ROUTE_TYPES、RR_LOCATORS或BGP_TIMERS通常是可选的,并且取决于网络的拓扑结构、其集群工程、或路由策略。CMD消息中缺少这些字段之一可能意味着必须应用BGP协议默认定义的值,或者该字段不适用(例如,因为网络中没有路由反射器)。然而,CMD消息优选地至少包括:包括用于管理BGP会话的指令的字段ID、以及用于在网络中分配AS编号的字段AS_NUMBER和/或字段SUPPLIED_ASN_RANGE。

一旦已经开发了控制CMD消息,则控制器2在这里经由其发送模块2B将控制CMD消息发送到网络R的单个网络装置T,即在这里描述的示例中,发送到网络装置T11(步骤E30)。该装置的选择可以取决于不同的标准:例如,它是直接连接到控制器2的网络装置,但是可以设想取决于层次级别、数据中心等的其他选择规则。

可替代地,控制器2可以决定将CMD消息发送到几个网络装置T。然而,将该消息发送到仅一个装置的优点是限制由网络的自动配置引起的信令的数量。

网络装置T11经由其接收模块10接收CMD消息(在本发明的意义上,对于装置T11而言是第一控制消息),并且从该消息中提取从控制器2接收的并且与网络R中的BGP路由协议的激活有关的配置元素(定位点和参数)(步骤E40)。

在该提取之后,它经由其配置模块11根据其已经从控制消息提取的参数和定位点来配置其建立BGP会话所使用的参数的值(步骤E50)。

因此,在这里设想的示例中,配置模块11按照由CMD消息的字段AS_NUMBER给出的值来配置装置T11的AS编号。

类似地,它使用从CMD消息的字段BGP_TIMERS中提取的值等来配置诸如ConnectRetryTime、HoldTime、KeepaliveTime、MinASORiginationIntervalTimer、或MinRouteAdvertisementIntervalTimer之类的定时器的值。请注意,如果CMD消息包含尚未在网络装置T11上激活的接口的配置,则它存储用于该接口的适当配置,以便以后在激活接口时可以使用它。

此外,根据本发明,网络装置T11通过其执行模块12执行在适当时在CMD消息中包括的BGP会话管理指令(步骤E60)。在这种情况下,在此处设想的示例中,这些管理指令包括用于与其所有或部分邻居建立BGP会话的指令(作为字段ID的值的函数)。

为了建立这些BGP会话,网络装置T11必须知道(并对其进行通告)与其每个邻居相关联的并由此在BGP会话期间使用的AS编号。这些AS编号可能会根据字段ID的值和运营商指定的路由策略而变化。

因此,例如:

-如果字段ID具有值0,则相同的AS编号与网络装置T11的邻居关联;

-如果字段ID具有值1、2或3,则相同的AS编号或不同的AS编号(取决于字段ID施加了什么)与网络装置T11的邻居(网络装置T11与其建立会话)相关联。如果字段ID要求不同的AS编号,则T11装置在值SUPPLIED_ASN_RANGE的范围内选择该AS编号。

-如果字段ID具有值4并且网络运营商期望的路由策略在属于同一层次级别的所有网络装置上施加相同的AS编号,则和与装置T11关联的AS编号相同的AS编号(也就是说,由CMD消息的字段AS_NUMBER表示的那个)与网络装置T11的邻居(网络装置T11与其建立会话)相关联。

当然,仅通过说明的方式给出这些示例。

在此配置的最后,网络装置T11具有其与网络R中的其邻居(换言之,与和其直接连接的网络装置)建立BGP会话所需的所有元素。

在这里描述的实施例中,字段ID的值还向网络装置T11指示如何朝向其邻居传播在CMD消息中接收的配置元素。因此,它传达了本发明的意义内的传播定位点。

在替代实施例中,一旦与网络装置的所有邻居或与网络装置的确定邻居的BGP会话建立定位点被包括在网络装置接收的CMD控制消息中,该传播定位点是隐式的。换句话说,在该变体中,由网络装置T11(更具体地说,由其模块13)将这样的与其所有邻居或与确定邻居的BGP会话建立定位点的存在也视为用于朝向这些相同邻居传播控制消息中包含的配置元素的定位点,使得BGP会话建立定位点的存在自动激活由网络装置T11的传播模块13向BGP会话建立定位点中标识的邻居传播配置元素。

在这里描述的实施例中,配置元素的传播(通过传播模块13)和BGP会话的建立(通过执行模块12)是通过向每个有关邻居发送相同消息M1来执行的。该消息M1是建立BGP会话的BGP消息OPEN,被修改以便包括新字段,所述新字段包括从CMD消息中提取的全部或部分配置元素,并且必须由接收消息M1的网络装置应用。修改后的消息在此尤其包括一个或多个AS编号,所述一个或多个AS编号将由消息的网络装置接收方使用、并且由网络装置T11特别根据上面指明的字段ID、AS_NUMBER和SUPPLIED_ASN_RANGE的值而确定。

BGP协议使用的消息OPEN在文档RFC 4271中进行了描述,如同可以在BGP协议下在两个网络装置之间交换的其他消息KEEPALIVE、UPDATE和NOTIFICATION。其结构和内容如图5A所示,并在下面阐明。BGP消息OPEN包括以下字段:

-“我的自治系统”字段,其指示已经发出OPEN类型消息的网络装置的AS编号;

-“保留时间”字段,其指示已经发出OPEN类型消息达到在接收到两个连续的KEEPALIVE类型(和/或UPDATE类型)消息之间过去的时间段的最大值的网络装置的提议(以秒表达)。一旦接收到消息OPEN,BGP路由器必须通过由控制器比较接收到的消息的“保持时间”字段中报告的值、以及由其他BGP邻居传递的值,来计算该值,或者使用默认值。

-“BGP标识符”字段,其通常对应于分配到发出用于其标识的消息OPEN(就BGP连接而言)的网络装置的IP(因特网协议)地址;和

-“可选参数”字段,包含可能在OPEN类型消息中传达的可选参数的列表。这些参数根据TLV(类型长度值)原理进行编码。

如此定义的消息OPEN一方面旨在与该消息发送到的网络装置建立BGP会话,并且另一方面旨在允许发出此消息的网络装置宣布在其BGP会话期间其使用的参数(例如AS编号、或IP地址)。

在这里描述的实施例中,将BGP会话建立和通告消息OPEN被修改成为BGP会话建立和控制消息,使得可能配置该装置T11将该消息寻址到的网络装置。为此,如先前所指明并且如图5B中所示,新字段BGP_PEER_POLICY被添加到消息OPEN。在这里描述的实施例中,该字段可以包括根据TLV编码构造的一个或多个BPP对象,这取决于要传送的配置元素的数目(例如,每个配置元素一个对象)。更具体地,每个对象都通过下面各项定义,如图5C所示:

-类型BPPType,即通过代码报告,它是BGP_PEER_POLICY类型的对象,该对象包含意欲由接收它的网络装置应用或执行的配置元素;

-长度BPPLength,其指示对象的尺寸;和

-子类型BPPSubType,其指示消息OPEN中包含的BGP_PEER_POLICY类型对象,即由该对象描述的配置元素的类型。作为示例,可以对于此子类型定义以下值:

○0:向消息OPEN的网络装置接收方提供AS编号,以建立BGP会话;

○1:提供定时器值;

○2:提供值的范围,消息OPEN的接收方可以在其中选择AS编号(此范围可以是全局的、或特定于每个层次级别等);

○3:提供BGP会话管理指令,该指令能够按照与先前针对CMD消息的字段ID所描述的方式相同或相似的方式来构造;

○等等。

子类型的数目及其值的选择取决于可经由修改后的消息OPEN传送的配置元素。和

-由子类型BPPSubType标识的配置元素的值BPPValue(例如,如果子类型BPPSubType为0,则为AS编号;如果子类型BPPSubType为2,则为ASN值的范围,等等)。

网络装置T11经由其传播模块13报告意欲供其邻居之一使用的每个修改消息OPEN的字段BGP_PEER_POLICY,其具有意欲由该邻居应用的配置元素。如果在管理指令中、它已经接收到向其邻居分配一个或多个预定义值的范围内的AS编号的指令,则执行模块12根据其已请求应用的策略来分配这些AS编号,并且传播模块13在对象BGP_PEER_POLICY中报告这些AS编号。对象BGP_PEER_POLICY可以进一步包括与网络装置相关联的IP地址的列表。

在本发明的另一实施例中,传播模块13可以向修改后的OPEN消息添加通过不同于从控制器2接收的CMD控制消息的另一手段获得的配置元素。例如,可能设想本发明的应用情况,其中网络装置11已接收到从两个不同控制器派生的两个控制消息,并向其邻居传播消息,该消息包括从两个控制消息派生的配置元素(每个消息中包含的补充配置元素)或从这两个控制消息中选择的配置元素(例如,如果某些配置元素相互矛盾)。

一旦生成该控制消息M1(在本发明的意义上对于装置T11而言是第二控制消息),这些控制消息就由网络装置T11经由其传播模块13(步骤E70)发送到它们的接收方(如在CMD消息的字段ID中报告的传播指令中所标识的)。

注意,在这里描述的实施例中,如果网络装置T11检测到它必须根据它已经接收到的会话管理和/或传播指令将控制消息M1发送到的邻居之一已经被配置为激活BGP协议(例如,该同一邻居先前已向其发送消息OPEN,以建立包括AS编号、并由此指示其已被配置为使用BGP协议的BGP会话),则网络装置T11会取消由其执行模块12向该邻居发送控制消息M1。

为了简化起见,在图4中仅表示向网络装置T21发送包含字段BGP_PEER_POLICY的控制消息M1。

网络装置T21经由其接收模块10接收控制消息M1(在本发明的意义上用于装置T21的第一控制消息),并从该消息中提取BGP_PEER_POLICY字段中包括的并且与网络R中的BGP路由协议的激活有关的配置元素(定位点和参数)(步骤E80)。

在该提取之后,它经由其配置模块11根据它已经从控制消息M1中提取的参数和定位点(例如,AS编号等)来配置它建立BGP会话所使用的参数的值,如先前由网络装置T11根据CMD消息中包括的配置元素所进行的那样(步骤E90)。在此配置的最后,网络装置T21具有它与网络R中的其邻居建立BGP会话所需的所有元素。

它还接受与网络装置T11的BGP会话的建立(步骤E100)。

然后,根据本发明并且如先前由网络装置T11所做的那样,网络装置T21经由其执行模块12应用该消息M1中包括的BGP会话管理和传播指令(步骤E110)。在这种情况下,在此处设想的示例中,这些管理指令包括与其所有或部分邻居建立BGP会话的指令(根据字段ID的值)、以及朝向这些相同邻居传播配置元素的指令(在本发明的意义内的传播指令)。为此,网络装置T21向它在消息M1中接收到的会话管理指令中标识的其每个邻居发出控制消息M2。该消息M2基于如上所述并且在图5B中示出的修改后的消息OPEN,并且利用从消息M1提取的与网络装置T21的正讨论的邻居有关的配置元素来报告其字段BGP_PEER_POLICY。

网络装置T21经由其执行模块12将由此开发的消息M2(在本发明的意义上用于装置T21的第二控制消息)发送到它们的接收方(步骤E120)。

消息M2的接收方在接收到消息M2时,依次应用这些消息中包含的配置元素,建立所需的BGP会话,并继续逐步传播这些元素,直到配置了所有网络装置T为止。换句话说,先前针对网络装置T21所述的步骤由从其对等方之一接收包括配置元素的控制消息的网络的所有装置重复。注意,朝向属于较低层次级别(图1的示例中的NIV3)的网络的装置传播的控制消息优选地不包含传播配置元素的指令;如果它们包括的话,则优选地,所讨论的装置不考虑它们,因为这些装置不再具有要向其传送这些配置元素的配置的邻居。

另外,如果配置元素由控制器2更新,则可以通过使用按照与先前针对消息OPEN已经指明的方式相同的方式所修改的消息BGP UPDATE,来实现与上述过程相同的过程,以传播这些新的配置元素。

此外,在这里描述的实施例中,如果网络R的装置已经被配置、并且从请求其应用根据本发明的配置元素的其对等方(邻居)之一接收控制消息,则该装置被配置为拒绝其已经被请求应用的配置元素。

在另一个实施例中,如果能够实现本发明的网络的(第一)装置(例如,在上面的示例中的T11)检测到:它必须根据它已经接收的传播定位点将包括配置元素的控制消息传送到的网络R的(第二)装置(例如,在上面的示例中的T21)已经被配置用于路由协议的激活,则第一装置取消控制消息向该第二装置的发送。

替代地,在这样的上下文中,维持第一装置向该第二装置发送控制消息,但是该控制消息仅包含第二装置的邻居可能使用的信息。

可以设想第一装置检测第二装置已经被配置、并决定是否应发送控制消息的不同方式。

因此,根据第一选项,第二装置已经被配置有AS编号,第二装置可以在与第一装置建立TCP连接之后,向其发送包括其AS编号的BGP消息OPEN。接收到从第二装置向第一装置通告AS编号的这样的消息允许第一装置检测第二装置已经被配置,并且在适当时取消向第二装置发送控制消息。第一装置也可以决定发送这样的控制消息,但是后者将仅包含第二装置的邻居可能使用的信息(例如,会话建立参数,例如AS编号或AS编号的范围)。

根据第二选项,可以设想,第二装置向第一装置显式指示其需要用于其邻居的配置元素(例如,要向其邻居分配的AS编号的范围)。为此,除了元素BPPType、BPPLength、Subtype和BPPValue之外,先前参考图5C描述的BPP对象可以包括特定比特,例如比特R(用于请求),当第二装置要求配置(用于自己和/或其邻居)时,比特R被设置为1,当使用BGP消息OPEN来进行现有配置的通告时,比特R被设置为0。第二装置可以将该BPP对象包含在它与第一装置建立TCP连接后向第一装置发送的BGP消息OPEN中,如先前针对第一选项所指示的。第一装置将第二装置所发送的BGP消息OPEN中的设置为1的该比特的存在以及宣布的本地配置的缺失解释为用于第二装置及其邻居的配置元素的显式请求。

根据第三选项,在检测到与第一装置建立的连接之后,如果第二装置已经被配置,则第二装置可以将其本地配置(并且特别是其编号AS)的通告消息发送到第一装置。这样的消息可以例如是如现有技术中所描述的和先前提到的RA(路由器通告)或RS(路由器征求)通告消息。可以设想,该消息包含附加比特R,如用于BGP消息OPEN的第二选项所述,它向第一装置指示从第一装置要求其邻居的配置元素。这样的消息的接收允许第一装置检测到第二装置已经被配置,并且在适当时,对控制消息向第二装置的发送进行去激活,或者发送仅包含可能由第二装置的邻居使用的信息的控制消息(例如,会话建立参数,例如AS编号或AS编号的范围)。

应当注意,网络R的其他装置可以被配置为拒绝经由本发明向其传送的配置元素的应用。这些是例如位于网络R的边缘的并且朝向网络R外部的网络(例如,朝向因特网网络)承载业务量的装置。这是例如图1中表示的Text网络装置的情况。

为了将这些装置与应用本发明的网络的其他装置区分开来,可能设想引入用于网络的每个装置的新的配置参数,例如名为PEER_SUPPLIED_CONFIG,并且指示网络的装置是否与本发明兼容,换句话说,其是否可以由根据本发明的其对等方之一配置。对于网络R上的所有装置,该参数可以默认赋值为“真(RUE)”,除了位于网络边缘并且与外部网络的装置或路由器交换路由的装置之外,对于这些装置该参数必须赋值为“假(FALSE)”。因此,具有赋值为“假”的参数PEER_SUPPLIED_CONFIG的网络R的装置被配置为忽略和拒绝邻居发送的配置元素的任何提议(特别是如果后者包含AS编号的提议)。可选地,该装置可以向包括配置元素的控制消息的发出者发送错误消息,使得后者停止向其发送配置元素。

因此,由于本发明,获得网络R的装置的自动和分布式配置,允许BGP协议的激活:在该配置的最后,数据中心的运营商根据期望的路由策略在所有对等方之间建立BGP会话,并激活BGP协议。

在上述实施例中,控制器2向其直接连接的网络装置T11发出包含配置元素的CMD控制消息,并且借助于修改后的BGP消息OPEN在网络R中逐步传播配置元素以建立BGP会话。

在另一实施例中,网络R不包括具有集中角色的控制器,而仅包括诸如路由器的网络装置。在这样的上下文中,不是定义新消息BGP_PEER_POLICY和修改BGP消息OPEN,而是可以在网络的装置T之间交换的RA消息中(并且更具体地,在此消息的新定义选项中(例如名为BGP_PEER_POLICY))传达与BGP路由协议的激活相关的网络R配置元素。逐步触发网络的其他装置的配置的该第一控制消息的起源处的“第一”网络装置可以获得与上述BGP路由协议的应用有关的配置元素,用于控制器2的配置(例如,经由Telnet连接或经由NETCONF的显式配置)。RA消息的发送可以是自动的,或者可以是RS消息的响应的对象。

图6图示了选项BGP_PEER_POLICY的格式示例。“有效期”字段报告该选项的有效期。它与例如文档RFC 6106中定义的相同。这样定义的新选项的BPP字段可以根据与图5B中所示的修改后消息OPEN的BGP_PEER_POLICY字段的形式相同的形式来构造。

注意,在使用RA消息以在网络装置之间逐步传送配置元素的该上下文中,经由与用来传达配置元素的消息不同的消息,在两个网络装置之间建立BGP会话。因此,向其对等方之一发送包括配置元素的控制消息的网络装置并非必须在与该对等方建立BGP会话的请求的起源处。

图7图示了本发明的应用示例。它代表用于由网络装置N1自动向网络装置N2分配和传递AS编号的过程。当激活两个网络装置N1和N2之间的链路时,网络装置N1立即发送RA控制消息,该消息包括如图8所示的选项BGP_PEER_POLICY,并在此选项中传达的配置元素之中包括要由网络装置N2应用并要由网络装置N1分配的AS编号(图示的示例中65001)。而且,此消息包括在发出RA消息的起源处的装置的AS编号。在接收到RA控制消息时,网络装置N2提取由网络装置N1提供的AS编号,并用所提供的该AS编号配置,以便激活BGP协议。在此阶段,网络装置N1和N2具有在它们之间建立BGP会话所必需的配置元素(即,它们的本地AS编号、和邻居装置的AS编号)。这可以由任一装置主动建立。应当注意,网络装置的自动配置可以与由其对等方对用于配置网络的装置的元素的自动发现过程组合。因此,一旦根据本发明配置的具有AS编号的网络的装置检测到经由其接口之一与该另一网络装置的连接,它便可以经由RS征求消息询问网络的另一装置。该RS消息旨在获取其BGP配置元素,尤其是其AS编号。一旦两个网络装置已经交换了它们的AS编号,就在这两个网络装置之间自动建立BGP会话。

在上述示例中,已经设想了网络R的所有装置的配置,以激活该网络中的BGP协议的使用。还可以应用本发明以配置由数据中心的运营商在任何时间添加的装置(例如路由器),以扩展其网络R的容量。图8例如图示了在图1中表示的网络中添加两个装置T25和T35,当它不包括控制器2时。假设经由本发明的实施方式向网络R的其他装置分配的AS编号是图8中表示的AS编号。

新添加的装置T25和T35不具有与它们的邻居建立BGP会话所必需的信息。假设这两个装置符合本发明,并且装置T25连接到装置T11、T12、T13和T14,而装置T35连接到装置T25。

当激活链路T11-T25时,网络装置T11会发出RA控制消息,在选项BGP_PEER_POLICY中包含以下配置元素:

-装置T25要使用的AS编号:64905;

-较低级别的集群尺寸CLUSTER_LL=1;

-用于向属于较低层次级别的其邻居分配AS编号的值的范围:[64601-64899];

-定时器值;

-等等。

应注意,在此示例中,在选项BGP_PEER_POLICY中提及的值范围包括对接收RA控制消息的装置的临近该范围的隐式指令,以便将AS编号分配到其邻居(在本发明的意义内的会话管理指令)。

当接收到该控制消息时,网络装置T25提取该消息中包含的配置元素并利用其进行配置。然后,在网络装置T11或网络装置T25的启动下,在网络装置T11和T25之间自动建立BGP会话。

如果激活了与层次级别NIV1的其他网络装置的链路(例如,此处与装置T11、T12、T13和T14的链路),则网络装置T15可以经由RA消息向这些装置通告其配置,尤其是其AS编号。然后,与这些网络装置自动建立BGP会话。

伴随这些交换,网络装置T25根据从装置T11接收的RA消息中传送的会话管理指令,将由网络装置T11向其传递的值的范围之中的AS编号分配到与其连接的层次级别NIV3的网络装置T35。它向网络装置T35发送RA控制消息,该RA控制消息包括向其分配的AS编号(例如64605)和要应用于BGP会话的定时器值。在此消息之后,在网络装置T25和T35之间自动建立BGP会话。

然后,网络R的新扩展成为可操作的(即,该网络的新节点T25和T35具有必要的路由信息,并且对于更高级别的其他节点可见)。

注意,可以从网络R的任何装置(特别是从任何层次级别)初始化用于自动配置网络R的过程。如果网络的装置由于逐步传播而从几个邻居接收到配置元素的几个提议,则它必须在它已接收的提议之中选择提议,并通知其邻居。取决于已经发出提议的邻居的源IP地址,可以使用几个选择标准,例如,接收提议的顺序或这些提议的选择。

这里已经在数据中心的网络的上下文中描述了本发明。尽管在该上下文中具有优选的应用,但是本发明可以应用于使用动态路由协议的任何类型的网络。

25页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:车载网络系统、电子控制装置、网关装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!