一种处理流表的方法及装置制造方法及图纸

技术编号:15441629 阅读:32 留言:0更新日期:2017-05-26 06:43
本发明专利技术涉及通信领域,具体涉及一种处理流表的方法及装置。其中,方法包括:所述交换机监测所述交换机的流表的负载;当所述交换机的流表的负载超过预设阈值时,所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象;当确定的所述扩散对象为与所述交换机的相邻交换机时,所述交换机向所述相邻交换机转发所述目标数据流。当所述交换机流表的负载超过预设阈值时,所述交换机可能遭到攻击,将匹配流表项失败的数据流按照扩散概率转发到相邻的交换机由相邻交换机进行处理,从而降低该交换机更新流表项的频率,提高正常数据流的命中率,降低转发正常数据流的时延。

Method and device for processing flow table

The invention relates to the field of communication, in particular to a method and a device for processing a flow table. The method comprises the following steps: a switch switch monitors the flow table load; when the switch load flow table exceeds the preset threshold value, the switch determines the target object diffusion data stream according to the matching rule of diffusion flow table; when determining the diffusion of adjacent switches and the like the switch, the switch to the adjacent switch transmits the target data stream. When the load switch flow table exceeds the preset threshold value, the switch may attack will match the flow table failure data stream according to the diffusion probability of forwarding to the adjacent switch processed by adjacent switches, thereby reducing the switch table update stream frequency, improve the normal data stream hit rate, reduce the delay forwarding the normal data stream.

【技术实现步骤摘要】
一种处理流表的方法及装置
本专利技术涉及通信领域,具体涉及一种处理流表的方法及装置。
技术介绍
SDN(software-definednetworking,软件定义网络)是一种控制与转发相分离的网络架构。在SDN架构中,网络设备的控制功能会被抽象到一台控制器上,并由该控制器向各个网络设备下发流表项。网络设备接收并保存控制器下发的流表项,并依据此流表项对数据流进行操作,例如数据流的转发、丢弃、修改等操作。SDN基于流的控制使得交换机流表消耗极快,而SDN交换机的硬件流表一般由TCAM(TernaryContent-AddressableMemory,三重内容寻址内存)实现,但是TCAM容量有限,因此攻击者可通过伪造大量数据流以使得控制器向交换机流表中添加大量流表项,甚至充满交换机流表,当该交换机流表无法再继续添加流表项时,交换机需要删除已有的流表项,以添加新的流表项。从上可知,当交换机受到攻击时,交换机会在短时间内接收到大量的攻击数据流,而这些攻击数据流未能匹配到交换机中存储的流表项,那么交换机就需要向控制器发送Packet_in数据包以便获取与攻击数据流匹配的流表项,但是由于交换机流表容量有限,从而正常数据流的流表项将被攻击数据流的流表项替换出交换机,导致正常的数据流无法命中,造成处理正常的数据流的时延增加。
技术实现思路
本专利技术实施例提供了一种处理流表的方法及装置,该方法使得交换机能够快速处理数据流,缩短正常数据流处理的时延。本专利技术实施例的第一方面公开了一种处理流表的方法,所述方法应用于软件定义网络SDN中,所述SDN包括控制器和交换机,所述方法包括:所述交换机监测所述交换机的流表的负载;当所述交换机的流表的负载超过预设阈值时,所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象,其中,所述目标数据流是指匹配所述交换机流表失败的数据流,所述扩散流表是所述控制器下发的;当确定的所述扩散对象为与所述交换机的相邻交换机时,所述交换机向所述相邻交换机转发所述目标数据流。结合第一方面,在第一方面的第一种可能的实现方式中,所述匹配规则包括所述交换机的端口号和所述扩散对象的对应关系;在所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象之前,所述方法还包括:所述交换机确定入端口的端口号,其中,所述入端口是指所述交换机接收到所述目标数据流的端口;所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象,包括:所述交换机根据所述入端口的端口号和所述匹配规则确定所述目标数据流的扩散对象。结合第一方面,在第一方面的第二种可能的实现方式中,所述匹配规则包括数字区间与所述扩散对象的对应关系,其中,一个数字区间对应一个扩散对象,并且所述匹配规则中有至少两个数字区间;所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象之前,所述方法还包括:所述交换机对所述目标数据流的包头域进行哈希计算,获得数值;所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象具体包括:所述交换机确定所述数值所在的数字区间;所述交换机根据所述数字区间和所述匹配规则确定所述扩散对象。结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象之后,所述方法还包括:当确定所述扩散对象为所述控制器时,所述交换机向所述控制器请求与所述目标数据流匹配的流表项。在本专利技术的第二方面,公开了另一种处理流表的方法,所述方法应用于软件定义网络SDN中,所述SDN包括控制器和多个交换机,所述方法包括:所述控制器根据网络拓扑确定与所述第一交换机直接连接的第二交换机,其中,所述第一交换机是所述多个交换机中的任意一个交换机,所述第二交换机是所述多个交换机中除第一交换机外的其他交换机,所述第二交换机的数量为至少一个;所述控制器获取所述第二交换机的流表的负载;所述控制器根据所述第二交换机的流表的负载确定所述第一交换机的扩散流表;所述控制器向所述第一交换机发送所述扩散流表。结合第二方面,在第二方面的第一种可能的实现方式中,所述控制器根据所述交换机的连接关系以及所述交换机的流表的负载确定所述交换机中每个交换机的扩散流表,具体包括:所述控制器根据所述第一交换机与所述第二交换机的连接关系确定所述第一交换机的转发路径,其中,所述转发路径是指所述第一交换机与所述第二交换机之间的路径;所述控制器根据每条转发路径中第二交换机的流表的负载确定所述每条转发路径的扩散概率;所述控制器根据所述每条转发路径的扩散概率确定所述第一交换机的扩散流表。结合第二方面的第一种可能的实现方式中,在第二方面的第二种可能的实现方式中,所述控制器根据所述每条转发路径的扩散概率确定所述第一交换机的扩散流表,包括:所述控制器根据所述每条转发路径的扩散概率确定每条转发路径所对应的所述第一交换机的出端口的数量,所述第一交换机的出端口用于转发数据流;所述控制器根据所述每条转发路径以及所述每条转发路径所对应的所述第一交换机的出端口的数量确定所述第一交换机的扩散流表。结合第二方面的第一种可能的实现方式中,在第二方面的第三种可能的实现方式中,所述控制器根据所述每条转发路径的扩散概率确定所述第一交换机的扩散流表,包括:所述控制器根据所述每条转发路径的扩散概率确定每条转发路径所对应的数字区间;所述控制器根据所述每条转发路径以及所述每条转发路径所对应的数字区间确定所述第一交换机的扩散流表。本专利技术的第三方面,公开了另一种处理流表的方法,所述方法应用于软件定义网络SDN中,所述方法包括:交换机监测所述交换机流表的状态,所述交换机流表的状态用于指示所述流表的负载;当所述交换机流表的负载超过预设阈值时,所述交换机根据扩散概率向相邻交换机转发目标数据流,其中,所述目标数据流是指匹配所述交换机流表失败的数据流。结合第三方面,在第三方面的第一种可能的实现方式中,所述交换机根据扩散概率向相邻交换机扩散目标数据流之前,所述方法还包括:所述交换机按照下列公式计算所述扩散概率;其中,PS是指扩散概率,Pmax是指预设最大扩散概率,Pmin是指预设最小概率,avg是所述流表使用率,maxthresh是指第一阈值,minthresh是指第二阈值,其中所述第一阈值大于所述第二阈值。结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,当所述交换机流表的使用率大于第一阈值时,所述方法还包括:所述交换机按照所述预设最大扩散概率向所述相邻交换机转发所述目标数据流。本专利技术的第四方面,公开了另一种处理流表的方法,所述方法应用于软件定义网络SDN中,所述SDN包括控制器和多个交换机,所述方法包括:所述控制器获取所述多个交换机的流表的负载;所述控制器根据网络拓扑确定所述多个交换机的连接关系;所述控制器根据所述多个交换机的连接关系以及所述多个交换机中每个交换机的流表的负载确定每条转发路径的权重,其中,所述转发路径为两个直接连接的交换机之间的路径;所述控制器根据所述每条转发路径的权重确定所述SDN中数据流的传输路径以使得所述SDN处于负载均衡状态。结合第四方面,在第四方面的第一种可能的实现方式中,所述控制器根据所述多个交换机本文档来自技高网...
一种处理流表的方法及装置

【技术保护点】
一种处理流表的方法,所述方法应用于软件定义网络SDN中,所述SDN包括控制器和交换机,其特征在于,所述方法包括:所述交换机监测所述交换机的流表的负载;当所述交换机的流表的负载超过预设阈值时,所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象,其中,所述目标数据流是指匹配所述交换机流表失败的数据流,所述扩散流表是所述控制器下发的;当确定的所述扩散对象为与所述交换机的相邻交换机时,所述交换机向所述相邻交换机转发所述目标数据流。

【技术特征摘要】
1.一种处理流表的方法,所述方法应用于软件定义网络SDN中,所述SDN包括控制器和交换机,其特征在于,所述方法包括:所述交换机监测所述交换机的流表的负载;当所述交换机的流表的负载超过预设阈值时,所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象,其中,所述目标数据流是指匹配所述交换机流表失败的数据流,所述扩散流表是所述控制器下发的;当确定的所述扩散对象为与所述交换机的相邻交换机时,所述交换机向所述相邻交换机转发所述目标数据流。2.如权利要求1所述的方法,其特征在于,所述匹配规则包括所述交换机的端口号和所述扩散对象的对应关系;在所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象之前,所述方法还包括:所述交换机确定入端口的端口号,其中,所述入端口是指所述交换机接收到所述目标数据流的端口;所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象,包括:所述交换机根据所述入端口的端口号和所述匹配规则确定所述目标数据流的扩散对象。3.如权利要求1所述的方法,其特征在于,所述匹配规则包括数字区间与所述扩散对象的对应关系,其中,一个数字区间对应一个扩散对象,并且所述匹配规则包括至少两个数字区间;所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象之前,所述方法还包括:所述交换机对所述目标数据流的包头域进行哈希计算,获得数值;所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象具体包括:所述交换机确定所述数值所在的数字区间;所述交换机根据所述数字区间和所述匹配规则确定所述扩散对象。4.如权利要求1至3任一所述的方法,其特征在于,所述方法还包括:当确定的所述扩散对象为所述控制器时,所述交换机向所述控制器请求与所述目标数据流匹配的流表项。5.一种处理流表的方法,所述方法应用于软件定义网络SDN中,所述SDN包括控制器和多个交换机,其特征在于,所述方法包括:所述控制器根据网络拓扑确定与第一交换机直接连接的第二交换机,其中,所述第一交换机是所述多个交换机中的任意一个交换机,所述第二交换机是所述多个交换机中除第一交换机外的其他交换机,所述第二交换机的数量为至少一个;所述控制器获取所述第二交换机的流表的负载;所述控制器根据所述第二交换机的流表的负载确定所述第一交换机的扩散流表;所述控制器向所述第一交换机发送所述扩散流表。6.如权利要求5所述的方法,其特征在于,所述控制器根据所述第二交换机的流表的负载确定所述第一交换机的扩散流表,包括:所述控制器根据所述第一交换机与所述第二交换机的连接关系确定所述第一交换机的转发路径,其中,所述转发路径是指所述第一交换机与所述第二交换机之间的路径;所述控制器根据每条转发路径中第二交换机的流表的负载确定所述每条转发路径的扩散概率;所述控制器根据所述每条转发路径的扩散概率确定所述第一交换机的扩散流表。7.如权利要求6所述的方法,其特征在于,所述控制器根据所述每条转发路径的扩散概率确定所述第一交换机的扩散流表,包括:所述控制器根据所述每条转发路径的扩散概率确定每条转发路径所对应的所述第一交换机的出端口的数量,所述第一交换机的出端口用于转发数据流;所述控制器根据所述每条转发路径以及所述每条转发路径所对应的所述第一交换机的出端口的数量确定所述第一交换机的扩散流表。8.如权利要求6所述的方法,其特征在于,所述控制器根据所述每条传输路径的扩散概率确定所述第一交换机的扩散流表,包括:所述控制器根据所述每条传输路径的扩散概率确定每条传输路径所对应的数字区间;所述控制器根据所述每条传输路径以及所述每条传输路径所对应的数字区间确定所述第一交换机的扩散流表。9.一种处理流表的方法,所述方法应用于软件定义网络SDN中,其特征在于,所述方法包括:交换机监测所述交换机流表的负载;当所述交换机流表的负载超过预设阈值时,所述交换机根据扩散概率向相邻交换机转发目标数据流,其中,所述目标数据流是指匹配所述交换机流表失败的数据流。10.如权利要求9所述的方法,其特征在于,所述交换机根据扩散概率向相邻交换机扩散目标数据流之前,所述方法还包括:所述交换机按照下列公式计算所述扩散概率;其中,PS是指扩散概率,Pmax是指预设最大扩散概率,Pmin是指预设最小概率,流表使用率用于指示流表的负载,avg是所述流表使用率,maxthresh是指第一阈值,minthresh是指第二阈值,其中所述第一阈值大于所述第二阈值。11.如权利要求10所述的方法,其特征在于,当所述交换机流表的使用率大于第一阈值时,所述方法还包括:所述交换机按照所述预设最大扩散概率向所述相邻交换机转发所述目标数据流。12.一种处理流表的方法,所述方法应用于软件定义网络SDN中,所述SDN包括控制器和多个交换机,其特征在于,所述方法包括:所述控制器获取所述多个交换机的流表的负载;所述控制器根据网络拓扑确定所述多个交换机的连接关系;所述控制器根据所述多个交换机的连接关系以及所述多个交换机中每个交换机的流表的负载确定每个转发路径的权重,其中,所述转发路径为两个直接连接的交换机之间的路径;所述控制器根据所述每条传输路径的权重确定所述SDN中数据流的传输路径以使得所述SDN处于负载均衡状态。13.如权利要求12所述的方法,其特征在于,所述控制器根据所述多个交换机的连接关系以及所述多个交换机中每个交换机的流表使用率确定每条转发路径的权重,包括:所述控制器根据所述多个交换机的连接关系确定每条转发路径;所述控制器确定所述每条转发路径中包含的交换机;所述控制器根据所述每条转发路径中目标交换机的流表的负载确定所述每条转发路径的权重,其中,目标交换机是指转发路径中接收数据流的交换机。14.权利要求13所述的方法,其特征在于,所述控制器根据所述每条传输路径中目标交换机的流表的负载确定所述每条转发路径的权重,具体包括:所述控制器根据以下计算公式进行计算所述每条转发路径的权重:其中,用流表使用率表示流表的负载,所述TH是预设的流表使用率阈值,Max是预设的常数,f(ij)表示交换机i到交换机j的权重,t表示交换机j的流表使用率,所述交换机i属于所述多个交换机,所述交换机j属于所述多个交换机。15.一种交换机,所述交换机应用于...

【专利技术属性】
技术研发人员:李金明胡成臣张朋
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1