This application describes a system and method for detecting abnormal routing loops in computer networks when new packet rules are introduced into computer networks.
【技术实现步骤摘要】
检测软件定义网络(SDN)中的路由环路的系统和方法
本申请涉及一种用于检测计算机网络中,或更具体地,软件定义网络(SDN)中的异常路由环路的系统和方法。
技术介绍
通常网络控制器使用的用于确定通过交换机网络的网络数据包的路径的通信协议是OpenFlow通信协议。该通信协议使网络管理员能够在诸如路由器、集线器、无线接入点和/或常规交换机等的网络交换机中执行各种类型的协议。OpenFlow是由开放网路基金会(ONF)发布的OpenFlow交换机规范中定义的,其中ONF是软件提供商、内容交付网络和网络设备供应商的联盟,其目的是促进软件定义网络。OpenFlow通信协议的关键特性是其允许驻留在一个平面上的网络交换机由驻留在不同平面上的控制器管理。正是这一特性使得这种通信协议非常适用于软件定义网络(SDN)。需注意,SDN通常包括两个独立的平面,即控制平面和数据平面。这使得网络的路由机制与传统网络大不相同。虽然SDN为用户提供了更灵活的网络控制,但是SDN有其固有的缺点。此类网络面临的共同挑战在于,当交换机接收到来自控制器的不一致路由信息时,SDN的控制平面与其数据平面中的交换机之间可能存在信息安全问题。OpenFlow协议在数据平面定义了三种类型的表。第一类表包括“流表”,它将输入的数据包与特定流相匹配,并指定要对数据包执行的功能。应注意,可以有多个可配置为以流水线方式操作的流表。流表可以将流导向第二类表,该第二类型表为“组表”。组表包含多个条目,其中每个条目可以触发影响一个或多个流的各种动作。第三类表是“计量表”,这类表可以在流上触发与性能相关的各种动作。通常将 ...
【技术保护点】
1.一种环路检测模块,设置在验证系统内,用于检测计算机网络中的异常路由环路,所述环路检测模块位于所述计算机网络的网络设备与所述计算机网络的控制器之间,所述环路检测模块包括:处理器;以及所述处理器可读的非暂时性介质,所述非暂时性介质存储指令,所述指令由所述处理器执行时使得所述处理器:在所述网络设备接收到数据包规则修改之前,拦截由所述控制器发起的所述数据包规则修改;识别受所述拦截的数据包规则修改影响的等价类;确定与每个受影响的等价类相关联的连接等价类;以及利用所述受影响的等价类以及与每个受影响的等价类相关联的所述连接等价类,来验证受所述拦截的数据包规则修改影响的数据包的路由。
【技术特征摘要】
2017.05.15 SG 10201703959R1.一种环路检测模块,设置在验证系统内,用于检测计算机网络中的异常路由环路,所述环路检测模块位于所述计算机网络的网络设备与所述计算机网络的控制器之间,所述环路检测模块包括:处理器;以及所述处理器可读的非暂时性介质,所述非暂时性介质存储指令,所述指令由所述处理器执行时使得所述处理器:在所述网络设备接收到数据包规则修改之前,拦截由所述控制器发起的所述数据包规则修改;识别受所述拦截的数据包规则修改影响的等价类;确定与每个受影响的等价类相关联的连接等价类;以及利用所述受影响的等价类以及与每个受影响的等价类相关联的所述连接等价类,来验证受所述拦截的数据包规则修改影响的数据包的路由。2.根据权利要求1所述的环路检测模块,其中用于指示所述处理器识别受所述拦截的数据包规则修改影响的所述等价类的所述指令包括:指令,用于指示所述处理器:将通过所述计算机网络发送的数据包分为多个等价类,其中每个等价类包括数据包集,所述数据包集受公共数据包规则集的影响;以及确定受所述拦截的数据包规则修改影响的等价类。3.根据权利要求1所述的环路检测模块,其中用于指示所述处理器识别受所述拦截的数据包规则修改影响的所述等价类的所述指令包括:指令,用于指示所述处理器:将所述拦截的数据包规则修改应用于利用现有数据包规则生成的多维前缀树(Trie树),其中所述Trie树包括多个子树,其中每个子树表示数据包报头域,所述Trie树的每个叶存储相关联的数据包规则集;通过遍历所述Trie树,识别受所述拦截的数据包规则修改影响的现有数据包规则,以确定具有与所述拦截的数据包规则修改重叠的现有数据包规则的叶;以及基于所述重叠的现有数据包规则生成所述受影响的等价类。4.根据权利要求1至3中任一项所述的环路检测模块,其中用于指示所述处理器确定与每个受影响的等价类相关联的所述连接等价类的所述指令包括:指令,用于指示所述处理器:识别具有数据包规则或具有包含报头修改指令的数据包的受影响的等价类;以及为每个所述识别的等价类生成连接等价类。5.根据权利要求4所述的环路检测模块,其中用于指示所述处理器为每个所述识别的等价类生成所述连接等价类的所述指令包括:指令,用于指示所述处理器:利用所述多维前缀树(Trie树)在所述识别的等价类的数据包的报头修改之前或之后,确定与所述识别的等价类的数据包重叠的现有数据包规则;根据重叠规则构建连接等价类。6.根据权利要求5所述的环路检测模块,其中用于指示所述处理器根据重叠规则构建连接等价类的所述指令包括:指令,用于指示所述处理器:针对每个所述识别的等价类,生成前向过滤器,其中所述前向过滤器包括所述报头修改之后的数据包;通过将所述前向过滤器应用于所述多维前缀树(Trie树),识别与所述前向过滤器重叠的现有数据包规则,来确定与所述前向过滤器重叠的所述现有数据包规则;以及将受到与所述前向过滤器重叠的所述现有数据包规则影响的数据包进行分组,以形成连接等价类。7.根据权利要求5所述的环路检测模块,其中用于指示所述处理器根据重叠规则构建连接等价类的所述指令包括:指令,用于指示所述处理器:针对每个所述识别的等价类,生成第一后向过滤器,其中,所述第一后向过滤器包括通过所述报头修改指令将第一原始数据包集修改为所述识别的等价类的数据包之前的所述第一原始数据包集;通过将所述第一后向过滤器应用于所述多维前缀树(Trie树)识别与所述第一后向过滤器重叠的现有数据包规则,来确定与所述第一后向过滤器重叠的所述现有数据包规则;以及将受到与所述第一后向过滤器重叠的所述现有数据包规则影响的数据包进行分组以形成连接等价类。8.根据权利要求5所述的环路检测模块,其中用于指示所述处理器根据重叠规则构建连接等价类的所述指令包括:指令,用于指示所述处理器:针对每个所述识别的等价类,生成第一后向过滤器和第二后向过滤器,其中,所述第一后向过滤器包括通过所述报头修改指令将第一原始数据包集修改为所述识别的等价类的数据包之前的所述第一原始数据包集,所述第二后向过滤器包括通过所述报头修改指令将第二原始数据包集修改为所述识别的等价类的数据包之前的所述第二原始数据包集;通过将所述第一后向过滤器和所述第二后向过滤器应用于所述多维前缀树(Trie树),识别与所述第一后向过滤器和所述第二后向过滤器重叠的现有数据包规则,来确定与所述第一后向过滤器和所述第二后向过滤器重叠的所述现有数据包规则;以及将受到与所述第一后向过滤器重叠的所述现有数据包规则影响的数据包进行分组,以形成与所述第一后向过滤器相关联的连接等价类,并将受到与所述第二后向过滤器重叠的所述现有数据包规则影响的数据包进行分组,以形成与所述第二后向过滤器相关联的连接等价类。9.根据权利要求1至8中任一项所述的环路检测模块,其中用于指示所述处理器验证受所述拦截的数据包规则修改影响的数据包的所述路由的所述指令包括:指令,用于指示所述处理器:利用与每个所述受影响的等价类相关联的连接等价类,为每个所述受影响的等价类构建转发图,其中每个所述转发图表明...
【专利技术属性】
技术研发人员:李琦,朱洁,陈艳毓,李漓春,
申请(专利权)人:华为国际有限公司,清华大学深圳研究生院,
类型:发明
国别省市:新加坡,SG
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。