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

文档序号:9202669阅读:来源:国知局
的全局流表的准确性,在本发明实施例中可以将确定的针对该两个数据流的交换设备的信息进行合并。具体的所述方法还包括:
[0084]判断每个流表项中是否存在修改数据流标识的字段;
[0085]如果是,将修改前的数据流标识和修改后的数据流标识对应的交换设备的信息合并。
[0086]常见的修改数据流标识的字段包括!OUTPUT、SET_VLAN_ID、SET_VLAN_PCP、STRIP_VLAN,SET_DL_SRC、SET_DL_DST、SET_NW_SRC、SET_NW_DST、SET_NW_T0S、SET_TP_SRC 和 SET_TP_DST。网络控制器根据每个修改字段,可以确定修改后的数据流标识。
[0087]图3B为本发明实施例提供的一种基于SDN的全局流表另一生成过程,该过程包括以下步骤:
[0088]S301:网络控制器按照设定的时间间隔,获取网络拓扑图中每台交换设备上保存的转发流表。
[0089]S302:根据转发流表中每个流表项的匹配域字段,确定具有相同数据流标识的交换设备的信息的集合,其中所述交换设备的信息包括:交换设备的标识信息及其转发该数据流的端口的信息。
[0090]S303:根据转发数据流的顺序,在每个集合中确定交换设备的信息的存储顺序。
[0091]S304:判断每个流表项中是否存在修改数据流标识的字段,如果是,进行S305,否贝1J,全局流表生成过程结束。
[0092]S305:将修改前的数据流标识和修改后的数据流标识对应的交换设备的信息合并。
[0093]当网络控制器识别到流表项中存在修改数据流标识的字段时,则记录下修改前的数据流标识及修改后的数据流标识,例如发现数据流标识match_l和match_3分别为修改前和修改后的数据流标识。根据识别的结果,将同一数据流修改前和修改后的所有数据流标识集合在一起,按照顺序将每个数据流标识对应的交换设备信息的顺序连接起来。
[0094]具体的,将修改前的数据流标识和修改后的数据流标识对应的交换设备的信息合并包括:
[0095]查找存在数据流标识修改字段的第四交换设备;
[0096]在该第四换设备所在的交换设备的信息的集合之后排列修改后的数据流标识对应的交换设备的信息集合。
[0097]网络控制器根据获取的每个交换设备的转发流表,可以识别出每个转发表项中存在修改数据流标识的字段,根据修改数据流标识的字段,可以确定修改后的数据流标识。根据针对每个数据流标识,确定的该数据流标识对应的二元组集合,将修改前的数据流标识和修改后的数据流标识对应的交换设备的信息合并。
[0098]还以图2为例进行说明,例如网络控制器识别到在交换设备nl当前保存的转发流表中存在数据流标识修改的字段,修改前的数据流标识对应的二元组集合为Knl,3)},修改后的数据流标识对应的二元组集合为,{(n3, 2),(n2, 2),(n6, 2),(n7, null)}。
[0099]采用本发明的上述实施例所示的方法,根据转发数据流的顺序,确定转发链路中交换设备的信息的顺序分别为Knl,3)}和{(n2,2),(n3,2),(η6,2),(n7,null)}。
[0100]网络控制器识别存在数据流标识修改字段的为交换设备nl,nl转发该数据流的端口为端口 3,在二元组集合{(n2,2),(η3,2),(η6,2),(n7,null)}中,交换设备nl的下一跳交换设备为交换设备n2,因此合并后转发链路中交换设备的信息的顺序为{(nl,3),(n2, 2),(n3, 2),(n6, 2),(n7, null)}。
[0101]由于在本发明实施例中可以根据交换设备中保存的转发流表,识别出归属于同一转发链路的交换设备,并根据转发数据流的顺序,确定转发链路中交换设备的顺序。因此可以有效的获取当前周期网络拓扑中的每个数据流的信息,从而可以实现对整个网络数据流的管控,对恶意流进行遏制,提高网络的安全性。
[0102]图4为本发明实施例提供的一种基于SDN的全局流表生成装置结构示意图,所述装置包括:
[0103]获取模块41,用于按照设定的时间间隔,获取网络拓扑图中每台交换设备上保存的转发流表;
[0104]分类模块42,用于根据每个流表项中记录的匹配域字段,确定具有相同数据流标识的交换设备的信息的集合,其中所述交换设备的信息包括:交换设备的标识信息及其转发该数据流的端口的信息;
[0105]排序模块43,用于根据转发数据流的顺序,在每个集合中确定交换设备的信息的存储顺序。
[0106]所述装置还包括:
[0107]合并模块44,用于判断每个流表项中是否存在修改数据流标识的字段;如果是,将修改前的数据流标识和修改后的数据流标识对应的交换设备的信息合并。
[0108]所述合并模块44,具体用于根据网络拓扑、存在数据流标识修改字段的第四交换设备及第四交换设备转发该数据流的端口 ;在修改后的数据流标识对应的交换设备的信息中,查找该第四交换设备的下一跳交换设备;将该下一跳交换设备所在交换设备的信息的集合排列在第四交换设备所在的交换设备的信息的集合之后。
[0109]所述排序模块43,具体用于根据每个集合中包含的交换设备的信息,在网络拓扑图中标记每个交换设备;在该集合中选择任一第一交换设备的信息;判断该第一交换设备的该端口是否为无效端口 ;如果是,则确定该第一交换设备位于转发链路的末端,根据网络拓扑图中的标记识别该集合中与该第一交换设备连接的上一跳第二交换设备,将该第二交换设备的信息排列在第一交换设备的信息之前,之后继续识别第二交换设备的上一跳交换设备,直至将该集合中的交换设备的信息排序完成;如果否,根据网络拓扑图中的标记,判断在该集合中与第一交换设备连接的第二交换设备是否为一台;如果是,确定第一交换设备位于转发链路的首端,根据网络拓扑图中的标记及该第一交换设备转发该数据流的端口,识别该集合中与该第一交换设备连接的下一跳第二交换设备,将该第二交换设备的信息排列在第一交换设备的信息之后,之后继续识别第二交换设备的下一跳交换设备,直至将该集合中的交换设备的信息排序完成;如果否,根据网络拓扑图中的标记及该第一交换设备转发该数据流的端口,识别该集合中第一交换设备连接的下一跳第二交换设备,将该下一跳第二交换设备的信息排列在该第一交换设备的信息之后,当该下一跳第二交换设备的端口非无效端口时,继续识别该集合中与第二交换设备连接的下一跳第三交换设备,直至查找到的第三交换设备的端口为无效端口 ;并根据网络拓扑图中的标记识别该集合中第一交换设备连接的上一跳第二交换设备,将该上一跳交换设备的信息排列在第一交换设备的信息之前,当该集合中与该上一跳第二交换设备连接的交换设备非一台时,继续识别该集合中与该第二交换设备连接的上一跳第三交换设备,直至查找到该集合中与第三交换设备连接的交换设备为一台。
[0110]本发明实施例提供了一种基于SDN的全局流表生成方法及装置,该方法中网络设控制器按照设定的时间间隔获取每台交换设备上保存的转发流表,根据每个流表项的匹配域字段,确定具有相同数据流标识的交换设备的信息的集合,在每个集合中根据转发数据流的顺序,确定转发链路中交换设备的信息的顺序。由于在本发明实施例中可以根据交换设备中保存的转发流表,识别出归属于同一转发链路的交换设备,并根据转发数据流的顺序,确定转发链路中交换设备的顺序。因此可以有效的获取当前周期网络拓扑中的每个数据流的信息,从而可以实现对整个网络数据流的管控,对恶意流进行遏制,提高网络的安全性。
[0111]对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0112]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1