公开/公告号CN106533940A
专利类型发明专利
公开/公告日2017-03-22
原文格式PDF
申请/专利权人 上海斐讯数据通信技术有限公司;
申请/专利号CN201610939077.4
发明设计人 翟跃;
申请日2016-10-25
分类号H04L12/721(20130101);H04L12/803(20130101);
代理机构上海硕力知识产权代理事务所;
代理人郭桂峰
地址 201616 上海市松江区思贤路3666号
入库时间 2023-06-19 01:52:33
法律状态公告日
法律状态信息
法律状态
2019-10-11
授权
授权
2017-04-19
实质审查的生效 IPC(主分类):H04L12/721 申请日:20161025
实质审查的生效
2017-03-22
公开
公开
技术领域
本发明实施方式涉及数据通讯技术领域,尤其涉及一种基于SDN(SoftwareDefined Network,软件定义网络)的等价路由哈希选路方法、装置和系统。
背景技术
网络中经常存在多条目的地相同且开销也相同的路径。当到同一目的地的路由中,没有更高优先级的路径时,这几条路径都被采纳,在转发去往该目的地的报文时,依次通过各条路径发送,从而实现网络的负载分担。当网络上存在多条等价路由时,控制器可以根据报文中的信息,例如源IP地址、目的IP地址、源端口、目的端口、IP协议号和入端口等配置逐流进行负载分担。
传统的等价路由哈希选路算法是基于某一台转发设备,整个过程如图1所示。在某些复杂的组网环境中,需要管理员手动修改负载分担算法才能满足负载分担的需求。
在实施本发明的过程中,发明人发现现有技术至少存在如下问题:
传统的等价路由哈希选路算法是基于某一台转发设备,而且哈希算法是静态配置的,整个配置是分布式的,配置复杂且容易出错。在某些复杂的组网环境中,单一的负载分担算法不能满足负载分担的需求,可能出现设备负载分担不均匀的情况。
应该注意,上面对技术背景的介绍只是为了方便对本发明的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本发明的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。
发明内容
针对上述问题,本发明实施方式的目的在于提供一种基于SDN的等价路由哈希选路方法、装置和系统,能够基于SDN架构,只需要集中配置控制器,就能实现控制器动态检测链路负载和动态选路,配置简单而高效。
为实现上述目的,本发明实施方式提供一种基于SDN的等价路由哈希选路方法,包括:控制器预先设置基于SDN的等价路由哈希算法配置任务序列,所述任务序列包括基于SDN的等价路由哈希算法功能和基于流量哈希算法表;所述控制器接收交换机上报的未匹配流表的报文和链路负载信息,并根据所述报文的特征码计算等价路由;所述控制器根据所述报文的特征码查找基于流量哈希算法表进行选路,并根据上报的链路负载信息计算等价路由的整条链路负载;所述控制器根据计算的整条链路负载从等价路由中确定转发路径,将所述转发路径添加到流表中下发给交换机,以使交换机根据所述转发路径转发所述报文。
进一步地,所述基于SDN的等价路由哈希算法功能用于打开或关闭基于SDN的等价路由哈希选路功能;所述基于流量哈希算法表的字段包括源IP地址、目的IP地址和负载分担方式,其中负载分担方式包括基于源端口进行负载分担、基于目的端口进行负载分担、以及基于源端口和目的端口进行负载分担。
进一步地,所述控制器接收交换机上报的未匹配流表的报文,并根据所述报文的特征码计算等价路由,包括:控制器根据链接层发现协议生成网络拓扑;当控制器接收交换机上报的未匹配流表的报文时,从所述报文中获取源IP和目的IP,并根据所述源IP和目的IP计算等价路由。
进一步地,所述控制器接收交换机上报的链路负载信息,包括:控制器接收交换机通过私有Experimenter报文上报的链路负载信息,所述链路负载信息包括交换机ID、端口数和端口负载率,其中交换机ID为交换机MAC地址,端口数为交换机的实际交换端口数,端口负载率从0%-100%。
进一步地,所述控制器根据所述报文的特征码查找基于流量哈希算法表进行选路,并根据上报的链路负载信息计算等价路由的整条链路负载,包括:控制器根据所述报文的源IP和目的IP查找基于流量哈希算法表,根据所述基于流量哈希算法表匹配表项中的负载分担方式在等价路由中进行选路;控制器根据上报的链路负载信息计算已选择路由的整条链路负载,其中所述整条链路负载取链路中的最大链路负载。
进一步地,所述控制器根据计算的整条链路负载从等价路由中确定转发路径,包括:预先设置的警戒负载率;控制器判断已选择路由的整条链路负载是否超过预先设置的警戒负载率;如果超过,则计算其他等价路由的整条链路负载,并选择整条链路负载最小的等价路由作为转发路径;如果未超过,则确定已选择路由作为转发路径。
为实现上述目的,本发明实施方式还提供一种基于SDN的等价路由哈希选路系统,包括:交换机,用于向控制器上报未匹配流表的报文和链路负载信息;控制器,用于预先设置基于SDN的等价路由哈希算法配置任务序列,所述任务序列包括基于SDN的等价路由哈希算法功能和基于流量哈希算法表;接收交换机上报的未匹配流表的报文和链路负载信息,并根据所述报文的特征码计算等价路由;根据所述报文的特征码查找基于流量哈希算法表进行选路,并根据上报的链路负载信息计算等价路由的整条链路负载;根据计算的整条链路负载从等价路由中确定转发路径,将所述转发路径添加到流表中下发给交换机;所述交换机,还用于根据所述转发路径转发所述报文。
为实现上述目的,本发明实施方式还提供一种控制基于SDN的等价路由哈希选路的装置,包括:第一处理模块,用于预先设置基于SDN的等价路由哈希算法配置任务序列,所述任务序列包括基于SDN的等价路由哈希算法功能和基于流量哈希算法表;第二处理模块,用于接收交换机上报的未匹配流表的报文和链路负载信息,并根据所述报文的特征码计算等价路由;第三处理模块,用于根据所述报文的特征码查找基于流量哈希算法表进行选路,并根据上报的链路负载信息计算等价路由的整条链路负载;第四处理模块,用于根据计算的整条链路负载从等价路由中确定转发路径,将所述转发路径添加到流表中下发给交换机,以使交换机根据所述转发路径转发所述报文。
由上可见,本发明实施方式提供的一种基于SDN的等价路由哈希选路方法、装置和系统,控制器预先基于SDN的等价路由哈希算法配置任务序列,并通过扩展私有Experimenter报文上报的链路负载信息,从而能够基于全网进行等价路由的链路负载的计算,选取链路负载最优的等价路由作为转发路径。本发明能够基于SDN架构,只需要集中配置控制器,就能实现控制器动态检测链路负载和动态选路,配置简单而高效。
附图说明
为了更清楚地说明本发明实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图逐一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为传统的等价路由哈希选路示意图。
图2为本发明实施方式提供的基于SDN的等价路由哈希选路系统的架构示意图;
图3为本发明实施方式提供的基于SDN的等价路由哈希选路方法的流程示意图;
图4为本发明实施方式扩展的Experimenter报文格式的示意图;
图5为本发明实施方式链路负载示意图;
图6为基于图3方法的应用实例示意图;
图7为本发明实施方式提供的控制基于SDN的等价路由哈希选路的装置的结构示意图。
具体实施方式
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
SDN是一种新型的网络架构,其可以通过OpenFlow(开放流)技术将网络设备的控制面与数据面进行分离,从而实现对网络流量的灵活控制。在SDN中,包含实现控制面功能的控制器和若干实现数据面功能的交换机。
本发明实施方式提供一种基于SDN的等价路由哈希选路系统,如图2所示,SDN网络中包括控制器和交换机,其中SDN网络中的交换机由集中的控制器管理。此外,客户端和服务器分别和交换机连接,通过SDN网络进行通讯。
本发明实施方式提供一种基于SDN的等价路由哈希选路方法。请参阅图3,所述方法应用于SDN中的控制器上,包括以下步骤:
步骤S31:控制器预先设置基于SDN的等价路由哈希算法配置任务序列,所述任务序列包括基于SDN的等价路由哈希算法功能和基于流量哈希算法表。
在本实施方式中,控制器预先设置基于SDN的等价路由哈希选路配置任务序列,用于打开或关闭基于SDN的等价路由哈希选路功能。具体如表1所示。
表1
在本实施方式中,控制器还进一步设置了基于流量哈希算法表,该基于流量哈希算法表的字段包括源IP地址、目的IP地址和负载分担方式,具体如表2所示。
表2
步骤S32:控制器接收交换机上报的未匹配流表的报文和链路负载信息,并根据所述报文的特征码计算等价路由。
在本实施方式中,当报文进入到SDN网络后,入口交换机查询流表,如果所述报文匹配流表,则将所述报文根据流表中的转发路径进行转发;如果所述报文未匹配流表,则将所述报文上报给控制器。
控制器根据LLDP(Link Layer Discovery Protocol,链接层发现协议)生成网络拓扑。当接收交换机上报的未匹配流表的报文时,从所述报文中获取源IP和目的IP,并根据所述源IP和目的IP计算等价路由。
此外,控制器还接收交换机通过私有Experimenter报文上报的链路负载信息。
和现有技术相比,本实施方式对Experimenter报文进行了扩展,扩展的Experimenter报文格式如图4所示,Experimenter值为255需要向ONF组织申请;Experimenter type值为1表明是从交换机到控制器。此外,在扩展的Experimenter报文中扩展了链路负载信息,包括交换机ID、端口数和端口负载率,其中交换机ID为交换机MAC地址,端口数(n)为交换机的实际交换端口数,端口负载率从0%-100%。
步骤S33:控制器根据所述报文的特征码查找基于流量哈希算法表进行选路,并根据上报的链路负载信息计算等价路由的整条链路负载。
在本实施方式中,控制器根据所述报文的源IP和目的IP查找基于流量哈希算法表,根据所述基于流量哈希算法表匹配表项中的负载分担方式在等价路由中进行选路。
控制器还根据上报的链路负载信息计算已选择路由的整条链路负载,其中整条链路负载取最大链路负载,例如图5所示,S0到S1的链路负载为50%,S1到S2的链路负载为30%,S2到S3的链路负载为70%,则S0到S3的链路负载为70%。
步骤S34:控制器根据计算的整条链路负载从等价路由中确定转发路径,将所述转发路径添加到流表中下发给交换机,以使交换机根据所述转发路径转发所述报文。
在本实施方式中,预先设置的警戒负载率,优选地警戒负载率为80%。
控制器判断整条链路负载是否超过预先设置的警戒负载率。
如果已选择路由的整条链路负载超过警戒负载率,则计算其他等价路由的整条链路负载,并选择整条链路负载最小的等价路由作为转发路径;
如果已选择路由的整条链路负载没有超过警戒负载率,则确定已选择路由作为转发路径。
控制器将所述转发路径添加到流表中下发给交换机,以使交换机根据所述转发路径转发所述报文。
请参考图6,本发明的一个应用实例中,客户端通过SDN网络与服务器连通,控制器基于SDN的等价路由哈希算法功能和基于流量哈希算法表。
控制器根据链接层发现协议生成网络拓扑。当交换机S1接收到客户端发送给服务器的报文时,如果该报文未匹配流表,将该报文上送给控制器,控制器从报文中解析出源IP和目的IP,并并根据所述源IP和目的IP计算等价路由,例如:路由1为S1-S3,路由2为S1-S0-S2-S3,。
控制器基于负载分担方式选择路由1,根据交换机上报的链路负载信息计算S1-S3的链路负载为50%,小于警戒负载率,因此选择S1-S3作为转发路径下发给交换机。
链路负载发生变化,根据交换机上报的链路负载信息,S1-S3的链路负载超过了警戒负载率,则S1-S0-S2-S3作为转发路径下发给交换机。
请继续参阅图1。本发明实施方式提供一种基于SDN的等价路由哈希选路系统,包括:
交换机,用于向控制器上报未匹配流表的报文和链路负载信息;
控制器,用于预先设置基于SDN的等价路由哈希算法配置任务序列,所述任务序列包括基于SDN的等价路由哈希算法功能和基于流量哈希算法表;接收交换机上报的未匹配流表的报文和链路负载信息,并根据所述报文的特征码计算等价路由;根据所述报文的特征码查找基于流量哈希算法表进行选路,并根据上报的链路负载信息计算等价路由的整条链路负载;根据计算的整条链路负载从等价路由中确定转发路径,将所述转发路径添加到流表中下发给交换机;
所述交换机,还用于根据所述转发路径转发所述报文。
其中,
所述控制器,具体用于:
根据链接层发现协议生成网络拓扑,当接收交换机上报的未匹配流表的报文时,从所述报文中获取源IP和目的IP,并根据所述源IP和目的IP计算等价路由;
根据所述报文的源IP和目的IP查找基于流量哈希算法表,根据所述基于流量哈希算法表匹配表项中的负载分担方式在等价路由中进行选路;根据上报的链路负载信息计算已选择路由的整条链路负载,其中所述整条链路负载取链路中的最大链路负载;
判断已选择路由的整条链路负载是否超过预先设置的警戒负载率;如果超过,则计算其他等价路由的整条链路负载,并选择整条链路负载最小的等价路由作为转发路径;如果未超过,则确定已选择路由作为转发路径。
请参阅图7。本发明实施方式提供一种控制基于SDN的等价路由哈希选路的装置,包括:
第一处理模块,用于预先设置基于SDN的等价路由哈希算法配置任务序列,所述任务序列包括基于SDN的等价路由哈希算法功能和基于流量哈希算法表;
第二处理模块,用于接收交换机上报的未匹配流表的报文和链路负载信息,并根据所述报文的特征码计算等价路由;
第三处理模块,用于根据所述报文的特征码查找基于流量哈希算法表进行选路,并根据上报的链路负载信息计算等价路由的整条链路负载;
第四处理模块,用于根据计算的整条链路负载从等价路由中确定转发路径,将所述转发路径添加到流表中下发给交换机,以使交换机根据所述转发路径转发所述报文。
其中,
所述第二处理模块,具体用于:
根据链接层发现协议生成网络拓扑,当接收交换机上报的未匹配流表的报文时,从所述报文中获取源IP和目的IP,并根据所述源IP和目的IP计算等价路由;接收交换机通过私有Experimenter报文上报的链路负载信息,所述链路负载信息包括交换机ID、端口数和端口负载率;
所述第三处理模块,具体用于:
根据所述报文的源IP和目的IP查找基于流量哈希算法表,根据所述基于流量哈希算法表匹配表项中的负载分担方式在等价路由中进行选路;根据上报的链路负载信息计算已选择路由的整条链路负载,其中所述整条链路负载取链路中的最大链路负载;
所述第四处理模块,具体用于:
判断已选择路由的整条链路负载是否超过预先设置的警戒负载率;如果超过,则计算其他等价路由的整条链路负载,并选择整条链路负载最小的等价路由作为转发路径;如果未超过,则确定已选择路由作为转发路径。
上述的涉及到的基于SDN的等价路由哈希选路装置和系统的具体技术细节和基于SDN的等价路由哈希选路方法中的类似,故在此不再具体赘述。
由上可见,本发明实施方式提供的一种基于SDN的等价路由哈希选路方法、装置和系统,控制器预先基于SDN的等价路由哈希算法配置任务序列,并通过扩展私有Experimenter报文上报的链路负载信息,从而能够基于全网进行等价路由的链路负载的计算,选取链路负载最优的等价路由作为转发路径。本发明能够基于SDN架构,只需要集中配置控制器,就能实现控制器动态检测链路负载和动态选路,配置简单而高效。
本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。
最后应说明的是:上面对本发明的各种实施方式的描述以描述的目的提供给本领域技术人员。其不旨在是穷举的、或者不旨在将本发明限制于单个公开的实施方式。如上所述,本发明的各种替代和变化对于上述技术所属领域技术人员而言将是显而易见的。因此,虽然已经具体讨论了一些另选的实施方式,但是其它实施方式将是显而易见的,或者本领域技术人员相对容易得出。本发明旨在包括在此已经讨论过的本发明的所有替代、修改、和变化,以及落在上述申请的精神和范围内的其它实施方式。
机译: 基于sad方法的基于位置的路由选路和传感器节点消隐方法
机译: 基于sad方法的基于位置的路由选路和传感器节点消隐方法
机译: 基于SDN的SDN融合路由方法及其系统