数据包转发控制方法、装置和软件定义网络的架构系统的制作方法

文档序号:8322161阅读:289来源:国知局
数据包转发控制方法、装置和软件定义网络的架构系统的制作方法
【技术领域】
[0001]本发明涉及软件定义网络技术领域,尤其涉及一种数据包转发控制方法、装置和软件定义网络的架构系统。
【背景技术】
[0002]近年来,基于OpenFlow 协议的软件定义网络(Software Defined Network, SDN)技术已成为业界研究的终点和热点,其核心特点是实现数据平面和控制平面的分离,数据平面由支持OpenFlow协议的交换机(简称OpenFlow交换机)和终端等组成,控制平面则是由一个被称为控制器(Contro 11 er )的网元对全网进行集中式控制。具体的,OpenF1w交换机只负责根据流表信息对数据包进行转发,而流表信息则由控制器控制。
[0003]在一个小规模的网络中,利用单一的控制器来集中管理整个网络的流量是可行的,但是对于大规模的网络而言,单一的控制器需要对全网的流量进行控制,从而导致该控制器的网络负荷非常大,在处理数据包的流表信息时效率会比较低,潜在会造成数据包转发的延时。

【发明内容】

[0004]本发明实施例提供一种数据包转发控制方法、装置和软件定义网络的架构系统,用以解决现有技术中单一的控制器在对全网的流量进行控制时,网络负荷大且处理效率低的问题。
[0005]本发明实施例采用以下技术方案:
[0006]一种数据包转发控制方法,应用于软件定义网络中,所述软件定义网络中包括多个控制器,每个控制器管辖相应的网络域,所述方法包括:
[0007]所述控制器根据接收到待转发的数据包的转发请求,确定所述数据包的目的节占.
[0008]根据确定出的所述目的节点,判断自身管辖的网络域中是否存在所述数据包的路由转发路径;
[0009]当判断出自身管辖的网络域中存在所述路由转发路径时,将所述路由转发路径写入流表中,并通知所述路由转发路径中的各转发节点按照所述流表对所述数据包进行转发;
[0010]当判断出自身管辖的网络域中不存在所述路由转发路径时,向与所述控制器相连的其他控制器发送所述转发请求,以指示所述其他控制器确定所述数据包的流表,并根据所述其他控制器确定出的流表,通知处于自身管辖的网络域内的转发节点对所述数据包进行转发。
[0011]可选的,根据确定出的所述目的节点,判断自身管辖的网络域中是否存在所述数据包的路由转发路径,具体包括:
[0012]根据确定出的所述目的节点和自身管辖的网络域的网络拓扑信息,判断所述目的节点是否在自身管辖的网络域内;
[0013]当判断出所述目的节点不在自身管辖的网络域内时,则自身管辖的网络域中不存在所述数据包的路由转发路径;
[0014]当判断出所述目的节点在自身管辖的网络域内时,根据自身管辖的网络域的链路资源状态,判断自身管辖的网络域内是否存在满足预先设置的转发条件的路由转发路径;其中,所述转发条件为:路由转发路径中的各转发节点之间的链路利用率小于预设门限值;
[0015]当判断出自身管辖的网络域内存在满足所述转发条件的路由转发路径时,则自身管辖的网络域中存在所述数据包的路由转发路径;
[0016]当判断出自身管辖的网络域内不存在满足所述转发条件的路由转发路径时,则自身管辖的网络域中不存在所述数据包的路由转发路径。
[0017]可选的,所述多个控制器按照级别划分,且相邻级别的控制器之间,高级别的控制器与一个或多个低级别的控制器相连,管辖与其相连的低级别的控制器所管辖的网络域;则
[0018]向与所述控制器相连的其他控制器发送所述转发请求,具体包括:
[0019]向与所述控制器相连的上一级的控制器发送所述转发请求。
[0020]可选的,所述多个控制器的级别相同,任意一个控制器与一个或多个控制器相连,且各控制器管辖的网络域互不重复;则
[0021]向与所述控制器相连的其他控制器发送所述转发请求,具体包括:
[0022]向与所述控制器相连的同级别的其他控制器发送所述转发请求。
[0023]一种控制器,应用于软件定义网络中,所述软件定义网络中包括多个控制器,每个控制器管辖相应的网络域,所述控制器包括:
[0024]目的节点确定单元,用于根据接收到待转发的数据包的转发请求,确定所述数据包的目的节点;
[0025]判断单元,用于根据目的节点确定单元确定出的所述目的节点,判断自身管辖的网络域中是否存在所述数据包的路由转发路径;
[0026]第一流表确定单元,用于当判断单元判断出自身管辖的网络域中存在所述路由转发路径时,将所述路由转发路径写入流表中,并通知所述路由转发路径中的各转发节点按照所述流表对所述数据包进行转发;
[0027]第二流表确定单元,用于当判断单元判断出自身管辖的网络域中不存在所述路由转发路径时,向与所述控制器相连的其他控制器发送所述转发请求,以指示所述其他控制器确定所述数据包的流表,并根据所述其他控制器确定出的流表,通知处于自身管辖的网络域内的转发节点对所述数据包进行转发。
[0028]可选的,所述判断单元,具体用于:
[0029]根据确定出的所述目的节点和自身管辖的网络域的网络拓扑信息,判断所述目的节点是否在自身管辖的网络域内;
[0030]当判断出所述目的节点不在自身管辖的网络域内时,则自身管辖的网络域中不存在所述数据包的路由转发路径;
[0031]当判断出所述目的节点在自身管辖的网络域内时,根据自身管辖的网络域的链路资源状态,判断自身管辖的网络域内是否存在满足预先设置的转发条件的路由转发路径;其中,所述转发条件为:路由转发路径中的各转发节点之间的链路利用率小于预设门限值;
[0032]当判断出自身管辖的网络域内存在满足所述转发条件的路由转发路径时,则自身管辖的网络域中存在所述数据包的路由转发路径;
[0033]当判断出自身管辖的网络域内不存在满足所述转发条件的路由转发路径时,则自身管辖的网络域中不存在所述数据包的路由转发路径。
[0034]可选的,所述软件定义网络中的多个控制器按照级别划分,且相邻级别的控制器之间,高级别的控制器与一个或多个低级别的控制器相连,管辖与其相连的低级别的控制器所管辖的网络域;则
[0035]所述其他控制器为与所述控制器相连的上一级的控制器。
[0036]可选的,所述软件定义网络中的多个控制器的级别相同,任意一个控制器与一个或多个控制器相连,且各控制器管辖的网络域互不重复;则
[0037]所述其他控制器为与所述控制器相连的同级别的其他控制器。
[0038]一种软件定义网络的架构系统,包括多个如上述的控制器,且每个网络域内设置有网络链路资源状态监测装置,其中,
[0039]所述网络链路资源状态装置,用于向其所在的网络域对应的控制器上报所述网络域的链路资源状态。
[0040]本发明实施例的有益效果如下:
[0041]本发明实施例通过在软件定义网络中设置有多个控制器,且每个控制器管辖相应的网络域,使得当有控制器接收到数据包转发请求后,能够优先在自身管辖的网络域中判断是否能够确定该数据包的流表,当在自身管辖的网络
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1