CN103210616A - 选路信息的预先计算 - Google Patents
选路信息的预先计算 Download PDFInfo
- Publication number
- CN103210616A CN103210616A CN2011800544630A CN201180054463A CN103210616A CN 103210616 A CN103210616 A CN 103210616A CN 2011800544630 A CN2011800544630 A CN 2011800544630A CN 201180054463 A CN201180054463 A CN 201180054463A CN 103210616 A CN103210616 A CN 103210616A
- Authority
- CN
- China
- Prior art keywords
- network
- node
- network state
- state
- prediction
- 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.)
- Pending
Links
Images
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/02—Topology update or discovery
- H04L45/06—Deflection routing, e.g. hot-potato routing
-
- 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
-
- 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/021—Ensuring consistency of routing table updates, e.g. by using epoch numbers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
各种示例性实施例涉及一种方法及相关网络节点,所述方法包括以下中的一个或更多:在节点处接收当前网络状态已从旧网络状态改变为新网络状态的指示;确定节点是否可访问关联于新网络状态的预先计算的选路信息;如果节点可访问关联于新网络状态的预先计算的选路信息,则使用预先计算的选路信息来对未来网络流量进行选路;以及,如果节点不可访问关联于新网络状态的预先计算的选路信息,则计算新选路信息,并使用新选路信息来对未来网络流量进行选路。
Description
技术领域
此处公开的各种示例性实施例一般涉及网络流量选路。
背景技术
分组交换网络被用于提供数量不断增长的现今各种形式的通信。除经由诸如互联网的网络的计算机到计算机通信之外,分组交换网络实现关联于其它应用的信息通信,所述其它应用诸如是电视、电话和无线电。通过这些和其它应用,终端用户可以越过极大距离发送和接收众多信息类型。
为将所述信息从其源移动到其目的地,分组交换网络使用一些互连的选路设备。当一个路由器接收到数据的分组后,该路由器将确定该分组的目的地位于何处,并将该分组转发给下一个最靠近的路由器。该下一个路由器将遵循类似的过程,并且通过这样,分组将最终被递送到其目的地,很像“组桶”。
分组交换网络中的一个重大问题在于,为每个网络提供对于确定每个分组应当被发送到哪个“下一跳”路由器必要的信息。虽然理论上可以将该信息手工编程到路由器中,但网络拓扑的规模和动态本质经常致使该方法不可行。作为代替,已开发了各种协议来自动确定针对每个路由器的去往每个目的地的最佳路径。例如,开放最短路径优先标准规定,自治系统内的路由器共享关于该系统内的链路的状态的信息。通过使用该信息,每个路由器可以独立开发转发表,以便在确定分组如何被转发向其各自的目的地时使用。当网络状态改变时,每个路由器更新其转发表,以便确保每个目的地仍然可达,并且每个所选路径是最优的。由网络中的不同路由器维护的选路信息应当彼此一致,以便实现所需的网络运行。
发明内容
虽然诸如开放最短路径优先的标准提供了针对生成选路信息问题的有效解决方案,但这些标准生效起来耗费时间。例如,网络改变发生之后瞬间,每个节点处的选路信息某种程度上是过时和不正确的。直到每个节点接收到对该改变的指示、确定网络的新状态、确定最优选路路径并更新转发表之前,该信息将保持过时。由于可能频繁的节点被添加到网络、节点被从网络移除、节点进入故障状态、节点从故障状态恢复以及其它网络改变事件,路由器运行时间的相当一部分可能花费在根据过时的选路信息转发流量或等待最新选路信息上。此处将该网络改变事件与网络内全部节点处转发表成功更新之间的时间称为网络收敛时间。
相应地,存在对这样的方法的需求,该方法减少网络改变事件与网络内不同节点处选路信息的收敛之间的时间量。特别地,提供一种这样的方法和网络节点将是可取的,所述方法和网络节点减少更新转发表花费的时间量。
根据当前对减少网络收敛时间的方法的需求,呈现各种示例性实施例的简明摘要。在以下摘要中可以做出一些简化和省略,以下摘要旨在突出和介绍各种示例性实施例的一些方面,而非限制本发明的范围。足以允许本领域的技术人员构造和使用本发明概念的对优选示例性实施例的详细描述将跟随在稍后小节中。
各种示例性实施例提供一种网络路由器,所述网络路由器可以预测很可能的未来网络状态。所述网络路由器可以然后预先计算并存储针对这些很可能的未来网络状态的选路信息,例如最短路径树、转发表和/或选路表。此后,当所述网络节点接收到所述网络状态已改变的指示时,所述节点可以首先检查该新网络状态是否是已针对其预先计算了选路信息的一个。如果是,则所述节点可以使用所述预先计算出的选路信息,由此减少所述选路信息变为最新前的时间量。根据该第一示例性实施例,全部预测和预先计算功能在所述网络节点本地被实施。
各种可替换实施例提供一种预测节点,所述预测节点为所述网络内的其它节点实施这些和其它预测功能中的至少一些。例如,所述预测节点可以简单地为所述其它节点预测很可能且相关的未来网络状态,并将该信息发送给合适的节点。每个其它节点可以然后在本地预先计算关联于所述未来网络状态的选路信息。可替换地,所述预测节点可以为所述其它节点中的每个预先计算选路信息,并将所述关联的选路信息与所述未来状态信息一起发送给所述其它节点中的每个。所述其它节点然后仅不得不存储该信息以便将来使用。
各种示例性实施例涉及一种方法及相关网络节点,所述方法及相关网络节点包括以下中的一个或更多:在所述节点处接收当前网络状态已从旧网络状态改变为新网络状态的指示;确定所述节点是否可访问关联于所述新网络状态的预先计算的选路信息;如果所述节点可访问关联于所述新网络状态的预先计算的选路信息,则使用所述预先计算的选路信息来对未来的网络流量进行选路;以及,如果所述节点不可访问关联于所述新网络状态的预先计算的选路信息,则计算新选路信息,并使用所述新选路信息来对未来网络流量进行选路。
各种示例性实施例另外或可替换地涉及一种方法及相关网络节点,所述方法及相关网络节点包括以下中的一个或更多:第一接口,其接收网络状态信息;以及,网络状态预测器,其基于所述网络状态信息预测至少一个未来网络状态,其中,所述至少一个未来网络状态不同于当前网络状态。
应当显而易见,这样,各种示例性实施例实现网络收敛时间的减少。特别地,经由针对很可能的未来网络状态预先计算选路信息,网络节点可以减少在所述网络实际改变后更新转发表花费的时间量。
附图说明
为更好地理解各种示例性实施例,参考附图,其中:
图1示出了用于对数据分组进行选路的一个示例性网络;
图2示出了用于确定从一个节点到一些其它可能节点的最优路径的一个示例性最短路径树;
图3示出了用于基于分组目的地确定分组应当被发送到的下一跳的一个示例性转发表;
图4示出了用于对分组进行选路和减少网络收敛时间的一个示例性网络节点;
图5示出了用于预测很可能的未来网络状态的一个示例性预测节点;
图6示出了用于与预测节点协作对分组进行选路并减少网络收敛时间的网络节点的一个示例性实施例;
图7示出了用于预测很可能的未来网络状态的预测节点的一个可替换实施例;
图8示出了用于与预测节点协作对分组进行选路并减少网络收敛时间的网络节点的一个可替换实施例;
图9示出了用于定位预先计算的选路信息的一个示例性状态机;以及
图10示出了用于减少网络收敛时间的一种示例性方法。
具体实施方式
现在参考附图,其中类似标号是指类似部件或步骤,公开了各种示例性实施例的宽泛方面。
图1示出了用于对数据分组进行选路的一个示例性网络100。示例性网络100可以是用于为各种应用提供数据传输的分组交换通信网络。示例性网络100可以进一步实现用于响应于网络内的改变自动更新选路信息的标准。例如,网络100可以构成实现开放最短路径优先(OSPF)标准的自治系统。
示例性网络可以包括一些节点A-G110-170。每个节点A-G110-170可以是路由器、交换机或其它适于接收并向分组各自的目的地转发数据分组的网络装备。每个节点可以还连接到一些另外的设备(未示出),所述另外的设备例如是另外的网络设备和终端用户装备。
节点A-G110-170可以每个都经由一个或更多链路连接到一个或更多其余节点A-G110-170。每个链路可以关联于链路开销。例如,节点C130可以经由具有开销2的链路连接到节点D140。该链路开销可以基于各种因素来指派,所述因素例如是节点间的地理距离、关联于链路的比特率、节点间的中间设备的数量和/或链路上的当前负载。诸如节点B120与节点G170间的链路的某些链路可以出故障了,并且由此不可用于转发分组。可以相应地为所述链路指派非常高或无穷大的链路开销以阻止使用。
每个节点A-G110-170可以存储示例性网络100的本地表示。所述本地表示可以根据OSPF按照在由其余节点A-G110-170发送的链路状态通告(LSA)消息中传递的信息在本地构造。例如,每个节点可以将全部节点和边的指示存储在链路状态数据库(LSDB)中。所述表示可以被每个节点A-G110-170用于构造最短路径树和最终的在将分组转发向其目的地时使用的转发表。
图2示出了用于确定从一个节点到一些其它可能节点的最优路径的一个示例性最短路径树(SPT)200。SPT200可以使用任何本领域的技术人员已知的方法、使用诸如示例性网络100的网络的当前状态的表示、从节点C130的视角来构造。例如,节点可以使用Djikstra的最短路径树算法来构造SPT。
SPT200可以是由节点C130根据示例性网络100而构造的SPT。SPT200可以包括对应于节点A-G110-170的一些节点表示A-G210-270。SPT200可以支持从节点C130到网络内每个节点的最优路径。例如,SPT200指示,从节点C130到节点G170的最短路径是通过节点D140,而非通过节点B120或某个其它路径。相应地,根据SPT200,由节点C130接收的去往节点G170的分组应当被转发到节点D140。节点D140接着可以包括其自身的选路信息,使其能够将分组转发到节点G170。
在计算SPT200之后,节点C130可以更新其转发表以反映示例性网络100的新状态。特别地,节点C130可以分析SPT200以确定对于每个潜在目的节点应当使用的下一跳节点。可以然后将该信息存储在转发表中,以便在转发分组时快速访问。
图3示出了用于基于分组目的地确定分组应当被发送到的下一跳的一个示例性转发表300。转发表300可以是例如存储在节点C130处的数据库中的表。可替换地,转发表300可以是一系列链表、数组或类似数据结构。由此,应当显而易见,转发表300是底层数据的抽象,可以使用任何适于存储底层数据的数据结构。
转发表300可以包括目的地字段302和下一跳字段304。目的地字段302可以指示每个条目所关联于的目的设备,而下一跳字段304可以指示适于所关联目的设备的下一跳设备。应当显而易见,转发表300在某些方面是简化形式。例如,转发表可以包含另外的字段,例如IP前缀、出站端口号、目的MAC地址和/或可替换的下一跳。各种修改对于本领域的技术人员将显而易见。应当显而易见,示例性表300中所示的数据在某些方面是抽象和/或简化形式;例如,目的字段302可以存储一个或更多目的节点的地址。
转发表可以包括一些条目310-370。条目310可以指示,去往节点A110的分组应当被转发到节点B120。同样,条目320和350可以指示,去往节点B120或节点E150的分组应当被转发到节点B120。条目340、360、370可以指示,分别去往节点D、F、G140、160、170的分组应当被转发到节点D140。
已描述了示例性网络的部件,将提供对示例性网络100的运行的简明摘要。应当显而易见,以下描述旨在提供示例性网络100的运行的概览,并且因此在某些方面是简化形式。示例性网络100的详细运行下面将结合图4-10详细描述。
在节点C130已生成诸如表300的最新转发表之后,节点C130可以使用其空闲处理时间来预测接下来很可能经历的未来网络状态。节点C130可以然后预先计算并存储针对这些所预测状态的每个的SPT。然后,如果网络转换到所预测状态中的一个,则可以立即使用预先计算的SPT。因为节点C130可以立即开始更新其转发表,由此减少了收敛时间。
图4示出了用于对分组进行选路和减少网络收敛时间的一个示例性网络节点400。网络节点400可以对应于示例性网络100中的一个或更多节点A-G110-170。网络节点400可以包括分组接收器405、链路状态通告(LSA)识别器410、选路处理器420、分组发送器425、网络状态机430、网络状态历史存储440、最短路径树(SPT)生成器450、转发表生成器460、转发表存储470和网络状态预测器480。
分组接收器405可以是包括硬件和/或被编码在机器可读存储介质中的可执行指令的接口,所述硬件和/或可执行指令被配置为,从其它网络设备接收分组。分组接收器405可以包括多个端口,并且可以从多个网络设备接收分组。例如,分组接收器405可以接收链路状态通告分组和关联于普通网络流量的分组。
链路状态通告(LSA)识别器410可以包括硬件和/或机器可读存储介质中的可执行指令,所述硬件和/或可执行指令被配置为,确定所接收分组是否是节点400应当处理的LSA。如果分组是LSA,则LSA识别器410可以通知网络状态机430网络中已发生改变。例如,LSA识别器410可以简单地将分组传递给网络状态机410。否则,LSA识别器可以将分组传递给选路处理器以便进一步进行选路。
选路处理器420可以包括硬件和/或机器可读存储介质中的可执行指令,所述硬件和/或可执行指令被配置为,将分组选路向其目的地。选路处理器可以从每个所接收分组中提取目的地,并经由使用存储在转发表存储470中的转发表来确定针对该目的地的下一跳。选路存储器可以然后经由发送器425将分组转发到合适的下一跳。
分组发送器425可以是包括硬件和/或被编码在机器可读存储介质中的可执行指令的接口,所述硬件和/或可执行指令被配置为,将分组发送到其它网络设备。分组发送器425可以包括多个端口,并且可以将多个类型的分组发送到多个网络设备。例如,分组发送器425可以发送链路状态通告分组和关联于普通网络流量的分组。
网络状态机430可以包括硬件和/或机器可读存储介质中的可执行指令,所述硬件和/或可执行指令被配置为,解释所接收的LSA以确定网络状态已如何改变。例如,网络状态机可以可访问当前网络状态的表示,并且基于所接收的LSA修改网络状态。可以然后将新网络状态表示存储在例如网络状态历史存储440中。
网络状态机430可以进一步基于所接收的LSA确定,SPT是否已可用于新网络状态。下面将关于图9详细描述网络状态机430的一个示例性实施例的详细运行。如果网络状态机430能够定位预先计算的SPT,则网络状态机430可以将该SPT转发到转发表生成器460。否则,网络状态机430可以向SPT生成器450发送应当生成新SPT的指示。
在各种实施例中,当网络状态机430进入新状态时,其可以删除先前状态的表示。在各种可替换实施例中,网络状态机可以保留先前状态及任何关联于其的SPT、转发表、选路表和/或其它选路信息。如将在下面参考图9详细描述的那样,网络状态机430可以进一步生成一个或更多转换,以便从新状态重新进入先前状态。例如,网络状态机430可以生成与刚处理的LSA相反的转换,并导致回到该先前状态。
网络状态历史存储440可以是任何能够存储先前和/或当前网络状态的表示的机器可读介质。相应地,网络状态历史存储440可以包括机器可读存储介质,所述机器可读存储介质例如是只读存储器(ROM)、随机访问存储器(RAM)、磁盘存储介质、光存储介质、闪存设备和/或类似存储介质。
最短路径树(SPT)生成器450可以包括硬件和/或机器可读存储介质中的可执行指令,所述硬件和/或可执行指令被配置为,从网络的表示生成最短路径树。例如,SPT生成器450可以使用Djikstra的算法或本领域的技术人员已知的任何其它方法来生成最短路径树。一旦已生成SPT,则如果该SPT代表当前网络状态,则SPT生成器450可以将SPT发送到转发表生成器。另一方面,如将在下面详细描述的那样,如果新SPT代表预测的网络状态,则SPT生成器450可以将该新SPT发送到网络状态机430以便于可能的将来使用。网络状态机430可以然后将SPT存储在其自身的本地存储器或节点400内的其它存储设备中。
转发表生成器460可以包括硬件和/或机器可读存储介质中的可执行指令,所述硬件和/或可执行指令被配置为,基于SPT生成或更新转发表。例如,转发表生成器可以基于针对网络节点400的当前SPT确定转发表存储470中的任意条目是否应当被添加或修改。
转发表存储470可以是任何能够存储转发表的机器可读介质。相应地,转发表存储470可以包括机器可读存储介质,所述机器可读存储介质例如是只读存储器(ROM)、随机访问存储器(RAM)、磁盘存储介质、光存储介质、闪存设备和/或类似存储介质。转发表存储470可以是节点400内的独立存储设备,或者可以与网络状态历史存储440相同。
网络状态预测器480可以包括硬件和/或机器可读存储介质中的可执行指令,所述硬件和/或可执行指令被配置为预测可能的未来网络状态。所述预测可以是基于一些因素,所述因素例如是当前网络状态、先前经历的网络状态、潜在改变的可能性和潜在改变与网络的相关性。例如,如果网络状态历史存储440中的数据指示当前可用的特定链路已频繁进入故障状态,其中,所述故障状态导致对转发表的改变,则网络状态预测器480可以指示该链路在下一个LSA中很有可能被指示为已出故障。另一方面,如果网络状态预测器确定正频繁出故障的链路很少迫使转发表中的改变,则网络状态预测器480可以避免将该潜在状态报告或认为是很可能的未来状态。应当显而易见,可以使用众多方法或准则来确定哪些网络状态是预先计算起来最有利的。
网络状态预测器480可以在网络节点400不忙于实施其它任务时使用网络节点400的空闲时间来预测未来网络状态。网络状态预测器480可以一次预测一个状态,或者可以生成预测的状态的列表。可以按可能性/相关性的降序对所述列表进行排序。此后,网络状态预测器480可以在网络节点400空闲期间将将预测的状态发送到最短路径树生成器,因此可以针对预测的状态的每个预先计算SPT。空闲时间可以由网络节点400识别为当节点400处理器不忙于实施其它任务时的时间。网络状态预测器480可以以这种方式继续,直到已预先计算出关联于特定数量的状态的SPT,或者直到特定数量的存储器已被用于存储预先计算的SPT。
在某些实施例中,网络状态预测器480可以预测这样的未来状态,所述未来状态不导致对任何选路信息的改变。在所述情况下,网络状态机430可以忽略所述预测,或者可以存储当前SPT可以被使用或响应于所述网络改变不应当采取任何行动的指示。
当网络状态改变时,网络状态预测器480可以从头开始,并且生成预测的状态的新集合和SPT。可替换地,网络状态预测器480可以尝试重用先前预先计算的SPT,替换仅哪些根据当前网络状态最不相关或可能发生的。
应当指出,尽管按照预先计算最短路径树描述了示例性节点400,但各种可替换实施例可以预先计算可替换或另外类型的选路信息。例如,节点(未示出)可以预先计算转发表自身、其一部分、选路表或其一部分。对于使用除OSPF外的标准的系统,可以预先计算专用于那些标准的选路信息。在实现所述可替换实施例时有用的修改对于本领域的技术人员将显而易见。
图5示出了用于预测很可能的未来网络状态的一个示例性预测节点500。预测节点500可以对应于示例性网络100中的一个或更多节点A-G110-170或者另外的节点(未示出)。预测节点500可以适于结合一个或更多节点A-G110-170运行以预测未来SPT。预测节点500可以包括分组接收器505、网络状态历史识别器510、网络状态预测生成器520、分组发送器525、网络状态历史存储540和网络状态预测器580。预测节点500可以包括另外的其它部件。例如,在其中预测节点500还是路由器的各种实施例中,预测节点500可以包括网络节点400的一个或更多单元。
分组接收器505可以是包括硬件和/或被编码在机器可读存储介质中的可执行指令的接口,所述硬件和/或可执行指令被配置为,从其它网络设备接收分组。分组接收器505可以包括多个端口,并且可以从多个网络设备接收分组。例如,分组接收器505可以接收链路状态通告分组、其它网络状态历史分组和/或关联于普通网络流量的分组。
网络状态历史识别器510可以包括硬件和/或机器可读存储介质中的可执行指令,所述硬件和/或可执行指令被配置为,确定经由分组接收器505接收的分组是否包括网络状态历史。在某些实施例中,所述分组可以是LSA。在其中其它网络节点适于通信关于网络状态的信息的其它实施例中,所述分组可以是由另一节点向预测节点500发送的特别构造的分组。可以定期地或每当存在对发出的节点所经历的网络状态的更新时发送所述分组。当识别到网络状态历史分组时,网络状态历史识别器510可以更新存储在网络状态历史存储中的数据以反映该更新。
网络状态预测生成器520可以包括硬件和/或机器可读存储介质中的可执行指令,所述硬件和/或可执行指令被配置为,生成网络状态预测消息以便传输到其它节点。例如,网络状态预测生成器520可以构造分组,该分组包含由网络状态预测器580生成的单一网络状态预测或网络状态预测的已排序列表。此后,网络状态预测生成器可以经由分组发送器525将该新分组发送到一个或更多其它节点。如下面将参考网络状态预测器580描述的那样,预测可以适用于多个节点或仅单一节点。网络状态预测生成器520可以将该新分组转发到仅那些该预测适用的节点。
分组发送器525可以是包括硬件和/或被编码在机器可读存储介质中的可执行指令的接口,所述硬件和/或可执行指令被配置为,向其它网络设备发送分组。分组发送器525可以包括多个端口,并且可以向多个网络设备发送分组。例如,分组发送器525可以发送链路状态通告分组、网络状态预测分组和/或关联于普通网络流量的分组。
网络状态历史存储540可以是任何能够存储先前和/或当前网络状态的表示的机器可读介质。相应地,网络状态历史存储540可以包括机器可读存储介质,所述机器可读存储介质例如是只读存储器(ROM)、随机访问存储器(RAM)、磁盘存储介质、光存储介质、闪存设备和/或类似存储介质。
网络状态预测器580可以包括硬件和/或机器可读存储介质中的可执行指令,所述硬件和/或可执行指令被配置为预测可能的未来网络状态。在这方面,网络状态预测器可以与网络状态预测器480类似或相同。
网络状态预测器580可以进一步适于在特定节点的上下文内生成预测。相应地,网络状态预测器可以对网络内的不同节点生成不同预测。例如,网络状态预测器可以确定,一个很可能的未来网络状态将迫使对第一节点的转发表、而非第二节点的转发表的更新。相应地,网络状态预测器580可以指示,该未来网络状态应当被报告给第一节点而非第二节点。
图6示出了用于对分组进行选路并与预测节点协作减少网络收敛时间的网络节点600的一个示例性实施例。网络节点600可以对应于示例性网络100中的一个或更多节点A-G110-170。网络节点600可以包括分组接收器405、网络状态预测识别器680、链路状态通告(LSA)识别器410、选路处理器420、分组发送器425、网络状态机430、预测存储685、最短路径树(SPT)生成器450、转发表生成器460、转发表存储470和网络状态预测器480。相应地,网络节点600的一些单元可以与网络节点400的各个单元类似或相同。
网络状态预测识别器680可以包括硬件和/或机器可读存储介质中的可执行指令,所述硬件和/或可执行指令被配置为,确定所接收的分组是否包括网络状态预测,所述网络状态预测例如是由预测节点500构造和发送的网络状态预测消息。如果所接收的分组包括所述信息,则网络状态预测识别器680可以从该分组中提取一个或更多网络状态预测并将其存储在预测存储685中。此后,最短路径树生成器450可以根据已预测的网络状态使用网络节点600的空闲处理时间来计算SPT,并更新网络状态机430。
预测存储685可以是任何能够存储当前和/或预测的网络状态的表示的机器可读介质。相应地,预测存储685可以包括机器可读存储介质,所述机器可读存储介质例如是只读存储器(ROM)、随机访问存储器(RAM)、磁盘存储介质、光存储介质、闪存设备和/或类似存储介质。
图7示出了用于预测很可能的未来网络状态的预测节点700的一个可替换实施例。预测节点700可以对应于示例性网络100中的一个或更多节点A-G110-170或者另外的节点(未示出)。预测节点700可以适于结合一个或更多节点A-G110-170运行以预测未来的SPT。预测节点700可以包括分组接收器505、网络状态历史识别器510、分组发送器525、网络状态历史存储540、网络状态预测器580、最短路径树生成器750和最短路径树消息生成器790。相应地,预测节点700的一些单元可以与预测节点700的各个单元类似或相同。预测节点700可以包括另外的其它部件。例如,在其中预测节点700还是路由器的各种实施例中,预测节点可以包括网络节点400的一个或更多单元。
最短路径树(SPT)生成器750可以包括硬件和/或机器可读存储介质中的可执行指令,所述硬件和/或可执行指令被配置为,从网络的表示生成最短路径树。相应地,SPT生成器750可以与网络节点400的SPT生成器450类似或相同。SPT生成器750可以使用预测节点700的空闲时间来针对由网络状态预测生成器580生成的已预测网络状态生成一个或更多SPT。
最短路径树(SPT)消息生成器790可以包括硬件和/或机器可读存储介质中的可执行指令,所述硬件和/或可执行指令被配置为,生成SPT预测消息以便传输到其它节点。例如,SPT消息生成器790可以构造分组,该分组包含由网络状态预测器580和SPT生成器750生成的单一网络状态预测及关联SPT或带有关联SPT的网络状态预测的已排序列表。此后,SPT消息生成器790可以经由分组发送器525将该新分组发送到一个或更多其它节点。如先前描述的,预测可以适用于多个节点或仅单一节点。SPT消息生成器790可以将该新分组转发到仅那些该预测适用的节点。
图8示出了用于对分组进行选路并与预测节点协作减少网络收敛时间的网络节点800的一个可替换实施例。网络节点800可以对应于示例性网络100中的一个或更多节点A-G110-170。网络节点800可以包括分组接收器405、最短路径树(SPT)消息识别器895、链路状态通告(LSA)识别器410、选路处理器420、分组发送器425、网络状态机430、最短路径树(SPT)生成器450、转发表生成器460、转发表存储470和网络状态预测器480。相应地,网络节点800的一些单元可以与网络节点400和/或网络节点600的各个单元类似或相同。
最短路径树(SPT)消息识别器895可以包括硬件和/或机器可读存储介质中的可执行指令,所述硬件和/或可执行指令被配置为,确定接收的分组是否包括一个或更多预测的SPT,所述预测的SPT例如是由预测节点700生成的SPT消息。如果接收的分组包括所述信息,则SPT消息识别器895可以将预测的SPT转发到网络状态机430以便于潜在的未来使用。
图9示出了用于定位预先计算的选路信息的一个示例性状态机900。状态机900可以对应于网络状态机430的编程和/或由其管理的一个或更多数据结构。状态机900可以包括当前状态910、一些潜在状态920、930、940以及一些潜在转换911、912、913、914。每个状态910、920、930、940可以进一步关联于SPT。
转换911在当前状态910发起和终止。转换911指示,如果LSA即将指示节点B120与节点G170之间的链路即将被恢复到10的链路开销,则其将是适用的。因为转换911循环回同一状态,所以其指示,假如有所述LSA,则将不对针对该节点的合适SPT做出任何改变。该节点可以然后确定,不必采取任何进一步的行动。
转换912在当前状态910发起,在潜在状态920终止,并且将适用于这样的LSA,该LSA指示节点C130与节点D140之间的链路的故障。在所述情况下,节点将使用关联于状态920的SPT,并且因此避免使用新近出故障的链路。
转换913在当前状态910发起,在潜在状态930终止,并且将适用于这样的LSA,该LSA指示故障节点B120。在所述情况下,节点将使用关联于状态930的SPT,并且因此除非绝对必要否则避免向节点B120发送流量。在该示例中,仅去往节点B120的流量将被发送到节点B120。
转换914在当前状态910发起,在潜在状态940终止,并且将适用于这样的LSA,该LSA指示,连接到仅节点F160的新节点H(未示出)已被添加到网络。在所述情况下,节点将使用关联于状态940的SPT,并且此后经由节点D140向该新节点发送流量。
应当指出,所示的转换准则是指示例。另外的转换准则对本领域的技术人员将显而易见。例如,可以将节点从网络的移除用作准则。进一步例如,可以在单一转换中指示多个改变。例如,可以添加从状态910到状态913的转换(未示出),适用于这样的LSA,该LSA报告B以及B与G之间的链路这两者的故障。
图10示出了用于减少网络收敛时间的一种示例性方法1000。方法1000或其部分可以由网络节点400、500、600、700和/或800的部件来实施。
方法1000在步骤1000中开始,并且继续下去到步骤1010,在此处,网络节点接收到LSA。然后,在步骤1020中,节点可以确定新的网络状态是什么。例如,节点可以如上面描述的那样对状态机应用LSA。在步骤1030中,节点可以确定,是否已针对新网络状态计算出了最短路径树(SPT)。例如,节点可以确定,状态是否存在于针对该LSA的状态机中,和/或SPT是否关联于该状态。如果是,则节点可以在步骤1040中简单地检索已预先计算的SPT。
另一方面,如果没有任何预先计算的SPT可用,则节点可以在步骤1050中计算新SPT。不论获取方法如何,一旦SPT可用,则节点可以继续下去以在步骤1060中生成转发表。
在例如图7和/或8的实施例中那样、其中第二节点针对其它节点生成预测的SPT的各种实施例中,方法1000可以继续下去直接到步骤1095。否则,方法1000可以继续下去到步骤1065,在此处,节点可以确定该节点的CPU或内核中的至少一个当前是否空闲。方法1000在继续下去之前可以在步骤1065处等待直到CPU空闲。可替换地,方法1000在该等待期间可以被其它事件中断或暂停,所述其它事件例如是新LSA的接收。当节点确定CPU当前空闲时,方法1000可以继续下去到步骤1070。在步骤1070中,节点可以确定,是否有足够的存储器可用于存储另外的SPT。可替换地或另外,节点可以确定,是否已预先计算了满足条件数量的SPT。如果可以和/或应当预先计算更多SPT,则方法1000继续下去到步骤1080。在各种实施例中,为容纳针对已预测状态的SPT,可以将一个或更多较不相关的SPT从存储器中清除。
在步骤1080中,节点确定预测的状态。这可以包括在本地预测未来状态和/或读取由外部节点提供的已预测状态的步骤。方法1000然后继续下去到步骤1090,在此处,节点基于预测的网络状态计算新SPT。方法1000然后循环回步骤1065以重复该过程。
取决于实施例,一旦存储器变满或已预先计算了满足条件数量的SPT,则方法1000将从步骤1070继续下去在步骤1095中结束。
应当显而易见,当节点正在预先计算SPT时,新LSA可以到达。各种实施例假设,可以中断或过早暂停步骤1070-1090的SPT预先计算过程以处理新LSA。对现实实现的另外修改对于本领域的技术人员将显而易见。
根据前述内容,各种示例性实施例实现了网络收敛时间的减少。特别地,经由针对很可能的未来网络状态预先计算例如SPT和/或转发表的选路信息,网络节点可以减少在网络实际改变之后更新转发表花费的时间量。
从前面描述中应当显而易见,本发明的各种示例性实施例可以用硬件、软件和/或固件来实现。此外,各种示例性实施例可以被实现为存储在机器可读存储介质中的指令,所述指令可以被至少一个处理器读取并执行以实施此处详细描述的操作。机器可读存储介质可以包括任何用于以可被机器读取的形式存储信息的机制,所述机器例如是个人或膝上计算机、服务器或其它计算设备。由此,机器可读存储介质可以包括只读存储器(ROM)、随机访问存储器(RAM)、磁盘存储介质、光存储介质、闪存设备和类似存储介质。
附图中所示的各种单元的功能,包括任何被标记为“处理器”的功能框,可以通过使用专用硬件以及能够关联于合适的软件执行软件的硬件来提供。当由处理器提供时,功能可以由单一专用处理器、由单一共享处理器或由其中一些可以被共享的多个单独处理器来提供。此外,对术语“处理器”或“控制器”的明确使用不应当被解释为仅指能够执行软件的硬件,并且可以非限制性地暗含包括数字信号处理器(DSP)硬件、网络处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、用于存储软件的只读存储器(ROM)、随机访问存储器(RAM)和非易失性存储。可以还包括其它常规和/或定制的硬件。类似地,附图中所示的任何开关是仅概念性的。其功能可以通过程序逻辑的运行、通过专用逻辑、通过程序控制与专用逻辑的交互或甚至手工地来实现,特定技术可由实现者根据来自上下文的特别理解来选择。
本领域的技术人员应当认识到,此处的任何框图代表体现本发明原理的示例性电路的概念图。类似地,应当认识到,任何流程图表、流程图解、状态转换图、伪代码等代表各种过程,所述过程可以实质上在机器可读介质中表示并且因此被计算机或处理器执行,不论是否明确示出了所述计算机或处理器。
尽管已特别参考其特定示例性方面详细描述了各种示例性实施例,但应当理解,本发明能够有其它实施例,并且其细节能够在各种显而易见的方面进行修改。如对本领域的技术人员将显而易见的那样,在仍在本发明的精神和范围内的同时,可以实现各种变型和修改。相应地,前面的公开、描述和附图用于仅示例目的,并且绝不限制本发明,本发明仅由权利要求定义。
Claims (10)
1.一种在网络节点中实施的减少网络中的选路路径收敛时间的方法,所述方法包括:
在第一网络节点处接收当前网络状态已从旧网络状态改变为新网络状态的指示;
确定所述第一网络节点是否可访问关联于所述新网络状态的预先计算的选路信息;
如果所述第一网络节点可访问关联于所述新网络状态的预先计算的选路信息,则使用所述预先计算的选路信息来对未来网络流量进行选路;以及
如果所述第一网络节点不可访问关联于所述新网络状态的预先计算的选路信息,则计算新选路信息,并使用所述新选路信息来对所述未来网络流量进行选路。
2.根据权利要求1所述的方法,进一步包括:
预测未来网络状态;
基于所述预测的未来网络状态,计算预测的选路信息;以及
将所述计算的选路信息关联于所述未来网络状态存储在所述第一网络节点处。
3.根据权利要求2所述的方法,其中,所述预测和计算步骤中的至少一个在不同于所述第一网络节点的第二网络节点处实施。
4.根据权利要求2所述的方法,其中,所述预测所述未来网络状态的步骤进一步包括:
生成预测的未来网络状态的已排序集合;以及
确定所述预测的未来网络状态的已排序集合内还未针对其计算选路信息的第一未来网络状态。
5.根据权利要求1所述的方法,其中,所述预先计算的选路信息和所述新选路信息两者都是最短路径树或转发表。
6.根据权利要求1所述的方法,其中,使用所述预先计算的选路信息来对未来网络流量进行选路进一步包括:
基于所述预先计算的选路信息计算转发表。
7.根据权利要求1所述的方法,其进一步包括:
在接收到当前网络状态已改变的指示后,将关联于旧网络状态的旧选路信息关联于所述旧网络状态存储在所述第一网络节点处。
8.一种减少网络中选路路径收敛时间的第一网络节点,所述第一网络节点包括:
第一接口,其接收网络状态信息;以及
网络状态预测器,其基于所述网络状态信息预测至少一个未来网络状态,
其中,所述至少一个未来网络状态不同于当前网络状态。
9.根据权利要求8的第一网络节点,进一步包括:
网络状态预测生成器,其生成包括所述至少一个未来网络状态的预测消息;以及
第二接口,其将所述预测消息发送到第二网络节点。
10.根据权利要求8所述的第一网络节点,进一步包括:
第二接口;
转发表存储,其存储转发表;
选路处理器,其:
经由所述第一接口接收网络流量,
使用所述转发表确定所述网络流量的下一跳,以及
经由所述第二接口将所述网络流量发送到所述下一跳。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/944,928 | 2010-11-12 | ||
US12/944,928 US8516152B2 (en) | 2010-11-12 | 2010-11-12 | Lookahead computation of routing information |
PCT/US2011/054625 WO2012064423A1 (en) | 2010-11-12 | 2011-10-03 | Lookahead computation of routing information |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103210616A true CN103210616A (zh) | 2013-07-17 |
Family
ID=44860515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011800544630A Pending CN103210616A (zh) | 2010-11-12 | 2011-10-03 | 选路信息的预先计算 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8516152B2 (zh) |
EP (1) | EP2638667A1 (zh) |
JP (1) | JP5622942B2 (zh) |
KR (1) | KR101463364B1 (zh) |
CN (1) | CN103210616A (zh) |
WO (1) | WO2012064423A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108173893A (zh) * | 2016-12-07 | 2018-06-15 | 诺基亚技术有限公司 | 用于连网的方法和设备 |
WO2020135339A1 (zh) * | 2018-12-29 | 2020-07-02 | 华为技术有限公司 | 一种网络路径收敛的方法以及相关设备 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9479427B2 (en) | 2012-12-21 | 2016-10-25 | Dell Products L.P. | System and methods for load placement in data centers |
US9471130B2 (en) * | 2013-10-25 | 2016-10-18 | Advanced Micro Devices, Inc. | Configuring idle states for entities in a computing device based on predictions of durations of idle periods |
CN103905318B (zh) * | 2014-04-04 | 2017-12-15 | 华为技术有限公司 | 发送、加载转发表项的方法、控制器和转发节点 |
US9847935B2 (en) * | 2014-04-29 | 2017-12-19 | Intel Corporation | Technologies for distributed routing table lookup |
US20170012869A1 (en) * | 2015-07-10 | 2017-01-12 | Microsoft Technology Licensing, Llc | Forwarding table management in computer networks |
US11331790B2 (en) | 2018-03-14 | 2022-05-17 | Fedex Corporate Services, Inc. | Methods of performing a dispatched medical logistics operation related to a diagnosis kit for treating a patient and using a modular autonomous bot apparatus assembly and a dispatch server |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040218548A1 (en) * | 2003-04-30 | 2004-11-04 | Harris Corporation | Predictive routing in a mobile ad hoc network |
US6850524B1 (en) * | 2000-07-31 | 2005-02-01 | Gregory Donald Troxel | Systems and methods for predictive routing |
CN101420384A (zh) * | 2008-12-12 | 2009-04-29 | 北京邮电大学 | 一种实现ecmp域内自愈保护的方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4905233A (en) * | 1987-11-23 | 1990-02-27 | Harris Corporation | Multiple path routing mechanism for packet communications network |
US6697325B1 (en) * | 1999-12-07 | 2004-02-24 | Nortel Networks Limited | System, device, and method for expediting reconvergence in a communication network |
JP3575381B2 (ja) | 2000-03-24 | 2004-10-13 | 日本電気株式会社 | リンクステートルーティング用通信装置及びリンクステートルーティング用通信方法 |
US7035202B2 (en) * | 2001-03-16 | 2006-04-25 | Juniper Networks, Inc. | Network routing using link failure information |
US7266085B2 (en) | 2001-03-21 | 2007-09-04 | Stine John A | Access and routing protocol for ad hoc network using synchronous collision resolution and node state dissemination |
US7299038B2 (en) * | 2003-04-30 | 2007-11-20 | Harris Corporation | Predictive routing including the use of fuzzy logic in a mobile ad hoc network |
WO2005062552A1 (en) * | 2003-12-23 | 2005-07-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Predictive ad-hoc |
US8654627B2 (en) * | 2007-01-03 | 2014-02-18 | Harris Corporation | Data-path dynamic link maintenance in mobile ad hoc networks |
US8010694B2 (en) * | 2008-01-22 | 2011-08-30 | At&T Intellectual Property Ii, L.P. | Network performance and reliability evaluation taking into account multiple traffic matrices |
US8274914B2 (en) * | 2009-02-03 | 2012-09-25 | Broadcom Corporation | Switch and/or router node advertising |
-
2010
- 2010-11-12 US US12/944,928 patent/US8516152B2/en active Active
-
2011
- 2011-10-03 CN CN2011800544630A patent/CN103210616A/zh active Pending
- 2011-10-03 KR KR1020137012207A patent/KR101463364B1/ko not_active IP Right Cessation
- 2011-10-03 JP JP2013538723A patent/JP5622942B2/ja not_active Expired - Fee Related
- 2011-10-03 WO PCT/US2011/054625 patent/WO2012064423A1/en active Application Filing
- 2011-10-03 EP EP11770965.9A patent/EP2638667A1/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6850524B1 (en) * | 2000-07-31 | 2005-02-01 | Gregory Donald Troxel | Systems and methods for predictive routing |
US20040218548A1 (en) * | 2003-04-30 | 2004-11-04 | Harris Corporation | Predictive routing in a mobile ad hoc network |
CN101420384A (zh) * | 2008-12-12 | 2009-04-29 | 北京邮电大学 | 一种实现ecmp域内自愈保护的方法 |
Non-Patent Citations (2)
Title |
---|
MOHAMMAD PEYRAVIAN等: "Network path caching:Issues,algorithms and a simulation study", 《COMPUTER COMMUNICATIONS》, 25 August 1997 (1997-08-25) * |
王新华: "基于MPLS网络的约束路由及故障恢复研究", 《中国博士学位论文全文数据库信息科技辑》, no. 08, 15 August 2008 (2008-08-15) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108173893A (zh) * | 2016-12-07 | 2018-06-15 | 诺基亚技术有限公司 | 用于连网的方法和设备 |
CN108173893B (zh) * | 2016-12-07 | 2021-07-09 | 诺基亚技术有限公司 | 用于连网的方法和设备 |
US11178595B2 (en) | 2016-12-07 | 2021-11-16 | Nokia Technologies Oy | Method and device for networking |
WO2020135339A1 (zh) * | 2018-12-29 | 2020-07-02 | 华为技术有限公司 | 一种网络路径收敛的方法以及相关设备 |
CN111385194A (zh) * | 2018-12-29 | 2020-07-07 | 华为技术有限公司 | 一种网络路径收敛的方法以及相关设备 |
CN111385194B (zh) * | 2018-12-29 | 2021-02-26 | 华为技术有限公司 | 一种网络路径收敛的方法以及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2012064423A1 (en) | 2012-05-18 |
EP2638667A1 (en) | 2013-09-18 |
KR101463364B1 (ko) | 2014-11-19 |
US20120124235A1 (en) | 2012-05-17 |
JP5622942B2 (ja) | 2014-11-12 |
JP2013546268A (ja) | 2013-12-26 |
US8516152B2 (en) | 2013-08-20 |
KR20130087535A (ko) | 2013-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103210616A (zh) | 选路信息的预先计算 | |
CN109039884B (zh) | 网络路径预测和选择的方法、设备和介质 | |
JP5095823B2 (ja) | トランスポート制御サーバ、ネットワークシステム及びトランスポート制御方法 | |
JP5956006B2 (ja) | ネットワークにおけるメッセージおよび計算オーバーヘッドの軽減 | |
CN102415054B (zh) | 节点装置和通信方法 | |
CN102687464B (zh) | 通信系统和创建拓扑信息的方法 | |
US5732072A (en) | Method for adaptive routing in a communication network | |
US8897141B2 (en) | Network system and routing method | |
US7817561B2 (en) | Demand-based distribution of internet protocol forwarding information within a router | |
CN103201987A (zh) | 区分路由信息更新的优先级 | |
US20060013127A1 (en) | MPLS network system and node | |
US10425326B2 (en) | Rerouting tunnel traffic in communication networks | |
CN101102268A (zh) | Ip环网,ip环网路由设备,及报文转发方法 | |
CN102347905A (zh) | 一种网络设备及其转发信息更新方法 | |
CN103688498A (zh) | 可操作用于指定和确定用于链路状态路由选择协议的链路状态消息完整集的方法和网络元件 | |
CN103905318B (zh) | 发送、加载转发表项的方法、控制器和转发节点 | |
CN101594301A (zh) | 一种报文处理方法和装置 | |
CN113316917B (zh) | 控制网络路由配置的设备和方法 | |
CN105027502A (zh) | 控制信息管理装置、控制信息呈现方法和程序 | |
EP4340320A1 (en) | Communication method, device and system | |
JP6659047B2 (ja) | 通信ネットワークシステム、経路制御装置、経路制御方法および経路制御プログラム | |
EP2066086A1 (en) | Path computing element providing customized objective function | |
WO2018219420A1 (en) | Apparatus and method for providing a robust routing configuration | |
JP4280230B2 (ja) | 経路計算指示方法、計算指示プログラム、および、計算指示装置 | |
CN103004149B (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130717 |