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

文档序号:8265568阅读:321来源:国知局
用于软件定义的网络体系结构中移交的路由的方法和设备的制造方法
【技术领域】
[0001] 本发明一般地涉及用于提高数据网络中的数据通信的方法、系统和计算机程序产 品。更具体地,本发明涉及用于软件定义的网络中移交的路由的方法、系统和计算机程序产 品。
【背景技术】
[0002] 数据网络(网络)促进两个或更多个数据处理系统之间的数据通信。从一个数据 处理系统到另一个数据处理系统的数据流量经过一个或多个网络设备到达目的地。
[0003] 网络设备是从源端接收数据并且把该数据传送到目的地的任何设备。源端和目的 地可以是数据处理系统或另一个网络设备。网络设备自身可以是数据处理系统,并且反过 来,数据处理系统可以执行网络设备的功能。
[0004] 通常,从源端数据处理系统发送的数据分组在到达目的地数据处理系统之前经过 一个或多个网络设备进行交接,其中在每个网络设备上的交接按照该网络设备中的某些规 则进行。在分组向目的地数据处理系统的路程中,用于确定数据分组从网络设备下一步去 哪里的规则存储在网络设备中。
[0005] 这样的规则称为路由规则或下一跳规则。网络设备中的路由表是网络设备中存储 这种规则的一种方式。

【发明内容】

[0006] 说明性实施例提供了用于软件定义的网络中移交的路由的方法、系统和计算机程 序产品。实施例在利用软件定义的网络体系结构实现的数据通信网络中的网络设备处,从 数据通信网络中的控制器接收路由规则集合。实施例在所述网络设备处检测状态。实施例 在所述网络设备中选择所述路由规则集合的子集,其中所述选择响应于所述状态。实施例 在第一时间在所述网络设备中应用所述路由规则的子集,使得所述网络设备使用第一路由 规则在所述数据通信网络中路由数据流量,并且忽略使用从控制器接收到的第二路由规则 在所述数据通信网络中路由数据流量。实施例响应于第二状态而自主地在第二时间在所述 网络设备处应用来自所述路由规则集合的路由规则的第二子集。
[0007] 另一种实施例包括计算机可用存储设备,所述设备包括用于软件定义的网络体系 结构中移交的路由的计算机可用代码。实施例还包括用于在利用软件定义的网络体系结构 实现的数据通信网络中的网络设备处,从数据通信网络中的控制器接收路由规则集合的计 算机可用代码。实施例还包括用于在所述网络设备处检测状态的计算机可用代码。实施例 还包括用于在所述网络设备中选择所述路由规则集合的子集的计算机可用代码,其中所述 选择响应于所述状态。实施例还包括用于在第一时间在所述网络设备中应用所述路由规则 的子集的计算机可用代码,使得所述网络设备使用第一路由规则在所述数据通信网络中路 由数据流量,并且忽略使用从控制器接收到的第二路由规则在所述数据通信网络中路由数 据流量。实施例还包括用于响应于第二状态而自主地在第二时间在所述网络设备处应用来 自所述路由规则集合的路由规则的第二子集的计算机可用代码。
[0008] 另一种实施例包括用于软件定义的网络体系结构中移交的路由的网络设备。实施 例还包括存储设备,所述存储设备包括存储介质,其中所述存储设备存储计算机可用程序 代码。实施例还包括处理器,其中所述处理器执行所述计算机可用程序代码。实施例还包 括用于在利用软件定义的网络体系结构实现的数据通信网络中的网络设备处,从数据通信 网络中的控制器接收路由规则集合的计算机可用代码。实施例还包括用于在所述网络设备 处检测状态的计算机可用代码。实施例还包括用于在所述网络设备中选择所述路由规则集 合的子集的计算机可用代码,其中所述选择响应于所述状态。实施例还包括用于在第一时 间在所述网络设备中应用所述路由规则的子集的计算机可用代码,使得所述网络设备使用 第一路由规则在所述数据通信网络中路由数据流量,并且忽略使用从控制器接收到的第二 路由规则在所述数据通信网络中路由数据流量。实施例还包括用于响应于第二状态而自主 地在第二时间在该网络设备处应用来自所述路由规则集合的路由规则的第二子集的计算 机可用代码。
【附图说明】
[0009] 被认为是本发明的特性的新颖特征在所附权利要求中加以阐述。但是,本发明自 身以及优选的使用模式、其另外的目的和优点将在结合附图阅读时通过参考说明性实施例 的以下详细描述得到更好地理解,其中:
[0010] 图1描绘了其中可以实现说明性实施例的数据处理系统的网络的框图;
[0011] 图2描绘了其中可以实现说明性实施例的数据处理系统的框图;
[0012] 图3A根据说明性实施例描绘了用于在软件定义的网络体系结构中使用的改进的 控制器的框图;
[0013] 图3B根据说明性实施例描绘了非循环路由的示例图;
[0014] 图4根据说明性实施例描绘了改进的网络设备的框图;
[0015] 图5根据说明性实施例描绘了用于软件定义的网络中移交的路由的示例性改进 的网络设备的框图;
[0016] 图6根据说明性实施例描绘了用于软件定义的网络中移交的路由的示例性过程 的流程图;
[0017] 图7根据说明性实施例描绘了用于在软件定义的网络体系结构中向网络设备推 荐路由规则的示例性过程的流程图。
【具体实施方式】
[0018] 当前使用的网络体系结构可归类成两种类型。第一,传统类型,其中诸如交换机或 路由器的网络设备发现新的路由路径或现有路由路径中的变化并且修改所述设备的路由 表。例如,如果新的交换机在网络中上线,那么所述交换机向其它在所述网络中运行的网络 设备宣布其存在。当检测到所述新的交换机时,所述网络中的交换机在它们中间执行分布 式协议,以确定需要被每个单独的交换机使用来转发分组的新的路由规则集合。
[0019] 类似地,当所述网络中的路由或其组件,诸如路由器或链路变得不可用时,现有的 交换机在它们中间执行分布式协议,以确定需要被每个单独的交换机使用来转发分组的新 的路由规则集合,从而有效地去除使用那个组件的路由。本质上,传统的网络体系结构把发 现网络组件并且确定如何路由数据流量到某个目的地的任务留给了网络设备。
[0020] 第二种类型的网络体系结构被称为软件定义的网络体系结构。在这种体系结构 中,控制器应用在网络中的数据处理系统执行。控制器与网络中运行的各种网络设备进行 通信,以确定在任何给定的时间的网络的拓扑结构。控制器然后确定要使用的优选的路由 以在两个网络组件之间或在网络中的数据处理系统与网络组件之间发送数据。控制器规定 实现到软件定义的网络体系结构中的每个单独的网络设备的这些优选路由所必须的路由 规则。每个网络设备使用规定的路由规则来转发数据,诸如通过在设备的路由表中存储所 有规定的路由规则。
[0021] 说明性实施例认识到,传统的体系结构和软件定义的体系结构每个都有某些缺 点。例如,在传统的体系结构中,网络设备不能有效地确定整个网络的拓扑结构或确定网络 的全局状态,诸如网络设备不直接访问的网络组件的状态。
[0022] 说明性实施例认识到,这种全局可见性的缺乏导致很差的可用资源利用率和端对 端的服务质量(QoS)管理。例如,即使在网络中添加了与较低性能的链路并行的新的高性 能链路,网络设备也可能维护经较旧的较低性能的链路的路由,至少持续显著的一段时间, 直到较低性能的链路被去除,或者该网络设备被通知该高性能链路。
[0023] 说明性实施例还认识到,软件定义的体系结构对变化的网络状态的响应是有限 的。例如,当前使用的控制器不能与网络设备一样快速地响应局域网中状态的变化,诸如链 路失效、设备失效、链路降级、拥塞、等等。
[0024] 而且,说明性实施例认识到,当前使用的控制器必须知道每个网络设备的全部能 力以便能够规定准备好加载到每个网络设备的路由表中的路由规则。另外,高可用性和高 可靠性配置会具有在网络中执行的多个控制器。说明性实施例认识到,诸如缓冲区和表的 共享资源的管理以及冲突避免变得很成问题。
[0025] 用于描述本发明的说明性实施例一般性地讨论并解决涉及网络体系结构的上述 问题及其它问题。说明性实施例提供了用于软件定义的网络中移交的路由的方法、系统和 计算机程序产品。
[0026] 非循环路由是不包括返回访问已经在路由中访问过的节点的任何路径的路由。在 网络中,非循环路由确保数据分组不经过同一网络设备两次来到达目的地。实施例改进了 控制器,使得控制器在给定的网络中创建从每个源端到每个目的地的路由的非循环的集 合。源端可以是发起数据的数据处理系统,或转发或交接该数据到另一个网络设备或数据 处理系统的网络设备。同样,目的地可以是使用该
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1