用于开放流中优化流的系统及方法与流程

文档序号:12917376阅读:171来源:国知局
本发明关于一种用于优化流的技术,特别是指一种用于开放流中优化流的系统及方法。
背景技术
::传统交换器的封包的转送皆由交换器本身决定,若遇变更时,维护人员经常需要登入交换器进行异动,故较无弹性且不及时。而且,因为各厂商的网络设备具有不同的设计,没有统一的标准介面,网络运作逻辑的维护成本较高。又,随着软件定义网络(sdn)的发展,开放流(openflow)协议是当前最热门的南向介面(southboundinterface)技术,相关产品如开放流控制器与开放流交换器(openflowswitch)也大量地开发与应用至市场上。开放流交换器可以解决上述传统交换器的问题,提供一标准界面并分离数据路径(datapath)与控制路径(controlpath)。开放流控制器将封包的转送逻辑以流(flow)方式记录于开放流交换器的流表中,并由开放流交换器依据流表的流对符合特征条件的封包做修改、转送与丢弃等行为,其中流具备优先权(priority)机制,即当封包同时符合多个流时,只有具有优先权最高的其中一个流会被执行,其余的流则不会被执行。换言之,若开放流交换器有同一输入埠的封包(或封包讯务)同时符合不同匹配条件的多个应用,则多个应用通常会有各自的流记录于开放流交换器的流表中。但是,因为开放流交换器仅能执行具有最高优先权的一个流,以致同样具有最高优先权的其他流不会被执行,故在该封包同时符合多个应用的流的匹配条件时,将造成只有一个应用的单位(电子装置)会收到该封包,而其他应用的单位(电子装置)不会收到(或遗漏)该封包的问题。图1a至图1c为绘示现有技术中开放流交换器sw在传输封包(如p1、p2或p12)时的示意图,其中,图1a为该开放流交换器sw,图1b为该开放流交换器sw所传输的封包(以集合示意),图1c为该开放流交换器sw的流表ft。如图所示,该开放流交换器sw包括三个实体的第一(或第二)输入埠(如10)、第一输出埠(如11)与第二输出埠(如12),并包括一个具有第一流f1与第二流f2的流表(flowtable)ft,且该流表ft包括“优先权(priority)”、“匹配(match)”与“行为(action)”等栏位。例如,该开放流交换器sw应将来自实体的第一(或第二)输入埠(如10)的封包p12同时转送至第一输出埠(如11)与第二输出埠(如12),以进一步将该封包p12转送至第一应用的单位(第一电子装置e1)与第二应用的单位(第二电子装置e2)。但是,因第一流f1的第一输入埠(如10)与第二流f2的第一输入埠(如10)相同,且该第一流f1的第一优先权(如100)与第二流f2的第二优先权(如100)相同,使得该开放流交换器sw仅会例如将该封包p12匹配至该第一流f1而不匹配至该第二流f2,以致该封包p12仅会转送至该第一输出埠(如11)与该第一电子装置e1中而不会转送至该第二输出埠(如12)与该第二电子装置e2中,因而造成该第二输出埠(如12)与该第二电子装置e2无法收到该封包p12而发生遗漏该封包p12的问题。因此,如何克服上述先前技术的问题,实已成为目前亟欲解决的课题。技术实现要素:本发明提供一种用于开放流中优化流的系统及方法,其可新增具有较高优先权的重叠流,以避免开放流交换器遗漏所转送的封包至各需求应用的输出埠。本发明用于开放流中优化流的系统包括:开放流交换器,其包括记录有第一流与第二流的资讯的流表,该第一流的资讯包括第一输入埠、第一优先权、第一匹配条件与第一输出埠,且该第二流的资讯包括第二输入埠、第二优先权、第二匹配条件与第二输出埠;查询模块,其自该流表中查询该第一输入埠与该第二输入埠是否相同且该第一优先权与该第二优先权是否相同;以及流优化模块,其用以在该查询模块自该流表中查询出该第一输入埠与该第二输入埠相同且该第一优先权与该第二优先权相同时,依据该第一匹配条件至该第二匹配条件与该第一输出埠至该第二输出埠产生具有高于该第一优先权的第一高优先权的第一重叠流;其中,该流优化模块将该第一重叠流新增至该开放流交换器的流表中,以供该开放流交换器依据该流表的第一流的资讯、第二流的资讯与第一重叠流的资讯转送封包。本发明用于开放流中优化流的方法包括下列步骤:令开放流交换器记录第一流与第二流的资讯于流表中,该第一流的资讯包括第一输入埠、第一优先权、第一匹配条件与第一输出埠,且该第二流的资讯包括第二输入埠、第二优先权、第二匹配条件与第二输出埠;自该流表中查询该第一输入埠与该第二输入埠是否相同且该第一优先权与该第二优先权是否相同;当自该流表中查询出该第一输入埠与该第二输入埠相同且该第一优先权与该第二优先权相同时,依据该第一匹配条件至该第二匹配条件与该第一输出埠至该第二输出埠产生具有高于该第一优先权的第一高优先权的第一重叠流;以及将该第一重叠流新增至该开放流交换器的流表中,以供该开放流交换器依据该流表的第一流的资讯、第二流的资讯与第一重叠流的资讯转送封包。该开放流交换器的流表可记录有第三流的资讯,且该第三流的资讯包括第三输入埠、第三优先权、第三匹配条件与第三输出埠,当该查询模块自该流表中查询出该第一输入埠至该第三输入埠相同且该第一优先权至该第三优先权相同时,该流优化模块依据该第一匹配条件至该第三匹配条件与该第一输出埠至该第三输出埠产生该第一重叠流、第二重叠流、第三重叠流及第四重叠流。该第一重叠流至该第四重叠流可分别具有该第一高优先权、第二高优先权、第三高优先权与第四高优先权。而该第一高优先权、第二高优先权与第三高优先权的权值相同并高于该第一优先权,而该第四重叠流具有高于该第一高优先权的第四高优先权。该流优化模块可将该第一重叠流至该第四重叠流新增至该开放流交换器的流表中,以供该开放流交换器依据该流表的第一流至第三流的资讯与第一重叠流至第四重叠流的资讯转送该封包。该系统可包括分群模块,该流表记录有多个流的资讯,该查询模块自该多个流的资讯中查询该多个流的输入埠与优先权,以供该分群模块依据相同的输入埠与相同的优先权将该多个流分为至少一群组。该系统可包括运算模块,其计算该群组的流的第一数量,以依据该第一数量计算该群组的重叠流的第二数量,进而计算该群组的流的匹配条件的第三数量,以依据该第三数量计算该重叠流的优先权。该流优化模块可依据该群组的流的输入埠、优先权、匹配条件与输出埠产生对应该第二数量的重叠流。由上述内容可知,本发明用于开放流中优化流的系统及方法中,主要是将具有较高优先权的重叠流新增至开放流交换器的流表中,以供该开放流交换器依据该流表的流与重叠流的资讯转送封包(或封包讯务),以利将该封包转送至所有匹配的输出埠与电子装置。因此,本发明可解决现有技术的开放流交换器无法将封包转送至所有匹配或应用的流的输出埠与电子装置,以致发生遗漏该封包(或封包讯务)的问题。附图说明图1a至图1c为绘示现有技术中开放流交换器在传输封包时的示意图,其中,图1a为该开放流交换器,图1b为该开放流交换器所传输的封包,图1c为该开放流交换器的流表;图2为绘示本发明用于开放流中优化流的系统的方块示意图;图3为绘示本发明用于开放流中优化流的方法的流程图;图4a至图4d为绘示本发明用于开放流中优化流的系统在传输封包时的第一实施例示意图,其中,图4a为开放流交换器,图4b为该开放流交换器所传输的封包,图4c为该开放流交换器的流表,图4d为在图4c中新增重叠流的流表;以及图5a至图5d为绘示本发明用于开放流中优化流的系统在传输封包时的第二实施例示意图,其中,图5a为开放流交换器,图5b为该开放流交换器所传输的封包,图5c为该开放流交换器的流表,图5d为在图5c中新增重叠流的流表。符号说明1系统11查询模块12流优化模块13分群模块14运算模块e1第一电子装置e2第二电子装置e3第三电子装置f1第一流f2第二流f3第三流f12第一重叠流f23第二重叠流f13第三重叠流f123第四重叠流ft流表gp群组m第三数量n第一数量p1、p2、p3、p12、p23、p13、p123封包sw开放流交换器s21至s27步骤。具体实施方式以下藉由特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其他优点及功效。须知,本说明书所附附图所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供本领域技术人员的了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“一”、“第一”、“第二”及“模块”等用词,也仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当也视为本发明可实施的范畴。图2为绘示本发明用于开放流中优化流的系统1的方块示意图。图3为绘示本发明用于开放流中优化流的方法的流程图。图4a至图4d为绘示本发明用于开放流中优化流的系统1在传输封包时的第一实施例示意图,其中,图4a为开放流交换器sw,图4b为该开放流交换器sw所传输的封包(以集合示意),图4c为该开放流交换器sw的流表ft,图4d为在图4c中新增第一重叠流f12的流表ft。上述封包(或封包讯务)可例如为p1、p2或p12等。如图2所示,该系统1包括互相连接的开放流交换器sw、查询模块11、流优化模块12、分群模块13与运算模块14。该查询模块11可为软件的查询程式或硬件的处理器等,该流优化模块12可为软件的流优化程式或硬件的处理器等,该分群模块13可为软件的分群程式或硬件的处理器等,该运算模块14可为软件的运算程式或硬件的运算器等。又,如图4a所示,该开放流交换器sw包括三个实体的第一(或第二)输入埠(如10)、第一输出埠(如11)与第二输出埠(如12)。但是,本发明并不以此为限。详言之,如图2、图3与图4a至图4d所示,本发明用于开放流中优化流的系统1及方法可如下所述:在图3的步骤s21中,令图2(图4a)的开放流交换器sw记录多个流的资讯于流表ft中。举例而言,在图4a至图4d的第一实施例中,该开放流交换器sw包括预先记录有第一流f1的资讯与第二流f2的资讯的流表ft,且该流表ft可包括“应用”、“优先权”、“匹配”与“行为”等栏位,但不以此为限。在图4c中,该第一流f1的资讯可包括第一应用(如匹配来源端ip=10.10.10.10的封包至第一输出埠11)、第一优先权(如100)、第一输入埠(如10)、第一匹配条件(如来源端ip=10.10.10.10)与第一输出埠(如11)等,该第二流f2的资讯可包括第二应用(如匹配目的端ip=20.20.20.20的封包至第二输出埠12)、第二优先权(如100)、第二输入埠(如10)、第二匹配条件(如目的端ip=20.20.20.20)与第二输出埠(如12)等,但不以此为限。在图3的步骤s22中,令图2的查询模块11自该流表ft中查询该多个流的优先权与输入埠。举例而言,在图4a至图4d的第一实施例中,该查询模块11可自图4c的流表ft中查询该第一流f1的第一输入埠(如10)与该第二流f2的第二输入埠(如10)是否相同,并查询该第一流f1的第一优先权(如100)与该第二流f2的第二优先权(如100)是否相同。在图3的步骤s23中,令图2的分群模块13依据相同的输入埠与相同的优先权将该多个流分为至少一群组gp,如一、二或多个群组gp。举例而言,在图4a至图4d的第一实施例中,该分群模块13可依据相同的第一输入埠(如10)与第二输入埠(如10)、以及相同的第一优先权(如100)与第二优先权(如100),将该第一流f1与该第二流f2分为同一群组gp。在图3的步骤s24中,令图2的运算模块14计算该群组gp的流的第一数量n,并依据该第一数量n计算欲新增的重叠流的第二数量,其中该第二数量的计算公式可为“2n-1-n”。举例而言,在图4a至图4d的第一实施例中,该运算模块14可依据该群组gp的第一流f1与第二流f2两者计算出该第一数量n为2,并依据该第一数量n(如2)计算出欲新增的第一重叠流f12的第二数量为1(即22-1-2=1),其中该第一重叠流f12表示重叠(或交集)该第一流f1与第二流f2的流。在图3的步骤s25中,令图2的运算模块14计算该群组gp的流的匹配条件的第三数量m,并依据该第三数量m计算欲新增的重叠流的优先权,其中该重叠流的优先权的计算公式可为“第一优先权+m-1”。举例而言,在图4a至图4d的第一实施例中,该运算模块14可依据该群组gp的第一流f1的第一匹配条件(如来源端ip=10.10.10.10)与第二流f2的第二匹配条件(如目的端ip=20.20.20.20)两者计算出该第三数量m为2,并依据该第三数量m(如2)计算出该第一重叠流f12的第一高优先权为101(即100+2-1),其中该第一重叠流f12的第一高优先权(如101)高于该第一流f1的第一优先权(如100)与该第二流f2的第二优先权(如100)。在图3的步骤s26中,令图2的流优化模块12依据该群组gp的流的输入埠、优先权、匹配条件与输出埠产生对应该第二数量的重叠流。举例而言,在图4a至图4d的第一实施例中,当该查询模块11自该流表ft中查询出该第一输入埠(如10)与该第二输入埠(如10)相同且该第一优先权(如100)与该第二优先权(如100)相同时,该流优化模块12可依据图4c中第一流f1的资讯与第二流f2的资讯产生图4d的第一重叠流f12。在图3的步骤s27中,令图2的流优化模块12将该重叠流新增至该开放流交换器sw的流表ft中,以供该开放流交换器sw依据该流表ft的流与重叠流转送该封包。举例而言,在图4a至图4d的第一实施例中,该流优化模块12可将该第一重叠流f12新增至该开放流交换器sw的流表ft中,以供该开放流交换器sw依据该流表ft的第一流f1的资讯、第二流f2的资讯与第一重叠流f12的资讯转送封包,如封包p1、p2或p123。以该第一重叠流f12与该封包p12为例,当该开放流交换器sw的第一(第二)输入埠(如10)接收到“来源端ip=10.10.10.10且目的端ip=20.20.20.20”的封包p12时,该开放流交换器sw可依据该流表ft的第一重叠流f12的第一高优先权(如101),将该封包p12同时转送至实体的第一输出埠(如11)与第二输出埠(如12),并可将该封包p12进一步转送至如通信监察单位的第一电子装置e1与大数据分析单位的第二电子装置e2。藉此,本发明可解决现有技术的开放流交换器sw中,因无法将该封包p12转送至例如该第二输出埠(如12)与第二电子装置e2,以致发生遗漏该封包p12的问题。另外,当该开放流交换器sw的第一输入埠(如10)接收到“来源端ip=10.10.10.10”的封包p1时,该开放流交换器sw可依据该流表ft的第一流f1的第一优先权(如100),将该封包p1转送至实体的第一输出埠(如11)并可进一步转送至该第一电子装置e1。而当该开放流交换器sw的第二输入埠(如10)接收到“目的端ip=20.20.20.20”的封包p2时,该开放流交换器sw可依据该流表ft的第二流f2的第二优先权(如100),将该封包p2转送至实体的第二输出埠(如12)并可进一步转送至该第二电子装置e2。图5a至图5d为绘示本发明图2用于开放流中优化流的系统1在传输封包时的第二实施例示意图,其中,图5a为开放流交换器sw,图5b为该开放流交换器sw所传输的封包(以集合示意),图5c为该开放流交换器sw的流表ft,图5d为在图5c中新增第一重叠流f12、第二重叠流f23、第三重叠流f13与第四重叠流f123的流表ft,并请一并参阅上述图2至图3。上述封包(或封包讯务)可例如为p1、p2、p3、p12、p23、p13或p123。在图3的步骤s21中,令图2(图5a)的开放流交换器sw记录多个流的资讯于流表ft中。举例而言,在图5a至图5d的第二实施例中,图5a的开放流交换器sw包括四个实体的第一(第二或第三)输入埠(如10)、第一输出埠(如11)、第二输出埠(如12)与第三输出埠(如13),且该开放流交换器sw包括图5c中预先记录有第一流f1的资讯、第二流f2的资讯与第三流f3的资讯的流表ft。在图5c中,该第一流f1的资讯可包括第一应用(如匹配来源端ip=10.10.10.10的封包至第一输出埠11)、第一优先权(如100)、第一输入埠(如10)、第一匹配条件(如来源端ip=10.10.10.10)与第一输出埠(如11)等。该第二流f2的资讯可包括第二应用(如匹配目的端ip=20.20.20.20的封包至第二输出埠12)、第二优先权(如100)、第二输入埠(如10)、第二匹配条件(如目的端ip=20.20.20.20)与第二输出埠(如12)等。该第三流f3的资讯包括第三应用(如匹配tcp目的端埠=80的封包至第三输出埠13)、第三优先权(如100)、第三输入埠(如10)、第三匹配条件(如tcp目的端埠=80)与第三输出埠(如13)。在图3的步骤s22中,令图2的查询模块11自该流表ft中查询该多个流的优先权与输入埠。举例而言,在图5a至图5d的第二实施例中,该查询模块11可自图5c的流表ft中查询该第一流f1的第一输入埠(如10)、该第二流f2的第二输入埠(如10)与该第三流f3的第三输入埠(如10)是否相同,并查询该第一流f1的第一优先权(如100)、该第二流f2的第二优先权(如100)与该第三流f3的第三优先权(如100)是否相同。在图3的步骤s23中,令图2的分群模块13依据相同的优先权与相同的输入埠将该多个流分为至少一群组gp,如一、二或多个群组gp。举例而言,在图5a至图5d的第二实施例中,该分群模块13可依据相同的第一输入埠(如10)、第二输入埠(如10)与第三输入埠(如10),以及相同的第一优先权(如100)、第二优先权(如100)与第三优先权(如100),将该第一流f1、第二流f2与第三流f3分为同一群组gp。在图3的步骤s24中,令图2的运算模块14计算该群组gp的流的第一数量n,并依据该第一数量n计算欲新增的重叠流的第二数量,其中该第二数量的计算公式可为“2n-1-n”。举例而言,在图5a至图5d的第二实施例中,该运算模块14可依据该群组gp的第一流f1、第二流f2与第三流f3三者计算出该第一数量n为3,并依据该第一数量n(如3)计算出欲新增的第一重叠流f12、第二重叠流f23、第三重叠流f13与第四重叠流f123的第二数量为4(即23-1-3=4)。该第一重叠流f12表示重叠(或交集)该第一流f1与该第二流f2的流,该第二重叠流f23表示重叠(或交集)该第二流f2与该第三流f3的流,该第三重叠流f13表示重叠(或交集)该第一流f1与该第三流f3的流,该第四重叠流f123表示重叠(或交集)该第一流f1、第二流f2与第三流f3的流。在图3的步骤s25中,令图2的运算模块14计算该群组gp的流的匹配条件的第三数量m,并依据该第三数量m计算欲新增的重叠流的优先权,其中该重叠流的优先权的计算公式可为“第一优先权+m-1”。举例而言,在图5a至图5d的第二实施例中,该运算模块14可依据该群组gp的第二流f2的第二匹配条件(如目的端ip=20.20.20.20)与第三流f3的第三匹配条件(如tcp目的端ip=80)两者计算出该第三数量m为2,并依据该第三数量m(如2)计算出该第二重叠流f23的第二高优先权为101(即100+2-1)。或者,该运算模块14可依据该群组gp的第一流f1的第一匹配条件(如来源端ip=10.10.10.10)、第二流f2的第二匹配条件(如目的端ip=20.20.20.20)与第三流f3的第三匹配条件(如tcp目的端ip=80)三者计算出该第三数量m为3,并依据该第三数量m(如3)计算出该第四重叠流f123的第四高优先权为102(即100+3-1)。该第一重叠流f12的第一高优先权、该第二重叠流f23的第二高优先权与该第三重叠流f13的第三高优先权均相同为101,并高于该第一流f1的第一优先权(如100)。该第四重叠流f123的第四高优先权为102,并高于该第一高优先权至该第三高优先权(如101)。在图3的步骤s26中,令图2的流优化模块12依据该群组gp的流的输入埠、优先权、匹配条件与输出埠产生对应该第二数量的重叠流。举例而言,在图5a至图5d的第二实施例中,当该查询模块11自该流表ft中查询出该第一输入埠(如10)、第二输入埠(如10)与第三输入埠(如10)均相同,且该第一优先权(如100)、第二优先权(如100)与第三优先权(如100)均相同时,该流优化模块12可依据图5c中第一流f1的资讯、第二流f2的资讯与第三流f3的资讯产生图5d的第一重叠流f12至第四重叠流f123。在图3的步骤s27中,令图2的流优化模块12将该重叠流新增至该开放流交换器sw的流表ft中,以供该开放流交换器sw依据该流表ft的流与重叠流转送该封包。举例而言,在图5a至图5d的第二实施例中,该流优化模块12可将该第一重叠流f12至第四重叠流f123新增至该开放流交换器sw的流表ft中,以供该开放流交换器sw依据该流表ft的第一流f1至第三流f3的资讯与第一重叠流f12至第四重叠流f123的资讯转送封包,如封包p1、p2、p3、p12、p23、p13或p123。以该第四重叠流f123与该封包p123为例,当该开放流交换器sw的第一(第二或第三)输入埠(如10)接收到“来源端ip=10.10.10.10且目的端ip=20.20.20.20且tcp目的端埠=80”的封包p123时,该开放流交换器sw可依据该流表ft的第四重叠流f123的第四高优先权(如102),将该封包p123同时转送至实体的第一输出埠(如11)、第二输出埠(如12)与第三输出埠(如13),并可将该封包p123进一步转送至如通信监察单位的第一电子装置e1、大数据分析单位的第二电子装置e2与另一单位的第三电子装置e3。由上述内容可知,本发明用于开放流中优化流的系统及方法中,主要是将具有较高优先权的重叠流新增至开放流交换器的流表中(包含适当地分群、提高重叠流的优先权并输出至与所有应用相匹配的输出埠),以供该开放流交换器依据该流表的流与重叠流的资讯转送封包(或封包讯务),以利将该封包转送至所有匹配的输出埠与电子装置。因此,透过本发明能同时满足原先各应用所配置的流的逻辑上意义,避免未导入优化时输出埠与电子装置发生遗漏该封包(或封包讯务)的问题。上述实施例仅例示性说明本发明的原理、特点及其功效,并非用以限制本发明的可实施范畴,任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。任何运用本发明所揭示内容而完成的等效改变及修饰,均应为本发明的权利要求书所涵盖。因此,本发明的权利保护范围,应如权利要求书所列。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1