发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于SDN架构的流量控制方法及系统,用于在防止在端口阻塞时丢帧的同时又能保证用户网络的稳定。
为实现上述目的及其他相关目的,本发明提供一种基于SDN架构的流量控制方法,所述流量控制方法包括:SDN交换机检测接收和发送缓冲区,在检测到所述接收和发送缓冲区溢出时获取导致所述接收和发送缓冲区溢出的流量;所述SDN交换机提取所述流量的流量特征码并将所述流量特征码上报至SDN控制器;所述SDN控制器根据所述流量特征码获取所述流量的转发路径,并将包含流量控制指令信息的流表根据所述转发路径下发至产生所述流量的源端交换机;所述源端交换机根据所述流表指定的控制指令信息停止或暂停所述流量的发送。
可选地,所述流量控制方法还包括:所述SDN控制器根据LLDP协议感知传输网络的拓扑结构,所述SDN控制器根据所述传输网络的拓扑结构控制进入所述网络的报文的转发路径。
可选地,所述流量控制方法还包括:所述流表指定的控制指令信息包括暂停或停止的时间,所述源端交换机在停止或暂停所述流量的发送后,在达到所述暂停或停止的时间时,所述源端交换机删除所述流表。
可选地,所述流量控制方法还包括:所述SDN交换机还将有缓冲区溢出的交换机的ID和端口号上报至所述SDN控制器。
可选地,所述流量控制方法还包括:所述源端交换机在接收到所述SDN控制器下发的流表时,对所述流表进行匹配验证,并在所述流表通过匹配验证后,所述源端交换机根据所述流表指定的控制指令信息停止或暂停所述流量的发送,若所述流表未通过匹配验证则所述源端交换机继续发送所述流量。
为实现上述目的,本发明还提供一种基于SDN架构的流量控制系统,所述流量控制系统包括:SDN交换机和SDN控制器;所述SDN交换机包括:检测获取模块,用于检测接收和发送缓冲区,并在检测到所述接收和发送缓冲区溢出时获取导致所述接收和发送缓冲区溢出的流量;提取上报模块,与所述检测模块和所述SDN控制器相连,用于提取所述流量的流量特征码并将所述流量特征码上报至所述SDN控制器;所述SDN控制器包括:转发路径获取模块,与所述提取上报模块相连,用于根据所述流量特征码获取所述流量的转发路径;流表下发模块,与所述转发路径获取模块相连,用于将包含流量控制指令信息的流表根据所述转发路径下发至产生所述流量的源端交换机;所述源端交换机根据所述流表指定的控制指令信息停止或暂停所述流量的发送。
可选地,所述SDN控制器还包括:网络拓扑模块,用于根据LLDP协议感知传输网络的拓扑结构;转发路径控制模块,与所述网络拓扑模块和所述转发路径获取模块相连,用于根据所述传输网络的拓扑结构控制进入所述网络的报文的转发路径。
可选地,在所述流表下发模块中,所述流表指定的控制指令信息包括暂停或停止的时间,所述源端交换机在停止或暂停所述流量的发送后,在达到所述暂停或停止的时间时,所述源端交换机删除所述流表。
可选地,所述提取上报模块还用于将有缓冲区溢出的交换机的ID和端口号上报至所述SDN控制器。
可选地,所述流量控制系统还包括位于所述源端交换机内的匹配模块,所述匹配模块用 于在接收到所述SDN控制器下发的流表时,对所述流表进行匹配验证;在所述流表通过匹配验证后,所述源端交换机根据所述流表指定的控制指令信息停止或暂停所述流量的发送,若所述流表未通过匹配验证则所述源端交换机继续发送所述流量。
如上所述,本发明的一种基于SDN架构的流量控制方法及系统,具有以下有益效果:
本发明基于SDN架构,能定位出哪种流量导致接收和发送缓冲区溢出,可以在此流量进入SDN网络源端的时候,就阻止其输入,本发明既能防止在端口阻塞时丢帧的同时又能保证用户网络的稳定和网络高效的运行。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露 的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
本发明的目的在于提供一种基于SDN架构的流量控制方法及系统,用于在防止在端口阻塞时丢帧的同时又能保证用户网络的稳定。以下将详细阐述本发明的一种基于SDN架构的流量控制方法及系统的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本发明的一种基于SDN架构的流量控制方法及系统。
本实施例提供一种基于SDN架构的流量控制方法,本实施例基于SDN架构,一是用于防止在端口阻塞的情况下丢帧,二是既能保证用户网络的稳定,还能保证其高效的运行。
具体地,如图2所示,所述基于SDN架构的流量控制方法包括以下步骤。
步骤S11,SDN交换机检测接收和发送缓冲区,在检测到所述接收和发送缓冲区溢出时获取导致所述接收和发送缓冲区溢出的流量。通过所述SDN交换机可以捕获具体是哪种流量导致缓冲区溢出。
步骤S12,所述SDN交换机提取所述流量的流量特征码并将所述流量特征码上报至SDN控制器。在本实施例中,所述SDN交换机还将有缓冲区溢出的交换机的ID和端口号上报至所述SDN控制器。
也就是说,SDN交换机检测到接收和发送缓冲区溢出时候,需立即上报给SDN控制器,包括流量的特征码,缓冲区溢出的交换机ID和端口号。更进一步说,如图3所示,当SDN的交换机检测到接收和发送缓冲区溢出的时候,SDN交换机能分析出哪种流量导致缓冲区溢出,并提取出流量的特征码上报给SDN控制器。
步骤S13,所述SDN控制器根据所述流量特征码获取所述流量的转发路径,也就是,SDN控制器获得某台交换机缓冲区溢出的时候,需计算此流量的转发路径。
所述SDN控制器并将包含流量控制指令信息的流表根据所述转发路径下发至产生所述流量的源端交换机。其中,所述流表指定的控制指令信息包括暂停或停止的时间。SDN控制器向源端交换机下发流表,此交换机就会停止或暂停发送此流量。
其中,在本实施例中,所述SDN控制器根据LLDP协议感知传输网络的拓扑结构,所述SDN控制器根据所述传输网络的拓扑结构控制进入所述网络的报文的转发路径。
具体地,如图4所示,SDN控制器通过LLDP协议能感知整个网络的拓扑结构,首报文进入网络的时候,会递交给SDN控制器,由控制器决定其转发路径,SDN控制器在源端交换机上下发流表,此流表项停止或暂停交换机发送此流量。
步骤S14,所述源端交换机根据所述流表指定的控制指令信息停止或暂停所述流量的发送。
所述源端交换机在接收到所述SDN控制器下发的流表时,对所述流表进行匹配验证,并在所述流表通过匹配验证后,所述源端交换机根据所述流表指定的控制指令信息停止或暂停所述流量的发送,若所述流表未通过匹配验证则所述源端交换机继续发送所述流量。所述源端交换机为了支持停止或暂停交换机发送此流量,流表的处理如图5所示。为了支持停止或暂停此流量,流表中增加一个新的Flow Match(流表匹配)字段。
所述源端交换机在停止或暂停所述流量的发送后,在达到所述暂停或停止的时间时,所述源端交换机删除所述流表。
由此可见,在本实施例中,SDN交换机检测到接收和发送缓冲区溢出的时候,需立即上报给SDN控制器。SDN控制器计算此流量的转发路径,SDN控制器向源端交换机下发流表,源端交换机就会根据流表指定的PAUSE-TIME(暂停时间)停止或暂停发送此流量。所以本发明的流量控制方法既能防止在端口阻塞时丢帧的同时又能保证用户网络的稳定和网络高效的运行。
为实现上述基于SDN架构的流量控制方法,本实施例对应提供提供一种基于SDN架构的流量控制系统,具体地,如图6所示,基于SDN架构的流量控制系统1包括:SDN交换机11和SDN控制器12。
所述SDN交换机11包括检测获取模块111和提取上报模块112。
检测获取模块111用于检测接收和发送缓冲区,并在检测到所述接收和发送缓冲区溢出时获取导致所述接收和发送缓冲区溢出的流量。通过检测获取模块111可以捕获具体是哪种流量导致缓冲区溢出。
提取上报模块112与所述检测模块和所述SDN控制器12相连,用于提取所述流量的流量特征码并将所述流量特征码上报至所述SDN控制器12;在本实施例中,所述提取上报模块112还用于将有缓冲区溢出的交换机的ID和端口号上报至所述SDN控制器12。
就是说,检测获取模块111检测到接收和发送缓冲区溢出时候,提取上报模块112需立即上报给SDN控制器12,包括流量的特征码,缓冲区溢出的交换机ID和端口号。更进一步说,当检测获取模块111检测到接收和发送缓冲区溢出的时候,检测获取模块111分析出哪种流量导致缓冲区溢出,提取上报模块112提取出流量的特征码上报给SDN控制器12。
所述SDN控制器12包括:网络拓扑模块121、转发路径控制模块122、转发路径获取模块123和流表下发模块124。
转发路径获取模块123与所述提取上报模块112相连,用于根据所述流量特征码获取所述流量的转发路径。也就是,SDN控制器12获得某台交换机缓冲区溢出的时候,转发路径获取模块123需计算此流量的转发路径。
流表下发模块124与所述转发路径获取模块123相连,用于将包含流量控制指令信息的流表根据所述转发路径下发至产生所述流量的源端交换机13;所述源端交换机13根据所述流表指定的控制指令信息停止或暂停所述流量的发送。其中,所述流表指定的控制指令信息包括暂停或停止的时间。SDN控制器12向源端交换机13下发流表,此交换机就会停止或暂停发送此流量。
具体地,在本实施例中,在所述流表下发模块124中,所述流表指定的控制指令信息包括暂停或停止的时间,所述源端交换机13在停止或暂停所述流量的发送后,在达到所述暂停或停止的时间时,所述源端交换机13删除所述流表。
网络拓扑模块121用于根据LLDP协议感知传输网络的拓扑结构。
转发路径控制模块122与所述网络拓扑模块121和所述转发路径获取模块123相连,用于根据所述传输网络的拓扑结构控制进入所述网络的报文的转发路径。
具体地,网络拓扑模块121通过LLDP协议能感知整个网络的拓扑结构,首报文进入网络的时候,会递交给SDN控制器12,由转发路径控制模块122决定其转发路径,SDN控制器12在源端交换机13上下发流表,此流表项停止或暂停交换机发送此流量。
所述流量控制系统1还包括源端交换机13,所述源端交换机13内配置匹配模块(图中未示出),所述匹配模块用于在接收到所述SDN控制器12下发的流表时,对所述流表进行匹配验证;在所述流表通过匹配验证后,所述源端交换机13根据所述流表指定的控制指令信息停止或暂停所述流量的发送,若所述流表未通过匹配验证则所述源端交换机13继续发送所述流量。为了支持停止或暂停此流量,流表中增加一个新的Flow Match(流表匹配)字段。
所述源端交换机13还包括删除模块(图中未示出),所述删除模块在停止或暂停所述流量的发送后,在达到所述暂停或停止的时间时,所述源端交换机13删除所述流表。
由此可见,在本实施例中,SDN交换机11检测到接收和发送缓冲区溢出的时候,需立即上报给SDN控制器12。SDN控制器12计算此流量的转发路径,SDN控制器12向源端交换机13下发流表,源端交换机13就会根据流表指定的PAUSE-TIME(暂停时间)停止或暂停发送此流量。
综上所述,本发明基于SDN架构,能定位出哪种流量导致接收和发送缓冲区溢出,可以在此流量进入SDN网络源端的时候,就阻止其输入,本发明既能防止在端口阻塞时丢帧的同 时又能保证用户网络的稳定和网络高效的运行。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。