一种sdn流表管理方法及系统、交换机的制作方法_2

文档序号:9435954阅读:来源:国知局
则利用OpenFlow协议通知SDN控制器,向SDN控制器索取流表。
[0039]在一个实施例中,如图2,所述SDN交换机中的本地流表数据库由流表管理模块管理,接收到的数据报文由转发模块进行处理。当SDN交换机中的转发模块接收到数据报文时,在转发层进行流表匹配,如果在转发层有匹配的转发层流表,即匹配成功,则直接转发。如果在转发层没有匹配的转发层流表,即匹配不成功,则通知SDN交换机的流表管理模块,在流表管理模块所管理的本地数据库中查找流表,如果在本地数据库中有匹配的流表,则将匹配成功的流表下发到转发层;如果在本地数据库中没有匹配的流表,则通过OpenFlow协议告知SDN控制器,等待SDN控制器下发流表到SDN交换机。
[0040]在一个实施例中,所述SDN流表管理方法包括:1) SDN控制器计算出流表后,定期主动下发给SDN交换机。2) SDN交换机增加流表管理模块,收到流表后,SDN交换机流表管理模块利用嵌入式数据库sqlite来保存流表数据。3) SDN交换机转发层收到报文后,快速查找转发层的流表,如果没有匹配到流表,告知流表管理模块,查询流表管理模块的流表数据库,获得流表,下发到转发层。4)转发层的表项空间有限,对于长时间没有收到报文匹配的流表,进行老化。5)对于流表下发到转发层,如果没有空间,则覆盖最老的一条流表。6)如果收到的报文在SDN交换机的流表数据库中也没有匹配到流表,则利用openflow协议通知SDN控制器,向SDN控制器索取流表。
[0041]本发明还提供一种SDN流表管理系统。在一个实施例中,所述SDN流表管理系统包括:
[0042]流表管理模块,所述流表管理模块位于SDN交换机上,用于接收从SDN控制器下发的流表,并将所述流表保存在本地流表数据库中。
[0043]数据转发模块,所述数据转发模块位于SDN交换机上,用于在所述SDN交换机接收到报文时,在转发层进行流表匹配;当转发层流表匹配不成功时,查询本地流表数据库;如果在本地流表数据库中找到匹配的流表,则将找到的流表下发到转发层。
[0044]在一个实施例中,如图3所示,所述SDN流表管理系统I包括流表管理模块11以及数据转发模块12,其中:
[0045]所述流表管理模块11位于SDN交换机上,用于接收从SDN控制器下发的流表,并将所述流表保存在本地流表数据库中。所述本地流表数据库采用SQLite数据库。SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。本地流表数据库也可以采用其他数据库。
[0046]所述数据转发模块12位于SDN交换机上,与所述流表管理模块11相连,用于在所述SDN交换机接收到报文时,在转发层进行流表匹配;当转发层流表匹配不成功时,查询本地流表数据库;如果在本地流表数据库中找到匹配的流表,则将找到的流表下发到转发层。所述数据转发模块12还用于:当转发层流表匹配成功时,根据匹配成功的流表进行转发。在一个实施例中,所述数据转发模块12还用于:当转发层的流表空间已满时,则按照预定策略删除一条流表。所述预设策略包括:选择与上一次报文成功匹配时间最老的流表进行删除。所述数据转发模块12还用于:如果在本地流表数据库中也未找到匹配的流表,则利用OpenFlow协议通知SDN控制器,向SDN控制器索取流表。所述数据转发模块12还用于:当转发层流表匹配成功时,根据匹配成功的流表进行转发。
[0047]本发明还提供一种SDN交换机,所述SDN交换机具备有如上所述的SDN流表管理系统。所述SDN交换机能够应用如上所述的SDN流表管理方法,以解决了流表快速下发以及流表管理的问题,缩短流表的下发时间,进而提高了交换机的转发效率,提高了 SDN系统的性能。
[0048]综上所述,本发明的一种SDN流表管理方法及系统、交换机能够解决流表快速下发以及流表管理的问题,缩短流表的下发时间,进而提高了交换机的转发效率,提高了 SDN系统的性能。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0049]上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【主权项】
1.一种SDN流表管理方法,其特征在于,所述SDN流表管理方法包括: SDN控制器定期计算流表,并主动下发给所述SDN控制器所连接的SDN交换机; 所述SDN交换机接收到所述流表,并保存在本地流表数据库中; SDN交换机接收到报文并在转发层进行流表匹配; 当转发层流表匹配不成功时,查询本地流表数据库; 如果在本地流表数据库中找到匹配的流表,则将找到的流表下发到转发层。2.根据权利要求1所述的SDN流表管理方法,其特征在于:所述SDN流表管理方法还包括:当转发层的流表空间已满时,则按照预定策略删除一条流表。3.根据权利要求2所述的SDN流表管理方法,其特征在于:所述预设策略包括:选择与上一次报文成功匹配时间最老的流表进行删除。4.根据权利要求1所述的SDN流表管理方法,其特征在于:所述SDN流表管理方法还包括:如果在本地流表数据库中也未找到匹配的流表,则利用OpenFlow协议通知SDN控制器,向SDN控制器索取流表。5.一种SDN流表管理系统,其特征在于:所述SDN流表管理系统包括: 流表管理模块,所述流表管理模块位于SDN交换机上,用于接收从SDN控制器下发的流表,并将所述流表保存在本地流表数据库中; 数据转发模块,所述数据转发模块位于SDN交换机上,用于在所述SDN交换机接收到报文时,在转发层进行流表匹配;当转发层流表匹配不成功时,查询本地流表数据库;如果在本地流表数据库中找到匹配的流表,则将找到的流表下发到转发层。6.根据权利要求5所述的SDN流表管理系统,其特征在于:所述数据转发模块还用于:当转发层的流表空间已满时,则按照预定策略删除一条流表。7.根据权利要求6所述的SDN流表管理系统,其特征在于:所述预设策略包括:选择与上一次报文成功匹配时间最老的流表进行删除。8.根据权利要求5所述的SDN流表管理系统,其特征在于:所述数据转发模块还用于:如果在本地流表数据库中也未找到匹配的流表,则利用OpenFlow协议通知SDN控制器,向SDN控制器索取流表。9.根据权利要求5所述的SDN流表管理系统,其特征在于:所述本地流表数据库采用SQLite数据库。10.一种SDN交换机,其特征在于:所述SDN交换机具备有如权利要求5至9中任一权利要求所述的SDN流表管理系统。
【专利摘要】本发明提供一种SDN流表管理方法及系统、交换机。其中,所述SDN流表管理方法包括:SDN控制器定期计算流表,并主动下发给所述SDN控制器所连接的SDN交换机;所述SDN交换机接收到所述流表,并保存在本地流表数据库中;SDN交换机接收到报文并在转发层进行流表匹配;当转发层流表匹配不成功时,查询本地流表数据库;如果在本地流表数据库中找到匹配的流表,则将找到的流表下发到转发层。本发明的技术方案能够解决流表快速下发以及流表管理的问题,缩短流表的下发时间,进而提高了交换机的转发效率,提高了SDN系统的性能。
【IPC分类】H04L12/813, H04L12/861
【公开号】CN105187325
【申请号】CN201510703699
【发明人】朱亚娟
【申请人】上海斐讯数据通信技术有限公司
【公开日】2015年12月23日
【申请日】2015年10月27日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1