一种基于sdn的全局流表生成方法及装置的制造方法

文档序号:9202669阅读:401来源:国知局
一种基于sdn的全局流表生成方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,特别涉及一种基于SDN的全局流表生成方法及装置。
【背景技术】
[0002]随着互联网技术的迅速发展,大型数据中心出现了许多运营问题,如网络设备没有开放接口、网络设备之间的互操作性不好、网络规模很难扩充等。软件定义网络(Software-Defined Networking, SDN)的发展为上述问题提出了可能的解决方案。SDN通过软件的形式重构现有网络,颠覆了现有的网络的通信和管理模式,将控制功能从网络节点分离出来,以可编程的方式控制流量,构建动态、开放、可控的网络环境。
[0003]作为一种崭新的网络架构体系,虽然SDN有诸多优点,但是由于其结构、部署和架构等方面的限制,使得基于SDN不具备全局的视野能力,无法进行集中管控和对跨设备的数据流进行完整的还原和分析,只能对局部数据进行检测。例如,基于SDN的检测端监测到恶意数据流时,只能分析检测端周围的节点数据,无法对该数据流进行准确的监测和遏抑。

【发明内容】

[0004]本发明实施例公开了一种基于SDN的全局流表生成方法及装置,用于生成全局流表,提高网络的安全性及可控性。
[0005]为达到上述目的,本发明实施例公开了一种基于SDN的全局流表生成方法,所述方法包括:
[0006]网络控制器按照设定的时间间隔,获取网络拓扑图中每台交换设备上保存的转发流表;
[0007]根据每个流表项中记录的匹配域字段,确定具有相同数据流标识的交换设备的信息的集合,其中所述交换设备的信息包括:交换设备的标识信息及其转发该数据流的端口的信息;
[0008]根据转发数据流的顺序,在每个集合中确定交换设备的信息的存储顺序。
[0009]进一步地,所述方法还包括:
[0010]判断每个流表项中是否存在修改数据流标识的字段;
[0011]如果是,将修改前的数据流标识和修改后的数据流标识对应的交换设备的信息合并。
[0012]进一步地,所述将修改前的数据流标识和修改后的数据流标识对应的交换设备的信息合并包括:
[0013]查找存在数据流标识修改字段的第四交换设备;
[0014]在该第四换设备所在的交换设备的信息的集合之后排列修改后的数据流标识对应的交换设备的信息集合。
[0015]进一步地,所述修改数据流标识的字段包括以下字段中的至少一种:
[0016]OUTPUT、SET_VLAN_ID、SET_VLAN_PCP、STRIP_VLAN、SET_DL_SRC、SET_DL_DST、SET_NW_SRC、SET_NW_DST、SET_NW_TOS、SET_TP_SRC 和 SET_TP_DST。
[0017]进一步地,所述根据转发数据流的顺序,在每个集合中确定交换设备的信息的存储顺序包括:
[0018]根据每个集合中包含的交换设备的信息,在网络拓扑图中标记每个交换设备;
[0019]采用广度优先搜索算法,在每个集合中确定转发链路中交换设备的信息的存储顺序。
[0020]进一步地,所述采用广度优先搜索算法,在每个集合中确定转发链路中交换设备的信息的顺序包括:
[0021]针对每个集合,在该集合中选择任一第一交换设备的信息;
[0022]判断该第一交换设备的该端口是否为无效端口 ;
[0023]如果是,则确定该第一交换设备位于转发链路的末端,根据网络拓扑图中的标记识别该集合中与该第一交换设备连接的上一跳第二交换设备,将该第二交换设备的信息排列在第一交换设备的信息之前,之后继续识别第二交换设备的上一跳交换设备,直至将该集合中的交换设备的信息排序完成;
[0024]如果否,根据网络拓扑图中的标记,判断在该集合中与第一交换设备连接的第二交换设备是否为一台;
[0025]如果是,确定第一交换设备位于转发链路的首端,根据网络拓扑图中的标记及该第一交换设备转发该数据流的端口,识别该集合中与该第一交换设备连接的下一跳第二交换设备,将该第二交换设备的信息排列在第一交换设备的信息之后,之后继续识别第二交换设备的下一跳交换设备,直至将该集合中的交换设备的信息排序完成;
[0026]如果否,根据网络拓扑图中的标记及该第一交换设备转发该数据流的端口,识别该集合中第一交换设备连接的下一跳第二交换设备,将该下一跳第二交换设备的信息排列在该第一交换设备的信息之后,当该下一跳第二交换设备的端口非无效端口时,继续识别该集合中与第二交换设备连接的下一跳第三交换设备,直至查找到的第三交换设备的端口为无效端口 ;并根据网络拓扑图中的标记识别该集合中第一交换设备连接的上一跳第二交换设备,将该上一跳交换设备的信息排列在第一交换设备的信息之前,当该集合中与该上一跳第二交换设备连接的交换设备非一台时,继续识别该集合中与该第二交换设备连接的上一跳第三交换设备,直至查找到该集合中与第三交换设备连接的交换设备为一台。
[0027]本发明实施例公开了一种基于SDN的全局流表生成装置,所述装置包括:
[0028]获取模块,用于按照设定的时间间隔,获取网络拓扑图中每台交换设备上保存的转发流表;
[0029]分类模块,用于根据每个流表项中记录的匹配域字段,确定具有相同数据流标识的交换设备的信息的集合,其中所述交换设备的信息包括:交换设备的标识信息及其转发该数据流的端口的信息;
[0030]排序模块,用于根据转发数据流的顺序,在每个集合中确定交换设备的信息的存储顺序。
[0031]进一步地,所述装置还包括:
[0032]合并模块,用于判断每个流表项中是否存在修改数据流标识的字段;如果是,将修改前的数据流标识和修改后的数据流标识对应的交换设备的信息合并。
[0033]进一步地,所述合并模块,具体用于根据网络拓扑、存在数据流标识修改字段的第四交换设备及第四交换设备转发该数据流的端口 ;在修改后的数据流标识对应的交换设备的信息中,查找该第四交换设备的下一跳交换设备;将该下一跳交换设备所在交换设备的信息的集合排列在第四交换设备所在的交换设备的信息的集合之后。
[0034]进一步地,所述排序模块,具体用于针对每个集合,根据每个集合中包含的交换设备的信息,在网络拓扑图中标记每个交换设备;在该集合中选择任一第一交换设备的信息;判断该第一交换设备的该端口是否为无效端口 ;如果是,则确定该第一交换设备位于转发链路的末端,根据网络拓扑图中的标记识别该集合中与该第一交换设备连接的上一跳第二交换设备,将该第二交换设备的信息排列在第一交换设备的信息之前,之后继续识别第二交换设备的上一跳交换设备,直至将该集合中的交换设备的信息排序完成;如果否,根据网络拓扑图中的标记,判断在该集合中与第一交换设备连接的第二交换设备是否为一台;如果是,确定第一交换设备位于转发链路的首端,根据网络拓扑图中的标记及该第一交换设备转发该数据流的端口,识别该集合中与该第一交换设备连接的下一跳第二交换设备,将该第二交换设备的信息排列在第一交换设备的信息之后,之后继续识别第二交换设备的下一跳交换设备,直至将该集合中的交换设备的信息排序完成;如果否,根据网络拓扑图中的标记及该第一交换设备转发该数据流的端口,识别该集合中第一交换设备连接的下一跳第二交换设备,将该下一跳第二交换设备的信息排列在该第一交换设备的信息之后,当该下一跳第二交换设备的端口非无效端口时,继续识别该集合中与第二交换设备连接的下一跳第三交换设备,直至查找到的第三交换设备的端口为无效端口 ;并根据网络拓扑图中的标记识别该集合中第一交换设备连接的上一跳第二交换设备,将该上一跳交换设备的信息排列在第一交换设备的信息之前,当该集合中与该上一跳第二交换设备连接的交换设备非一台时,继续识别该集合中与该第二交换设备连接的上一跳第三交换设备,直至查找到该集合中与第三交换设备连接的交换设备为一台。
[0035]本发明实施例提供了一种基于SDN的全局流表生成方法及装置,该方法中网络设控制器按照设定的时间间隔,获取每台交换设备上保存的转发流表,根据每个流表项的匹配
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1