CN110679120B - 通信网络节点 - Google Patents
通信网络节点 Download PDFInfo
- Publication number
- CN110679120B CN110679120B CN201880025742.6A CN201880025742A CN110679120B CN 110679120 B CN110679120 B CN 110679120B CN 201880025742 A CN201880025742 A CN 201880025742A CN 110679120 B CN110679120 B CN 110679120B
- Authority
- CN
- China
- Prior art keywords
- network
- node
- path
- derived
- nodes
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- 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/02—Topology update or discovery
-
- 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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0864—Round trip delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/20—Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
-
- 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/02—Topology update or discovery
- H04L45/03—Topology update or discovery by updating link state protocols
-
- 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/02—Topology update or discovery
- H04L45/036—Updating the topology between route computation elements, e.g. between OpenFlow controllers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种通信网络节点具有存储器,该存储器存储关于网络的拓扑的信息、包括网络的属性的配置数据以及关于网络的路由协议的信息。存储器存储从路由协议的最佳路径定义中被得到的比较函数。节点的路径查找组件针对节点中的单个节点计算路由表,该路由表指定在单个节点处被接收的传入数据将要被路由到单个节点的哪些邻居,其中计算路由表包括使用关于网络的拓扑的信息和配置数据搜索节点之间的最优路径,并且使用比较函数指导搜索;并且其中节点之间的最优路径关于属性中的一个或多个属性是最优的。
Description
背景技术
电信网络、数据中心网络和其他网络越来越多地被使用,并且需要仔细和有效的控制以便最大程度地利用可用资源并且进行故障管理、维护和其他控制操作。
通过在网络的节点之间传输数据来通过电信和其他网络来传输数据,其中节点通过通信链路(也称为边缘)互连。当数据到达网络中的节点时,节点必须继续向其最终目的地传输数据。为了做到这一点,进行转发的节点通常使用路由表或在节点处本地可用的类似信息。路由表因此影响通信网络的行为和性能。
电信和其他网络的控制通常涉及路由表的计算和部署,和/或使用路由表的知识作为影响对通信网络的管理的信息的一部分。电信和其他网络验证系统通常使用路由表信息,其他网络管理系统(诸如业务工程系统)也使用路由表信息。
下面描述的实施例不限于解决已知的通信网络节点的任何或所有缺点的实现。
发明内容
以下呈现本公开的简化概述,以便向读者提供基本的理解。本“发明内容”不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。其唯一目的是以简化的形式呈现本文中公开的概念的选择,作为稍后呈现的更详细描述的序言。
描述了一种通信网络的节点。该节点具有存储器,该存储器存储关于网络的拓扑的信息、包括网络的属性的配置数据以及关于网络的路由协议的信息。存储器存储从路由协议的最佳路径定义中被得到的比较函数。节点的路径查找组件针对节点中的单个节点计算路由表,该路由表指定在单个节点处被接收的传入数据将要被路由到单个节点的哪些邻居,其中计算路由表包括使用关于网络的拓扑的信息和配置数据搜索节点之间的最优路径,并且使用比较函数指导搜索;并且其中节点之间的最优路径关于属性中的一个或多个属性是最优的。
通过参考结合附图考虑的以下详细描述,将更容易理解很多附带特征,因为它们将变得更好理解。
附图说明
从以下结合附图阅读的详细描述,将更好地理解本说明书,在附图中:
图1是通信网络节点和通信网络的示意图;
图2是图1的节点的更详细的示意图;
图2A是在诸如图1和2的节点的节点处的操作方法的流程图;
图3是在诸如图1和2的节点的节点处的示例操作方法的流程图;
图4是图3的方法的一部分的流程图;
图5示出了其中实现节点的实施例的示例性的基于计算的设备。在附图中,相同的附图标记用于表示相同的部分。
具体实施方式
以下结合附图提供的详细描述旨在作为对本示例的描述,而并非旨在表示构造或利用本示例的唯一形式。该描述阐述了示例的功能以及用于构造和操作示例的操作序列。然而,可以通过不同的示例来实现相同或等同的功能和序列。
各种示例描述了一种通信网络的节点,该节点本身或作为分布在通信网络的多个节点上的过程的一部分以快速有效的方式计算通信网络的节点的路由表,使得路由表一起指定通过通信网络的最优路径。最优路径是关于节点的配置数据的一个或多个属性最佳的路径。属性的示例的非详尽列表是:从节点到传出边缘的带宽、从传入边缘到节点的带宽、节点的处理能力、从节点到邻居的往返时间、对等成本。
路由表是与通信网络的节点(诸如通信网络的路由器、交换机、网关或其他节点)相关联的数据结构。数据结构保存关于在何处转发或传输到达节点的数据的信息,其中数据的目的地是通信网络中的另一节点。节点通常连接到多个邻居节点。数据结构保存关于要使用的适当邻居节点的信息,其中传入数据被寻址到目的地节点,该目的地节点在通信网络中的其他位置并且不是邻居节点中的一个。在路由表的容量太小而无法应付通信网络中的节点和/或网络的数目的情况下,可以使用路由聚合。路由聚合是从两个或更多个子网络的组合形成更大网络的过程。组合网络的路由前缀(诸如互联网协议前缀)表示单个路由表条目中的子网络。
在某些情况下,可以使用符号(与具体相反)表示来表示路由表。路由表的符号表示使得能够在可能有多个最优路由表集的情况下简洁地表示多个最优路由表集。
路由协议是具有指令和关于如何解释消息和指令的信息的多种定义类型的消息。路由器或其他网络节点使用消息、指令和信息彼此通信,以选择在通信网络中传输数据时在节点之间使用的路由。在本文中描述的一些示例中使用的路由协议的示例包括边界网关协议(BGP)、开放式最短路径优先(OSPF)、中间系统到中间系统协议(IS-IS)、路由信息协议(RIP)。但是,技术范围不限于这些路由协议。
路由协议的最佳路径定义是指定如何做出路由决策的一个或多个规则、阈值或标准;也就是说,与起点与目的地之间的其他路径相比,如何选择起点与目的地之间的路径中的一个路径为最佳。最佳路径定义使用一个或多个路由度量作为最佳路径定义的一部分。路由度量是网络的属性,诸如路径带宽、路径类型、路径上的观察到的业务吞吐量、往返时间、路径上的丢包频率或其他属性。
在边界网关协议的情况下,所使用的特定最佳路径定义取决于在通信网络中使用的协议的特定实例。边界网关协议由互联网工程任务组(IETF)在各种征求意见(RFC)文档中定义为标准,并且它基于一个或多个因素(诸如以下中的一项或多项:路径属性、网络策略、由网络管理员配置的规则或其他因素)做出路由决策。
在OSPF的情况下,最佳路径定义使用路径成本作为路由度量,其中路径成本通常由路径的带宽确定。
本文中使用术语“邻居”来指代直接邻居。直连邻居是直接连接到作为其邻居的节点的节点,或者是单跳可达的节点,或者是通过利用某些其他方式(诸如虚拟大区域网络或多协议标签交换(MPLS)隧道)建立的隧道的节点。
用于计算路由表的已有的方法包括运行分布式协议(或该协议的模拟),其中通信网络的邻居节点彼此交换信息。这是一个缓慢的过程,因为来自网络的一端处的节点的信息需要很长时间才能通过很多中间节点传播到另一端处的节点。结果,由于路由表会影响网络的行为,因此很难正确地动态地控制通信网络。如果计划对路由表进行更改,则很难在实际的时间范围内评估这些更改对网络行为的影响。通常,在网络中的节点的数目巨大的情况下(诸如在互联网的情况下),根本不可能使用传统计算资源来模拟关于指定属性最优的路由表的计算,这是因为问题的规模。
图1是通信网络100的示意图,通信网络100包括通过通信链路互连的多个节点118,诸如路由器、交换机、网关或其他通信网络节点。在某些示例中,通信网络是电信网络,或者是互联网协议网络或任何其他类型的通信网络。在某些情况下,通信网络100的物理基础设施使用软件定义的网络来控制。在某些情况下,通信网络包括光通信网络。在某些情况下,通信网络100是一种或多种不同类型的通信网络的组合。
如图1所示,通信网络100的各个节点118具有关联的路由表120和配置文件122。配置文件是指定网络节点行为的数据。配置文件中的数据的示例的非详尽列表是:节点被授权与之通信的邻居、节点被授权向或从其转发业务的网络、业务工程参数、关于要聚合哪些网络的信息、关于如何聚合各种网络的信息、本地接口的地址、在边界网关协议的情况下的自治系统的数目。尽管在图1中示出了五个节点118,但是,在实践中,将会有更多节点,并且在诸如互联网的庞大通信网络的情况下,可能会有数百万或更多节点118。图1所示的节点118是中间节点,因为它们位于端点(诸如终端节点102、104、106)之间。在实践中存在更多终端节点,并且智能电话102、智能手表104和增强现实头戴式计算设备106是示例,其不旨在限制技术范围。
在图1的示例中,节点118中的一个节点被示出为扩展以给出关于节点118中的每个节点的功能的更多细节。
在一些示例中,诸如在使用软件定义网络的情况下,通信网络包括至少一个节点118,节点118用于控制、改变和管理通信网络的行为。例如,图1中展开的所示节点是这种节点的示例,其用作中央控制功能。具有控制功能的节点118具有网络控制器114,该网络控制器114向其他节点118发送指令,以触发对路由表120的更新或实现其他改变,诸如更新一个或多个配置文件122,重新配置一个或多个节点118,或者采取其他动作。网络控制器114从节点118接收关于通信网络100的行为的数据,诸如业务流统计数据和其他数据。然而,具有网络控制器114不是必需的。
在使用中央控制节点的某些情况下,该节点能够以有效且实用的方式为通信网络的节点118计算路由表。在这种情况下,至少一个节点118具有路径查找组件112,该路径查找组件112用于计算通过通信网络100的路径,以便计算路由表120。路径查找组件实现给出了节点118中的单个节点的搜索,计算从该节点到通信网络110的其他节点118的每个节点的最优路径。根据通信网络的路由协议的最佳路径定义,这些路径是最优的,如下面更详细地解释的。路径查找组件具有关于通信网络100的拓扑的信息以及来自配置文件122的可选信息。配置文件能够改变比较函数的行为,如下面更详细地解释的。
节点118中的至少一个节点具有比较函数110,该比较函数110将关于通信网络100的两个节点(或两个子网络)的信息作为输入。比较函数计算两个节点(或两个子网络)的优先顺序,其中优先级根据路由协议的最佳路径定义。在某些情况下,来自配置文件的一个或多个属性可用,并且用作比较函数的一部分。这改变了比较函数的行为,因此改变了最优路径的含义。
在一些示例中,通信网络的每个节点被布置为向其邻居发送网络带有关于从该节点可达的子网络的信息的导出消息。在一个示例中,每个节点发送带有关于其可达子网络中的一个的信息的控制消息(在本文中称为网络导出消息),并且对于从该节点可达的每个子网络也这样做。网络导出消息由节点发送到其邻居,通告从该节点可达的网络,诸如子网络。在网络导出消息可用的情况下,比较函数用于比较两个网络导出消息,并且计算网络导出消息的优先顺序。
在某些示例中,节点118连接到网络验证引擎116,尽管这不是必需的。给定指定的路由表120(其可以如上所述象征性地表示)集合,网络验证引擎116用于检查通信网络100是否能够满足使用标准定义的通信网络的预期行为。为了获得关于路由表的信息,验证引擎能够从节点118访问路由表数据。由于节点118能够在实际时间范围内计算路由表,因此在配置更改被部署到通信网络100之前,可以使用验证引擎来评估对配置文件的建议更改。
在一些示例中,使用分布在通信网络100的多个节点118上的分布式过程来计算路由表。在这种情况下,参与分布式过程的每个节点118具有实现路径查找组件112和比较函数110的功能。
图2是图1的节点118的更详细的示意图。节点118将路由协议数据200、拓扑数据202和配置文件数据122作为输入。在一些示例中,节点118获取包括网络性能数据的输入,尽管这不是必需的。路由协议数据200包括在通信网络100中执行的路由协议的最佳路径定义以及该路由协议的一个或多个路由度量。拓扑数据200包括关于节点118的数目以及它们如何互连的信息。配置文件数据122包括来自配置文件122的至少一些数据;在一些示例中,所有配置文件122可用于节点118。
节点包括比较函数110、路径查找组件112以及可选地包括网络控制器114,如以上参考图1所述。该节点可选地连接到网络验证引擎116,如以上参考图1所述。
节点118计算一个或多个路由表或路由表120的部分以供通信网络100的节点118使用。该节点可选地向通信网络的节点输出网络控制指令204和/或对配置文件122的更新。
备选地或另外地,节点118的功能至少部分由一个或多个硬件逻辑组件执行。例如但不限于,可选地使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、系统级芯片系统(SOC)、复杂可编程逻辑器件(CPLD)、图形处理单元(GPU)。
图2A是在诸如图1和2的节点的节点处的操作方法的流程图。节点接收210和存储关于网络的拓扑的信息和包括网络的属性的配置数据。例如,节点能够访问配置文件122中的一些或全部数据,并且通过发送探测消息和/或观察网络的行为来发现拓扑或者通过从另一源访问拓扑数据来了解通信网络100的拓扑。节点接收212关于用于在网络的节点之间路由数据的协议的信息。
节点形成214从协议的最佳路径定义中被得到的比较函数。在某些情况下,节点通过基于配置文件中可用的属性选择使用路由度量的比较函数来从预配置的比较函数库中选择比较函数。在某些情况下,节点已经预配置有由网络管理员指定的比较函数。
节点计算通过通信网络的路径的指导搜索,其中使用比较函数来指导搜索。
例如,节点在处理器处针对节点中的单个节点计算路由表,该路由表指定在单个节点处被接收的传入数据将要被路由到单个节点的哪些邻居,其中计算路由表包括:使用关于网络的拓扑的信息和配置数据搜索节点之间的最优路径,并且使用比较函数指导搜索;并且其中节点之间的最优路径关于属性中的一个或多个属性是最优的。
在一些示例中,存储218从搜索中计算出的路由表,并且在某些情况下,节点在通信网络的节点118处触发路由表的安装220。这产生了在通信网络中在节点118外部进行的更好的数据路由的技术效果。在某些情况下,路由表由验证引擎用来验证222网络。如上所述,在某些情况下,路由表用于控制网络224,这使得通信网络比使用其他方法计算路由表的先前方法更有效地运行。而且,与仅被规避相反,通过本文中描述的技术,如何更好地路由数据或管理通信网络的问题被克服。这是因为与由于问题的规模而无法计算最优路径或通过近似来规避问题相比,可以在实际的时间尺度上使用本文中描述的过程来计算通过通信网络的最优路径。
图3是在节点118的路径查找组件112处的操作方法的流程图。在使用分布式处理的一些示例中,该方法在通信网络的多个节点118中的每个节点处执行。然而,在某些情况下,图3的过程在单个节点处执行。图3的过程包括选择300子网络(诸如,如本文中前面所解释的IP前缀)。图3的过程的每次运行为所选择的子网络的每个节点计算路由表的多个条目。图3的过程对于需要为其计算路由表的网络的每个子网络进行重复。
在一些示例中,从仍然有待考虑的可用子网络中随机地选择300子网络。在其他情况下,在子网络彼此不独立的情况下(诸如在使用路由聚合的情况下),选择过程将在较不特定的子网络之前移动通过更特定的子网络。更特定的子网络是较大的组合网络(称为超级网络)的一部分。
进行计算的节点118的路径查找组件112访问存储器中的空队列,并且利用从该节点可达的网络来播种302该队列。可以利用来播种队列的可达网络示例的非穷举列表是以下中的一项或多项:本地导出的网络、导出的本地接口地址、触发的聚合网络、由其他路由协议计算的重新分发的路由。在一些示例中,种子是本地生成的网络导出消息(与从邻居接收的消息相反)。本地生成的网络导出消息是节点发送给自身以引导队列的消息。然后,路径查找组件使用比较函数对队列进行排序304。例如,将队列中的网络导出消息对与比较函数进行比较,并且使用结果对队列中的网络导出消息进行排序,以使得最优先的网络导出消息位于队列的头部,而最不优先的网络导出消息位于队列的尾部。
路径查找组件112处理306队列306中的第一网络导出消息,该消息是队列头部的网络导出消息。为此,它针对与队列的头部的网络导出消息相对应的节点的每个邻居计算308图4的过程310。
路径查找组件112从队列的头部移除第一网络导出消息,并且重复操作306、308、310的过程,直到队列为空314。路径查找组件112检查316是否存在更多要处理的子网络,如果是,则重复图3的过程。否则,过程结束318。通过使用队列并且使用比较函数对队列中的条目进行排序,路径查找组件以遵循队列顺序的探测顺序探测来自与该队列的网络导出消息相关联的各个节点的路径。这具有使得搜索能够由比较函数来指导的优点,从而可以在不牺牲准确度的情况下在实际的时间范围内计算路由表。这进而产生对通信网络的更有效控制。
图4是图3的过程的一部分的更详细的流程图。路径查找组件112已经从队列的头部获取了网络导出消息(在此称为第一网络导出消息),并且正在评估与该网络导出消息相关联的第一节点的每个邻居。图4的过程是关于单个邻居的评估。随机地或通过使用比较函数来选择400邻居。
路径查找组件112从输入到节点的拓扑数据和配置数据中获得402关于如下路由的数据,该路由从从队列中移除的网络导出消息的网络到所选择的邻居402(参见上面的图2)。例如,关于路由的数据是路由的带宽、或者路由的丢包频率、或者一个或多个其他属性。如果404,这是关于路径查找组件已经获得的路由的第一数据,则将关于邻居的网络导出消息添加406到队列,并且将关于路由的数据(和邻居的身份)添加408到本文中称为“最佳[n][网络]”的存储,该存储是保存节点n和正在探测的网络的当前最佳网络导出消息的存储。已经选择了网络,并且该过程计算了从每个节点到该网络(其附接到一个或多个节点)的最优路径。最佳[][]保存关于如何最好地到达每个节点的所选择的网络的信息,并且该过程旨在计算该数据。最佳[n'][]通过如下来计算:从队列中取出一个项目,并且然后从n'处“向后”到达其邻居,并且检查是否有任何邻居可以通过n'以更优化的方式到达网络。
如果路径查找组件112已经具有关于到邻居的路径的数据,则进行到操作410。操作410是比较操作,该比较操作将在操作402处获得的所获得的数据与存储在最佳[n][网络]中的所存储的数据进行比较。
比较操作410评估从网络导出消息的网络到所选择的邻居的路由是否优先于从网络导出消息的网络到其他邻居的路由。在一些示例中,比较操作410比较属性的大小。
如果在412找到相等的优先级,则将关于邻居的网络导出消息添加406到队列,使得稍后将在该过程中再次探测它。将关于到邻居的路由的数据添加408到存储,并且过程结束。然后,路径查找组件112返回到图3的过程,该过程包括移动306到下一子网络。
如果所获得的数据是优先的416(即,通过第一节点的路由优先于通过迄今已经探测的另一邻居的路由),则从队列中移除422所存储的数据。由于没有探测非最优邻居的传递效应,搜索空间减少并且效率得到提高。与探测所有路径相比,这实现了指数节省。
如果所存储的数据是优先的414(即,通过第一节点的路由不如迄今已经找到的最佳路由),则将所存储的数据(即,迄今已经找到的最佳路由)添加418到存储,诸如路由表。图4的过程然后结束并且返回图3的过程。
现在详细描述路由协议是BGP的示例:
令a和a'为路由器网络导出消息。网络导出消息是在路由器之间传播的信息单元。每个网络导出消息携带子网络(或其集合)的可达性的信息。子网络由互联网协议(IP)前缀表示。
令<为两个网络导出消息之间的比较函数。例如,对于BGP,例如,如果a的本地优先级大于a'的本地优先级,则a<a'成立。如果a<a'成立,则a优先于a'。
对于运行BGP的网络,函数<对应于最佳路径定义。
在运行BGP的网络中计算节点的路由表的方法的示例包括以下循环,该循环针对每个子网络(或其集合)调用如下所述的路径查找算法。
伪代码如下,其中在行的开头的符号//表示该行中的以下文本是注释而不是伪代码:
//种子:网络->设置(网络导出消息)
种子:=make_seeds()
针对种子中的每个(网络,网络导出消息),进行
findbest_path(网络,网络导出消息,种子)
完成
该过程开始于计算种子网络导出消息集合,该种子网络导出消息每子网络分组。例如,对于BGP,种子网络导出消息包括由每个路由器发送的子网络(例如,通过网络或重新分发命令,通过本地安装的路由的聚合,等等)。
在不同网络之间存在依赖关系的情况下(即,在网络的网络导出消息彼此不独立的情况下),通过网络的迭代顺序是相关的。一个示例是使用BGP聚合的超级网络,其中聚合的前缀(例如,192.168.0.0/16)取决于其他参与的网络(例如,192.168.1.0/24和192.168.2.1/32)。在这种情况下,该过程被配置为在较不特定的网络之前迭代更特定的网络(例如,通过在针对网络192.168.0.0/16执行findbest_path算法之前,针对网络192.168.2.1/32执行findbest_path算法)。
该过程为特定网络的所有节点计算路由表。现在描述findbest_path过程。
findbest_path(网络,网络导出消息,种子):
队列:=网络导出消息
当(队列不为空)时,则进行
adv:=从队列中获取最优先的网络导出消息
如果(不应当广播adv),则
继续
对于设备(adv)的每个启用的邻居n,进行:
adv':=为邻居n转换adv或跳过
//adv'是该设备看到的第一网络导出消息
如果最佳[n][网络]为空,则进行:
将adv'添加到最佳[n][网络]
将最佳[n][网络]添加到队列
//优先先前接收的网络导出消息。使用函数<对列表最佳[n][网络]进行排序,并且head(.)获取列表的最小元素。
否则,如果head(最佳[n][网络])<adv':
将adv'添加到RIB(路由信息库)
//优先adv'
否则,如果adv'<head(最佳[n][网络]):
将最佳[n][网络]添加到RIB
从队列中移除最佳[n][网络]
清除最佳[n][网络]
将adv'添加到最佳[n][网络]
将最佳[n][网络]添加到队列
//先前接收的网络导出消息和adv'同样优先
否则
将adv'添加到最佳[n][网络]
将最佳[n][网络]添加到队列
完成
完成
将最佳添加到RIB
向种子添加新种子或更新已有的种子
该过程开始于从种子网络导出消息建立队列。然后,将网络导出消息从队列中移除并且逐一处理。移除顺序由函数<确定。
然后,该过程检查是否不应当进一步发送adv。一个示例是BGP仅汇总聚合,该聚合阻止发送有用的网络。
该过程将adv发送到每个启用的邻居。网络导出消息adv首先通过传出设备(例如,路由图)中的策略转换,并且然后通过传入设备(邻居)中的策略转换。在该过程之后,获得adv'或跳过循环迭代(例如,在它被传出或传入设备阻止的情况下)。
之后,该过程将adv'与先前在给定设备的传入设备处接收的最优先的网络导出消息进行比较。在某些情况下,使用比较函数<而不是<来支持等价多路径协议(ECMP)之类的情况,希望为同一网络保留多个网络导出消息。在某些示例中,函数<定义如下:如果禁用了BGP多路径,则它等于<,否则,它如在BGP标准中定义的。
最后,该过程结束于将最优先的网络导出消息添加到每个设备的路由表,并且添加新的种子以供外部循环通过(如果适用)。触发新种子的情况的一个示例是创建网络导出消息,该消息触发之前未启用的聚合。
注意,给定通过外循环中的网络进行迭代的选择,可以保证尚未访问所有新的或已更新的种子。
图5示出了示例性的基于计算的设备500的各种组件,其被实现为任何形式的计算和/或电子设备,并且其中在一些示例中实现了通信网络的节点118的实施例。
基于计算的设备500包括一个或多个处理器502,处理器502是微处理器、控制器或者其他合适类型的处理器,用于处理计算机可执行指令以控制设备的操作,以便计算路由表和/或控制通信网络。在一些示例中,例如在使用片上系统架构的情况下,处理器502包括一个或多个固定功能块(也称为加速器),这些功能块以硬件(而不是软件或固件)实现图3和4中任一个的方法的一部分。如上所述,基于计算的设备包括存储在存储器508中的比较函数和路径查找组件112。在一些示例中,基于计算的设备包括网络控制器114,尽管这不是必需的。在基于计算的设备处提供包括操作系统504的平台软件或任何其他合适的平台软件,以使得应用软件506能够在该设备上执行。
计算机可执行指令使用由基于计算的设备500可访问的任何计算机可读介质来提供。计算机可读介质包括例如计算机存储介质,诸如存储器508和通信介质。诸如存储器508的计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块等的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM)、电子可擦可编程只读存储器(EEPROM)、闪存或其他存储器技术、光盘只读存储器(CD-ROM)、数字通用光盘(DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或者用于存储信息以供计算设备访问的信息的任何其他非传输介质。与之相对照,通信介质在诸如载波或其他传输机制的调制数据信号中实施计算机可读指令、数据结构、程序模块等。如本文中定义的,计算机存储介质不包括通信介质。因此,计算机存储介质不应当被解释为传播信号本身。尽管计算机存储介质(存储器508)被示出为在基于计算的设备500内,但是应当理解,在一些示例中,存储被远程地分布或定位,并且经由网络或其他通信链路来访问(例如,使用通信接口510)。
基于计算的设备500还包括输入/输出控制器512,该输入/输出控制器512被布置为向显示设备514输出显示信息,该显示设备514可以与基于计算的设备500分开或成一体。显示信息可以提供图形用户界面。输入/输出控制器512还被布置为接收和处理来自诸如用户输入设备516(例如,鼠标、键盘、相机、麦克风或其他传感器)的一个或多个设备的输入。在一些示例中,用户输入设备516检测语音输入、用户手势或其他用户动作,并且提供自然用户界面(NUI)。该用户输入可以用于指定比较函数、查看路由表、指定拓扑数据以及用于其他目的。在一个实施例中,如果显示设备514是触敏显示设备,则显示设备514还用作用户输入设备516。在一些示例中,输入/输出控制器512向除了显示设备之外的设备(例如,本地连接的打印设备)输出数据。
输入/输出控制器512、显示设备514和用户输入设备516中的任何一个可以包括NUI技术,NUI技术使得用户能够以自然的方式与基于计算的设备交互,而不受由诸如鼠标、键盘、遥控器等的输入设备施加的人为约束。在一些示例中提供的NUI技术的示例包括但不限于依赖于声音和/或语音识别、触摸和/或触笔识别(触敏显示器)、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪、声音和语音、视觉、触摸、手势和机器智能的那些。在某些示例中使用的NUI技术的其他示例包括意图和目标理解系统、使用深度相机的运动手势检测系统(诸如立体相机系统、红外相机系统、红绿蓝(rgb)相机系统及其组合)、使用加速度计/陀螺仪的运动手势检测、面部识别、三维(3D)显示、头部、眼睛和注视跟踪、沉浸式增强现实和虚拟现实系统、以及用于使用电场感测电极来感测大脑活动的技术(脑电图(EEG)和相关方法)。
作为本文中描述的其他示例的备选或补充,示例包括以下各项的任何组合:
一种包括多个互连节点的通信网络的节点,该节点包括:
存储器,存储关于网络的拓扑的信息、包括网络的属性的配置数据以及关于网络的路由协议的信息;
存储器存储从路由协议的最佳路径定义中被得到的比较函数;
路径查找组件,该路径查找组件在处理器处针对节点中的单个节点计算路由表,该路由表指定在单个节点处被接收的传入数据将要被路由到单个节点的哪些邻居,其中计算路由表包括使用关于网络的拓扑的信息和配置数据搜索节点之间的最优路径,并且使用比较函数指导搜索;并且其中节点之间的最优路径关于属性中的一个或多个属性是最优的。
上述节点包括网络控制器,网络控制器在通信网络的单个节点处触发路由表的安装和/或在节点中的至少一个节点处触发对配置文件的更新。
上述节点包括网络控制器,网络控制器使用路由表来控制通信网络。
上述节点包括网络控制器,网络控制器向网络验证引擎发送路由表,以用于验证通信网络是否符合标准。标准的示例的非详尽列表是:期望的业务策略、法律要求、合规性要求、性能标准、网络功能标准、一个或多个标准的组合。
上述节点,其中比较函数将关于网络的两个节点的信息作为输入,并且计算这两个节点的优先顺序。
上述节点,其中比较函数比较两个网络导出消息,其中网络出口消息是由节点向其邻居发送的消息,通告从发送消息的节点可达的子网络。
上面描述的节点,其中路径查找组件包括关于通信网络的子网络的网络出口消息的队列,该子网络在由路径查找组件搜索的路径中被考虑,并且其中路径查找组件使用比较函数对队列中的网络导出消息进行排序,并且以遵循队列顺序的探测顺序来探测来自队列的网络导出消息的各个子网络的路径。
上面描述的节点,其中路径查找组件利用由节点本地计算的网络导出消息来播种队列。
上面描述的节点,其中路径查找组件通过评估到正在被探测的子网络的邻居的路径并且将所评估的路径与当前最佳路径进行比较来探测队列的网络导出消息的子网络。
上述节点,其中如果到邻居中的一个邻居的所评估的路径优先于当前最佳路径,则路径查找组件将关于该邻居的网络导出消息添加到路由表。
上面描述的节点,其中路径查找组件被配置为:如果当前所评估的路径不优先于先前所评估的路径,则将网络导出消息添加到队列,其中所添加的网络导出消息与先前所评估的路径有关。
一种通信网络,包括如上所述的节点。
一种在包括多个互连节点的通信网络的节点处的计算机实现的方法,该方法包括:
存储关于网络的拓扑的信息、包括网络的属性的配置数据以及关于网络的路由协议的信息;
存储从路由协议的最佳路径定义中被得到的比较函数;
在处理器处针对节点中的单个节点计算路由表,该路由表指定在单个节点处被接收的传入数据将要被路由到单个节点的哪些邻居,其中计算路由表包括使用关于网络的拓扑的信息和配置数据搜索节点之间的最优路径,并且使用比较函数指导搜索;并且其中节点之间的最优路径关于属性中的一个或多个属性是最优的。
上述方法包括在节点中的一个节点处触发路由表的安装,或者在节点中的一个节点处触发对至少一个配置文件的更新。
上面描述的方法包括:使用比较函数对队列中的网络导出消息进行排序,并且以遵循队列顺序的探测顺序来探测来自队列的网络导出消息的各个节点的路径。
上述方法包括:如果当前所评估的路径不优先于先前所评估的路径,则将网络导出消息添加到队列,其中所添加的网络导出消息与先前所评估的路径有关。
上面描述的方法包括:通过评估到正在被探测的网络的邻居的路径并且将所评估的路径与当前最佳路径进行比较来探测队列中的网络导出消息的网络。
上述方法包括使用最优路径在单个节点处触发对至少一个配置文件的更新。
一种在包括多个互连节点的通信网络的节点处的计算机实现的方法,该方法包括:
存储关于网络的拓扑的信息、包括网络的属性的配置数据以及关于网络的路由协议的信息;
存储从路由协议的最佳路径定义中被得到的比较函数;
在处理器处针对节点中的单个节点计算路由表,该路由表指定在单个节点处被接收的传入数据将要被路由到单个节点的哪些邻居,其中计算路由表包括存储通信网络的节点的队列;
使用比较函数对队列中的节点进行排序;以及
以遵循队列顺序的探测顺序探测来自队列的各个节点的路径,以找到关于属性中的至少一个属性最优的路径。
一种通信网络的节点,包括:
用于存储关于网络的拓扑的信息、包括网络的属性的配置数据以及关于网络的路由协议的信息的部件;
用于存储从路由协议的最佳路径定义中被得到的比较函数的部件;用于针对节点中的单个节点计算路由表的部件,该路由表指定在单个节点处被接收的传入数据将要被路由到单个节点的哪些邻居,其中计算路由表包括使用关于网络的拓扑的信息和配置数据搜索节点之间的最优路径,并且使用比较函数指导搜索;并且其中节点之间的最优路径关于属性中的一个或多个属性是最优的。
例如,用于存储的部件是存储器508。例如,用于计算的部件是当被编码以执行图3和4的至少一部分的操作时的处理器502。
一种包括多个互连节点的通信网络的节点,该节点包括:
存储器,存储关于网络的拓扑的信息、包括网络的属性的配置数据以及关于网络的路由协议的信息;
存储器存储从路由协议的最佳路径定义中被得到的比较函数;
路径查找组件,该路径查找组件在处理器处针对节点中的单个节点计算路由表,该路由表指定在单个节点处被接收的传入数据将要被路由到单个节点的哪些邻居,其中计算路由表包括使用关于网络的拓扑的信息和配置数据搜索节点之间的最优路径,并且使用比较函数指导搜索;并且其中节点之间的最优路径关于属性中的一个或多个属性是最优的;以及
网络控制器,被配置为执行以下中的一项或多项:在通信网络的节点处触发路由表的安装、使用路由表触发对通信网络的验证、使用路由表控制通信网络、在节点处触发对至少一个配置文件的更新。
一种在包括多个互连节点的通信网络的节点处的计算机实现的方法,该方法包括:
存储关于网络的拓扑的信息、包括网络的属性的配置数据以及关于网络的路由协议的信息;
存储从路由协议的最佳路径定义中被得到的比较函数;
在处理器处针对节点中的单个节点计算路由表,该路由表指定在单个节点处被接收的传入数据将要被路由到单个节点的哪些邻居,其中计算路由表包括使用关于网络的拓扑的信息和配置数据搜索节点之间的最优路径,并且使用比较函数指导搜索;并且其中节点之间的最优路径关于属性中的一个或多个属性是最优的;以及
触发以下中的一项或多项:在节点中的一个节点处的路由表的安装、使用路由表对网络的验证、使用路由表对网络的控制、在节点处触发对至少一个配置文件的更新。
术语“计算机”或“基于计算的设备”在本文中用于指代具有处理能力使得其执行指令的任何设备。本领域技术人员将认识到,这种处理能力被结合到很多不同的设备中,因此术语“计算机”和“基于计算的设备”每个包括个人计算机(PC)、服务器、移动电话(包括智能电话)、平板电脑、机顶盒、媒体播放器、游戏机、个人数字助理、可穿戴计算机和很多其他设备。
在一些示例中,本文中描述的方法由软件在有形存储介质上以机器可读形式来执行,例如,以包括计算机程序代码部件的计算机程序的形式,计算机程序代码部件适于在程序在计算机上运行时执行本文中所述的方法中的一种或多种方法的所有操作,并且计算机程序可以在计算机可读介质上实施。该软件适合于在并行处理器或串行处理器上执行,使得方法操作可以以任何合适的顺序或同时执行。
这承认软件是有价值的、可单独交易的商品。它旨在包含运行或控制“哑”或标准硬件的软件,以执行期望的功能。它还旨在包含“描述”或定义硬件配置的软件,诸如HDL(硬件描述语言)软件,如用于设计硅芯片或用于配置通用可编程芯片,以执行期望的功能。
本领域技术人员将认识到,用于存储程序指令的存储设备可选地跨网络分布。例如,远程计算机能够存储被描述为软件的过程的示例。本地或终端计算机能够访问远程计算机并且下载部分或全部软件以运行程序。备选地,本地计算机可以根据需要下载软件的片段,或者在本地终端处执行一些软件指令,而在远程计算机(或计算机网络)处执行一些软件指令。本领域技术人员还将认识到,通过利用本领域技术人员已知的传统技术,软件指令的全部或部分可以由专用电路(诸如数字信号处理器(DSP)、可编程逻辑阵列等)来执行。
如本领域技术人员很显而易见的,可以扩展或改变本文中给出的任何范围或设备值而不丧失所寻求的效果。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但应当理解,所附权利要求书中定义的主题不必限于上述特定特征或动作。而是,上述特定特征和动作被公开作为实现权利要求的示例形式。
应当理解,上述益处和优点可以涉及一个实施例,或者可以涉及若干实施例。实施例不限于解决任何或所有所述问题的那些实施例或者具有任何或所有所述益处和优点的那些实施例。将进一步理解,对“一个(an)”项目的引用是指这些项目中的一个或多个。
本文中描述的方法的操作可以以任何合适的顺序执行,或者在适当的情况下同时执行。另外,在不脱离本文中描述的主题的范围的情况下,可以从任何方法中删除各个框。上述任何示例的各方面可以与所描述的任何其他示例的各方面组合以形成另外的示例,而不会丧失所寻求的效果。
术语“包括(comprising)”在本文中用于表示包括所标识的方法框或元件,但是这些框或元件不包括排他性列表,并且方法或装置可以包含附加的框或元件。
本文中使用术语“子网络”来指代超级网络的一部分但并非全部。
应当理解,以上描述仅通过示例的方式给出,并且本领域技术人员可以进行各种修改。以上说明书、示例和数据提供了示例性实施例的结构和使用的完整描述。尽管上面已经以某种程度的特殊性或者参考一个或多个单独的实施例描述了各种实施例,但是本领域技术人员可以在不脱离本说明书的范围的情况下对所公开的实施例进行多种改变。
Claims (20)
1.一种包括多个互连节点的通信网络的节点,所述节点包括:
存储器,存储关于网络的拓扑的信息、包括所述网络的属性的配置数据以及关于所述网络的路由协议的信息;
所述存储器存储从所述路由协议的最佳路径定义中被得到的比较函数;以及
路径查找组件,所述路径查找组件在处理器处计算路由表,所述路由表指定在所述节点处被接收的传入数据将要被路由到所述节点的哪些邻居,其中计算所述路由表包括使用关于所述网络的所述拓扑的所述信息和所述配置数据搜索通过互连节点中的一个或多个其他节点在所述节点与目的地节点之间的最优路径,使用所述比较函数以比较两个或更多网络导出消息,其中所述两个或更多网络导出消息中的每个网络导出消息是由所述节点通过所述互连节点的每个相邻节点向所述目的地节点发送以通告从所述节点可到达的每个子网络的消息,并且使用所述比较函数通过以基于所述比较的顺序处理所述两个或更多网络导出消息来指导所述搜索;以及
基于比较,确定所述节点与所述目的地节点之间的所述最优路径,其中所述节点与所述目的地节点之间的最优路径关于所述属性中的一个或多个属性是最优的。
2.根据权利要求1所述的节点,包括网络控制器,所述网络控制器在所述通信网络的所述节点处触发所述路由表的安装。
3.根据权利要求1所述的节点,包括网络控制器,所述网络控制器使用所述最优路径在所述节点处触发对至少一个配置文件的更新。
4.根据权利要求1所述的节点,其中所述属性包括以下中的两项或更多项:来自所述节点的传出边缘的带宽、去往所述节点的传入边缘的带宽,所述节点的处理能力、从所述节点到邻居的往返时间、以及对等成本。
5.根据权利要求1所述的节点,包括网络控制器,所述网络控制器向网络验证引擎发送所述路由表,以用于验证所述网络是否符合标准。
6.根据权利要求1所述的节点,其中所述比较函数将关于所述网络的两个节点的信息作为输入,并且计算所述两个节点的优先顺序。
7.根据权利要求6所述的节点,其中所述比较函数比较两个网络导出消息,其中所述两个网络导出消息中的每个网络导出消息是由节点向其邻居发送,通告从发送所述消息的所述节点可到达的子网络的消息。
8.根据权利要求1所述的节点,其中所述路径查找组件包括关于所述通信网络的子网络的网络导出消息的队列,所述子网络在由所述路径查找组件搜索的路径中被考虑,并且其中所述路径查找组件使用所述比较函数对所述队列中的所述网络导出消息进行排序,并且以遵循探测顺序的所述探测顺序来探测来自所述队列的网络导出消息的各个子网络的路径。
9.根据权利要求8所述的节点,其中所述路径查找组件利用由所述节点本地计算的网络导出消息来播种所述队列。
10.根据权利要求8所述的节点,其中所述路径查找组件通过评估到正在被探测的所述子网络的邻居的路径并且将所评估的所述路径与当前最佳路径进行比较来探测所述队列中的网络导出消息的子网络。
11.根据权利要求10所述的节点,其中如果到所述邻居中的一个邻居的所评估的所述路径优先于当前最佳路径,则所述路径查找组件将关于该邻居的网络导出消息添加到所述路由表。
12.根据权利要求10所述的节点,其中所述路径查找组件被配置为:如果当前所评估的路径不优先于先前所评估的路径,则将网络导出消息添加到所述队列,其中所添加的所述网络导出消息与所述先前所评估的路径有关。
13.一种在包括多个互连节点的通信网络的节点处的计算机实现的方法,所述方法包括:
存储关于网络的拓扑的信息、包括所述网络的属性的配置数据以及关于所述网络的路由协议的信息;
存储从所述路由协议的最佳路径定义中被得到的比较函数;以及
在处理器处计算路由表,所述路由表指定在所述节点处被接收的传入数据将要被路由到所述节点的哪些邻居,其中计算所述路由表包括使用关于所述网络的所述拓扑的所述信息和所述配置数据搜索通过互连节点中的一个或多个其他节点在所述节点与目的地节点之间的最优路径,使用所述比较函数以比较两个或更多网络导出消息,其中所述两个或更多网络导出消息中的每个网络导出消息是由所述节点通过所述互连节点的每个相邻节点向所述目的地节点发送以通告从所述节点可到达的每个子网络的消息,并且使用所述比较函数通过以基于所述比较的顺序处理所述两个或更多网络导出消息来指导所述搜索;以及
基于比较,确定所述节点与所述目的地节点之间的所述最优路径,其中所述节点与所述目的地节点之间的最优路径关于所述属性中的一个或多个属性是最优的。
14.根据权利要求13所述的方法,包括:在所述节点和所述目的地节点中的一个节点处触发所述路由表的安装,或者在所述节点和所述目的地节点中的一个节点处触发对至少一个配置文件的更新。
15.根据权利要求13所述的方法,包括:使用所述比较函数对队列中的网络导出消息进行排序,并且以遵循探测顺序的所述探测顺序来探测来自与所述队列的网络导出消息相关联的各个节点的路径。
16.根据权利要求15所述的方法,包括:如果当前所评估的路径不优先于先前所评估的路径,则将网络导出消息添加到所述队列,其中所添加的所述网络导出消息与所述先前所评估的路径有关。
17.根据权利要求15所述的方法,包括:通过评估到正在被探测的网络的邻居的路径并且将所评估的所述路径与当前最佳路径进行比较来探测所述队列中的网络导出消息的所述网络。
18.根据权利要求13所述的方法,包括:使用所述最优路径在所述节点处触发对至少一个配置文件的更新。
19.一种或多种计算机可读存储设备,包括计算机可执行指令,所述计算机可执行指令在由一个或多个处理器执行时使所述一个或多个处理器执行操作,所述操作包括:
存储关于网络的拓扑的信息、包括所述网络的属性的配置数据以及关于所述网络的路由协议的信息;
存储从所述路由协议的最佳路径定义中被得到的比较函数;以及
在处理器处计算路由表,所述路由表指定在节点处被接收的传入数据将要被路由到所述节点的哪些邻居,其中计算所述路由表包括使用关于所述网络的所述拓扑和所述配置数据搜索通过一个或多个互连节点在所述节点与目的地节点之间的最优路径,使用所述比较函数以比较两个或更多网络导出消息,其中所述两个或更多网络导出消息中的每个网络导出消息是由所述节点通过所述互连节点的每个相邻节点向所述目的地节点发送以通告从所述节点可到达的每个子网络的消息,并且使用所述比较函数通过以基于所述比较的顺序处理所述两个或更多网络导出消息来指导所述搜索;以及
基于比较,确定所述节点与所述目的地节点之间的所述最优路径,其中所述节点与所述目的地节点之间的最优路径关于所述属性中的一个或多个属性是最优的。
20.根据权利要求19所述的一种或多种计算机可读存储设备,其中所述计算机可执行指令还使所述一个或多个处理器使用所述比较函数对队列中的网络导出消息进行排序,并且以遵循探测顺序的所述探测顺序来探测来自与所述队列的网络导出消息相关联的各个节点的路径。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1706475.9 | 2017-04-24 | ||
GBGB1706475.9A GB201706475D0 (en) | 2017-04-24 | 2017-04-24 | Communications network node |
US15/636,575 | 2017-06-28 | ||
US15/636,575 US11070434B2 (en) | 2017-04-24 | 2017-06-28 | Communications network node |
PCT/US2018/027842 WO2018200245A1 (en) | 2017-04-24 | 2018-04-17 | Communications network node |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110679120A CN110679120A (zh) | 2020-01-10 |
CN110679120B true CN110679120B (zh) | 2021-10-26 |
Family
ID=58795747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880025742.6A Active CN110679120B (zh) | 2017-04-24 | 2018-04-17 | 通信网络节点 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11070434B2 (zh) |
EP (1) | EP3616369B1 (zh) |
CN (1) | CN110679120B (zh) |
GB (1) | GB201706475D0 (zh) |
WO (1) | WO2018200245A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112311681B (zh) * | 2019-07-31 | 2023-01-20 | 中车株洲电力机车研究所有限公司 | 一种数据传输方法及系统 |
EP3941006B1 (en) * | 2020-07-16 | 2022-10-26 | Anapaya Systems AG | System and method for carrying and optimizing internet traffic over a source-selected path routing network |
CN113873548A (zh) * | 2021-09-03 | 2021-12-31 | 中盈优创资讯科技有限公司 | 一种白盒设备一键开局方法及装置 |
CN116996387A (zh) * | 2022-04-26 | 2023-11-03 | 华为云计算技术有限公司 | 一种网络意图挖掘方法、装置及相关设备 |
WO2023206395A1 (zh) * | 2022-04-29 | 2023-11-02 | 华为技术有限公司 | 一种网络路径的计算方法及网络设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6654365B1 (en) * | 1998-02-24 | 2003-11-25 | L-3 Communications Corporation | Reduced complexity trellis-based multiuser detector for CDMA |
CN102026098A (zh) * | 2009-09-16 | 2011-04-20 | 索尼株式会社 | 通信网络及其路由方法和装置 |
CN102299854B (zh) * | 2011-09-06 | 2012-11-14 | 北京航空航天大学 | 一种面向机会网络环境的多目标路由决策系统 |
CN105429877A (zh) * | 2015-11-10 | 2016-03-23 | 中山大学 | 一种基于粒子群优化的路径寻优方法 |
WO2016083844A1 (en) * | 2014-11-28 | 2016-06-02 | Aria Networks Limited | Modeling a border gateway protocol network |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020174246A1 (en) | 2000-09-13 | 2002-11-21 | Amos Tanay | Centralized system for routing signals over an internet protocol network |
US7058016B1 (en) | 2000-10-12 | 2006-06-06 | Cisco Technology, Inc. | Method and system for accelerating route calculation in link state routing protocols |
US20050074003A1 (en) * | 2003-10-02 | 2005-04-07 | Ball David Alexander | Distributed software architecture for implementing BGP |
DE102004031717A1 (de) | 2004-06-30 | 2006-01-26 | Siemens Ag | Effiziente Berechnung von Routingtabellen für ein Routing anhand von Zieladressen |
US7924726B2 (en) * | 2004-07-12 | 2011-04-12 | Cisco Technology, Inc. | Arrangement for preventing count-to-infinity in flooding distance vector routing protocols |
US7436838B2 (en) | 2004-12-29 | 2008-10-14 | Cisco Technology, Inc. | Automatic prioritization of BGP next-hop in IGP |
US7630392B2 (en) * | 2005-05-31 | 2009-12-08 | Cisco Technology, Inc. | Multi-homing using controlled route leakage at a backup service provider |
US7860106B2 (en) * | 2006-02-13 | 2010-12-28 | Wind River Systems, Inc. | System and method for routing table computation and analysis |
US7398438B2 (en) | 2006-03-30 | 2008-07-08 | Lucent Technologies Inc. | Method and apparatus for improved routing in connectionless networks |
US8565247B2 (en) | 2009-08-19 | 2013-10-22 | Brocade Communications Systems, Inc. | Techniques for efficiently updating routing information upon shortest path tree computation |
US8830820B2 (en) | 2011-10-14 | 2014-09-09 | Google Inc. | Semi-centralized routing |
US9191139B1 (en) | 2012-06-12 | 2015-11-17 | Google Inc. | Systems and methods for reducing the computational resources for centralized control in a network |
-
2017
- 2017-04-24 GB GBGB1706475.9A patent/GB201706475D0/en not_active Ceased
- 2017-06-28 US US15/636,575 patent/US11070434B2/en active Active
-
2018
- 2018-04-17 WO PCT/US2018/027842 patent/WO2018200245A1/en unknown
- 2018-04-17 CN CN201880025742.6A patent/CN110679120B/zh active Active
- 2018-04-17 EP EP18721933.2A patent/EP3616369B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6654365B1 (en) * | 1998-02-24 | 2003-11-25 | L-3 Communications Corporation | Reduced complexity trellis-based multiuser detector for CDMA |
CN102026098A (zh) * | 2009-09-16 | 2011-04-20 | 索尼株式会社 | 通信网络及其路由方法和装置 |
CN102299854B (zh) * | 2011-09-06 | 2012-11-14 | 北京航空航天大学 | 一种面向机会网络环境的多目标路由决策系统 |
WO2016083844A1 (en) * | 2014-11-28 | 2016-06-02 | Aria Networks Limited | Modeling a border gateway protocol network |
CN105429877A (zh) * | 2015-11-10 | 2016-03-23 | 中山大学 | 一种基于粒子群优化的路径寻优方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3616369B1 (en) | 2021-04-07 |
US11070434B2 (en) | 2021-07-20 |
US20180309635A1 (en) | 2018-10-25 |
GB201706475D0 (en) | 2017-06-07 |
EP3616369A1 (en) | 2020-03-04 |
WO2018200245A1 (en) | 2018-11-01 |
CN110679120A (zh) | 2020-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110679120B (zh) | 通信网络节点 | |
US10574567B2 (en) | Modeling a border gateway protocol network | |
US8171539B2 (en) | Methods and apparatus for implementing a search tree | |
CN105553680B (zh) | 基于网络特征创建虚拟接口的系统、方法和存储介质 | |
JP6271039B2 (ja) | ハイブリッドネットワークにおけるパス選択 | |
JP5943431B2 (ja) | ネットワーク、データ転送ノード、通信方法およびプログラム | |
CN112491707B (zh) | 一种转发路径的确定方法及装置 | |
EP3338416B1 (en) | Reducing flooding of link state changes in networks | |
CN111147372B (zh) | 下行报文发送、转发方法和装置 | |
CN108476170A (zh) | 双向约束路径搜索 | |
US10615999B2 (en) | Virtual local area network configuration system and method, and computer program product thereof | |
EP3993356A1 (en) | Interdomain path calculation based on an abstract topology | |
Tsai et al. | Enabling efficient and consistent network update in wireless data centers | |
Nguyen et al. | Efficient virtual network embedding with node ranking and intelligent link mapping | |
Niknami et al. | Enhancing load balancing by intrusion detection system chain on sdn data plane | |
US20240205096A1 (en) | Method for use in routing, device, and computer program | |
CN109861908A (zh) | 一种路由转发方法及设备 | |
Fan et al. | MASCOT: mobility-aware service function chain routing in mobile edge computing | |
Blose et al. | Scalable Hybrid Switching-Driven Software Defined Networking Issue: From the Perspective of Reinforcement Learning | |
CN106716925B (zh) | 用于在提供商网络中指配多实例服务的系统和方法 | |
Aziz et al. | Controller Placement in Software De ned Networks | |
Aziz et al. | Controller Placement in Software Defined Networks | |
Liao et al. | Collaborative Filtering-based Fast Delay-aware algorithm for joint VNF deployment and migration in edge networks | |
EP3217610B1 (en) | Network communication method and device, and internet system | |
CN118282920A (zh) | 路由路径优化方法、路由路径优化系统及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |