CN106713182B - 一种处理流表的方法及装置 - Google Patents
一种处理流表的方法及装置 Download PDFInfo
- Publication number
- CN106713182B CN106713182B CN201510486210.0A CN201510486210A CN106713182B CN 106713182 B CN106713182 B CN 106713182B CN 201510486210 A CN201510486210 A CN 201510486210A CN 106713182 B CN106713182 B CN 106713182B
- Authority
- CN
- China
- Prior art keywords
- switch
- flow table
- diffusion
- forwarding path
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/025—Updating only a limited number of routers, e.g. fish-eye update
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/028—Dynamic adaptation of the update intervals, e.g. event-triggered updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
Abstract
本发明涉及通信领域,具体涉及一种处理流表的方法及装置。其中,方法包括:所述交换机监测所述交换机的流表的负载;当所述交换机的流表的负载超过预设阈值时,所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象;当确定的所述扩散对象为与所述交换机的相邻交换机时,所述交换机向所述相邻交换机转发所述目标数据流。当所述交换机流表的负载超过预设阈值时,所述交换机可能遭到攻击,将匹配流表项失败的数据流按照扩散概率转发到相邻的交换机由相邻交换机进行处理,从而降低该交换机更新流表项的频率,提高正常数据流的命中率,降低转发正常数据流的时延。
Description
技术领域
本发明涉及通信领域,具体涉及一种处理流表的方法及装置。
背景技术
SDN(software-defined networking,软件定义网络)是一种控制与转发相分离的网络架构。在SDN架构中,网络设备的控制功能会被抽象到一台控制器上,并由该控制器向各个网络设备下发流表项。网络设备接收并保存控制器下发的流表项,并依据此流表项对数据流进行操作,例如数据流的转发、丢弃、修改等操作。
SDN基于流的控制使得交换机流表消耗极快,而SDN交换机的硬件流表一般由TCAM(Ternary Content-Addressable Memory,三重内容寻址内存)实现,但是TCAM容量有限,因此攻击者可通过伪造大量数据流以使得控制器向交换机流表中添加大量流表项,甚至充满交换机流表,当该交换机流表无法再继续添加流表项时,交换机需要删除已有的流表项,以添加新的流表项。
从上可知,当交换机受到攻击时,交换机会在短时间内接收到大量的攻击数据流,而这些攻击数据流未能匹配到交换机中存储的流表项,那么交换机就需要向控制器发送Packet_in数据包以便获取与攻击数据流匹配的流表项,但是由于交换机流表容量有限,从而正常数据流的流表项将被攻击数据流的流表项替换出交换机,导致正常的数据流无法命中,造成处理正常的数据流的时延增加。
发明内容
本发明实施例提供了一种处理流表的方法及装置,该方法使得交换机能够快速处理数据流,缩短正常数据流处理的时延。
本发明实施例的第一方面公开了一种处理流表的方法,所述方法应用于软件定义网络SDN中,所述SDN包括控制器和交换机,所述方法包括:
所述交换机监测所述交换机的流表的负载;
当所述交换机的流表的负载超过预设阈值时,所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象,其中,所述目标数据流是指匹配所述交换机流表失败的数据流,所述扩散流表是所述控制器下发的;
当确定的所述扩散对象为与所述交换机的相邻交换机时,所述交换机向所述相邻交换机转发所述目标数据流。
结合第一方面,在第一方面的第一种可能的实现方式中,所述匹配规则包括所述交换机的端口号和所述扩散对象的对应关系;
在所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象之前,所述方法还包括:
所述交换机确定入端口的端口号,其中,所述入端口是指所述交换机接收到所述目标数据流的端口;
所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象,包括:
所述交换机根据所述入端口的端口号和所述匹配规则确定所述目标数据流的扩散对象。
结合第一方面,在第一方面的第二种可能的实现方式中,所述匹配规则包括数字区间与所述扩散对象的对应关系,其中,一个数字区间对应一个扩散对象,并且所述匹配规则中有至少两个数字区间;
所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象之前,所述方法还包括:
所述交换机对所述目标数据流的包头域进行哈希计算,获得数值;
所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象具体包括:
所述交换机确定所述数值所在的数字区间;
所述交换机根据所述数字区间和所述匹配规则确定所述扩散对象。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象之后,所述方法还包括:
当确定所述扩散对象为所述控制器时,所述交换机向所述控制器请求与所述目标数据流匹配的流表项。
在本发明的第二方面,公开了另一种处理流表的方法,所述方法应用于软件定义网络SDN中,所述SDN包括控制器和多个交换机,所述方法包括:
所述控制器根据网络拓扑确定与所述第一交换机直接连接的第二交换机,其中,所述第一交换机是所述多个交换机中的任意一个交换机,所述第二交换机是所述多个交换机中除第一交换机外的其他交换机,所述第二交换机的数量为至少一个;
所述控制器获取所述第二交换机的流表的负载;
所述控制器根据所述第二交换机的流表的负载确定所述第一交换机的扩散流表;
所述控制器向所述第一交换机发送所述扩散流表。
结合第二方面,在第二方面的第一种可能的实现方式中,所述控制器根据所述交换机的连接关系以及所述交换机的流表的负载确定所述交换机中每个交换机的扩散流表,具体包括:
所述控制器根据所述第一交换机与所述第二交换机的连接关系确定所述第一交换机的转发路径,其中,所述转发路径是指所述第一交换机与所述第二交换机之间的路径;
所述控制器根据每条转发路径中第二交换机的流表的负载确定所述每条转发路径的扩散概率;
所述控制器根据所述每条转发路径的扩散概率确定所述第一交换机的扩散流表。
结合第二方面的第一种可能的实现方式中,在第二方面的第二种可能的实现方式中,所述控制器根据所述每条转发路径的扩散概率确定所述第一交换机的扩散流表,包括:
所述控制器根据所述每条转发路径的扩散概率确定每条转发路径所对应的所述第一交换机的出端口的数量,所述第一交换机的出端口用于转发数据流;
所述控制器根据所述每条转发路径以及所述每条转发路径所对应的所述第一交换机的出端口的数量确定所述第一交换机的扩散流表。
结合第二方面的第一种可能的实现方式中,在第二方面的第三种可能的实现方式中,所述控制器根据所述每条转发路径的扩散概率确定所述第一交换机的扩散流表,包括:
所述控制器根据所述每条转发路径的扩散概率确定每条转发路径所对应的数字区间;
所述控制器根据所述每条转发路径以及所述每条转发路径所对应的数字区间确定所述第一交换机的扩散流表。
本发明的第三方面,公开了另一种处理流表的方法,所述方法应用于软件定义网络SDN中,所述方法包括:
交换机监测所述交换机流表的状态,所述交换机流表的状态用于指示所述流表的负载;
当所述交换机流表的负载超过预设阈值时,所述交换机根据扩散概率向相邻交换机转发目标数据流,其中,所述目标数据流是指匹配所述交换机流表失败的数据流。
结合第三方面,在第三方面的第一种可能的实现方式中,所述交换机根据扩散概率向相邻交换机扩散目标数据流之前,所述方法还包括:
所述交换机按照下列公式计算所述扩散概率;
其中,PS是指扩散概率,Pmax是指预设最大扩散概率,Pmin是指预设最小概率,avg是所述流表使用率,maxthresh是指第一阈值,minthresh是指第二阈值,其中所述第一阈值大于所述第二阈值。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,当所述交换机流表的使用率大于第一阈值时,所述方法还包括:
所述交换机按照所述预设最大扩散概率向所述相邻交换机转发所述目标数据流。
本发明的第四方面,公开了另一种处理流表的方法,所述方法应用于软件定义网络SDN中,所述SDN包括控制器和多个交换机,所述方法包括:
所述控制器获取所述多个交换机的流表的负载;
所述控制器根据网络拓扑确定所述多个交换机的连接关系;
所述控制器根据所述多个交换机的连接关系以及所述多个交换机中每个交换机的流表的负载确定每条转发路径的权重,其中,所述转发路径为两个直接连接的交换机之间的路径;
所述控制器根据所述每条转发路径的权重确定所述SDN中数据流的传输路径以使得所述SDN处于负载均衡状态。
结合第四方面,在第四方面的第一种可能的实现方式中,所述控制器根据所述多个交换机的连接关系以及所述多个交换机中每个交换机的流表使用率确定每条转发路径的权重,包括:
所述控制器根据所述多个交换机的连接关系确定每条转发路径;
所述控制器确定所述每条转发路径中包含的交换机;
所述控制器根据所述每条转发路径中目标交换机的流表的负载确定所述每条转发路径的权重,其中,所述目标交换机是指接收到数据流的交换机。
结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述控制器根据所述每条转发路径中目标交换机的流表使用率确定所述每条转发路径的权重,具体包括:
所述控制器根据以下计算公式进行计算所述每条转发路径的权重:
其中,所述TH是预设的流表使用率阈值,Max是预设的常数,f(ij)表示交换机i到交换机j的权重,t表示交换机j的流表使用率,所述交换机i属于所述多个交换机,所述交换机j属于所述多个交换机。
本发明的第五方面,公开了一种交换机,所述交换机应用于软件定义网络SDN中,其特征在于,所述交换机包括获取单元,第一确定单元和扩撒单元;
所述监测单元,用于监测所述交换机的流表的负载;
所述第一确定单元,用于当所述交换机的流表的负载超过预设阈值时,所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象,其中,所述目标数据流是指匹配所述交换机流表失败的数据流,所述扩散流表是所述控制器下发的;
所述扩散单元,用于当确定的所述扩散对象为与所述交换机的相邻交换机时,所述交换机向所述相邻交换机转发所述目标数据流。
结合第五方面,在第五方面的第一种可能的实现方式中,所述匹配规则包括所述交换机的端口号和所述扩散对象的对应关系;所述交换机还包括第二确定单元;
所述第二确定单元,用于确定入端口的端口号,其中,所述入端口是指所述交换机接收到所述目标数据流的端口;
所述第一确定单元,用于根据所述入端口的端口号和所述匹配规则确定所述目标数据流的扩散对象。
结合第五方面,在第五方面的第二种可能的实现方式中,
所述匹配规则包括数字区间与所述扩散对象的对应关系,其中,一个数字区间对应一个扩散对象,并且所述匹配规则中有至少两个数字区间;所述交换机还包括哈希单元;
所述哈希单元,用于对目标数据流的包头域进行哈希计算,获得数值;
所述第一确定单元,具体用于确定所述数值所在的数字区间,并根据所述数字区间和所述匹配规则确定所述扩散对象。
结合第五方面或第五方面的第一种可能的实现方式或第五方面的第二种可能的实现方式,在第五方面的第三种可能的实现方式中,
所述第一确定单元,还用于当确定所述扩散对象为所述控制器时,向所述控制器请求与所述目标数据流匹配的流表项。
本发明的第六方面公开了一种控制器,所述控制器应用于软件定义网络SDN中,所述SDN包括所述控制器和多个交换机,其特征在于,所述控制器包括确定单元、获取单元以及发送单元;
所述确定单元,用于根据网络拓扑确定与第一交换机直接连接的第二交换机,其中,所述第一交换机是所述多个交换机中的任意一个交换机,所述第二交换机是所述多个交换机中除第一交换机外的其他交换机,所述第二交换机的数量为至少一个;
所述获取单元,用于获取所述第二交换机的流表的负载;
所述确定单元,还用于根据所述第二交换机的流表的负载确定所述第一交换机的扩散流表;
所述发送单元,用于向所述第一交换机发送所述扩散流表。
结合第六方面,在第六方面的第一种可能的实现方式中,
所述确定单元具体包括第一确定子单元、第二确定子单元以及第三确定子单元;
所述第一确定子单元,用于根据所述第一交换机与所述第二交换机的连接关系确定所述第一交换机的转发路径,其中,所述转发路径是指所述第一交换机与所述第二交换机之间的路径;
所述第二确定子单元,用于根据每条转发路径中第二交换机的流表的负载确定所述每条转发路径的扩散概率;
所述第三确定子单元,用于根据所述每条转发路径的扩散概率确定所述第一交换机的扩散流表。
结合第六方面的第一种可能的实现方式,在第六方面的第二种可能的实现方式中,
所述第三确定子单元,具体用于据所述每条转发路径的扩散概率确定每条转发路径所对应的所述第一交换机的出端口的数量,所述第一交换机的出端口用于转发数据流;
所述第三确定子单元,还用于根据所述每条转发路径以及所述每条转发路径所对应的所述第一交换机的出端口的数量确定所述第一交换机的扩散流表。
结合第六方面的第一种可能的实现方式,在第六方面的第三种可能的实现方式中,
所述第三确定子单元,具体用于根据所述每条转发路径的扩散概率确定每条转发路径所对应的数字区间;
所述第三确定子单元,还用于根据所述每条转发路径以及所述每条转发路径所对应的数字区间确定所述第一交换机的扩散流表。
本发明的第七方面,公开了另一种交换机,
所述交换机应用于软件定义网络SDN中,其特征在于,所述交换机包括监测单元以及扩散单元;
所述监测单元,用于监测所述交换机的流表的负载;
所述扩散单元,用于当所述交换机流表的负载超过预设阈值时,所述交换机根据扩散概率向相邻交换机转发目标数据流,其中,所述目标数据流是指匹配所述交换机流表失败的数据流。
结合第七方面,在第七方面的第一种可能的实现方式中,所述交换机还包括计算单元,
所述计算单元,具体用于按照下列公式计算所述扩散概率;
其中,PS是指扩散概率,Pmax是指预设最大扩散概率,Pmin是指预设最小概率,avg是所述流表使用率,maxthresh是指第一阈值,minthresh是指第二阈值,其中所述第一阈值大于所述第二阈值;
所述扩散单元,用于当所述交换机流表的负载超过预设阈值时,所述交换机根据所述计算单元计算的扩散概率向相邻交换机扩散目标数据流。
结合第七方面或第七方面的第一种可能的实现方式,在第七方面的第二种可能的实现方式中,
所述扩散单元,还用于当所述交换机流表的使用率大于第一阈值时,所述交换机按照所述预设最大扩散概率向所述相邻交换机转发所述目标数据流。
本发明第八方面,公开了另一种控制器,所述控制器应用于软件定义网络SDN中,所述SDN包括所述控制器和多个交换机,其特征在于,所述控制器包括获取单元和确定单元;
所述获取单元,用于获取所述多个交换机流表的负载;
所述确定单元,用于根据网络拓扑确定所述多个交换机的连接关系;
所述确定单元,还用于根据所述多个交换机的连接关系以及所述多个交换机中每个交换机的流表的负载确定每个转发路径的权重,其中,所述转发路径为两个直接连接的交换机之间的路径;
所述确定单元,还用于根据所述每条转发路径的权重确定所述SDN中数据流的传输路径以使得所述SDN处于负载均衡状态。
结合第八方面,在第八方面的第一种可能的实现方式中,所述确定单元包括第一确定子单元、第二确定子单元以及第三确定子单元,具体包括:
所述第一确定子单元,用于所述控制器根据所述多个交换机的连接关系确定每条转发路径;
所述第二确定子单元,用于确定所述每条转发路径中包含的交换机;
所述第三确定子单元,用于根据所述每条转发路径中目标交换机的流表的负载确定所述每条转发路径的权重,其中,所述目标交换机是指接收到数据流的交换机。
结合第八方面的第一种可能的实现方式,在第八方面的第二种可能的实现方式中,
所述第三确定子单元,用于根据以下计算公式进行计算所述每条转发路径的权重:
其中,用流表使用率表示流表的负载,所述TH是预设的流表使用率阈值,Max是预设的常数,f(ij)表示交换机i到交换机j的权重,t表示交换机j的流表使用率,所述交换机i属于所述多个交换机,所述交换机j属于所述多个交换机。
从上可知,结合第一方面和第五方面提供的处理数据流的方法和交换机,当所述交换机流表的负载超过预设阈值时,所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象;当确定的所述扩散对象为与所述交换机相邻的交换机时,所述交换机向所述相邻的交换机转发所述目标数据流。当所述交换机流表的负载超过预设阈值时,所述交换机可能遭到攻击,将匹配流表项失败的数据流按照扩散概率转发到相邻的交换机由相邻交换机进行处理,从而降低该交换机更新流表项的频率,提高正常数据流的命中率,降低转发正常数据流的时延。
从上可知,结合第二方面和第六方面提供的处理数据流的方法和控制器,所述控制器确定第一交换机,并根据网络拓扑确定与所述第一交换机直接连接的第二交换机;所述控制器获取所述第二交换机的流表的负载;所述控制器根据所述第二交换机的流表的负载确定所述第一交换机的扩散流表;所述控制器向所述第一交换机发送所述扩散流表,以使得交换机能够根据扩散流表将匹配流表项失败的数据流扩散到相邻交换机中有相邻交换机进行处理,从而减轻该第一交换机的负载。
从上可知,结合第三方面和第七方面提供的处理数据流的方法和交换机,交换机监测所述交换机流表的状态;当所述交换机流表的负载超过预设阈值时,所述交换机根据扩散概率向相邻交换机转发匹配所述交换机流表失败的数据流,当所述交换机流表的负载超过预设阈值时,该交换机可能遭到攻击,将匹配所述交换机流表失败的数据流转发到相邻交换机,可以减轻该交换机的负载,降低该交换机替换流表项的频率,提升正常数据流的命中率,减少迟延。
从上可知,结合第四方面和第八方面提供的处理数据流的方法和控制器,所述控制器根据所述多个交换机的连接关系以及所述多个交换机中每个交换机的流表的负载确定每个转发路径的权重,所述控制器根据所述每条转发路径的权重确定所述SDN中数据流的传输路径,从而使得网络拓扑中交换机达到负载均衡的状态,提升交换机处理数据流的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的一种处理数据流的方法;
图2为本发明另一实施例提供的一种处理数据流的方法;
图3为本发明另一实施例提供的一种处理数据流的方法;
图4为本发明另一实施例提供的一种处理数据流的方法;
图5为本发明另一实施例提供的一种处理数据流的方法;
图6a为本发明另一实施例提供的一种处理数据流的方法;
图6b为本发明另一实施例提供的一种处理数据流的方法;
图7为本发明一实施例提供的一种交换机;
图8为本发明一实施例提供的一种服务器;
图9为本发明另一实施例提供的一种交换机;
图10为本发明另一实施例提供的一种服务器;
图11为本发明另一实施例提供的一种交换机;
图12为本发明另一实施例提供的一种服务器;
图13为本发明另一实施例提供的一种交换机;
图14为本发明另一实施例提供的一种服务器。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
SDN(Software-Defined Network,软件定义网络)是一种控制与转发相分离的网络架构。在该SDN架构中,网络设备的控制功能会被抽象到一台控制器上,并由该控制器向各个网络设备下发流表项。网络设备接收并保存控制器下发的流表项,并依据此流表项对数据流进行的操作,如数据流的转发、丢弃、修改等操作。
SDN基于数据流的控制使得交换机流表消耗极快,而SDN交换机的硬件流表一般由TCAM(Ternary Content-Addressable Memory,三重内容寻址内存)实现,但是该TCAM容量有限。因此攻击者可通过伪造大量数据流以使得控制器向交换机流表中添加大量流表项,甚至充满交换机流表,由于该交换机流表容量有限,该交换机流表无法再继续添加流表项时,该交换机需要删除已有的流表项后,再添加新的流表项。
但是,由于正常数据流的流表项将被攻击流的流表项替换出交换机,导致正常的数据流无法命中,造成处理正常的数据流的时延增加。
针对上述问题,如图1所示,本发明实施例提出一种处理流表的方法,该方法具体如下:
101、交换机机监测该交换机的流表的负载;
其中,交换机流表中流表项数量的多少可以指示该流表的负载;
其中,交换机流表的负载也可以通过流表的使用率来反映,流表的使用率是指流表项占用的容量与该流表的总容量的比值;
其中,监测交换机流表的负载可以理解为监测交换机流表的使用率。
其中,交换机流表包括多个流表项,每个流表项都有三部分组成。流表项的三部分包括包头域、计数器以及动作。
包头域用于对交换机接收到的数据包的包头内容进行匹配。包头域包括但不限于以下字段:源MAC(Media Access Control,媒体接入控制)地址、目的MAC地址、以太网类型、vlan id(virtual local area network identification,虚拟局域网标识)、IP(InternetProtocol,网络协议)类型、源IP地址、目的IP地址、源TCP(Transmission ControlProtocol,传输控制协议)端口号、目的TCP端口号、源UDP(User Datagram Protocol,用户数据报协议)端口号、目的UDP端口号等。其中,包头域也叫做匹配域。
计数器用于统计匹配的数据包的个数。
动作用于指示交换机在收到匹配的数据包后应该如何对其进行处理,例如转发或者丢弃处理方式。
102、当该交换机的流表的负载超过预设阈值时,该交换机根据扩散流表的匹配规则确定目标数据流的扩散对象,其中,该目标数据流是指匹配该交换机流表失败的数据流,该扩散流表是该控制器下发的;
其中,该交换机流表的负载超过预设阈值包括流表的流表项数量达到预设数量;例如,该流表一共可容纳1000条流表项,将预设数量设置为800条,那么当该流表中的流表项大于或等于800条时,该流表的负载便达到预设阈值。
其中,该交换机流表的负载超过预设阈值还包括流表的使用率达到预设阈值,例如,假设预设阈值为70%,那么当流表的使用率大于或等于70%时,流表的负载状态便达到预设阈值。
103、当确定的该扩散对象为与该交换机的相邻交换机时,该交换机向该相邻交换机转发该目标数据流。
其中,当确定该扩散对象是相邻交换机时,该交换机不用向控制发送packet_in请求数据包去请求该目标数据流对应的流表项,而是将该目标数据流转发给相邻的交换机去处理,从而减轻该交换机的负担。
从上可知,根据本发明实施例提供的处理数据流的方法,当该交换机流表的负载超过预设阈值时,该交换机根据扩散流表的匹配规则确定目标数据流的扩散对象;当确定的该扩散对象为与该交换机相邻的交换机时,该交换机向该相邻的交换机转发该目标数据流。当该交换机流表的负载超过预设阈值时,该交换机有可能遭到攻击,将匹配流表项失败的数据流按照扩散概率转发到相邻的交换机由相邻交换机进行处理,从而降低该交换机更新流表项的频率,提高正常数据流的命中率,降低转发正常数据流的时延。
可选的,基于上述实施例,在本发明另一实施例中,该匹配规则包括该交换机的端口号和该扩散对象的对应关系;
在该交换机根据扩散流表的匹配规则确定目标数据流的扩散对象之前,该方法还包括:
该交换机确定入端口的端口号,其中,该入端口是指该交换机接收到该目标数据流的端口;
该交换机根据扩散流表的匹配规则确定目标数据流的扩散对象,包括:
该交换机根据该入端口的端口号和该匹配规则确定该目标数据流的扩散对象。
例如,匹配规则可以是:1号入端口接收到的数据流转发到相邻交换机;2号入端口接收到的数据流由该交换机处理。
可选的,基于上述实施例,在本发明另一实施例中,
该匹配规则包括数字区间与该扩散对象的对应关系,其中,一个数字区间对应一个扩散对象,并且该匹配规则包括至少两个数字区间;
该交换机根据扩散流表的匹配规则确定目标数据流的扩散对象之前,该方法还包括:
该交换机对该目标数据流的包头域进行哈希计算,获得数值;
该交换机根据扩散流表的匹配规则确定目标数据流的扩散对象具体包括:
该交换机确定该数值所在的数字区间;
该交换机根据该数字区间和该匹配规则确定该扩散对象。
例如,匹配规则可以是将数值为1至100的数据流转发至相邻交换机;将数值为101至200的数据流提交控制器处理。
可选的,基于上述实施例,在本发明另一实施例中,该交换机根据扩散流表的匹配规则确定目标数据流的扩散对象之后,该方法还包括:
当确定的所述扩散对象为所述控制器时,所述交换机向所述控制器请求与所述目标数据流匹配的流表项。
其中,该交换机向该控制器发送消息以便获取与该目标数据流匹配的流表项。
在本发明的另一实施例中,控制器预定义扩散流表,并将扩散流表部署至交换机。其中,控制器可提前部署交换机的扩散流表,也可动态监控交换机的流表的负载,当交换机流表的负载达到预设阈值时在下发扩散流表。
例如,在交换机流表的使用率大于预设阈值时,对于没有匹配到流表项的数据流,交换机不向控制器发送请求处理,而是按照控制器下发的扩散流表,将该数据流发送至相邻交换机进一步处理。由于相邻交换机上也预先部署了处理策略,相邻交换机按照该处理策略完成数据流的相应操作,保障数据流处理的完整性。其中,相邻交换机可以将接收到的数据流再次进行扩散,也可以向控制器发送请求,获取与该数据流对应的流表项。
如图2所示,本发明实施例提出另一种处理流表的方法,该方法应用于SDN网络中,该SDN包括控制器和多个交换机,方法包括:
201、该控制器网络拓扑确定与第一交换机直接连接的第二交换机,其中,该第一交换机是该多个交换机中的任意一个交换机,该第二交换机是该多个交换机中除第一交换机外的其他交换机,该第二交换机的数量为至少一个;
其中,在网络拓扑中会包括多个交换机,交换机之间存在连接关系。
202、该控制器获取该第二交换机的流表的负载;
其中,该第二交换机的流表负载是指流表的使用率或者流表中流表项的数量。例如,流表的使用率超过阈值就表明该第二交换机的流表超负载;流表的流表项超过预设数量就表明该第二交换机的流表超负载,在此不一一例举。
203、该控制器根据该第二交换机的流表的负载确定该第一交换机的扩散流表;
204、该控制器向该第一交换机发送该扩散流表。
从上可知,使用本发明实施例提供的处理流表的方法,该控制器根据该第二交换机的流表的负载确定该第一交换机的扩散流表;该控制器向该第一交换机发送该扩散流表,以使得第一交换机能够根据扩散流表将接收到的数据流转发到相邻交换机中由相邻交换机进行处理,从而减轻该第一交换机的负载。
可选的,基于图2该描述的实施例,步骤203:该控制器根据该第二交换机的流表的负载确定该第一交换机的扩散流表,包括:
205、该控制器根据该第一交换机与该第二交换机的连接关系确定该第一交换机的转发路径,其中,该转发路径是指该第一交换机与该第二交换机之间的路径;
206、该控制器根据每条转发路径中第二交换机的流表的负载确定该每条转发路径的扩散概率;
207、该控制器根据该每条转发路径的扩散概率确定该第一交换机的扩散流表。
其中,一个交换机可以与多个交换机连接,那么就构成多条转发路径。例如,有交换机A、交换机B、交换机C以及交换机D四台交换机,交换机A与其他三台交换机分别连接,其中,交换机A为源交换机,其他三台交换机为目标交换机,那么就构成三条转发路径,交换机A至交换机B为第一条转发路径,交换机A至交换机C为第二条路径,交换机A至交换机D为第三条路径。交换机A同时位于3条转发路径中,交换机B、交换机C以及交换机D为交换机A所在转发路径中的目标交换机。
其中,流表的状态是指流表的流表项的数量或者流表的使用率。
其中,目标交换机的流表使用率越低,该目标交换机所在的转发路径的扩散概率越高,目的是为了使得每个交换机的负载均衡。
例如,交换机B的流表使用率是30%,交换机C的流表使用率是40%,交换机C的流表使用率是40%,那么,交换机A就可以将交换机A至交换机B的转发路径的扩散概率设置为30%,将交换机A至交换机C的转发路径的扩散概率设置为20%,将交换机A至交换机D的转发路径的扩散概率设置为20%,将交换机A至控制器的转发路径的扩散概率设置为30%。
可选的,基于上述实施例,在本发明的另一实施例中,步骤207:该控制器根据该每条转发路径的扩散概率确定该第一交换机的扩散流表,包括:
2071、该控制器根据该每条转发路径的扩散概率确定每条转发路径所对应的该第一交换机的出端口的数量,该第一交换机的出端口用于转发数据流;
其中,扩散概率越高的转发路径对应的出端口越多。
例如,交换机A分别与交换机B、交换机C、交换机D连接。交换机A为源交换机,交换机B、交换机C与交换机D为目标交换机。
交换机A至交换机B为第一转发路径,该第一转发路径的扩散概率为40%;
交换机A至交换机C为第二转发路径,该第二转发路径的扩散概率为20%;
交换机A至交换机D为第三转发路径,该第三转发路径的扩散概率为20%;
那么交换机A对应两个出端口,交换机B对应一个出端口,交换机C对应一个出端口。交换机A就可以设置第一转发路径对应交换机A的第一端口和第二端口,第二转发路径对应交换机A的第三端口,第三转发路径对应交换机A的第四端口。
2072、该该控制器根据该每条转发路径以及该每条转发路径所对应的该第一交换机的出端口的数量确定该第一交换机的扩散流表。
可选的,基于上述实施例,在本发明的另一实施例中,步骤207:该控制器根据该每个源交换机所在的转发路径的扩散概率确定每个源交换机的扩散流表,具体包括:
2073、该控制器根据该每条转发路径的扩散概率确定每条转发路径所对应的数字区间;
其中,扩散概率越大的转发路径对应的数字区间越宽。
例如,交换机A分别与交换机B、交换机C、交换机D连接。交换机A为源交换机,交换机B、交换机C与交换机D为目标交换机。
交换机A至交换机B为第一转发路径,该第一转发路径的扩散概率为40%;
交换机A至交换机C为第二转发路径,该第二转发路径的扩散概率为20%;
交换机A至交换机D为第三转发路径,该第三转发路径的扩散概率为20%;
第一转发路径对应的数字区间可以是0至100,第二转发路径对应的数字区间为101至150,第三转发路径对应的数字区间为150至200。
2074、该控制器根据该每条转发路径以及该每条转发路径所对应的数字区间确定该第一交换机的扩散流表。
其中,扩散流表的格式不做限制,可以与交换机中的流表格式一致。
在本发明的另一个实施例中,当交换机流表使用率超过预设阈值时(图中为70%),依据扩散流表对未匹配成功的数据流转发。扩散流表包括两种扩散方式,一是向相邻交换机扩散(图中为扩散至交换机B及交换机C);二是向控制器扩散(即图中Controller)。
如图3所示,针对未匹配到流表的数据流,交换机对该数据流的包头域进行哈希以得到该数据流的哈希值,该哈希值是一个数字。其中,哈希值相等的数据流被认为是同一条流。
扩散流表中包含多条扩散规则,每条扩散规则对应一个数字范围,如果一条数据流的哈希值落在该数字范围内,则按照该数字范围对应的扩散规则进行扩散。
扩散规则一对应的数字范围是0至106,该数字范围对应的转发规则是向相邻交换机B进行转发。如果一个数据流的哈希值落在0到106的范围内,那么该交换机向相邻交换机B扩散该数据流。扩散规则三对应的数字范围是160至255,该数字范围对应的转发规则是向控制器进行转发。如果一个数据流的哈希值落在160到255的范围内,那么该交换机向控制器扩散该数据流。
如图4所示,针对未匹配到流表的数据流,交换机根据该数据流的入端口和扩散规则进行转发。例如,端口1、端口2和端口3流进的数据流按照扩散规则一会扩散到交换机B,端口4、端口5和端口6流进的数据流按照扩散规则二会扩散至交换机C,端口7和端口8流进的数据流按照扩散规则3会扩散至控制器。
如图5所示,本发明实施例提出另一种处理流表的方法,该方法应用于SDN网络中,方法包括:
301、交换机监测该交换机流表的负载;
其中,流表的负载可以是指流表中流表项的数量,也可以是指流表的使用率。
302、当该交换机流表的负载超过预设阈值时,该交换机根据扩散概率向相邻交换机转发目标数据流,其中,所述目标数据流是指匹配该交换机流表失败的数据流。
其中,流表的状态处于预设状态包括流表的流表项数量达到预设数量;例如,该流表一共可容纳1000条流表项,将预设数量设置为800条,那么当该流表中的流表项大于或等于800条时,该流表的状态便达到预设状态。
其中,流表的状态处于预设状态还包括流表的使用率达到预设值,例如,假设预设值为70%,那么当流表的使用率大于或等于70%时,流表的状态便处于预设状态。
从上可知,结合第三方面和第七方面提供的处理数据流的方法和交换机,交换机监测该交换机流表的状态;当该交换机流表的负载超过预设阈值时,该交换机根据扩散概率向相邻交换机转发匹配该交换机流表失败的数据流,当该交换机流表的负载超过预设阈值时,该交换机可能遭到攻击,将匹配该交换机流表失败的数据流转发到相邻交换机,可以减轻该交换机的负载,降低该交换机替换流表项的频率,提升正常数据流的命中率,减少迟延。
可选的,基于上述实施例,在本发明的另一个实施例中,
该交换机根据扩散概率向相邻交换机扩散目标数据流之前,该方法还包括:
该交换机按照下列公式计算该扩散概率;
其中,PS是指扩散概率,Pmax是指预设最大扩散概率,Pmin是指预设最小概率,avg是该流表使用率,maxthresh是指第一阈值,minthresh是指第二阈值,其中该第一阈值大于该第二阈值。
可选的,基于上述实施例,在本发明的另一个实施例中,该方法还包括:
当该交换机流表的使用率大于第一阈值时,该交换机按照该预设最大扩散概率向该相邻交换机转发该目标数据流。
如图6a所示,本发明实施例提出另一种处理流表的方法,该方法应用于SDN网络中,该SDN网络包括控制器和多个交换机,该方法包括:
401、该控制器获取该多个交换机流表的负载;
其中,该流表的负载是指流表的使用率,流表的使用率是指交换机中流表项占用的空间与流表容量的比值;
其中,该流表的负载也可以是指流表中流表项的数量。
例如,如果该流表的使用率超过预设值,则表明该交换机流表超负载,或者有可能是该交换机遭到攻击。
402、该控制器根据网络拓扑确定该多个交换机的连接关系;
其中,在网络拓扑中会包括多个交换机,交换机之间存在连接关系。
403、该控制器根据该多个交换机的连接关系以及该多个交换机中每个交换机的流表的负载确定每条转发路径的权重,其中,该转发路径为两个直接连接的交换机之间的路径;
404、该控制器根据该每条转发路径的权重确定该SDN中数据流的传输路径以使得该SDN处于负载均衡状态。
从上可知,结合第四方面和第八方面提供的处理数据流的方法和控制器,该控制器根据该多个交换机的连接关系以及该多个交换机中每个交换机的流表的负载确定每个转发路径的权重,该控制器根据该每条转发路径的权重确定该SDN中数据流的传输路径,从而使得网络拓扑中交换机达到负载均衡的状态,提升交换机处理数据流的效率。
可选的,基于上述实施例,在本发明的另一个实施例中,步骤403:该控制器根据该多个交换机的连接关系以及该多个交换机中每个交换机的流表使用率确定每个转发路径的权重,包括:
4031、该控制器根据该多个交换机的连接关系确定每条转发路径;
其中,一个交换机可以与多个交换机连接,那么就构成多条转发路径。例如,有交换机、交换机B、交换机C以及交换机D四台交换机,交换机A与其他三台交换机分别连接,其中,交换机A为源交换机,其他三台交换机为目标交换机,那么就构成三条转发路径,交换机A至交换机B为第一条转发路径,交换机A至交换机C为第二条路径,交换机A至交换机D为第三条路径。
4032、该控制器确定该每条转发路径中包含的交换机;
交换机A同时位于3条转发路径中,交换机B、交换机C以及交换机D为交换机A所在转发路径中的目标交换机。
4033、该控制器根据该每条转发路径中目标交换机的流表的负载确定该每条转发路径的权重,其中,该目标交换机是指接收数据流的交换机。
其中,一般用流表使用率或者流表的流表项数量表示该流表的状态。
其中,目标交换机的流表使用率越高,该目标交换机所在的转发路径的权重就越大。转发路径的权重越大,该转发路径的开销越大,由于控制器会选择开销小的路径作为转发路径,控制器可主动规避数据流经过该权重较大的交换机节点,选择流表使用率较低的交换机传输数据流。
可选的,基于上述实施例,在本发明的另一个实施例中,该控制器根据该每条转发路径中目标交换机的流表使用率确定该每条转发路径的权重,具体包括:
该控制器根据以下计算公式进行计算所述每条转发路径的权重:
其中,用流表使用率表示流表的负载,该TH是预设的流表使用率阈值,Max是预设的常数,f(ij)表示交换机i到交换机j的权重,t表示交换机j的流表使用率,该交换机i属于该多个交换机,该交换机j属于该多个交换机。
其中,Max是一个可根据环境需要设置的常数,表示转发路径可到达的最大开销。当交换机的流表使用率小于TH时,加权系数为1,表示路径的实际开销等于路径的加权开销;当交换机节点的使用率大于TH时,加权系数为Max·e(t-TH),表示占有率越大,权值越大,最大可到达Max。
利用上述加权算法,可以计算出网络中任意转发路径的传输开销。计算网络中所有转发路径的路径代价,具体方法如下:
步骤1.把交换机网络拓扑中的定点集合V分成两组,其中每个定点代表一个交换机:
(1)S:已确定的定点集合(初始时只有初始点v0)
(2)V-S=T:尚未确定的定点集合
步骤2.将T中顶点按递增的次序加入到S中,保证:从源点v0到S中其他各顶点的长度都不大于从v0到T中任何顶点的最短路径长度。在没有添加到S中的点中找到一个距离点v0最近的点。Dist[]中存储了现已找到的以v0为出发点的最短路径。
步骤3.直到T中没有元素,即遍历了所有定点。得到了各个定点之间的最短路径。
在本发明的一个实施例中,如图6b所示,上述网络由六台交换机组成,假设边距离初始均为1。左图中交换机B的流要到达交换机E,最优路径是B→D→E,距离长度为2。经过一段时间之后,交换机D的流表占用率达到TH,并假设在之前各个边路径长度的基础上计算出D的邻居交换机到达D的新长度。右图标出了新的长度,发现原来路径总长度为4+1=5(B→D→E),从D交换机向外的距离矢量还是1。然而,路径(B→C→F→E)的路径长度是1+1+1=3<5,因而当再有新的流量出现时,控制器会及时地调整路由。
如图7所示,本发明实施例提出一种交换机50,该交换机应用于SDN网络中,该交换机50包括监测单元501、第一确定单元502以及扩散单元503:
监测单元501,用于监测该交换机流表的的负载;
其中,交换机流表的负载可以是指交换机流表中流表项数量的多少;
其中,交换机流表的负载也可以是指流表的使用率,流表的使用率是指流表项占用的容量与该流表的总容量的比值;
第一确定单元502,用于当该交换机的流表的负载超过预设阈值时,该交换机根据扩散流表的匹配规则确定目标数据流的扩散对象,其中,该目标数据流是指匹配该交换机流表失败的数据流,该扩散流表是该控制器下发的;
例如,该流表一共可容纳1000条流表项,将预设数量设置为800条,那么当该流表中的流表项大于或等于800条时,该流表的负载就超过预设阈值。
例如,假设预设值为70%,那么当流表的使用率大于或等于70%时,流表的负载就超过预设阈值。
扩散单元503,用于当确定的该扩散对象为与该交换机的相邻交换机时,该交换机向该相邻交换机转发该目标数据流。
从上可知,根据本发明实施例提供的交换机,当该交换机流表的负载超过预设阈值时,该交换机根据扩散流表的匹配规则确定目标数据流的扩散对象;当确定的该扩散对象为与该交换机相邻的交换机时,该交换机向该相邻的交换机转发该目标数据流。当该交换机流表的负载超过预设阈值时,该交换机可能遭到攻击,将匹配流表项失败的数据流按照扩散概率转发到相邻的交换机由相邻交换机进行处理,从而降低该交换机更新流表项的频率,提高正常数据流的命中率,降低转发正常数据流的时延。可选的,基于上述交换机50,该匹配规则包括该交换机50的端口号和该扩散对象的对应关系;该交换机50还包括第二确定单元504;
第二确定单元504,用于确定入端口的端口号,其中,该入端口是指该交换机接收到该目标数据流的端口;
第一确定单元502,用于根据该入端口的端口号和该匹配规则确定该目标数据流的扩散对象。
例如,匹配规则可以是:将1号端口接收到的数据流转发到相邻交换机;将2号端口接收到的数据流由交换机自己进行处理。
可选的,基于上述交换机50,该匹配规则包括数字区间与该扩散对象的对应关系,其中,一个数字区间对应一个扩散对象,并且该匹配规则中有至少两个数字区间;该交换机50还包括哈希单元505;
哈希单元505,用于对目标数据流的包头域进行哈希计算,获得数值;
第一确定单元502,具体用于确定该数值所在的数字区间,并根据该数字区间和该匹配规则确定该扩散对象。
例如,匹配规则可以是将数值为1至100的数据流扩散至相邻交换机;将数值为101至200的数据流提交控制器处理。
可选的,基于上述交换机50,第一确定单元502,还用于当确定的该扩散对象为该控制器时,向所述控制器请求与所述目标数据流匹配的流表项。
如图8所示,本发明实施例提出一种控制器60,该控制器60应用于SDN网络中,该控制器60包括确定单元601、获取单元602以及发送单元603;
确定单元601,用于根据网络拓扑确定与该第一交换机直接连接的第二交换机,其中,该第一交换机是该多个交换机中的任意一个交换机,该第二交换机是该多个交换机中除第一交换机外的其他交换机,该第二交换机的数量为至少一个;
其中,在网络拓扑中会包括多个交换机,交换机之间存在连接关系。
获取单元602,用于获取该第二交换机的流表的负载;
确定单元601,还用于根据该第二交换机的流表的负载确定该第一交换机的扩散流表;
发送单元603,用于向该第一交换机发送该扩散流表。
从上可知,使用本发明实施例提供的控制器,该控制器确定第一交换机,并根据网络拓扑确定与该第一交换机直接连接的第二交换机;该控制器获取该第二交换机的流表的负载;该控制器根据该第二交换机的流表的负载确定该第一交换机的扩散流表;该控制器向该第一交换机发送该扩散流表,以使得交换机能够根据扩散流表将匹配流表项失败的数据流扩散到相邻交换机中有相邻交换机进行处理,从而减轻该第一交换机的负载。
可选的,基于上述控制器60,确定单元602具体包括第一确定子单元6021、第二确定子单元6022、第三确定子单元6023;
第一确定子单元6021,用于根据该第一交换机与该第二交换机的连接关系确定该第一交换机的转发路径,其中,该转发路径是指该第一交换机与该第二交换机之间的路径;
第二确定子单元6022,用于根据每条转发路径中第二交换机的流表的负载确定该每条转发路径的扩散概率;
第三确定子单元6023,用于根据该每条转发路径的扩散概率确定该第一交换机的扩散流表。
可选的,基于上述控制器60,第三确定子单元6023,具体用于据该每条转发路径的扩散概率确定每条转发路径所对应的该第一交换机的出端口的数量,该第一交换机的出端口用于转发数据流;
第三确定子单元6023,还用于根据该每条转发路径以及该每条转发路径所对应的该第一交换机的出端口的数量确定该第一交换机的扩散流表。
可选的,基于上述控制器60,
第三确定子单元6023,具体用于根据该每条转发路径的扩散概率确定每条转发路径所对应的数字区间;
第三确定子单元6023,还用于根据该每条转发路径以及该每条转发路径所对应的数字区间确定该第一交换机的扩散流表。
如图9所示,本发明实施例提出一种交换机70,交换机70包括监测单元701以及扩散单元702;
监测单元701,用于监测该交换机的流表的负载;
其中,交换机流表的负载是指交换机流表的使用率或者交换机流表的流表项数量等。
扩散单元702,用于当该交换机流表的负载超过预设阈值时,该交换机根据扩散概率向相邻交换机转发目标数据流,其中,该目标数据流是指匹配该交换机流表失败的数据流。
从上可知,使用本发明实施例提供的交换机,交换机监测该交换机流表的状态;当该交换机流表的负载超过预设阈值时,该交换机根据扩散概率向相邻交换机转发匹配该交换机流表失败的数据流,当该交换机流表的负载超过预设阈值时,该交换机可能遭到攻击,将匹配该交换机流表失败的数据流转发到相邻交换机,可以减轻该交换机的负载,降低该交换机替换流表项的频率,提升正常数据流的命中率,减少迟延。
可选的,基于上述交换机70,确定单元702具体用于按照下列公式计算该扩散概率;
其中,流表使用率用于表示流表的状态,PS是指扩散概率,Pmax是指预设最大扩散概率,Pmin是指预设最小概率,avg是该流表使用率,maxthresh是指第一预设阈值,minthresh是指第二预设阈值,其中该第一预设阈值大于该第二预设阈值。
可选的,基于上述交换机70,扩散单元703还用于当该流表的使用率大于第一预设阈值时,该交换机按照该预设最大扩散概率向该相邻交换机转发该目标数据流。
如图10所示,本发明实施例提出一种控制器80,控制器80包括获取单元801以及确定单元802;
获取单元801,用于获取该多个交换机的流表的负载;
其中,交换机的流表的负载是指流表的使用率或者流表中流表项的数量。
确定单元802,用于根据网络拓扑确定该多个交换机的连接关系;
确定单元802,还用于根据该多个交换机的连接关系以及该多个交换机中每个交换机的流表的负载确定每条转发路径的权重,其中,该转发路径为两个直接连接的交换机之间的路径;
确定单元802,还用于根据该每条转发路径的权重确定该SDN中数据流的传输路径以使得该SDN处于负载均衡状态。
从上可知,使用本发明实施例提供的控制器,该控制器根据该多个交换机的连接关系以及该多个交换机中每个交换机的流表的负载确定每条转发路径的权重,该控制器根据该每条转发路径的权重确定该SDN中数据流的传输路径,从而使得网络拓扑中交换机达到负载均衡的状态,提升交换机处理数据流的效率。
可选的,基于上述控制器80,确定单元802包括第一确定子单元8021、第二确定子单元8022以及第三确定子单元8023,具体包括:
第一确定子单元8021,用于根据该多个交换机的连接关系确定每条转发路径;
第二确定子单元8022,用于确定该每条转发路径中包含的交换机;
第三确定子单元8023,用于根据该每条转发路径中目标交换机的流表的负载确定该每条转发路径的权重,其中,该目标交换机是指接收数据流的交换机。
可选的,基于上述控制器80,第三确定子单元8023,用于根据以下计算公式进行计算所述每条转发路径的权重:
其中,该TH是预设的流表使用率阈值,Max是预设的常数,f(ij)表示交换机i到交换机j的权重,t表示交换机j的流表使用率,该交换机i属于该多个交换机,该交换机j属于该多个交换机。
图11描述了本发明另一个实施例提供的交换机的结构,包括至少一个处理器901(例如CPU),存储器902,至少一个网络接口903,至少一个通信总线904以及至少一个接收器905,用于实现这些装置之间的连接通信。处理器901用于执行存储器902中存储的可执行模块,例如计算机程序。存储器902可能包含高速随机存取存储器(RAM:Random AccessMemory),也可能还包括非易失性存储器(non-volatile memory),例如至少eMMC(EmbeddedMulti Media Card,嵌入式多媒体卡)存储器。通过至少一个网络接口903(可以是有线或者无线)实现该网络设备与至少一个其他网元之间的通信连接。
在一些实施方式中,存储器902存储了程序9021,程序9021可以被处理器901执行,这个程序包括:
监测该交换机的流表的负载;
当该交换机的流表的负载超过预设阈值时,根据扩散流表的匹配规则确定目标数据流的扩散对象,其中,该目标数据流是指匹配该交换机流表失败的数据流,该扩散流表是该控制器下发的;
当确定的该扩散对象为与该交换机的相邻交换机时,向该相邻交换机转发该目标数据流。
可选的,该匹配规则包括该交换机的端口号和该扩散对象的对应关系;
在根据扩散流表的匹配规则确定目标数据流的扩散对象之前,该方法还包括:
确定入端口的端口号,其中,该入端口是指该交换机接收到该目标数据流的端口;
根据扩散流表的匹配规则确定目标数据流的扩散对象,包括:
根据该入端口的端口号和该匹配规则确定该目标数据流的扩散对象。
可选的,该匹配规则包括数字区间与该扩散对象的对应关系,其中,一个数字区间对应一个扩散对象,并且该匹配规则包括至少两个数字区间;
该根据扩散流表的匹配规则确定目标数据流的扩散对象之前,该方法还包括:
对该目标数据流的包头域进行哈希计算,获得数值;
根据扩散流表的匹配规则确定目标数据流的扩散对象具体包括:
确定该数值所在的数字区间;
根据该数字区间和该匹配规则确定该扩散对象。
可选的,该方法还包括:当确定的该扩散对象为该控制器时,所述交换机向所述控制器请求与所述目标数据流匹配的流表项。
具体的实施步骤与图1所示的实施例相同,此处不再赘述。
从上可知,根据本发明实施例提供的交换机,当该交换机流表的负载超过预设阈值时,该交换机根据扩散流表的匹配规则确定目标数据流的扩散对象;当确定的该扩散对象为与该交换机相邻的交换机时,该交换机向该相邻的交换机转发该目标数据流。当该交换机流表的负载超过预设阈值时,该交换机可能遭到攻击,将匹配流表项失败的数据流按照扩散概率转发到相邻的交换机由相邻交换机进行处理,从而降低该交换机更新流表项的频率,提高正常数据流的命中率,降低转发正常数据流的时延。
图12描述了本发明另一个实施例提供的控制器的结构,包括至少一个处理器1001(例如CPU),存储器1002,至少一个网络接口1003,至少一个通信总线1004以及至少一个接收器1005,用于实现这些装置之间的连接通信。处理器1001用于执行存储器1002中存储的可执行模块,例如计算机程序。存储器1002可能包含高速随机存取存储器(RAM:RandomAccess Memory),也可能还包括非易失性存储器(non-volatile memory),例如至少eMMC(Embedded Multi Media Card,嵌入式多媒体卡)存储器。通过至少一个网络接口1003(可以是有线或者无线)实现该网络设备与至少一个其他网元之间的通信连接。
在一些实施方式中,存储器1002存储了程序10021,程序10021可以被处理器1001执行,这个程序包括:
根据网络拓扑确定与该第一交换机直接连接的第二交换机,其中,该第一交换机是该多个交换机中的任意一个交换机,该第二交换机是该多个交换机中除第一交换机外的其他交换机,该第二交换机的数量为至少一个;
获取该第二交换机的流表的负载;
根据该第二交换机的流表的负载确定该第一交换机的扩散流表;
向该第一交换机发送该扩散流表。
可选的,该根据该第二交换机的流表的负载确定该第一交换机的扩散流表,包括:
根据该第一交换机与该第二交换机的连接关系确定该第一交换机的转发路径,其中,该转发路径是指该第一交换机与该第二交换机之间的路径;
根据每条转发路径中第二交换机的流表的负载确定该每条转发路径的扩散概率;
根据该每条转发路径的扩散概率确定该第一交换机的扩散流表。
可选的,该根据该每条转发路径的扩散概率确定该第一交换机的扩散流表,包括:
根据该每条转发路径的扩散概率确定每条转发路径所对应的该第一交换机的出端口的数量,该第一交换机的出端口用于转发数据流;
根据该每条转发路径以及该每条转发路径所对应的该第一交换机的出端口的数量确定该第一交换机的扩散流表。
可选的,该根据该每条转发路径的扩散概率确定该第一交换机的扩散流表,包括:
根据该每条转发路径的扩散概率确定每条转发路径所对应的数字区间;
根据该每条转发路径以及该每条转发路径所对应的数字区间确定该第一交换机的扩散流表。
具体的实施步骤与图2所示的实施例相同,此处不再赘述。
从上可知,使用本发明实施例提供的控制器,该控制器确定第一交换机,并根据网络拓扑确定与该第一交换机直接连接的第二交换机;该控制器获取该第二交换机的流表的负载;该控制器根据该第二交换机的流表的负载确定该第一交换机的扩散流表;该控制器向该第一交换机发送该扩散流表,以使得交换机能够根据扩散流表将匹配流表项失败的数据流扩散到相邻交换机中有相邻交换机进行处理,从而减轻该第一交换机的负载。
图13描述了本发明另一个实施例提供的交换机的结构,包括至少一个处理器1101(例如CPU),存储器1102,至少一个网络接口1103,至少一个通信总线1104以及至少一个接收器1105,用于实现这些装置之间的连接通信。处理器1101用于执行存储器1102中存储的可执行模块,例如计算机程序。存储器1102可能包含高速随机存取存储器(RAM:RandomAccess Memory),也可能还包括非易失性存储器(non-volatile memory),例如至少eMMC(Embedded Multi Media Card,嵌入式多媒体卡)存储器。通过至少一个网络接口1103(可以是有线或者无线)实现该网络设备与至少一个其他网元之间的通信连接。
在一些实施方式中,存储器1102存储了程序11021,程序11021可以被处理器1101执行,这个程序包括:
监测该交换机的流表的负载;
当该交换机流表的负载超过预设阈值时,该交换机根据扩散概率向相邻交换机转发目标数据流,其中,该目标数据流是指匹配该交换机流表失败的数据流。
可选的,根据该流表的状态确定扩散概率具体包括:
按照下列公式计算该扩散概率;
其中,PS是指扩散概率,Pmax是指预设最大扩散概率,Pmin是指预设最小概率,流表使用率用于指示流表的负载,avg是该流表使用率,maxthresh是指第一阈值,minthresh是指第二阈值,其中该第一阈值大于该第二阈值。
可选的,当该交换机流表的使用率大于第一阈值时,该交换机按照该预设最大扩散概率向该相邻交换机转发该目标数据流。
具体的实施步骤与图5所示的实施例相同,此处不再赘述。
从上可知,使用本发明实施例提供的交换机,交换机监测该交换机流表的状态;当该交换机流表的负载超过预设阈值时,该交换机根据扩散概率向相邻交换机转发匹配该交换机流表失败的数据流,当该交换机流表的负载超过预设阈值时,该交换机可能遭到攻击,将匹配该交换机流表失败的数据流转发到相邻交换机,可以减轻该交换机的负载,降低该交换机替换流表项的频率,提升正常数据流的命中率,减少迟延。
图14描述了本发明另一个实施例提供的控制器的结构,包括至少一个处理器1201(例如CPU),存储器1202,至少一个网络接口1203,至少一个通信总线1204以及至少一个接收器1205,用于实现这些装置之间的连接通信。处理器1201用于执行存储器1202中存储的可执行模块,例如计算机程序。存储器1202可能包含高速随机存取存储器(RAM:RandomAccess Memory),也可能还包括非易失性存储器(non-volatile memory),例如至少eMMC(Embedded Multi Media Card,嵌入式多媒体卡)存储器。通过至少一个网络接口1203(可以是有线或者无线)实现该网络设备与至少一个其他网元之间的通信连接。
在一些实施方式中,存储器1202存储了程序12021,程序12021可以被处理器1201执行,这个程序包括:
获取该多个交换机的流表的负载;
根据网络拓扑确定该多个交换机的连接关系;
根据该多个交换机的连接关系以及该多个交换机中每个交换机的流表的负载确定每条转发路径的权重,其中,该转发路径为两个直接连接的交换机之间的路径;
根据该每条转发路径的权重确定该SDN中数据流的传输路径以使得该SDN处于负载均衡状态。
可选的,该根据该交换机的连接关系以及该交换机中每个交换机的流表使用率确定每个转发路径的权重,具体包括:
根据该多个交换机的连接关系确定每条转发路径;
确定该每条转发路径中包含的交换机;
根据该每条转发路径中目标交换机的流表的负载确定该每条转发路径的权重,其中,该目标交换机是指接收到数据流的交换机。
可选的,该控制器根据以下计算公式进行计算所述每条转发路径的权重:
其中,用流表使用率表示流表的负载,该TH是预设的流表使用率阈值,Max是预设的常数,f(ij)表示交换机i到交换机j的权重,t表示交换机j的流表使用率,该交换机i属于该多个交换机,该交换机j属于该多个交换机。
具体的实施步骤与图6所示的实施例相同,此处不再赘述。
从上可知,使用本发明实施例提供的控制器,所述控制器根据所述多个交换机的连接关系以及所述多个交换机中每个交换机的流表的负载确定每个转发路径的权重,所述控制器根据所述每条转发路径的权重确定所述SDN中数据流的传输路径,从而使得网络拓扑中交换机达到负载均衡的状态,提升交换机处理数据流的效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
上述装置和系统内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(ROM:Read-Only Memory)或随机存储记忆体(RAM:RandomAccess Memory)等。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种处理流表的方法,所述方法应用于软件定义网络SDN中,所述SDN包括控制器和交换机,其特征在于,所述方法包括:
所述交换机监测所述交换机的流表的负载;
当所述交换机的流表的负载超过预设阈值时,所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象,其中,所述目标数据流是指匹配所述交换机流表失败的数据流,所述扩散流表是所述控制器下发的;
当确定的所述扩散对象为与所述交换机的相邻交换机时,所述交换机向所述相邻交换机转发所述目标数据流;
所述扩散流表为控制器根据所述交换机的相邻交换机的流表的负载确定,具体为:
所述控制器根据所述交换机以及与所述交换机的相邻交换机的连接关系确定所述交换机的转发路径,其中,所述转发路径是指所述交换机与所述交换机的相邻交换机之间的路径;
所述控制器根据每条转发路径中所述交换机的相邻交换机的流表的负载确定所述每条转发路径的扩散概率;
所述控制器根据所述每条转发路径的扩散概率确定每条转发路径所对应的所述交换机的出端口的数量,所述交换机的出端口用于转发数据流;
所述控制器根据所述每条转发路径以及所述每条转发路径所对应的所述交换机的出端口的数量确定所述交换机的扩散流表。
2.如权利要求1所述的方法,其特征在于,所述匹配规则包括所述交换机的端口号和所述扩散对象的对应关系;
在所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象之前,所述方法还包括:
所述交换机确定入端口的端口号,其中,所述入端口是指所述交换机接收到所述目标数据流的端口;
所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象,包括:
所述交换机根据所述入端口的端口号和所述匹配规则确定所述目标数据流的扩散对象。
3.如权利要求1所述的方法,其特征在于,所述匹配规则包括数字区间与所述扩散对象的对应关系,其中,一个数字区间对应一个扩散对象,并且所述匹配规则包括至少两个数字区间;
所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象之前,所述方法还包括:
所述交换机对所述目标数据流的包头域进行哈希计算,获得数值;
所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象具体包括:
所述交换机确定所述数值所在的数字区间;
所述交换机根据所述数字区间和所述匹配规则确定所述扩散对象。
4.如权利要求1至3任一所述的方法,其特征在于,所述方法还包括:
当确定的所述扩散对象为所述控制器时,所述交换机向所述控制器请求与所述目标数据流匹配的流表项。
5.一种处理流表的方法,所述方法应用于软件定义网络SDN中,所述SDN包括控制器和多个交换机,其特征在于,所述方法包括:
所述控制器根据网络拓扑确定与第一交换机直接连接的第二交换机,其中,所述第一交换机是所述多个交换机中的任意一个交换机,所述第二交换机是所述多个交换机中除第一交换机外的其他交换机,所述第二交换机的数量为至少一个;
所述控制器获取所述第二交换机的流表的负载;
所述控制器根据所述第二交换机的流表的负载确定所述第一交换机的扩散流表;
所述控制器向所述第一交换机发送所述扩散流表;
所述控制器根据所述第二交换机的流表的负载确定所述第一交换机的扩散流表,包括:
所述控制器根据所述第一交换机与所述第二交换机的连接关系确定所述第一交换机的转发路径,其中,所述转发路径是指所述第一交换机与所述第二交换机之间的路径;
所述控制器根据每条转发路径中第二交换机的流表的负载确定所述每条转发路径的扩散概率;
所述控制器根据所述每条转发路径的扩散概率确定每条转发路径所对应的所述第一交换机的出端口的数量,所述第一交换机的出端口用于转发数据流;
所述控制器根据所述每条转发路径以及所述每条转发路径所对应的所述第一交换机的出端口的数量确定所述第一交换机的扩散流表。
6.一种处理流表的方法,所述方法应用于软件定义网络SDN中,所述SDN包括控制器和多个交换机,其特征在于,所述方法包括:
所述控制器根据网络拓扑确定与第一交换机直接连接的第二交换机,其中,所述第一交换机是所述多个交换机中的任意一个交换机,所述第二交换机是所述多个交换机中除第一交换机外的其他交换机,所述第二交换机的数量为至少一个;
所述控制器获取所述第二交换机的流表的负载;
所述控制器根据所述第二交换机的流表的负载确定所述第一交换机的扩散流表;
所述控制器向所述第一交换机发送所述扩散流表;
所述控制器根据所述第二交换机的流表的负载确定所述第一交换机的扩散流表,包括:
所述控制器根据所述第一交换机与所述第二交换机的连接关系确定所述第一交换机的转发路径,其中,所述转发路径是指所述第一交换机与所述第二交换机之间的路径;
所述控制器根据每条转发路径中第二交换机的流表的负载确定所述每条转发路径的扩散概率;
所述控制器根据所述每条转发路径的扩散概率确定所述每条转发路径所对应的数字区间;
所述控制器根据所述每条转发路径以及所述每条转发路径所对应的数字区间确定所述第一交换机的扩散流表。
7.一种交换机,所述交换机应用于软件定义网络SDN中,其特征在于,所述交换机包括监测单元,第一确定单元和扩散单元;
所述监测单元,用于监测所述交换机的流表的负载;
所述第一确定单元,用于当所述交换机的流表的负载超过预设阈值时,所述交换机根据扩散流表的匹配规则确定目标数据流的扩散对象,其中,所述目标数据流是指匹配所述交换机流表失败的数据流,所述扩散流表是控制器下发的;
所述扩散单元,用于当确定的所述扩散对象为与所述交换机的相邻交换机时,所述交换机向所述相邻交换机转发所述目标数据流;
所述扩散流表为控制器根据所述交换机的相邻交换机的流表的负载确定,具体为:
所述控制器根据所述交换机以及与所述交换机的相邻交换机的连接关系确定所述交换机的转发路径,其中,所述转发路径是指所述交换机与所述交换机的相邻交换机之间的路径;
所述控制器根据每条转发路径中所述交换机的相邻交换机的流表的负载确定所述每条转发路径的扩散概率;
所述控制器根据所述每条转发路径的扩散概率确定每条转发路径所对应的所述交换机的出端口的数量,所述交换机的出端口用于转发数据流;
所述控制器根据所述每条转发路径以及所述每条转发路径所对应的所述交换机的出端口的数量确定所述交换机的扩散流表。
8.如权利要求7所述的交换机,其特征在于,所述匹配规则包括所述交换机的端口号和所述扩散对象的对应关系;所述交换机还包括第二确定单元;
所述第二确定单元,用于确定入端口的端口号,其中,所述入端口是指所述交换机接收到所述目标数据流的端口;
所述第一确定单元,用于根据所述入端口的端口号和所述匹配规则确定所述目标数据流的扩散对象。
9.如权利要求7所述的交换机,其特征在于,所述匹配规则包括数字区间与所述扩散对象的对应关系,其中,一个数字区间对应一个扩散对象,并且所述匹配规则中有至少两个数字区间;所述交换机还包括哈希单元;
所述哈希单元,用于对目标数据流的包头域进行哈希计算,获得数值;
所述第一确定单元,具体用于确定所述数值所在的数字区间,并根据所述数字区间和所述匹配规则确定所述扩散对象。
10.如权利要求7至9任一所述的交换机,其特征在于,
所述第一确定单元,还用于当确定的所述扩散对象为所述控制器时,向所述控制器请求与所述目标数据流匹配的流表项。
11.一种控制器,所述控制器应用于软件定义网络SDN中,所述SDN包括所述控制器和多个交换机,其特征在于,所述控制器包括确定单元、获取单元以及发送单元;
所述确定单元,用于根据网络拓扑确定与第一交换机直接连接的第二交换机,其中,所述第一交换机是所述多个交换机中的任意一个交换机,所述第二交换机是所述多个交换机中除第一交换机外的其他交换机,所述第二交换机的数量为至少一个;
所述获取单元,用于获取所述第二交换机的流表的负载;
所述确定单元,还用于根据所述第二交换机的负载确定所述第一交换机的扩散流表;
所述发送单元,用于向所述第一交换机发送所述扩散流表;
所述确定单元具体包括第一确定子单元、第二确定子单元以及第三确定子单元;
所述第一确定子单元,用于根据所述第一交换机与所述第二交换机的连接关系确定所述第一交换机的转发路径,其中,所述转发路径是指所述第一交换机与所述第二交换机之间的路径;
所述第二确定子单元,用于根据每条转发路径中第二交换机的流表的负载确定所述每条转发路径的扩散概率;
所述第三确定子单元,具体用于根据所述每条转发路径的扩散概率确定每条转发路径所对应的所述第一交换机的出端口的数量,所述第一交换机的出端口用于转发数据流,并根据所述每条转发路径以及所述每条转发路径所对应的所述第一交换机的出端口的数量确定所述第一交换机的扩散流表。
12.一种控制器,所述控制器应用于软件定义网络SDN中,所述SDN包括所述控制器和多个交换机,其特征在于,所述控制器包括确定单元、获取单元以及发送单元;
所述确定单元,用于根据网络拓扑确定与第一交换机直接连接的第二交换机,其中,所述第一交换机是所述多个交换机中的任意一个交换机,所述第二交换机是所述多个交换机中除第一交换机外的其他交换机,所述第二交换机的数量为至少一个;
所述获取单元,用于获取所述第二交换机的流表的负载;
所述确定单元,还用于根据所述第二交换机的负载确定所述第一交换机的扩散流表;
所述发送单元,用于向所述第一交换机发送所述扩散流表;
所述确定单元具体包括第一确定子单元、第二确定子单元以及第三确定子单元;
所述第一确定子单元,用于根据所述第一交换机与所述第二交换机的连接关系确定所述第一交换机的转发路径,其中,所述转发路径是指所述第一交换机与所述第二交换机之间的路径;
所述第二确定子单元,用于根据每条转发路径中第二交换机的流表的负载确定所述每条转发路径的扩散概率;
所述第三确定子单元,用于根据所述每条转发路径的扩散概率确定每条转发路径所对应的数字区间,并根据所述每条转发路径以及所述每条转发路径所对应的数字区间确定所述第一交换机的扩散流表。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510486210.0A CN106713182B (zh) | 2015-08-10 | 2015-08-10 | 一种处理流表的方法及装置 |
PCT/CN2016/094227 WO2017025021A1 (zh) | 2015-08-10 | 2016-08-09 | 一种处理流表的方法及装置 |
EP16834645.0A EP3324586B1 (en) | 2015-08-10 | 2016-08-09 | Method and device for processing flow table |
US15/892,417 US10728154B2 (en) | 2015-08-10 | 2018-02-09 | Flow table processing method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510486210.0A CN106713182B (zh) | 2015-08-10 | 2015-08-10 | 一种处理流表的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106713182A CN106713182A (zh) | 2017-05-24 |
CN106713182B true CN106713182B (zh) | 2020-10-09 |
Family
ID=57983130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510486210.0A Active CN106713182B (zh) | 2015-08-10 | 2015-08-10 | 一种处理流表的方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10728154B2 (zh) |
EP (1) | EP3324586B1 (zh) |
CN (1) | CN106713182B (zh) |
WO (1) | WO2017025021A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109120525B (zh) * | 2017-06-26 | 2021-02-09 | 中国电信股份有限公司 | 用于sdn的路径确定方法、装置、sdn控制器及网络 |
US10880206B2 (en) | 2018-06-13 | 2020-12-29 | Futurewei Technologies, Inc. | Multipath selection system and method for datacenter-centric metro networks |
US11005777B2 (en) * | 2018-07-10 | 2021-05-11 | At&T Intellectual Property I, L.P. | Software defined prober |
CN110278152B (zh) | 2018-08-31 | 2020-05-29 | 新华三信息安全技术有限公司 | 一种建立快速转发表的方法及装置 |
CN109120531A (zh) * | 2018-09-11 | 2019-01-01 | 郑州云海信息技术有限公司 | 一种流表过载防护方法与装置 |
US10798005B2 (en) * | 2018-09-13 | 2020-10-06 | International Business Machines Corporation | Optimizing application throughput |
CN109245930A (zh) * | 2018-09-17 | 2019-01-18 | 武汉思普崚技术有限公司 | 一种云安全网元、云计算管理平台及系统 |
US10901805B2 (en) | 2018-12-18 | 2021-01-26 | At&T Intellectual Property I, L.P. | Distributed load balancing for processing of high-volume data streams |
US10972402B1 (en) * | 2019-09-27 | 2021-04-06 | Juniper Networks, Inc. | Dynamic management of inline entries in hardware across protocols in a scaled environment |
CN112968978B (zh) * | 2021-05-19 | 2021-12-21 | 南京烽火星空通信发展有限公司 | 一种基于sdn技术的互联网流量分流方法 |
CN115379026B (zh) * | 2022-04-19 | 2024-01-19 | 国家计算机网络与信息安全管理中心 | 一种报文头域的识别方法、装置、设备及存储介质 |
CN115225503B (zh) * | 2022-05-16 | 2023-07-04 | 北京邮电大学 | OpenFlow流表项动态超时分配方法及相关设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015062291A1 (zh) * | 2013-10-31 | 2015-05-07 | 华为技术有限公司 | 一种冲突检测及解决的方法、装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5652400B2 (ja) * | 2009-10-06 | 2015-01-14 | 日本電気株式会社 | ネットワークシステムとコントローラ、方法とプログラム |
CN101697528B (zh) * | 2009-10-30 | 2011-11-16 | 杭州华三通信技术有限公司 | 一种nat网关设备之间的负载分担方法和设备 |
US10103939B2 (en) * | 2010-07-06 | 2018-10-16 | Nicira, Inc. | Network control apparatus and method for populating logical datapath sets |
JP5915729B2 (ja) * | 2012-03-09 | 2016-05-11 | 日本電気株式会社 | 制御装置、通信システム及び通信装置制御方法 |
CN104272676A (zh) * | 2012-05-01 | 2015-01-07 | 日本电气株式会社 | 通信系统、访问控制装置、交换机、网络控制方法及程序 |
US9306840B2 (en) * | 2012-09-26 | 2016-04-05 | Alcatel Lucent | Securing software defined networks via flow deflection |
US9071529B2 (en) * | 2012-10-08 | 2015-06-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for accelerating forwarding in software-defined networks |
US9548920B2 (en) * | 2012-10-15 | 2017-01-17 | Cisco Technology, Inc. | System and method for efficient use of flow table space in a network environment |
CN103491095B (zh) | 2013-09-25 | 2016-07-13 | 中国联合网络通信集团有限公司 | 流量清洗架构、装置及流量牵引、流量回注方法 |
US20150195183A1 (en) * | 2014-01-06 | 2015-07-09 | Electronics And Telecommunications Research Institute | Method and apparatus for managing flow table |
JP6395867B2 (ja) * | 2014-06-03 | 2018-09-26 | 華為技術有限公司Huawei Technologies Co.,Ltd. | OpenFlow通信方法及びシステム、制御部、並びにサービスゲートウェイ |
-
2015
- 2015-08-10 CN CN201510486210.0A patent/CN106713182B/zh active Active
-
2016
- 2016-08-09 WO PCT/CN2016/094227 patent/WO2017025021A1/zh unknown
- 2016-08-09 EP EP16834645.0A patent/EP3324586B1/en active Active
-
2018
- 2018-02-09 US US15/892,417 patent/US10728154B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015062291A1 (zh) * | 2013-10-31 | 2015-05-07 | 华为技术有限公司 | 一种冲突检测及解决的方法、装置 |
Also Published As
Publication number | Publication date |
---|---|
US20180167325A1 (en) | 2018-06-14 |
EP3324586A4 (en) | 2018-10-24 |
US10728154B2 (en) | 2020-07-28 |
WO2017025021A1 (zh) | 2017-02-16 |
EP3324586B1 (en) | 2022-02-23 |
EP3324586A1 (en) | 2018-05-23 |
CN106713182A (zh) | 2017-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106713182B (zh) | 一种处理流表的方法及装置 | |
US10547541B2 (en) | Route determining method, and corresponding apparatus and system | |
CN107579923B (zh) | 一种sdn网络的链路负载均衡方法和sdn控制器 | |
US8259585B1 (en) | Dynamic link load balancing | |
US7769025B2 (en) | Load balancing in data networks | |
CN113132249A (zh) | 一种负载均衡方法和设备 | |
WO2016064704A1 (en) | Distributed computing based on deep packet inspection by network devices along network path to computing device | |
CN111726299B (zh) | 流量均衡方法及装置 | |
US10721295B2 (en) | Popularity-based load-balancing for fog-cloud placement | |
EP3292661A1 (en) | Packet forwarding | |
KR101841026B1 (ko) | 최적 경로 설정을 위한 서비스 기능 체이닝 네트워크 시스템 | |
CN109218190B (zh) | 一种传输路径的确定方法及节点 | |
CN112311672B (zh) | 一种路由表项获得方法、装置及设备 | |
US11070472B1 (en) | Dynamically mapping hash indices to member interfaces | |
CN112187642B (zh) | 自适应路由的加权带宽分配 | |
US20180212881A1 (en) | Load-based compression of forwarding tables in network devices | |
Hoang et al. | New distributed constraint satisfaction algorithms for load balancing in edge computing: A feasibility study | |
CN110636005B (zh) | 知识中心网络的知识路由方法及装置 | |
Belhareth et al. | Understanding TCP cubic performance in the cloud: A mean-field approach | |
Lu et al. | FAMG: A flow-aware and mixed granularity method for load-balancing in data center networks | |
Qin et al. | Minimum cost multi-path parallel transmission with delay constraint by extending openflow | |
KR20180015959A (ko) | 스위칭 망에서의 데이터 패킷 전송 경로 제어 장치, 및 이를 이용한 보안 통신 방법 | |
Mahmood et al. | OLWRED: Best Selected Strategy for Data Transmission in Heterogeneous Networks | |
Zeng et al. | Effect of traffic generation patterns on traffic performance of complex networks | |
CN115174480A (zh) | 一种负载均衡方法、装置、设备及可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
CB03 | Change of inventor or designer information |
Inventor after: Li Jinming Inventor after: Hu Chengchen Inventor after: Zhang Peng Inventor before: Li Jinming Inventor before: Hu Chengchen Inventor before: Zhang Peng |
|
CB03 | Change of inventor or designer information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |