用于软件定义的网络体系结构中移交的路由的方法和设备的制造方法_4

文档序号:8265568阅读:来源:国知局
示例的情形没有穷举可以保证确认、延迟确认或否定确认的其它情形。确认的示 例性意图或其在控制器上的示例性效果对说明性实施例也不是穷尽的并且是非限制性的。 本领域普通技术人员将能够为以类似的方式和为类似的目的利用组件406构想其它情形 和原因,并且这些在说明性实施例的范围内是预期的。
[0069] 组件410从集合404中选择路由规则的子集来实现。例如,在一种实施例中,组件 410缓存集合404,并且选择路由规则集合404的子集来处理并在网络设备400中的路由表 或等效结构中加载。组件410使用由状态监测组件412检测到的状态来确定哪条路由规则 要从集合404实现到网络设备400中。
[0070] 例如,假设集合404包括推荐设备400 (设备A)把发往设备B的流量放置在设备 A的端口 X上的路由规则。设备A的组件412报告与端口 X相关联的链路拥塞并且不应该 被使用。组件412可以类似地报告关于网络设备400的组件、网络中的链路或网络中的其 它设备的其它事情、问题或麻烦(统称为状态)。组件412可以,诸如当接收集合404时,具 体地为集合404中所推荐的路由规则产生这种报告,或者,可以缓存状态的周期性或相等 时间间隔(even-based)的检测,用于最终以这种方式与推荐的路由规则使用。
[0071] 参考图5,该图根据说明性实施例描绘了用于软件定义的网络中移交的路由的示 例性改进的网络设备的框图。设备502可以实现为图4中的网络设备400。SDN控制器504 是可以利用图3A中的控制器302实现的软件定义的网络。
[0072] 在所绘出的例子中,控制器504向设备502发送路由规则506作为推荐的路由规 则集合的一部分,诸如图4中的集合404。处理器508在缓存512的示例表510中保存路由 规则506并且以类似的方式缓存从控制器504接收到的其它路由规则。
[0073] 应用514是图4中的应用402的实施例。处理器510利用应用514选择被缓存的 路由规则的子集。处理器510利用应用514在诸如路由表中实现所选择的路由规则,用于 交换芯片516使用。
[0074] 作为操作的说明性例子,假设控制器504发送路由规则506,其推荐交换机502把 用于地址c413c2e的流量放置在端口 13、端口 24或这两者上。缓存的条目510存储该推荐 的路由规则。处理器510利用应用514确定由于在设备502或网络中存在的一些状态,端 口 24不应该被使用。因此,处理器510利用应用514实现路由规则518,这是路由规则510 的子集,因为根据实现的路由规则518,用于地址c413c2e的流量将只放置在端口 13上并且 不放置在其它推荐的端口一端口 24上。
[0075] 参考图6,该图根据说明性实施例描绘了用于软件定义的网络中移交的路由的示 例性过程的流程图。过程600可以在图4的应用402或图5的应用516中实现。
[0076] 应用通过在网络设备处接收路由规则集合开始过程600 (方框602)。应用确定在 网络设备、网络或其组合中存在的状态(方框604)。
[0077] 应用基于在方框604中检测到的状态选择路由规则的子集(方框606)。在一种实 施例中,应用确定实现在方框602中接收到的整个路由规则集合,诸如当在该设备或该网 络中没有不利于任何路由规则的状态时。
[0078] 应用确定该子集是否去除当前在该网络设备中使用的路由(方框608)。如果路 由要去除(方框608的"是"路径),则应用允许与那条路由相关联的队列清空,或者允许在 那条路由上的传输失败(方框610)。此后,或当没有现有的路由要通过实现该子集去除时 (方框608的"否"路径),应用诸如通过更新该网络设备中的路由表或等效结构来应用所 选择的路由规则的子集(方框612)。可选地,应用可以为该路由规则集合发送确认(方框 614)。
[0079] 应用确定该网络设备或该网络中的状态是否已改变,以便改变当前实现的路由规 则的子集(方框616)。如果状态已改变(方框616的"是"路径),为了保证改变路由规则, 应用返回到方框604以从在方框602接收到的集合中选择不同的路由规则子集。如果状态 没有改变(方框616的"否"路径),则应用在此后终止过程600。在一种实施例中,应用继 续在方框616监视状态变化,或者在方框602为从控制器接收新的路由规则集合保持就绪 状态。
[0080] 参考图7,该图根据说明性实施例描绘了在软件定义的网络体系结构中用于向网 络设备推荐路由规则的示例性过程的流程图。过程700可以在控制器中实现,诸如图3A中 的控制器302或图5中的控制器504。
[0081] 控制器通过确定网络的当前拓扑结构开始过程700 (方框702)。控制器为每个网 络设备创建到网络中的每个可到达的目的地的非循环路由解决方案(方框704)。可到达的 目的地是网络中的另一个网络设备或数据处理系统。
[0082] 控制器选择非循环路由解决方案的一部分,其中,该部分源于网络设备,诸如图3B 中的部分356 (方框706)。基于该部分,控制器创建用于该网络设备的下一跳的路由规则集 合(方框708)。控制器把该路由规则集合发送到该网络设备(方框710)。
[0083] 控制器前进到方框714之前等待来自网络设备的确认(方框712)。在一种实施例 中(未示出),控制器前进到方框714而没有等待确认。在另一种实施例中,如果没有接收 到确认或者接收到否定的确认,则控制器重试方框710的发送操作(未示出)。
[0084] 基于当前的拓扑结构,控制器确定在该网络中是否存在应该接收路由规则的更多 的设备(方框714)。如果还有更多的设备(方框714的"是"路径),则控制器返回到方框 706来为另一个网络设备选择另一部分。如果再没有设备应该接收路由规则(方框714的 "否"路径),则控制器在此后结束过程700。在一种实施例中,控制器返回到方框702并且 监视网络拓扑结构的变化。
[0085] 附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程 序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代 表模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实 现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的 功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并 行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框 图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的 功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来 实现。
[0086] 因此,在说明性实施例中提供了用于软件定义的网络中移交的路由的计算机实现 的方法、系统和计算机程序产品。实施例甚至在软件定义的网络体系结构中向网络设备移 交或者委托路由决定的一部分。实施例提供了用于软件定义的网络中移交的路由的混合体 系结构。
[0087] 在现有技术中,控制器做出路由决定并且网络设备简单地实现那些决定。相反,在 实施例中,控制器根据当前的网络全局状态做出一些了解情况的路由推荐。在实施例中的 网络设备保持自主,以接受或拒绝那些推荐中的一些。因此,实施例克服了在只实现传统的 体系结构或只实现软件定义的体系结构时所观察到的缺点。
[0088] 本技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机 程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完 全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式, 这里可以统称为"电路"、"模块"或"系统"。此外,在一些实施例中,本发明的各个方面还可 以采取实现为在一个或多个计算机可读存储设备或计算机可读介质中的计算机程序产品 的形式,该计算机可读存储设备或计算机可读介质中包含计算机可读的程序代码。
[0089] 可以采用一个或多个计算机可读存储设备或计算机可读介质的任意组合。计算机 可读介质可以是计算机可读存储介质。计算机可读存储设备可以是例如--但不限于-- 电、磁、光、电磁、或半导体的系统、装置或设备,或者任意以上的组合。计算机可读存储设 备的更具体的例子(非穷举的列表)包括以下:便携式计算机盘、硬盘、随机存取存储器 (RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘 只读存储器(CD-RO
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1