CN105075200A - 在软件定义网络中支持任意路由标准 - Google Patents
在软件定义网络中支持任意路由标准 Download PDFInfo
- Publication number
- CN105075200A CN105075200A CN201480015251.5A CN201480015251A CN105075200A CN 105075200 A CN105075200 A CN 105075200A CN 201480015251 A CN201480015251 A CN 201480015251A CN 105075200 A CN105075200 A CN 105075200A
- Authority
- CN
- China
- Prior art keywords
- route
- packet
- score
- network element
- application
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/124—Shortest path evaluation using a combination of metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/121—Shortest path evaluation by minimising delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/126—Shortest path evaluation minimising geographical or physical path length
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种基于非路由标准路由数据通信的系统、方法和计算机程序产品,其中通过由网络元件接收数据分组,在网络元件的路由表中识别用于路由数据分组的第一路由,由在网络元件上执行的应用基于一个或多个非路由标准计算第一路由的路由得分,由应用基于一个或多个非路由标准计算路由数据分组的第二路由的路由得分,并且当确定第二路由的路由得分小于第一路由的路由得分时,更新路由表以使得网络元件根据第二路由来路由数据分组。
Description
相关申请的交叉引用
本申请要求于2013年3月15日提交的美国专利申请序列号13/843,536的权益,其通过引用被结合于此。
技术领域
本公开中呈现的实施例一般涉及软件定义网络。更具体地,这里公开的实施例提供支持任意路由标准的软件定义网络。
背景技术
路由协议已经被设计为在创建和维护路由时考虑许多网络相关的条件,如可达性和网络拥塞。然而,目前,没有方法基于非网络相关的条件(如动态延迟、服务水平协议、身份条件、带宽,或需要一定量流量流经给定提供商的合同安排)来进行路由,因为不能为每个客户将这些能力合并入交换机。
附图说明
以使得能够更详细地理解本公开的上述特征的方式,可通过参考实施例(其中的一些实施例被示出在附图中)来获得对上面简述的公开的更具体描述。然而,要注意的是,附图仅示出了本公开的典型实施例并因此不被视为限制其范围,因为此公开可允许其他同等有效的实施例。
图1A-1C是根据这里所公开的一个实施例示出了在SDN使能网络中支持任意路由标准的技术的简图。
图2根据这里所公开的一个实施例示出了在SDN使能网络中支持任意路由标准的方法。
图3根据这里所公开的一个实施例示出了基于非传统路由标准修改路由的方法。
图4根据这里所公开的一个实施例示出了在SDN使能网络中支持任意路由标准的系统。
具体实施方式
概述
这里公开的实施方案提供了一种基于非路由标准路由数据通信的方法,其中通过由网络元件接收数据分组,在网络元件的路由表中识别第一路由用于路由数据分组,由在网络元件上执行的应用计算基于一个或多个非路由标准的第一路由的路由得分,由应用计算基于一个或多个非路由标准路由数据分组的第二路由的路由得分,并且当确定第二路由的路由得分小于第一路由的路由得分时,更新路由表使得网络元件根据第二路由来路由数据分组。
具体实施例
这里公开的实施例使能网络可编程性以在网络层上定义针对数据转发和流量分类的规则。用户可以在策略引擎中定义策略以在网络内控制网络元件的路由动作,基于通常不用于传统网络协议的参数(包括例如,身份考虑、成本考虑、合约考虑以及天气考虑,或任何其他任意标准)允许流量控制。例如,在一个实施例中,策略引擎可以通过评估传输成本并将流量转移到最低成本链路来将路由优化为最低成本(在货币方面)。在另一实施例中,策略被优化用于客户体验,并且转移流量以保护服务水平协议(SLA)。充分利用软件定义网络(SDN)使能网络的可编程方面,这里公开的实施例允许各种各样的非传统路由标准来影响路由和转发决策。
软件定义网络(SDN)允许网络(传统的静态实体)本质上变得更加动态。SDN向应用开发者开放数据网络,应用开发者可编写应用来管理网络元件和通过网络元件的数据流而无需到网络元件自身的物理接入。网络元件不仅是“器具”,SDN将网络硬件视为能够由软件操纵的分布式计算系统的一部分。为SDN编写应用的应用开发者可以在可接入网络的任何装置上执行应用。应用可以远程地或本地位于网络元件自身上地执行命令并将功能应用于网络装置(和其中的数据流)。通过在SDN中使用应用,开发者可以管理网络元件的网络行为(包括路由、服务质量(QoS)和带宽分配)以及管理网络元件自身。更具体地,在SDN中执行的应用(如路由策略引擎)可以基于任何软件定义的网络标准在SDN中修改路由。此外,不同的编程逻辑可以被应用于相同网络拓扑中的不同流或分组,从而使得每个网络图不需要具有它自身的SDN应用的实例。
各种实施例的描述在下面被呈现用于描述的目的,而并不意图穷尽或受限于所公开的实施例。在不背离所述实施例的范围和精神的情况下,许多修改和变更对于本领域的普通技术人员将是显而易见的。这里所用的术语被选取来最佳地描述实施例的原则、实际应用或者相对于市场上发现的技术的技术改进,或者使得本领域的其他普通技术人员能够理解这里所公开的实施例。
如将由本领域的技术人员所认识到的那样,本公开的各方面可被实施为一种系统、方法或计算机程序产品。因此,本公开的各方法可采取完全硬件实施例、完全软件实施例(包括固件、居留软件、微代码等等)、或者组合了软件和硬件方面的实施例,其在这里一般均可被称作“电路”、“模块”或“系统”。另外,本公开的各方面可采取在一个或多个计算机可读介质中实施的计算机程序产品的形式,该一个或多个计算机可读介质具有在其上实施的计算机可读程序代码。
一个或多个计算机可读介质的任何组合可被采用。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于:电的、磁的、光的、电磁的、红外的、或半导体的系统、设备或装置,或上述各项的任何合适的组合。计算机可读存储介质的更具体示例(非详尽列表)将包括以下各项:具有一条或多条导线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备,或上述各项的任何合适的组合。在本文档的上下文中,计算机可读存储介质可以是包含或存储程序以由指令执行系统、设备或装置使用或与其相连接的任何有形介质。
计算机可读信号介质可以包括其中(例如,在基带中或者作为载波的一部分)实施有计算机可读程序代码的传播数据信号。这种传播信号可采用多种形式中的任何一种,该多种形式包括但不限于:电磁的、光的,或其任何合适的组合。计算机可读信号介质可以是能够通信、传播或传送程序以供由指令执行系统、设备或装置使用或与其相连接、但不是计算机可读存储介质的任何计算机可读介质。
计算机可读介质上实施的程序代码可以使用任何适当的介质进行传输,适当的介质包括但不限于:无线、有线、光纤电缆、射频(RF)等,或上述各项的任何合适的组合。
用于执行本公开的多个方面的操作的计算机程序代码可以以一种或多种编程语言的任何组合来编写,该一种或多种编程语言包括:诸如JAVA、Smalltalk、C++等面向对象的编程语言,诸如“C”编程语言或类似编程语言之类的传统程序编程语言。程序代码可完全地在用户的计算机上执行,部分地在用户的计算机上执行,作为独立的软件包执行,部分地在用户的计算机上并且部分地在远程计算机上执行,或者完全地在远程计算机或者服务器上执行。在后一种情况中,远程计算机可以通过任何类型的网络连接到用户的计算机,网络包括局域网(LAN)或广域网(WAN),或者可以(例如,通过使用互联网服务提供商的互联网)连接到外部计算机。
下面参考根据本公开的实施例的方法、设备(系统)和计算机程序产品的的流程图示和/或框图对本公开的各方面进行描述。将理解的是,流程图和/或框图的每个框以及流程图和/或框图中的多个框的组合能够通过计算机程序指令实现。这些计算机程序指令可以被提供给通用计算机、专用计算机或其它可编程数据处理设备的处理器以形成一种机器,以使得通过计算机的处理器或其它可编程指令执行装置执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的机制。
这些计算机程序指令也可以被存储在计算机可读介质中,其能够指导计算机、其它可编程数据处理设备或其它装置以特定的方式运行,以使得被存储在计算机可读介质中的指令产生包括指令的制品,其实现流程图和/或框图的一个或多个框中指定的功能/动作。
计算机程序指令还可以被加载到计算机、其它可编程指令执行设备或其它装置以使得一系列操作步骤在计算机、其它可编程设备或其它装置上被执行以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现流程图和/或框图的一个或多个框中指定的功能/动作的处理。
此公开的实施例可以通过云计算基础设施被提供被终端用户。云计算一般指通过网络提供可扩展的计算资源作为服务。更正式地,云计算可被定义为计算能力,该计算能力提供计算资源和其底层技术架构(例如服务器、存储装置、网络)之间的抽象,从而使得能够对通过最低限度的管理工作或者服务提供商交互即可迅速配设和发行的可配置计算资源的共享池进行方便的、按需的网络访问。因而,云计算使得用户能够访问“云”中的虚拟计算资源(例如存储装置、数据、应用,甚至是完整的虚拟化计算系统),而无需关心用于提供这些计算资源的底层物理系统(或者这些系统的位置)。
通常,云计算资源通过按使用付费方式被提供给用户,其中用户仅被收取实际使用的计算资源(例如用户消耗的存储空间的量或用户实例化的虚拟化系统的数目)的费用。用户可在任何时间从因特网上的任何地方访问居于云中的任何资源。在本公开的上下文中,用户能够在任何时间从互联网中的任何地方访问居留于云中的任何资源。例如,策略引擎可以在云中的网络元件上执行。在提供云服务的云中的物理数据中心的操作者可以使用该策略引擎基于与服务提供商相关的非路由标准来改变、控制或以其它方式确定路由和转发控制由云客户产生的流量(例如,托管由虚拟网络联网的虚拟机实例的客户)。在这样的情况下,策略引擎能够将修改的路由和与非传统路由标准相关的数据存储在云中的存储位置。这样做允许用户从附连到被连接到云的网络(例如,互联网)的任何计算系统存取该信息。
图1A是根据这里所公开的一个实施例示出了在SDN使能网络中支持任意路由标准的技术的简图100。一般地,简图100示出了其每个由节点A-M表示的多个网络元件的图表。连接各节点A-M的边具有相关联的美元成本,其表示在不同节点之间传输数据分组的成本。例如,从节点D发送分组到节点E的成本,如所示的,是5$,而从节点B发送分组到节点F的成本是1$。在每个节点中的路由信息库(RIB)可以指定路由,通过其转发数据分组以便数据分组到达它们的目的库。RIB可以实施多个不同的路由协议,以确定最有效路由,包括但不限于,开放最短路由优先(OSPF)、中间系统到中间系统(IS-IS)和增强型内部网关路由协议(EIGRP)。例如,为了从节点A传输数据分组到节点M,路由包括节点A、B、F、G、J和M。为清楚起见,本路由在图1A中通过虚线被描述。在一个实施例中,该路由被选择,因为它具有从节点A传输数据到通节点M的最低成本。一般地,该路由可以通过任何合适标准被选择。
然而,由于多种因素,沿着图中的各边进行路由的成本(或其它度量)可以改变。在一个实施例中,策略引擎允许用户基于这些属性定义和路由/转发流量。例如,策略引擎可以计算将数据分组从源传输到目的地的成本(或其他度量)。当策略引擎基于非传统路由标准确定另一路由比目前在RIB定义的路由更有效时(或策略引擎使用的路由推翻了目前在RIB中定义的路由),则策略引擎可以覆写(override)在RIB的路由,并使用更有效的路由替换它。
策略引擎可在网络元件自身或网络元件外部的计算装置上执行。在任何一种情况下,策略引擎可以覆写网络元件的路由决策。此处所述的网络元件提供多个应用编程接口(API),该多个应用编程接口可以被用于允许控制网络元件,包括但不限于它的功能、属性和路由引擎。具体地,通过提供接口到网络元件的路由引擎,使用API的应用可以基于非传统路由标准路由,确定覆写网络元素的默认路由决策的路由。
图1B是根据这里所公开的一个实施例示出了在SDN使能网络中支持任意路由标准的技术的简图100。在图1B中,节点F和G之间的路由的成本现在是5$,而在图1A中,相应的成本是5$。成本可能由于任何数目的原因增加,包括但不限于,超出服务提供商的数据上限,该数据上限指定直到界限的任何数据传输成本是1$,但一旦超过界限,数据传输成本为5$。作为另一示例,服务提供商可以在高峰时间收取额外费用,并在非高峰时间和周末提供折扣价。监控节点F和G之间传输的数据总量的策略引擎可以确定该数据已超出界限(或高峰时间已经开始),并且成本已经上升到5$。基于该确定,策略引擎可以计算节点A-M之间的路由A、B、F、G、J和M的得分,其可以基于总美元成本。例如,路由A、B、F、G、J和M的得分现在可以是9$,其可以通过累加各段的总成本来确定。在另一个实施例中,可以计算路由的一部分代替F-G路由分段的成本。一旦策略引擎具有A、B、F、G、J和M路由的得分,它可以计算从节点A到节点M的多个其它路由的成本。例如,策略引擎可以计算包括节点A、B、F、H、J和M的路由的成本为5$。通过比较各路由的成本,策略引擎可以确定路由A、B、F、H、J和M的成本小于路由A、B、F、G、J和M的成本,并使得路由从A、B、F、G、J和M改变到A、B、F、H、J和M。然后策略引擎可以与每个节点通信改变路由路径所需的必要信息。
在另一示例中,策略引擎可以观察到服务水平协议(SLA)要求数据通信流量应当通过节点H所位于的地理区域。策略引擎可以识别节点H代表的网络元件的物理位置,并确定它在授权的地理区域内。在作出这样的确定中,路由得分可以基于每个路由是否经过授权的地理区域。如果路由包括授权的地理区域,则得分可以被降低以反映更可取的路由。如果路由不包括授权的地理区域,则比分可以增加以反映不太可取的路由。此处所公开的实施例设想的任何类型的得分量表足以指示一个路由优先于另一个。例如,更可取的路由可以通过最高分被反映。一旦最可取的路由被识别(其可以是基于包括授权地理区域的最低成本路由),策略引擎可覆写默认或当前现有路由以实现最可取的路由。
在又一示例中,策略引擎可使用天气条件来影响每个路由的得分。例如,如果暴风雪发生在包括节点B的地理区域,则更可能发生服务中断和延迟。在这种情况下,策略引擎可以寻找不受天气条件显著影响的其它路由。对于每个路由,得分可以基于天气条件的可能不利影响来计算。例如,如果一个地区发生暴风雪的几率为100%,而另一个区域发生相同暴风雪的几率为50%,则每个路由的得分可据此被加权。如果包括节点B的路由得分大于不包括节点B的另一路由得分,则策略引擎可以覆写每个节点的路由表使得没有(或更少)的数据通过节点B被路由。
在又另一示例中,策略引擎可以使用用户的身份为标准用以影响SDN使能网络中的路由。例如,策略引擎可以优先来自公司的CEO所使用的全部设备的数据。为了做到这一点,策略引擎可以基于其设备发起数据的人或用户的身份,为所有网络流量计算优先级得分。当策略引擎确定数据分组来自具有高优先级的用户时,则这些数据分组的优先级得分可以被降低(或升高,在一些实施例中),以反映较高的优先级。策略引擎然后可以指导SDN使能网络中的网络元件对这些分组应用更高优先级,这些分组可以比不具有增加优先级的分组被更快地递送到其目的地。
在另一示例中,策略引擎可以使用能量成本和使用特定网络元件作为路由标准。该网络的特定部分可以看到在特定时间减少了使用量,并且经济的是强制流量通过替代路由,使得较少使用的网络元件可以被断电以节省能量。当其它标准变得更重要时(例如流量增加),网络元件可以被重新供电,使得流可以在再次通过它们。
图1C是根据这里所公开的一个实施例示出了在SDN使能网络中支持任意路由标准的技术的简图100。在图1C中,简图100被更新以包括节点A-M之间的每个链路的动态测量延迟值(括号内的)。动态测量延迟不是基于其传统地作出路由决定的属性。然而,在SDN使能网络中,每个链路的延迟值可以被收集并分析以找到具有最低总延迟的路径。策略引擎可使用节点A-M之间的每个路由的延迟计算每个路由的得分,并且具有最低得分(即,最小延迟)的路由可以被选择以路由节点A-M之间的所有数据。如图所示(虚线),在节点A-M之间具有最小延迟的路由包括节点A、B、F、G、J和M。策略引擎可以因此选择包括节点A、B、F、G、J和M的路由作为优选路由,并覆写比该路由具有更大延迟(或得分)的现有路由。被覆写的路由可以被定义在网络元件的路由表中,或者可以是策略引擎用于覆写在路由表中定义的路由的另一路由。在基于延迟作出选择新路由的决定中,策略引擎可以测量一段时间中的延迟,使得延迟中的小波动不会导致路由的改变。
图2根据这里所公开的一个实施例示出了在SDN使能网络中支持任意路由标准的方法200。一般地,方法200的步骤允许网络路由基于非传统路由标准被动态地修改,非传统路由标准包括但不限于美元成本、延迟、天气条件、能量成本和用户身份。在步骤210中,为SDN使能网络中的多个网络元件提供为数据分组定义路由的路由表。在步骤330,应用程序接口(API)提供以抽象网络元件硬件和服务。例如,这些API可以授权外部(或本地)应用到路由引擎和网络元件的RIB的抽象访问,使得它们的默认路由决定可以由已识别出更有利路由的策略引擎被覆写。在步骤230,一个或多个非传统路由标准被指定。标准的示例包括美元成本、延迟、地理限制、合同条款、服务水平协议和天气条件,等等。在步骤240,数据分组由网络元件接收。在步骤250,参考图3更详细地描述,策略引擎可以根据非传统路由标准修改预定义的路由。在步骤260,网络元件可以根据修改的路由转发数据分组。
图3根据这里所公开的一个实施例示出了基于非传统路由标准修改路由的方法300。一般地,方法300的步骤基于一个或多个非传统路由标准对多个不同的路由评分,以确定是否存在比现在使用的路由更好的路由来路由数据。在一个实施例中,策略引擎执行方法300的步骤。在步骤310,策略引擎取回路由和指定的标准。路由可以被定义于网络元件的路由表中,并且该策略引擎可使用一个或多个API来读取路由表中的路由。策略引擎还可以基于从SDN使能网络中的网络元件取回的网络拓扑信息计算多个其它路由。预定义标准可以包括,但不限于:美元成本、延迟、地理的限制、合同条款、服务水平协议、能源成本和天气条件,或它们的任意组合。在步骤320,策略引擎基于指定标准计算每个路由的路由得分。路由得分可以反映路由基于指定标准的路由能力。例如,路由得分可以反映每个路由的总成本或延迟。在步骤330,策略引擎可以比较每个路由的路由得分。在步骤340,策略引擎选择具有最佳路由得分的路由。此处所公开的实施例设想任何量化表来指示路由之间的相对优先级。例如,较高的路由得分可以反映较小延迟,并且较高的总路由得分可以反映最小延迟,并因此反映更可取路由。作为另一示例,最低路由得分可以反映较低的美元成本来路由数据,其中较低的总路由得分表示优越路由。在步骤350,当确定所选择的路由不是当前在所有路由操作中实施的路由时,在路由表中定义的路由被覆写以根据所选择的路由来路由数据分组。
图4根据这里所公开的一个实施例示出了在SDN使能网络中支持任意路由标准的系统400。如图所示,多个网络元件4021-N经由SDN使能网络430被连接。多个计算机4501-N通过SDN使能网络430也被连接到网络元件4021-N。一般地,SDN使能网络430可以是电信网络和/或广域网(WAN)。在具体实施例中,SDN使能网络430是因特网。
网络元件4021-N一般包括通过总线420连接到存储器406的处理器404和网络接口装置418。网络元件4021-N被配置为执行集装箱化软件应用。网络元件4021-N通常受操作系统(未示出)控制。操作系统的示例包括操作系统、操作系统的分布以及Cisco的IOS操作系统。包括的处理器404可以是单个CPU、多个CPU、具有多处理核的单个CPU,等等。处理器404可以执行为此处所述实施例开发的软件。类似地,存储器406可以是随机存取存储器。虽然存储器406被示为单个实体,但是应当理解存储器406可以包括多个模块,并且存储器406可以存在多个级别,从高速寄存器和高速缓存到较低速度但较大的DRAM芯片。网络接口装置418可以是允许网络元件4021-N通过SDN使能网络430与其它网络元件4021-N和计算机4501-N通信的任何类型的网络通信装置。
如图所示,存储器406包含编制(orchestration)应用412,其是通常被配置编制SDN使能网络430中的网络元件4021-N的自动化和可编程性的应用。一般地,编制应用412提供用于抽象SDN使能网络430中的网络元件4021-N的实施具体细节的多个API。换句话说,编制应用412是允许编程者或网络管理者访问和监视使能网络430中的网络元件4021-N的不同功能和输出的抽象工具。通过使用编制应用412,函数编程技术可以被用于编程大量的网络元件4021-N,而不管在具体网络元件4021-N之间发现的大量区别。具体地,编制应用412可以提供接口以允许应用(如策略引擎413)读、写和修改网络元件4021-N的路由表和路由引擎413。
存储器406还包含策略引擎413,其是通常被配置为基于非传统网络标准来修改路由策略的应用。例如,策略引擎413可以基于美元成本、延迟、地理限制、合同条款、服务水平协议、能源成本和天气条件,或它们的任意组合来修改路由。在确定存在比目前使用的路由更好的路由来路由数据时,策略引擎413可以发布命令来改变网络元件4021-N的路由引擎414和RIB416。策略引擎413可以使用由编制应用412提供的API415,来修改网络元件4021-N的RIB和路由引擎414。网络元件4021-N的路由引擎414是通常被配置为执行各个网络元件的核心网络功能的应用。路由引擎可以与路由信息库(RIB)416交互,路由信息库(RIB)416也被称为路由表,它指定路由引擎所使用的多个规则来将网络元件4021-N的入口端口(未示出)接收的分组路由到网络元件4021-N的合适出口端口(未示出)。在一个实施例中,各个网络元件4021-N的RIB416包括SDN使能网络130的即时拓扑信息,即,各个网络元件被连接到什么其它网络元件,等。
如图所示,存储器406还包含应用编程接口(API)415,其存储由编制应用412向策略引擎413提供的API。在一个实施例中,所述的API415是编制应用412或策略引擎413的集成组件。这些API415收集与网络元件4021-N的不同功能相关联的数据,例如与网络元件相关联的统计、路由表、网络元件的状态、拓扑信息、误差等。此外,这些API415还可以允许编程者或网络管理者控制网络元件4021-N的功能,如改变转发引擎中的设置、改变网络元件4021-N的状态等。因此,应用(如策略引擎413)可以使用API415发送命令到4021-N。
通过使用API415抽象网络元件4021-N的RIB416,编制应用可以允许网络管理者监视和控制多个不同类型的网络元件4021-N,每个网络元件可以使用专有固件。一个允许此功能的此产品是(在美国许多其它司法管辖区的注册商标)的一个平台套件(onePK)软件开发套件(SDK)。
计算机4501-N能够执行应用,例如策略引擎413,其可以利用由编制应用412提供的API415的功能性。因此,在一个实施例中,编制应用412、策略引擎413和其它用户应用可以在一个或多个计算机4501-N上执行以修改网络元件4021-N的路由行为(或任何行为)。在又一实施例中,计算机4501-N可以是执行SDN使能网络430中的编制应用412和策略引擎413的刀片服务器。
有利地,此处公开的实施例扩展了网络元件的路由能力,使得可以基于非传统标准作出路由决定,该非传统标准包括但不限于美元成本、延迟、地理限制、合同条款、服务水平协议和天气条件,或它们的任何组合。
附图中的流程图和框图示出了根据本公开的各个实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。就此而言,流程图或框图中的每一个块可表示包括用于实现所指明的(一个或多个)逻辑功能的一个或多个可执行指令的代码的模块、片段或部分。还应当注意,在一些替换的实现方式中,块中所示的功能可以不按图中所示的次序发生。例如,接连示出的两个块实际上可以基本并发执行,或者这些块有时可以按相反的次序执行,这取决于所涉及的功能。还应注意框图和/或流程图图示的每一个块以及框图和/或流程图图示中的块的组合可以由执行指明的功能或动作的专用的基于硬件的系统实现,或者由专用硬件和计算机指令的组合实现。
考虑到前文,本公开的范围由所附权利要求来确定。
Claims (21)
1.一种基于非路由标准路由数据通信的方法,包括:
由网络元件接收数据分组;
在所述网络元件的路由表中识别用于路由所述数据分组的第一路由;
由在所述网络元件上执行的应用基于一个或多个非路由标准计算所述第一路由的路由得分;
由所述应用基于所述一个或多个非路由标准计算用于路由所述数据分组的第二路由的路由得分;以及
当确定所述第二路由的路由得分小于所述第一路由的路由得分时,更新所述路由表以使得所述网络元件根据所述第二路由来路由所述数据分组。
2.如权利要求1所述的方法,其中所述一个或多个非路由标准包括传输所述数据分组的成本,其中所述第一路由得分反映通过所述第一路由传输所述数据分组的成本,其中所述第二路由得分反映通过所述第二路由传输所述数据分组的成本。
3.如权利要求1所述的方法,其中所述一个或多个非路由标准包括延迟,其中所述第一路由得分反映当通过所述第一路由传输所述数据分组时经历的延迟,其中所述第二路由得分反映当通过所述第二路由传输所述数据分组时经历的延迟。
4.如权利要求1所述的方法,其中所述一个或多个非路由标准包括地理限制,其中所述地理限制指定所述数据分组必须保持在其中的地域,其中第一路由得分反映通过所述第一路由传输所述数据分组是否满足所述地理限制,其中所述第二路由得分反映通过所述第二路由传输所述数据分组是否满足所述地理限制。
5.如权利要求1所述的方法,其中所述一个或多个非路由标准包括天气条件,其中第一路由得分反映所述第一路由上经历的天气条件是否不利地影响所述第一路由路由所述数据分组,其中所述第二路由得分反映所述第二路由上经历的天气条件是否不利地影响所述第二路由路由所述数据分组。
6.如权利要求1所述的方法,还包括:
向所述应用提供应用程序接口(API)以访问和修改所述网络元件的路由表,该API抽象所述网络装置的路由表以允许所述应用读取所述路由表并且更新所述路由表,其中所述应用指定所述非路由标准。
7.如权利要求6所述的方法,其中所述应用由计算装置执行,该计算装置在该特定网络元件外部并且被通信地耦接到所述网络元件。
8.一种系统,包括:
一个或多个计算机处理器;以及
包含程序的存储器,当所述程序由所述一个或多个计算机处理器执行时,执行基于非路由标准路由数据通信的操作,所述操作包括:
由网络元件接收数据分组;
在所述网络元件的路由表中识别用于路由所述数据分组的第一路由;
由在所述网络元件上执行的应用基于一个或多个非路由标准计算所述第一路由的路由得分;
由所述应用基于所述一个或多个非路由标准计算用于路由所述数据分组的第二路由的路由得分;以及
当确定所述第二路由的路由得分小于所述第一路由的路由得分时,更新所述路由表以使得所述网络元件根据所述第二路由来路由所述数据分组。
9.如权利要求8所述的系统,其中所述一个或多个非路由标准包括传输所述数据分组的成本,其中所述第一路由得分反映通过所述第一路由传输所述数据分组的成本,其中所述第二路由得分反映通过所述第二路由传输所述数据分组的成本。
10.如权利要求8所述的系统,其中所述一个或多个非路由标准包括延迟,其中所述第一路由得分反映当通过所述第一路由传输所述数据分组时经历的延迟,其中所述第二路由得分反映当通过所述第二路由传输所述数据分组时经历的延迟。
11.如权利要求8所述的系统,其中所述一个或多个非路由标准包括地理限制,其中所述地理限制指定所述数据分组必须保持在其中的地域,其中第一路由得分反映通过所述第一路由传输所述数据分组是否满足所述地理限制,其中所述第二路由得分反映通过所述第二路由传输所述数据分组是否满足所述地理限制。
12.如权利要求8所述的系统,其中所述一个或多个非路由标准包括天气条件,其中第一路由得分反映所述第一路由上经历的天气条件是否不利地影响所述第一路由路由所述数据分组,其中所述第二路由得分反映所述第二路由上经历的天气条件是否不利地影响所述第二路由路由所述数据分组。
13.如权利要求8所述的系统,所述操作还包括:
向所述应用提供应用程序接口(API)以访问和修改所述网络元件的路由表,该API抽象所述网络装置的路由表以允许所述应用读取所述路由表并且更新所述路由表,其中所述应用指定所述非路由标准。
14.如权利要求13所述的系统,其中所述应用由计算装置执行,该计算装置在该特定网络元件外部并且被通信地耦接到所述网络元件。
15.一种基于非路由标准路由数据通信的计算机程序产品,包括:
具有嵌入其中的计算机可读程序代码的计算机可读存储介质,所述计算机可读程序代码包括:
被配置为由网络元件接收数据分组的计算机可读程序代码;
被配置为在所述网络元件的路由表中识别用于路由所述数据分组的第一路由的计算机可读程序代码;
被配置为由在所述网络元件上执行的应用基于一个或多个非路由标准计算所述第一路由的路由得分的计算机可读程序代码;
被配置为由所述应用基于所述一个或多个非路由标准计算路由所述数据分组的第二路由的路由得分的计算机可读程序代码;以及
被配置为当确定所述第二路由的路由得分小于所述第一路由的路由得分时,更新所述路由表以使得所述网络元件根据所述第二路由来路由所述数据分组的计算机可读程序代码。
16.如权利要求15所述的计算机程序产品,其中所述一个或多个非路由标准包括传输所述数据分组的成本,其中所述第一路由得分反映通过所述第一路由传输所述数据分组的成本,其中所述第二路由得分反映通过所述第二路由传输所述数据分组的成本。
17.如权利要求15所述的计算机程序产品,其中所述一个或多个非路由标准包括延迟,其中所述第一路由得分反映当通过所述第一路由传输所述数据分组时经历的延迟,其中所述第二路由得分反映当通过所述第二路由传输所述数据分组时经历的延迟。
18.如权利要求15所述的计算机程序产品,其中所述一个或多个非路由标准包括地理限制,其中所述地理限制指定所述数据分组必须保持在其中的地域,其中第一路由得分反映通过所述第一路由传输所述数据分组是否满足所述地理限制,其中所述第二路由得分反映通过所述第二路由传输所述数据分组是否满足所述地理限制。
19.如权利要求15所述的计算机程序产品,其中所述一个或多个非路由标准包括天气条件,其中第一路由得分反映所述第一路由上经历的天气条件是否不利地影响所述第一路由路由所述数据分组,其中所述第二路由得分反映所述第二路由上经历的天气条件是否不利地影响所述第二路由路由所述数据分组。
20.如权利要求15所述的计算机程序产品,所述计算机可读程序代码还包括:
被配置为向所述应用提供应用程序接口(API)以访问和修改所述网络元件的路由表的计算机可读程序代码,该API抽象所述网络装置的路由表以允许所述应用读取所述路由表并且更新所述路由表,其中所述应用指定所述非路由标准。
21.如权利要求22所述的计算机程序产品,其中所述应用由计算装置执行,该计算装置在该特定网络元件外部并且被通信地耦接到所述网络元件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/843,536 US9258212B2 (en) | 2013-03-15 | 2013-03-15 | Supporting arbitrary routing criteria in software defined networks |
US13/843,536 | 2013-03-15 | ||
PCT/US2014/022453 WO2014150165A1 (en) | 2013-03-15 | 2014-03-10 | Supporting arbitrary routing criteria in software defined networks |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105075200A true CN105075200A (zh) | 2015-11-18 |
CN105075200B CN105075200B (zh) | 2018-12-11 |
Family
ID=50549404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480015251.5A Active CN105075200B (zh) | 2013-03-15 | 2014-03-10 | 在软件定义网络中支持任意路由标准 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9258212B2 (zh) |
EP (1) | EP2974174B1 (zh) |
CN (1) | CN105075200B (zh) |
WO (1) | WO2014150165A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109039951A (zh) * | 2018-07-10 | 2018-12-18 | 中国地质大学(武汉) | 一种异构网络QoS策略的实现方法及系统 |
CN109617804A (zh) * | 2018-12-11 | 2019-04-12 | 广东省新代通信与网络创新研究院 | 路由协议的定义方法、装置、计算机可读存储介质及系统 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2463228C (en) | 2003-04-04 | 2012-06-26 | Evertz Microsystems Ltd. | Apparatus, systems and methods for packet based transmission of multiple data signals |
US9473398B2 (en) * | 2013-10-23 | 2016-10-18 | International Business Machines Corporation | Devolved routing in software-defined networks |
AU2014408526B2 (en) * | 2014-10-10 | 2017-12-07 | Huawei Technologies Co., Ltd. | A network entity for geographically routing a data packet towards a mobile device over a communication network |
US9503372B1 (en) * | 2015-03-01 | 2016-11-22 | Netronome Systems, Inc. | SDN protocol message handling within a modular and partitioned SDN switch |
US10250562B1 (en) * | 2015-03-31 | 2019-04-02 | Juniper Networks, Inc. | Route signaling driven service management |
US10210058B1 (en) | 2015-03-31 | 2019-02-19 | Juniper Networks, Inc. | Application aware inter-chassis redundancy |
US9774521B2 (en) | 2015-04-02 | 2017-09-26 | Electro-Motive Diesel, Inc. | Systems and methods for intra-consist communication |
US10069722B2 (en) | 2015-09-03 | 2018-09-04 | International Business Machines Corporation | Application information based network route modification |
US10469362B1 (en) * | 2015-09-30 | 2019-11-05 | Amazon Technologies, Inc. | Network routing utilization of application programming interfaces |
US10277514B2 (en) * | 2016-07-21 | 2019-04-30 | Viasat, Inc. | Methods and systems for dynamic policy based traffic steering over multiple access networks |
EP3297227B1 (en) * | 2016-09-14 | 2020-07-22 | Deutsche Telekom AG | Method for routing in a communication network, communication network, program and computer program product |
US11201817B2 (en) * | 2017-04-17 | 2021-12-14 | Cisco Technology, Inc. | Traffic steering in fastpath |
US10999100B2 (en) | 2017-10-02 | 2021-05-04 | Vmware, Inc. | Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider |
US10581684B2 (en) | 2017-12-06 | 2020-03-03 | Schweitzer Engineering Laboratories, Inc. | Network management via a secondary communication channel in a software defined network |
US10756956B2 (en) | 2018-03-05 | 2020-08-25 | Schweitzer Engineering Laboratories, Inc. | Trigger alarm actions and alarm-triggered network flows in software-defined networks |
US10560390B2 (en) | 2018-03-05 | 2020-02-11 | Schweitzer Engineering Laboratories, Inc. | Time-based network operation profiles in a software-defined network |
US10812392B2 (en) | 2018-03-05 | 2020-10-20 | Schweitzer Engineering Laboratories, Inc. | Event-based flow control in software-defined networks |
US10963353B2 (en) * | 2018-10-23 | 2021-03-30 | Capital One Services, Llc | Systems and methods for cross-regional back up of distributed databases on a cloud service |
US11012442B2 (en) | 2019-04-11 | 2021-05-18 | Schweitzer Engineering Laboratories, Inc. | Address resolution protocol response handling |
US11425033B2 (en) | 2020-03-25 | 2022-08-23 | Schweitzer Engineering Laboratories, Inc. | SDN flow path modification based on packet inspection |
US11201759B1 (en) | 2020-07-08 | 2021-12-14 | Schweitzer Engineering Laboratories, Inc. | Reconfigurable dual-ring network redundancy |
US11677663B2 (en) | 2021-08-12 | 2023-06-13 | Schweitzer Engineering Laboratories, Inc. | Software-defined network statistics extension |
US11824766B2 (en) * | 2022-04-13 | 2023-11-21 | Cisco Technology, Inc. | Adaptive selection of network paths based on long-term predictions of user experience |
WO2023239536A1 (en) * | 2022-06-06 | 2023-12-14 | Vmware, Inc. | Routing based on geolocation costs |
US11882002B2 (en) | 2022-06-22 | 2024-01-23 | Schweitzer Engineering Laboratories, Inc. | Offline test mode SDN validation |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060268828A1 (en) * | 2005-05-12 | 2006-11-30 | Yahoo! Inc. | Selecting a network based on metrics for real time communication |
TW200940961A (en) * | 2008-02-19 | 2009-10-01 | Microsoft Corp | Safe route configuration |
CN101969582A (zh) * | 2009-07-27 | 2011-02-09 | 中兴通讯股份有限公司 | 一种捆束链路的标签分配系统及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7236488B1 (en) * | 2001-08-10 | 2007-06-26 | Gautam Kavipurapu | Intelligent routing switching system |
US20060168592A1 (en) * | 2004-12-14 | 2006-07-27 | Intrado Inc. | System and method for many-to-many information coordination and distribution |
US8942113B2 (en) | 2009-05-07 | 2015-01-27 | Verizon Patent And Licensing Inc. | System and method for dynamically adjusting routing metrics based on power consumption |
US9118593B2 (en) | 2010-10-07 | 2015-08-25 | Enghouse Networks Limited | System and method for best value routing |
US8711860B2 (en) * | 2011-12-22 | 2014-04-29 | Telefonaktiebolaget L M Ericsson (Publ) | Controller for flexible and extensible flow processing in software-defined networks |
-
2013
- 2013-03-15 US US13/843,536 patent/US9258212B2/en active Active
-
2014
- 2014-03-10 EP EP14719401.3A patent/EP2974174B1/en active Active
- 2014-03-10 WO PCT/US2014/022453 patent/WO2014150165A1/en active Application Filing
- 2014-03-10 CN CN201480015251.5A patent/CN105075200B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060268828A1 (en) * | 2005-05-12 | 2006-11-30 | Yahoo! Inc. | Selecting a network based on metrics for real time communication |
TW200940961A (en) * | 2008-02-19 | 2009-10-01 | Microsoft Corp | Safe route configuration |
CN101969582A (zh) * | 2009-07-27 | 2011-02-09 | 中兴通讯股份有限公司 | 一种捆束链路的标签分配系统及方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109039951A (zh) * | 2018-07-10 | 2018-12-18 | 中国地质大学(武汉) | 一种异构网络QoS策略的实现方法及系统 |
CN109039951B (zh) * | 2018-07-10 | 2020-11-24 | 中国地质大学(武汉) | 一种异构网络QoS策略的实现方法及系统 |
CN109617804A (zh) * | 2018-12-11 | 2019-04-12 | 广东省新代通信与网络创新研究院 | 路由协议的定义方法、装置、计算机可读存储介质及系统 |
CN109617804B (zh) * | 2018-12-11 | 2020-10-13 | 广东省新一代通信与网络创新研究院 | 路由协议的定义方法、装置、计算机可读存储介质及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20140269331A1 (en) | 2014-09-18 |
US9258212B2 (en) | 2016-02-09 |
CN105075200B (zh) | 2018-12-11 |
EP2974174A1 (en) | 2016-01-20 |
EP2974174B1 (en) | 2017-10-25 |
WO2014150165A1 (en) | 2014-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105075200A (zh) | 在软件定义网络中支持任意路由标准 | |
KR101703088B1 (ko) | Sdn 기반의 통합 라우팅 방법 및 그 시스템 | |
US9756121B2 (en) | Optimizing routing and load balancing in an SDN-enabled cloud during enterprise data center migration | |
EP3186932B1 (en) | Path selection in hybrid networks | |
US10860374B2 (en) | Real-time local and global datacenter network optimizations based on platform telemetry data | |
US9479423B2 (en) | Information processing system, relay device, information processing device, and information processing method | |
RU2523917C2 (ru) | Система управления связью и способ управления связью | |
US9754297B1 (en) | Network routing metering | |
CN112565082B (zh) | 基于混合网络的服务链映射方法、智能终端及存储介质 | |
CN111865781B (zh) | 用于路径优化的方法、设备和计算机程序产品 | |
CN105144110A (zh) | 基于网络活动自动配置外部服务 | |
US20230194278A1 (en) | Method and system for offline modeling for quality of service prediction for connected vehicles | |
KR101823346B1 (ko) | 서비스 기능 체이닝 시스템 및 그 방법 | |
CN108476175B (zh) | 使用对偶变量的传送sdn流量工程方法与系统 | |
CN105743808A (zh) | 一种适配QoS的方法和装置 | |
US20180139099A1 (en) | Virtualized Networking Application and Infrastructure | |
Batista et al. | Load balancing in the fog of things platforms through software-defined networking | |
Iqbal et al. | Minimize the delays in software defined network switch controller communication | |
CN108347377A (zh) | 数据转发方法及装置 | |
US11706146B1 (en) | Directing network traffic using local routing decisions with a global overview | |
CN106105282B (zh) | 利用链路缓冲区状态进行流量工程的系统和方法 | |
CN113542064A (zh) | 网络路径确定方法、装置、电子设备、介质及程序产品 | |
CN114268545A (zh) | 业务报文的转发方法、sr策略的发送方法、设备及系统 | |
US20160212055A1 (en) | Host-based load balancing of network traffic | |
CN104426855A (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 |