CN104125149B - 优化软件定义的网络的网络元件的配置***的方法和设备 - Google Patents

优化软件定义的网络的网络元件的配置***的方法和设备 Download PDF

Info

Publication number
CN104125149B
CN104125149B CN201410165327.4A CN201410165327A CN104125149B CN 104125149 B CN104125149 B CN 104125149B CN 201410165327 A CN201410165327 A CN 201410165327A CN 104125149 B CN104125149 B CN 104125149B
Authority
CN
China
Prior art keywords
configuration
entity
network element
functional entity
entry
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410165327.4A
Other languages
English (en)
Other versions
CN104125149A (zh
Inventor
维莱·哈利沃里
茱哈马蒂·库西萨里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infinera Oy
Original Assignee
Tellabs Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tellabs Oy filed Critical Tellabs Oy
Publication of CN104125149A publication Critical patent/CN104125149A/zh
Application granted granted Critical
Publication of CN104125149B publication Critical patent/CN104125149B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种用于优化软件定义的网络的网络元件的配置***的方法和设备。特定于实体的配置***基于特定于网络元件的配置***,该特定于网络元件的配置***与整个网络元件有关并且包括用于确定要由网络元件执行的操作的配置条目。该方法包括形成(401)关系数据,该关系数据为功能实体中的每一个指示与考虑中的功能实体无关的那些配置条目的至少一个,使得功能实体的操作独立于这些配置条目。关系数据使得特定于实体的配置***能够被构造(402)为使得每个功能实体的特定于实体的配置***摆脱根据关系数据而与考虑中的功能实体无关的那些配置条目。因此,可以节省用于实现特定于实体的配置***的资源。

Description

优化软件定义的网络的网络元件的配置***的方法和设备
技术领域
本发明通常涉及软件定义的网络“SDN”。更具体地,本发明涉及用于对软件定义的网络的网络元件的功能实体的特定于实体的配置***进行优化的方法、设备和计算机程序。功能实体可以是例如线路接口模块。此外,本发明涉及软件定义的网络的控制器以及软件定义的网络的网络元件。
背景技术
软件定义的网络是用于数据传输网络的新兴架构。在软件定义的网络“SDN”中,控制平面与数据平面分离,使得控制平面在可以与网络元件分离的一个或多个控制器中实现,并且数据平面在网络元件中实现。网络元件可以是例如互联网协议“IP”路由器、多协议标签交换“MPLS”节点、分组光学交换机和/或以太网交换机。每个网络元件可以由单个设备或者多个设备的组合来组成。通常,软件定义的网络允许对交换和/或路由策略的快速实验和优化以及对先前关闭和专用的网络元件的内部的外部接入。
基于互联网协议“IP”的网络初始地是基于自治***“AS”的概念来建立的。该概念允许网络通过连接的结点来缩放和延伸,该结点基于部分需要知道的信息来将分组转发到合理的下一跳。AS原理工作得很像传统的邮局服务,其中在给定城市的邮递工作者不需要为了对手头的信件选择合理的下一跳而知道另一城市中的所有街道的所有住户。该用于联网的方法是简单的,并且已经证明是和可扩展。然而,该方法有一些缺点。只要考虑分组递送服务,该方法就不允许指定目的地或者有家庭邮箱的住户在不改变他们身份的情况下移动。作为所附连到的网络接口的目的地的拓扑位置规定其与分组递送服务有关的身份。此外,仅使用基本的AS原理,难以指定例如逻辑分组、接入控制、服务质量、中间网络处理的其他质量或者指定与形成流的分组序列有关的各方面。
使用邮递服务的类比,软件定义的联网进行工作,使得对于任何给定的街道位置,来自所有住户的信件将首先由软件定义的网络的边缘上的网络元件聚集。该网络元件被配置为使用全局查找机制来检查每个信件目的地的当前位置。基于全局查找和其他全局定义和全局测量的考虑,诸如接入控制或远程位置负载条件,所述网络元件将原始信件中的一个或多个放置在寻址到地当前所在的街道位置中的每一个的附加信封中。然后,使用如传统互联网协议“IP”那样进行工作的正常邮递服务来将这些外部信封发到远程位置。这是基于现有的并且可扩展的逐跳转发服务来实现的。然后,外部信件由远程网络元件打开,并且将原始信封被递送到目的地。应当注意,上述在软件定义的网络与邮递服务之间的类比非常简单,并且仅给出了关于通过软件定义的联网提供的多功能可能性的有限的观点。
然而,软件定义的联网并没有脱离挑战。一些挑战关于将网络元件配置为使得例如线路接口模块的网络元件的不同功能实体总是能够执行所需要的任务,并且使得以充分优化的方式来利用网络元件的资源。配置网络元件包括定义配置***,借助于该配置***,网络元件能够作为软件定义的网络的一部分进行操作。配置***应当是使得其能够提供期望的功能,并且另一方面,配置***应当以充分有效的方式通过网络元件的功能实体来实现。因此,仍然需要用于将配置***定位使得以充分优化的方式利用网络元件的资源的技术解决方案。
发明内容
为了提供对各种发明实施例的一些方案的基本理解,下面提供了简单的发明内容。该发明内容不是本发明的广泛概述。这既不意在识别本发明的关键或重要要素,也不是要描述本发明的范围。以下的发明内容仅以简单的形式提供本发明的一些原理作为例示本发明的示例性实施例的更具体描述的前序。
根据本发明,提供了一种对软件定义的网络“SDN”的网络元件的功能实体的特定于实体的配置***进行优化的新方法。每个功能实体例如可以是但不限于,网络元件的线路接口模块或者线路接口模块的一部分,诸如线路接口模块的出口侧或者线路接口模块的入口侧。特定于实体的配置***基于与整个网络元件有关并且包括用于确定要由网络元件执行的操作的配置条目的特定于网络元件的配置***。配置***通常包括一个或多个查找表,并且配置条目是一个或多个查找表中的条目。
根据本发明的方法包括形成关系数据,该关系数据为功能实体中的每一个指示与考虑中的功能实体无关的那些配置条目中的至少一个,使得考虑中的功能实体的操作独立于这些配置条目。
上述关系数据使得特定于实体的配置***能够被构造为使得每个功能实体的特定于实体的配置***摆脱根据关系数据而与考虑中的功能实体无关的那些配置条目。因为可以从特定于实体的配置***中忽略不必要的配置条目中的至少一部分,所以可以节省在网络元件的功能实体中的用于实现特定于实体的配置***的资源。这促进了利用功能实体的资源对特定于实体的配置***的实现。
根据本发明,还提供了一种用于对软件定义的网络的网络元件的功能实体的特定于实体的配置***进行优化的新设备,其中特定于实体的配置***基于与整个网络元件有关并且包括用于确定要由网络元件执行的操作的配置条目的特定于网络元件的配置***。
根据本发明的设备包括适配为形成关系数据的处理***,该关系数据为功能实体中的每一个指示与考虑中的功能实体无关的那些配置条目中的至少一个,使得考虑中的功能实体的操作独立于这些配置条目,关系数据使得特定于实体的配置***能够被构造为使得每个功能实体的特定于实体的配置***摆脱根据关系数据而与考虑中的功能实体无关的那些配置条目。
根据本发明,还提供了一种用于配置软件定义的网络的网络元件的新的控制器。该控制器可以是单个设备,也可以是能够彼此进行通信的多个设备的组合。根据本发明的控制器包括:
-处理***,实现根据本发明的用于对网络元件的功能实体的特定于实体的配置***进行优化的设备,以及
-数据接口,用于向网络元件发送用于配置网络元件的配置数据。
根据本发明,还提供了一种新的软件定义的网络,包括一个或多个网络元件以及根据本发明的用于配置一个或多个网络元件的控制器。应当注意,控制器或其一个或多个部分还可以用作一个或多个网络元件,一个或多个网络元件可以是例如IP(互联网协议)路由器、多协议标签交换“MPLS”节点、分组光学交换机和/或以太网交换机。
根据本发明,还提供了一种用于软件定义的网络的新的网络元件。该网络元件可以是例如互联网协议“IP”路由器、多协议标签交换“MPLS”交换机、分组光学交换机和/或以太网交换机。该网络元件可以由单个设备或多个设备的组合组成。根据本发明的网络元件包括:
-功能实体,例如线路接口模块,用于管理从软件定义的网络接收的和要传送到软件定义的网络的数据,以及
-处理***,用于将用于功能实体的特定于实体的配置***构造为使得每个功能实体的特定于实体的配置***摆脱根据关系数据而与考虑中的功能实体无关的那些配置条目中的一个或多个,特定于实体的配置***基于与整个网络元件有关的特定于网络元件的配置***,并且包括用于确定要通过网络元件执行的操作的配置条目,并且关系数据为功能实体中的每一个指示与考虑中的功能实体无关的那些配置条目中的至少一个,使得考虑中的功能实体的操作独立于这些配置条目。
根据本发明,还提供了一种新的计算机程序,用于对软件定义的网络的网络元件的功能实体的特定于实体的配置***进行优化,其中特定于实体的配置***基于与整个网络元件有关并且包括用于确定要由网络元件执行的操作的配置条目的特定于网络元件的配置***。
根据本发明的计算机程序包括计算机可执行指令,用于控制可编程处理***来形成关系数据,该关系数据为功能实体中的每一个指示与考虑中的功能实体无关的那些配置条目中的至少一个,使得考虑中的功能实体的操作独立于这些配置条目,该关系数据使得特定于实体的配置***能够被构造为使得每个功能实体的特定于实体的配置***摆脱根据关系数据而与考虑中的功能实体无关的那些配置条目。
根据本发明,还提供了一种新的计算机程序产品。该计算机程序产品包括用根据本发明的计算机程序编码的非易失性计算机可读介质,例如压缩盘“CD”。
在所附从属权利要求中描述了本发明的多个示例性和非限制性实施例。
当结合附图阅读时,从下面的特定示例性实施例的描述中可以最好地理解关于构造和操作方法的本发明的各种示例性和非限制性实施例及其其他目标和优点。
本文中使用的动词“包括”作为开放性限制来使用,其既不排除也不要求还存在未阐述的特征。除非明确指出,所附从属权利要求中所阐述的特征可以相互自由组合。此外,应当理解,在本文中“一”(即单数形式)的使用不排除复数的含义。
附图说明
下面参考附图来更详细地说明本发明的示例性和非限制性实施例及其优点,在附图中:
图1a示出了软件定义的网络的示意图,其中网络元件是根据本发明的示例性实施例和/或控制器是根据本发明的示例性实施例,
图1b示出了特定于网络元件的配置***的示例,并且图1c示出了特定于实体的配置***的示例,
图2示出了根据本发明的示例性实施例的用于配置软件定义的网络的网络元件的控制器的示意图,
图3示出了根据本发明的示例性实施例的网络元件的示意图,以及
图4示出了根据本发明的示例性实施例的用于对软件定义的网络的网络元件的功能实体的特定于实体的配置***进行优化的方法的流程图。
具体实施方式
图1a示出了示例性软件定义的网络“SDN”100的示意图。软件定义的网络包括网络元件101、102、103和104以及控制器105。该示例性软件定义的网络的网络元件101-104通过数据传输链路来彼此互连,如图1a所示。此外,示例性软件定义的网络“SDN”100可以包括图1a未示出的其他网络元件。网络元件中的每一个可以是例如互联网协议“IP”路由器、多协议标签交换“MPLS”节点、分组光学交换机和/或以太网交换机。每个网络元件可以由单个设备或多个设备的组合组成。而且,控制器105可以由单个设备或多个设备的组合组成。在图1a所示的示例性情况中,控制器105包括两个互连的设备。终端设备107连接到控制器105,并且网络元件102用作对可以是例如全球因特网的外部网络106的网关。控制器105包括数据传输接口,该数据传输接口用于接收来自终端设备107和/或来自通过数据传输链路连接到控制器的数据传输接口的一个或多个其他设备的数据。应当注意,控制器105或其一个或多个部分还可以用作一个或多个网络元件,该一个或多个网络元件可以是例如互联网协议“IP”路由器、多协议标签交换“MPLS”节点、分组光学交换机和/或以太网交换机。
控制器105被适配为向网络元件101-104中的每一个发送配置数据,该配置数据包括用于配置考虑中的网络元件以维护使得网络元件能够以期望的方式管理数据帧的配置***的数据项。控制器105可以被适配为根据ForCES或者一些其他适当的协议来配置网络元件101-104。关于ForCES的更多细节可以从Request for Comments“RFC”:3746“Forwarding and Control Element Separation”,the Internet Engineering TaskForce“IETF”,Network Working Group找到。此外,发送到一个或多个网络元件101-104的配置数据可以包括一个或多个配置程序,每个配置程序包括一个或多个计算机可执行指令,该计算机可执行指令定义要结合考虑中的网络元件中管理数据帧所执行的动作或动作链。通过配置程序定义的动作或动作链例如可以包括:读取数据帧中的数据,修改数据帧,选择网络元件的出口端口中的一个或多个并且将数据帧及其可能的副本转发到所选择的一个或多个出口端口,选择查找***的查找表中的一个并且执行从所选择的查找表中的查找,执行算术运算,分支操作,执行逻辑运算,读取与数据帧相关联的元数据,写入与数据帧相关联的元数据,修改与数据帧相关联的元数据,丢弃数据帧和/或复制数据帧。
假定网络元件101-104中的至少一个具有模块结构,使得考虑中的网络元件包括一个或多个功能实体,该功能实体可以包括例如线路接口模块和/或一个或多个其他模块,诸如控制模块。每个功能实体可以包括控制处理器部和数据转发部,控制处理器部用于维护特定于实体的配置***,数据转发部用于根据实体特的定配置***来管理数据帧,特定于实体的配置***包括定义要结合管理数据帧执行的动作的配置条目。
在根据本发明的示例性实施例的软件定义的网络中,网络元件101-104中的至少一个被适配为优化与考虑中的网络元件的功能实体有关的特定于实体的配置***。特定于实体的配置***基于特定于网络元件的配置***,特定于网络元件的配置***与整个网络元件有关并且包括用于确定要通过网络元件执行的操作的配置条目。网络元件被适配为形成关系数据,该关系数据为每个功能实体指示与考虑中的功能实体无关的那些配置条目,使得考虑中的功能实体的操作独立于这些配置条目。此外,网络元件被适配为将特定于实体的配置***构造为使得每个功能实体的特定于实体的配置***摆脱根据关系数据而与考虑中的功能实体无关的那些配置条目的一个或多个。
以下通过图1b和图1c来说明用于优化特定于实体的配置***的上述原理。图1b示出了特定于网络元件的配置***的示例。图1b中所示的示例性配置***包括查找表T1、T2、T3和T4。查找表的行表示配置条目,使得每个配置条目,即行,包括与查找关键词相比较的查找参考(例如K1),以便于确定是否要接入考虑中的配置条目。此外,每个配置条目,即行,包括定义在已经接入了考虑中的配置条目时要执行的一个或多个动作的动作描述符,例如D1。图1b所示的虚线箭头示出查找表之间的示例性变换。例如,通过查找表T1的配置条目“Q1S1”定义的一个或多个动作可以产生对查找表T2以及与Q2匹配的查找关键词的参考。因此,将从查找表T1的配置条目“Q1S1”变换到查找表T2的配置条目“Q2S2”。此外,如图1b所示,存在连续配置条目的以下可能的查找序列:“Q1S1”-“Q2S2”-“Q3S3”-“Q4S4”和“K1D1”-“K2D2”-“K4D4”。
例如,在已经在特定功能实体(例如特定线路接口模块)的特定物理入口端口处接收到数据帧的情况下,可以接入配置条目“Q1S1”。通过配置条目“Q1S1”定义的动作例如可以涉及例如检查接收到的数据帧中的虚拟本地接入网络标识符“VLAN ID”和确定虚拟路由以及基于检查的VLAN ID来转发表标识符“VRF ID”。例如,如果所确定的VRF ID在给定范围内,则通过配置条目“Q1S1”定义的动作可以涉及使用确定的VRF ID作为查找关键词来执行从查找表T2中的查找。如果所确定的VRF ID正好与Q2匹配,则接入配置条目“Q2S2”。配置条目“Q2S2”进而可以确定通过查找表T3和/或T4执行的一个或多个查找中使用的元数据。在通过后面的查找表执行的一个或多个查找中可以使用通过两个或更多个先前的查找表确定的元数据(例如,在通过查找表T4执行的一个或多个查找中可以使用通过所有的查找表T1、T2和T3确定的元数据)的意义上,操作可以是累积的。上面示例的这种操作继续,直到执行了最终动作。最终动作例如可以是例如经由特定功能实体的特定物理出口端口转发数据帧,或者放弃数据帧。
在图1b所示的示例性情况下,我们假定配置条目“Q1S1”、“Q2S2”、“Q3S3”和“Q4S4”与直接或间接涉及网络元件的第一功能实体(例如第一线路接口模块)的动作有关。我们进一步假定配置条目“K1D1”、“K2D2”和“K4D4”与第一功能实体无关,使得在所有情况下,第一功能实体的操作独立于这些配置条目“K1D1”、“K2D2”和“K4D4”的存在。例如,配置条目“K1D1”、“K2D2”和“K4D4”中的每一个可以使得在第一功能实体处接收到数据帧时或者在经由第一功能实体传送数据帧时或者在一些其他具体操作发生时从未不对其进行接入。在该情况下,有利的是将用于第一功能实体的特定于实体的配置***构造为使得特定于实体的配置***摆脱与第一功能实体无关的配置条目“K1D1”、“K2D2”和“K4D4”。图1c示出了第一功能实体的特定于实体的配置***。如图1c所示,已经从第一功能实体的特定于实体的配置***中忽略了不需要的配置条目“K1D1”、“K2D2”和“K4D4”。
例如,可以通过生成每一个都包括连续配置条目的测试查找序列,使得先前的配置条目确定一个或多个后续的配置条目,来找到与考虑中的功能实体无关的配置条目。测试查找序列例如可以用于模拟例如仅在特定功能实体处接收到的数据帧的情况。在很多情况下,通过改变用于模拟的输入数据,可以找出在仅在考虑中的功能实体处接收到数据帧的情况下,特定于网络元件的配置***的哪些配置条目从未被接入。在一些情况下,当已知最后的动作(例如经由特定出口端口转发数据帧)时,能够在特定于网络元件的配置***中向后移动。在这些情况下,测试查找序列可以被构造为与仅经由特定功能实体传送数据帧的情况相对应。在仅经由考虑中的功能实体传送数据帧的情况下,测试查找序列可以用于找出特定于网络元件的配置***中的哪些配置条目从未被接入。借助于测试查找序列所获得的信息可以用于形成关系数据,该关系数据为功能实体中的每一个指示与考虑中的功能实体无关的那些配置条目,使得考虑中的功能实体的操作独立于这些配置条目。
此外,还可以通过找到锚定配置条目(例如端口),并且通过跟踪与锚定配置条目直接或间接有关的任何元数据,并且然后将该元数据与特定于网络元件的配置***的后续和/或之前的查找表中的配置条目相关联,来构造用于找到无关配置条目的测试查找序列。这可以被视作图形可达问题。而且,可以使用后续和/或之前的查找表中的固定字段,例如端口号。用于锚定配置条目的典型示例可以是例如:
-限制为那些具有具体VRF的功能实体(例如线路接口模块)的虚拟本地接入网络“VLAN”查找的在端口或者在端口组合中指配的虚拟路由和转发表标识符“VRF ID”以及用于将互联网协议“IP”查找条目。
-多协议标签交换进入标签映射“MPLS ILM”条目,其被限制为具有MPLS ILM条目经由MPLS ILM表中参考的VLAN组合查找和端口中指配的标签空间来直接或间接参考的VLAN组合和端口的那些条目。
-限制为输出动作所指示的功能实体的出口修改条目,例如MPLS标签推送。
-与用于限制后续查找表中的VLAN查找条目和媒体访问控制“MAC”转发条目二者的端口查找表所指配的以太网交换和元数据有关的桥接标识符“桥ID”。
-基于在后续表中通过VLAN查找指配的元数据和桥接ID的层3“L3”集成路由和桥接“IRB”条目。
在根据本发明的示例性实施例的软件定义的网络中,控制器105被适配为优化与网络元件101-104中的至少一个的功能实体有关的特定于实体的配置***。在该情况下,控制器105具有对定义考虑中的网络元件的模块结构以及网络元件的功能实体到软件定义的网络100的数据传输链路的连接的数据的接入。控制器105被适配为形成关系数据,该关系数据为考虑中的网络元件的功能实体中的每一个指示与考虑中的功能实体无关的那些配置条目,使得考虑中的功能实体的操作独立于这些配置条目。控制器105可以被适配为构造用于考虑中的网络元件的特定于实体的配置***,使得每个功能实体的特定于实体的配置***摆脱根据关系数据而与考虑中的功能实体无关的那些配置条目中的一个或多个,并且控制器105可以被适配为将要发送到网络元件的配置数据设置为表达特定于实体的配置***。控制器还能够被适配为将关系数据与其他配置数据一起发送到网络元件,以便于使得网络元件能够基于关系数据来优化特定于实体的配置***。为了能够构建用于网络元件101-104中的一个或多个的特定于网络元件的配置***,控制器具有关于在软件定义的网络100中出现的不同数据流的先验知识。可以基于该知识以及定义网络元件的功能实体到软件定义的网络的数据传输链路的连接的上述数据来优化特定于实体的配置***。
图2示出了根据本发明的示例性实施例的用于配置软件定义的网络的网络元件的控制器205的示意图。在该示例性情况下,控制器是单个设备,但是如本文前面所述,控制器也可以是多个设备的组合。控制器包括用于接收数据和传送数据的数据传输接口211。数据传输接口211包括用于经由数据传输链路连接到数据传输网络220的入口端口212、214以及出口端口213、215。控制器包括适配为构造使得网络元件能够被配置为作为软件定义的网络的一部分进行操作的配置数据的处理***209。该处理***209还被适配为控制数据传输接口211向要配置的网络元件发送配置数据。
控制器205包括用于优化用于要配置的网络元件的功能实体的特定于实体的配置***的设备。特定于实体的配置***基于与整个网络元件有关并且包括用于确定要由网络元件执行的操作的配置条目的特定于网络元件的配置***。该设备被适配为形成关系数据,该关系数据为功能实体中的每一个指示与考虑中的功能实体无关的那些配置条目,使得考虑中的功能实体的操作独立于这些配置条目。可以通过处理***209来实现用于优化特定于实体的配置***的上述设备。
在根据本发明的示例性实施例的控制器中,处理***209被适配为构造特定于实体的配置***,使得每个功能实体的特定于实体的配置***摆脱根据关系数据而与考虑中的功能实体无关的那些配置条目中的一个或多个,并且处理***209被适配为将要发送到网络元件的配置数据设置为表达特定于实体的配置***。
在根据本发明的示例性实施例的控制器中,处理***209被适配为将要发送到网络元件的配置数据设置为表达特定于网络元件的配置***并且包含关系数据,以便于使得网络元件能够构造特定于实体的配置***。例如,关系数据可以被编码成与特定于网络元件的配置***的配置条目有关的比特矢量,使得比特矢量的每个比特位置表示功能实体中的一个。例如,在与给定的配置条目有关的比特矢量中表示给定功能实体的比特在配置条目与考虑中的功能实体有关时可以是“1”,而在配置条目与考虑中的功能实体无关时可以是“0”。每个配置条目还能够与考虑中的配置条目相关的那些功能实体的标识符列表相关联。
处理***209可以通过一个或多个处理器电路来实现,每个处理器电路可以是设置有适当软件的可编程处理器电路、诸如专用集成电路“ASIC”的专用硬件处理器、或者诸如现场可编程门阵列“FPGA”的可配置硬件处理器。
图3示出了根据本发明的示例性实施例的网络元件301的示意图。网络元件可以是例如互联网协议“IP”路由器、多协议标签交换“MPLS”交换机、分组光学交换机和/或以太网交换机。网络元件包括用于从软件定义的网络320接收数据并且向软件定义的网络传送数据的功能实体321、322、323和324。功能实体321-324可以是例如物理线路接口模块。功能实体321-324中的每一个包括控制处理器部和数据转发部,控制处理器部用于维护特定于实体的配置***,数据转发部用于根据特定于实体的配置***来管理数据帧,特定于实体的配置***包括定义要结合管理数据帧执行的动作的配置条目。每个功能实体的特定于实体的配置***基于特定于网络元件的配置***,特定于网络元件的配置***与整个网络元件有关并且包括用于确定要由网络元件执行的操作的配置条目。网络元件包括处理***309,处理***309用于将用于功能实体321-324的特定于实体的配置***构造为使得每个功能实体的特定于实体的配置***摆脱与考虑中的功能实体无关的那些配置条目中的一个或多个。
根据本发明的示例性实施例的网络元件被适配为从软件定义的网络320的控制器接收表达特定于网络元件的配置***的配置数据。处理***209被适配为形成关系数据,该关系数据为功能实体321-324中的每一个指示与考虑中的功能实体无关的特定于网络元件的配置***的那些配置条目的至少一个,使得考虑中的功能实体的操作独立于这些配置条目,该关系在构造特定于实体的配置***时使用。
根据本发明的另一示例性实施例的网络元件被适配为从软件定义的网络的控制器接收上述关系数据。
处理***309可以通过一个或多个处理器电路来实现,每个处理器电路可以是设置有适当的软件的可编程处理器电路、诸如专用集成电路“ASIC”的专用硬件处理器、或者诸如现场可编程门阵列“FPGA”的可配置硬件处理器。
在上述网络元件中,处理***309被适配为优化用于功能实体321-324的特定于实体的配置***。功能实体321-324中的一个的处理***能够被适配为优化用于功能实体321-324的特定于实体的配置***。此外,功能实体321-324中的每一个被适配为优化其自己的特定于实体的配置***。
图4示出了根据本发明的示例性实施例的用于对软件定义的网络的网络元件的功能实体的特定于实体的配置***进行优化的方法的流程图,其中特定于实体的配置***基于特定于网络元件的配置***,特定于网络元件的配置***与整个网络元件有关并且包括用于确定要通过网络元件执行的操作的配置条目。该方法包括形成401关系数据,该关系数据为功能实体中的每一个指示与考虑中的功能实体无关的那些配置条目,使得考虑中的功能实体的操作独立于这些配置条目。关系数据使得特定于实体的配置***能够被构造为使得每个功能实体的特定于实体的配置***摆脱根据关系数据而与考虑中的功能实体无关的那些配置条目。
根据本发明的示例性实施例的方法包括将特定于实体的配置***构造402为使得每个功能实体的特定于实体的配置***摆脱根据关系数据而与考虑中的功能实体无关的那些配置条目的一个或多个。
根据本发明的示例性实施例的方法包括生成测试查找序列,以便于找出哪些配置条目与功能实体中的每一个无关。每个测试查找序列包括特定于网络元件的配置***的连续配置条目,使得先前的配置条目确定一个或多个接下来的配置条目。
在根据本发明的示例性实施例的方法中,生成测试查找序列,使得测试查找序列与在功能实体中的仅一个处接收到数据帧的情况相对应,以便于找出在功能实体中的仅一个处接收到数据帧时从未被接入的那些配置条目。
在根据本发明的示例性实施例的方法中,生成测试查找序列,使得测试查找序列与经由功能实体中的仅一个传送数据帧的情况相对应,以便于找出经由功能实体中的仅一个传送数据帧时从未被接入的那些配置条目。
还可以通过找到锚定配置条目(例如端口),并且通过跟踪与锚定配置条目直接或间接有关的任何元数据,并且然后将该元数据与特定于网络元件的配置***的后续和/或先前的查找表中的配置条目相关联,来构造用于找到无关配置条目的测试查找序列。这可以被视作图形可达问题。而且,可以使用在后续和/或先前的查找表中的固定字段,例如端口号。
根据本发明的示例性实施例的方法包括,基于关于能够出现在软件定义的网络中的不同数据流的知识以及定义网络元件的功能实体到软件定义的网络的数据传输链路的连接的数据,来找出与考虑中的功能实体无关的那些配置条目中的至少一个。
根据本发明的示例性实施例的用于优化上述特定于实体的配置***的计算机程序包括计算机可执行指令,用于控制可编程处理***以执行根据本发明的上述示例性实施例的任一个的方法。
根据本发明示例性实施例的计算机程序包括用于优化用于软件定义的网络的网络元件的特定于实体的配置***的软件模块,其中特定于实体的配置***基于特定于网络元件的配置***,特定于网络元件的配置***与网络元件有关并且包括用于确定要由网络元件执行的操作的配置条目。软件模块包括用于控制可编程处理***形成关系数据的计算机可执行指令,该关系数据为功能实体中的每一个指示与考虑中的功能实体无关的那些配置条目,使得考虑中的功能实体的操作独立于这些配置条目。
在根据本发明的示例性实施例的计算机程序中,软件模块进一步包括计算机可执行指令,用于控制可编程处理***将特定于实体的配置***构造为使得每个功能实体的特定于实体的配置***摆脱根据关系数据而与考虑中的功能实体无关的那些配置条目中的一个或多个。
软件模块例如可以是通过适当的编程语言并且通过适用于编程语言的编译器以及可编程处理***实现的子例程或功能。
根据本发明的示例性实施例的计算机程序产品包括通过根据本发明的示例性实施例的计算机程序编码的计算机可读介质,例如压缩盘(“CD”)。
根据本发明的示例性实施例的信号被编码为承载根据本发明的示例性实施例的定义计算机程序的信息。
上述说明书中提供的具体示例不应解释为限制所附权利要求书的范围和/或应用性。

Claims (18)

1.一种用于对用于软件定义的网络的网络元件的功能实体的特定于实体的配置***进行优化的设备,所述特定于实体的配置***基于特定于网络元件的配置***,所述特定于网络元件的配置***与所述网络元件有关并且包括用于确定要由所述网络元件执行的操作的配置条目,其特征在于,所述设备包括:
-用于从所述特定于网络元件的配置***为所述功能实体中的每一个搜索与考虑中的功能实体无关的那些配置条目中的至少一个,使得所述考虑中的功能实体的操作独立于这些配置条目的装置(209,309),以及
-用于形成关系数据的装置(209,309),所述关系数据为所述功能实体中的每一个指示所搜索的与所述考虑中的功能实体无关的那些配置条目中的至少一个,使得所述考虑中的功能实体的所述操作独立于这些配置条目,所述关系数据使得所述特定于实体的配置***能够被构造为使得每个功能实体的所述特定于实体的配置***摆脱根据所述关系数据而与所述考虑中的功能实体无关的那些配置条目。
2.根据权利要求1所述的设备,其中,所述设备包括用于生成测试查找序列以便于找出与所述功能实体无关的那些配置条目中的至少一个的装置,每个测试查找序列包括所述特定于网络元件的配置***的连续配置条目,使得先前的配置条目确定一个或多个接下来的配置条目。
3.根据权利要求2所述的设备,其中,所述设备包括用于生成所述测试查找序列使得所述测试查找序列与在所述功能实体中的仅一个处接收到数据帧的情况相对应,以便于找出在所述功能实体中的仅一个处接收到所述数据帧时从未被接入的那些配置条目中的至少一个的装置。
4.根据权利要求2或3所述的设备,其中,所述设备包括用于生成所述测试查找序列使得所述测试查找序列与经由所述功能实体中的仅一个传送数据帧的情况相对应,以便于找出经由所述功能实体中的仅一个传送所述数据帧时从未被接入的那些配置条目中的至少一个的装置。
5.根据权利要求1所述的设备,其中,所述设备包括用于基于关于能够出现在所述软件定义的网络中的不同数据流的知识以及定义所述网络元件的功能实体到所述软件定义的网络的数据传输链路的连接的数据来找出与所述功能实体无关的那些配置条目中的至少一个的装置。
6.根据权利要求1所述的设备,其中,所述设备包括用于将所述特定于实体的配置***构造为使得每个功能实体的特定于实体的配置***摆脱根据所述关系数据而与考虑中的功能实体无关的那些配置条目中的一个或多个的装置。
7.一种用于配置软件定义的网络的网络元件的控制器(205),所述控制器包括:
-根据权利要求1所述的用于对用于所述网络元件的功能实体的特定于实体的配置***进行优化的设备,以及
-数据接口(211),所述数据接口(211)用于向所述网络元件发送用于配置所述网络元件的配置数据。
8.根据权利要求7所述的控制器,其中,所述控制器包括用于将所述特定于实体的配置***构造为使得每个功能实体的所述特定于实体的配置***摆脱根据所述关系数据而与考虑中的功能实体无关的那些配置条目中的一个或多个并且将所述配置数据设置为表达所述特定于实体的配置***的装置。
9.根据权利要求7所述的控制器,其中,所述控制器包括用于将所述配置数据设置为表达所述特定于网络元件的配置***并且包含所述关系数据以便于使得所述网络元件能够构造所述特定于实体的配置***的装置。
10.一种用于软件定义的网络的网络元件(301),所述网络元件包括:
-功能实体(321-324),所述功能实体(321-324)用于管理从所述软件定义的网络接收的和要传送到所述软件定义的网络的数据,以及
-处理***(309),所述处理***(309)用于将用于所述功能实体的特定于实体的配置***构造为使得每个功能实体的所述特定于实体的配置***摆脱根据关系数据而与考虑中的功能实体无关的那些配置条目中的一个或多个,所述特定于实体的配置***基于特定于网络元件的配置***,所述特定于网络元件的配置***与所述网络元件有关并且包括用于确定要由所述网络元件执行的操作的配置条目,并且所述关系数据为所述功能实体中的每一个指示与考虑中的功能实体无关的那些配置条目中的至少一个,使得所述考虑中的功能实体的操作独立于这些配置条目,
其中,所述网络元件被适配为从所述软件定义的网络的控制器接收表达所述特定于网络元件的配置***的配置数据,并且所述处理***被适配为实现根据权利要求1-5中的任何一项所述的用于形成所述关系数据的设备。
11.根据权利要求10所述的网络元件,其中,所述网络元件被适配为从所述软件定义的网络的控制器接收表达所述特定于网络元件的配置***并且包含所述关系数据的配置数据。
12.根据权利要求10所述的网络元件,其中,所述功能实体是线路接口模块。
13.一种用于对用于软件定义的网络的网络元件的功能实体的特定于实体的配置***进行优化的方法,所述特定于实体的配置***基于特定于网络元件的配置***,所述特定于网络元件的配置***与所述网络元件有关并且包括用于确定要由所述网络元件执行的操作的配置条目,其特征在于,所述方法包括:
-从所述特定于网络元件的配置***为所述功能实体中的每一个搜索与考虑中的功能实体无关的那些配置条目中的至少一个,使得所述考虑中的功能实体的操作独立于这些配置条目,以及
-形成(401)关系数据,所述关系数据为所述功能实体中的每一个指示所搜索的与所述考虑中的功能实体无关的那些配置条目中的至少一个,使得所述考虑中的功能实体的所述操作独立于这些配置条目,所述关系数据使得所述特定于实体的配置***能够被构造为使得每个功能实体的特定于实体的配置***摆脱根据所述关系数据而与所述考虑中的功能实体无关的那些配置条目。
14.根据权利要求13所述的方法,其中,所述方法包括生成测试查找序列,以便于找出与所述功能实体无关的那些配置条目中的至少一个,每个测试查找序列包括所述特定于网络元件的配置***的连续配置条目,使得先前的配置条目确定一个或多个接下来的配置条目。
15.根据权利要求14所述的方法,其中,生成所述测试查找序列,使得所述测试查找序列与在所述功能实体中的仅一个处接收到数据帧的情况相对应,以便于找出在所述功能实体中的仅一个处接收到数据帧时从未被接入的那些配置条目中的至少一个。
16.根据权利要求14或15所述的方法,其中,生成所述测试查找序列,使得所述测试查找序列与经由所述功能实体中的仅一个传送数据帧的情况相对应,以便于找出在经由所述功能实体中的仅一个传送所述数据帧时从未被接入的那些配置条目中的至少一个。
17.根据权利要求13所述的方法,其中,所述方法包括基于关于能够出现在所述软件定义的网络中的不同数据流的知识以及定义所述网络元件的功能实体到所述软件定义的网络的数据传输链路的连接的数据,来找出与所述功能实体无关的那些配置条目中的至少一个。
18.根据权利要求13所述的方法,其中,所述方法包括将所述特定于实体的配置***构造(402)为使得每个功能实体的特定于实体的配置***摆脱与根据所述关系数据而与所述考虑中的功能实体无关的那些配置条目中的一个或多个。
CN201410165327.4A 2013-04-23 2014-04-23 优化软件定义的网络的网络元件的配置***的方法和设备 Active CN104125149B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20135413 2013-04-23
FI20135413A FI20135413L (fi) 2013-04-23 2013-04-23 Menetelmä ja laite ohjelmallisesti määriteltävän verkon verkkoelementti konfigurointijärjestelmän optimoimiseksi

Publications (2)

Publication Number Publication Date
CN104125149A CN104125149A (zh) 2014-10-29
CN104125149B true CN104125149B (zh) 2019-02-19

Family

ID=50624409

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410165327.4A Active CN104125149B (zh) 2013-04-23 2014-04-23 优化软件定义的网络的网络元件的配置***的方法和设备

Country Status (4)

Country Link
US (1) US10326654B2 (zh)
EP (1) EP2797261B1 (zh)
CN (1) CN104125149B (zh)
FI (1) FI20135413L (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9923799B2 (en) * 2014-04-25 2018-03-20 Metaswitch Networks Ltd. Data processing
US10116464B2 (en) * 2015-03-18 2018-10-30 Juniper Networks, Inc. EVPN inter-subnet multicast forwarding
US10205523B2 (en) * 2015-08-14 2019-02-12 Futurewei Technologies, Inc. Designing and configuring packet optical networks
US10536335B2 (en) * 2015-12-18 2020-01-14 Coriant Oy Method for managing configuration of a network element and a network element
US10979347B2 (en) 2018-10-27 2021-04-13 Cisco Technology, Inc. Software version aware networking
CN115208754B (zh) * 2022-06-28 2024-02-23 深信服科技股份有限公司 配置的下发方法、装置、计算机设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102946365A (zh) * 2012-11-09 2013-02-27 清华大学 一种基于软件定义网络的保持流表更新一致性的方法
CN102957603A (zh) * 2012-11-09 2013-03-06 盛科网络(苏州)有限公司 基于多级流表的Openflow报文转发方法及***

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2193630B1 (en) 2007-09-26 2015-08-26 Nicira, Inc. Network operating system for managing and securing networks
US8345558B2 (en) 2010-02-02 2013-01-01 Juniper Networks, Inc. Packet-based memory test of a network device
US8817621B2 (en) 2010-07-06 2014-08-26 Nicira, Inc. Network virtualization apparatus
US8699499B2 (en) * 2010-12-08 2014-04-15 At&T Intellectual Property I, L.P. Methods and apparatus to provision cloud computing network elements
US9001827B2 (en) * 2010-12-17 2015-04-07 Big Switch Networks, Inc. Methods for configuring network switches
US8964569B2 (en) 2011-07-04 2015-02-24 Telefonaktiebolaget L M Ericsson (Publ) Generic monitoring packet handling mechanism for OpenFlow 1.1
US8964563B2 (en) 2011-07-08 2015-02-24 Telefonaktiebolaget L M Ericsson (Publ) Controller driven OAM for OpenFlow
US9185056B2 (en) * 2011-09-20 2015-11-10 Big Switch Networks, Inc. System and methods for controlling network traffic through virtual switches
US8521905B2 (en) * 2011-12-22 2013-08-27 Telefonaktiebolaget L M Ericsson (Publ) System for flexible and extensible flow processing in software-defined networks
US9071529B2 (en) * 2012-10-08 2015-06-30 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for accelerating forwarding in software-defined networks
US9288106B2 (en) * 2012-11-02 2016-03-15 Telefonaktiebolaget Lm Ericsson (Publ) Adding device-wide capabilities and parameters to split-architecture devices

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102946365A (zh) * 2012-11-09 2013-02-27 清华大学 一种基于软件定义网络的保持流表更新一致性的方法
CN102957603A (zh) * 2012-11-09 2013-03-06 盛科网络(苏州)有限公司 基于多级流表的Openflow报文转发方法及***

Also Published As

Publication number Publication date
US10326654B2 (en) 2019-06-18
FI20135413L (fi) 2014-10-24
EP2797261B1 (en) 2019-03-20
EP2797261A1 (en) 2014-10-29
US20140317251A1 (en) 2014-10-23
CN104125149A (zh) 2014-10-29

Similar Documents

Publication Publication Date Title
CN104125149B (zh) 优化软件定义的网络的网络元件的配置***的方法和设备
AbdelSalam et al. Implementation of virtual network function chaining through segment routing in a linux-based NFV infrastructure
US10320664B2 (en) Cloud overlay for operations administration and management
US9178828B2 (en) Architecture for agentless service insertion
US20160212048A1 (en) Openflow service chain data packet routing using tables
US8379642B2 (en) Multicasting using a multitiered distributed virtual bridge hierarchy
US9306837B1 (en) Source IP-based pruning of traffic toward dually-connected overlay hosts in a data communications environment
US8571408B2 (en) Hardware accelerated data frame forwarding
CN105706398A (zh) 重叠网络中的虚拟端口信道弹回
CN110601983A (zh) 一种协议无感知源路由转发方法及***
US10091062B2 (en) Multiple mobility domains with VLAN translation in a multi-tenant network environment
CN105591868B (zh) 一种虚拟专用网络vpn的接入方法和装置
CN107113322A (zh) 创建和管理可迁移式逻辑业务链的硬件和软件方法
CN105706391A (zh) 通过索引的本地化来增加组播规模
CN103873291B (zh) 用于配置软件定义的网络的方法和设备
KR20210093312A (ko) 세분화된 네트워크 엘리먼트를 포함하는 로직 라우터
CN103004158A (zh) 具有可编程内核的网络设备
US20110258340A1 (en) Distributed Virtual Bridge Management
CN108781185A (zh) 提供用于网络设备的可编程包分类框架的***和方法
CN107547399B (zh) 一种组播转发表项的处理方法和pe设备
US9264312B2 (en) Method and system to calculate multiple shortest path first trees
CN104852840A (zh) 一种控制虚拟机之间互访的方法及装置
CN105052113A (zh) 针对网络设备的共同代理框架
US10432515B1 (en) Reducing number of Ethernet segment MPLS labels for all-active multi-homing
CN104796281B (zh) 网络元件和用于管理网络元件的控制器

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant