1.一种基于SDN的等价路由哈希选路方法,其特征在于,包括:
控制器预先设置基于SDN的等价路由哈希算法配置任务序列,所述任务序列包括基于SDN的等价路由哈希算法功能和基于流量哈希算法表;
所述控制器接收交换机上报的未匹配流表的报文和链路负载信息,并根据所述报文的特征码计算等价路由,控制器接收交换机通过私有Experimenter报文上报的链路负载信息,所述私有Experimenter报文的特征码扩展了链路负载信息,所述链路负载信息包括交换机ID、端口数和端口负载率,其中交换机ID为交换机MAC地址,端口数为交换机的实际交换端口数,端口负载率从0%-100%;
所述控制器根据所述报文的特征码查找基于流量哈希算法表进行选路,并根据上报的链路负载信息计算等价路由的整条链路负载;
所述控制器根据计算的整条链路负载从等价路由中确定转发路径,将所述转发路径添加到流表中下发给交换机,以使交换机根据所述转发路径转发所述报文,其中,所述基于SDN的等价路由哈希算法功能用于打开或关闭基于SDN的等价路由哈希选路功能;
所述基于流量哈希算法表的字段包括源IP地址、目的IP地址和负载分担方式,其中负载分担方式包括基于源端口进行负载分担、基于目的端口进行负载分担、以及基于源端口和目的端口进行负载分担。
2.根据权利要求1所述的基于SDN的等价路由哈希选路方法,其特征在于,所述控制器接收交换机上报的未匹配流表的报文,并根据所述报文的特征码计算等价路由,包括:控制器根据链接层发现协议生成网络拓扑;
当控制器接收交换机上报的未匹配流表的报文时,从所述报文中获取源IP和目的IP,并根据所述源IP和目的IP计算等价路由。
3.根据权利要求2所述的基于SDN的等价路由哈希选路方法,其特征在于,所述控制器根据所述报文的特征码查找基于流量哈希算法表进行选路,并根据上报的链路负载信息计算等价路由的整条链路负载,包括:控制器根据所述报文的源IP和目的IP查找基于流量哈希算法表,根据所述基于流量哈希算法表匹配表项中的负载分担方式在等价路由中进行选路;
控制器根据上报的链路负载信息计算已选择路由的整条链路负载,其中所述整条链路负载取链路中的最大链路负载。
4.根据权利要求3所述的基于SDN的等价路由哈希选路方法,其特征在于,所述控制器根据计算的整条链路负载从等价路由中确定转发路径,包括:预先设置的警戒负载率;
控制器判断已选择路由的整条链路负载是否超过预先设置的警戒负载率;
如果超过,则计算其他等价路由的整条链路负载,并选择整条链路负载最小的等价路由作为转发路径;
如果未超过,则确定已选择路由作为转发路径。
5.一种基于SDN的等价路由哈希选路系统,其特征在于,包括:
交换机,用于向控制器上报未匹配流表的报文和链路负载信息;
控制器,用于预先设置基于SDN的等价路由哈希算法配置任务序列,所述任务序列包括基于SDN的等价路由哈希算法功能和基于流量哈希算法表,所述基于SDN的等价路由哈希算法功能用于打开或关闭基于SDN的等价路由哈希选路功能,接收交换机上报的未匹配流表的报文和链路负载信息,并根据所述报文的特征码计算等价路由,控制器接收交换机通过私有Experimenter报文上报的链路负载信息,所述私有Experimenter报文的特征码扩展了链路负载信息,包括交换机ID、端口数和端口负载率,其中交换机ID为交换机MAC地址,端口数(n)为交换机的实际交换端口数,端口负载率从0%-100%;根据所述报文的特征码查找基于流量哈希算法表进行选路,并根据上报的链路负载信息计算等价路由的整条链路负载;根据计算的整条链路负载从等价路由中确定转发路径,将所述转发路径添加到流表中下发给交换机;
所述交换机,还用于根据所述转发路径转发所述报文,其中,所述基于流量哈希算法表的字段包括源IP地址、目的IP地址和负载分担方式,其中负载分担方式包括基于源端口进行负载分担、基于目的端口进行负载分担、以及基于源端口和目的端口进行负载分担;
所述控制器,具体用于:
根据链接层发现协议生成网络拓扑,当接收交换机上报的未匹配流表的报文时,从所述报文中获取源IP和目的IP,并根据所述源IP和目的IP计算等价路由;
根据所述报文的源IP和目的IP查找基于流量哈希算法表,根据所述基于流量哈希算法表匹配表项中的负载分担方式在等价路由中进行选路;根据上报的链路负载信息计算已选择路由的整条链路负载,其中所述整条链路负载取链路中的最大链路负载;
判断已选择路由的整条链路负载是否超过预先设置的警戒负载率;如果超过,则计算其他等价路由的整条链路负载,并选择整条链路负载最小的等价路由作为转发路径;如果未超过,则确定已选择路由作为转发路径。
6.一种基于SDN的等价路由哈希选路的装置,其特征在于,包括:
第一处理模块,用于预先设置基于SDN的等价路由哈希算法配置任务序列,所述任务序列包括基于SDN的等价路由哈希算法功能和基于流量哈希算法表,所述基于SDN的等价路由哈希算法功能用于打开或关闭基于SDN的等价路由哈希选路功能;
第二处理模块,用于接收交换机上报的未匹配流表的报文和链路负载信息,并根据所述报文的特征码计算等价路由,通过私有Experimenter报文上报的链路负载信息,所述私有Experimenter报文的特征码扩展了链路负载信息,包括交换机ID、端口数和端口负载率,其中交换机ID为交换机MAC地址,端口数(n)为交换机的实际交换端口数,端口负载率从
0%-100%;
第三处理模块,用于根据所述报文的特征码查找基于流量哈希算法表进行选路,并根据上报的链路负载信息计算等价路由的整条链路负载;
第四处理模块,用于根据计算的整条链路负载从等价路由中确定转发路径,将所述转发路径添加到流表中下发给交换机,以使交换机根据所述转发路径转发所述报文,其中,所述基于流量哈希算法表的字段包括源IP地址、目的IP地址和负载分担方式,其中负载分担方式包括基于源端口进行负载分担、基于目的端口进行负载分担、以及基于源端口和目的端口进行负载分担;
所述第二处理模块,具体用于:
根据链接层发现协议生成网络拓扑,当接收交换机上报的未匹配流表的报文时,从所述报文中获取源IP和目的IP,并根据所述源IP和目的IP计算等价路由;接收交换机通过私有Experimenter报文上报的链路负载信息,所述链路负载信息包括交换机ID、端口数和端口负载率;
所述第三处理模块,具体用于:
根据所述报文的源IP和目的IP查找基于流量哈希算法表,根据所述基于流量哈希算法表匹配表项中的负载分担方式在等价路由中进行选路;根据上报的链路负载信息计算已选择路由的整条链路负载,其中所述整条链路负载取链路中的最大链路负载;
所述第四处理模块,具体用于:
判断已选择路由的整条链路负载是否超过预先设置的警戒负载率;如果超过,则计算其他等价路由的整条链路负载,并选择整条链路负载最小的等价路由作为转发路径;如果未超过,则确定已选择路由作为转发路径。