CN108075977A - 网络系统控制方法及网络系统 - Google Patents

网络系统控制方法及网络系统 Download PDF

Info

Publication number
CN108075977A
CN108075977A CN201610994137.2A CN201610994137A CN108075977A CN 108075977 A CN108075977 A CN 108075977A CN 201610994137 A CN201610994137 A CN 201610994137A CN 108075977 A CN108075977 A CN 108075977A
Authority
CN
China
Prior art keywords
flow
entry
flow entry
technological process
entries
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610994137.2A
Other languages
English (en)
Other versions
CN108075977B (zh
Inventor
叶宇清
赵梓佑
王国祯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inventec Pudong Technology Corp
Inventec Corp
Original Assignee
Inventec Pudong Technology Corp
Inventec Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inventec Pudong Technology Corp, Inventec Corp filed Critical Inventec Pudong Technology Corp
Priority to CN201610994137.2A priority Critical patent/CN108075977B/zh
Priority to US15/787,686 priority patent/US10411995B2/en
Publication of CN108075977A publication Critical patent/CN108075977A/zh
Application granted granted Critical
Publication of CN108075977B publication Critical patent/CN108075977B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/245Link aggregation, e.g. trunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/74591Address table lookup; Address filtering using content-addressable memories [CAM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing

Abstract

本发明公开了一种网络系统控制方法,包含在一交换器及一控制器之间的一网络协定路径,拦截一流程修改信号,从而取得一新流程条目;存取该交换器中的一流程表,从而取得复数个流程条目;根据该新流程条目及该复数个流程条目,置入至少一冗置流程条目;对该新流程条目、该复数个流程条目及该至少一冗置流程条目执行一聚合操作,从而产生一组聚合后流程条目;及使用该组聚合后流程条目,更新该流程表。

Description

网络系统控制方法及网络系统
技术领域
本发明涉及一种网络系统控制方法,更具体的说,是一种可使用冗置流程条目,从而执行聚合操作以产生一组聚合后流程条目,且据以更新流程表的网络系统控制方法。
背景技术
软件定义网络(soft-defined networking;SDN)可将路由器的控制平面与资料平面分离,故可助于简化网络事件的回应规则与行为模式的管理,并使硬件与通讯协定的更新更加容易达成。因此,软件定义网络常被认为是次世代更佳的网络架构方案。
目前软件定义网络可例如采用OpenFlow等界面技术,目前技术可在转换器(switch)内设置流程表(flow table),流程表可包含多个流程条目(flow entry),用以与转换器所接收的封包进行比对,从而决定封包的传输。
控制器(controller)可发送新的流程条目以写入所述的流程表,然而,当流程表已满,则可能无法正常写入,此即流程表溢位(overflow)问题。举例而言,当使用三元内容定址记忆体(ternary content addressable memory;TCAM),流程表的容量会受限于记忆体的尺寸,导致新的流程条目无法更新于流程表。因此,本领域需要解决方案,用以改善流程表溢位的缺失。
发明内容
本发明公开了一种网络系统控制方法,包含在一交换器及一控制器之间的一网络协定路径,拦截该控制器发出的一流程修改信号,从而取得一新流程条目;存取该交换器中的一流程表,从而取得复数个流程条目;根据该新流程条目及该复数个流程条目,置入至少一冗置流程条目;对该新流程条目、该复数个流程条目及该至少一冗置流程条目执行一聚合操作,从而产生一组聚合后流程条目;及使用该组聚合后流程条目,更新该流程表。
进一步的,所述一种网络系统包含一控制器及一交换器。该控制器用以发送一流程修改信号,及一封包。该交换器包含一安全通道模组及一路由单元。该安全通道模组透过一网络协定路径连结于该控制器,用以接收该流程修改信号。该路由单元用以储存一流程表,该流程表具有复数个流程条目,该复数个流程条目用以比对该封包,从而确认该封包的一目的地位址及一对应操作。该交换器用以根据该流程修改信号取得一新流程条目,根据该新流程条目及该复数个流程条目,置入至少一冗置流程条目,对该新流程条目、该复数个流程条目及该至少一冗置流程条目执行一聚合操作,从而产生一组聚合后流程条目;且使用该组聚合后流程条目,更新该流程表。本发明关联于一种高效率的网络系统控制方法,可有效解决现行物联网架构中流程表溢位的缺陷。
附图说明
图1是本发明实施例中的软件定义网络的网络架构的示意图。
图2是本发明实施例的网络控制方法的框图示意图。
图3是本发明实施例的网络控制方法的流程图。
图4是本发明实施例中,填入冗置流程条目以执行聚合操作的范例示意图。
图5是本发明实施例网络控制方法的流程图。
图6是本发明实施例的网络控制方法的流程图。
图7是本发明实施例的网络控制方法的流程图。
图8是可为本发明实施例中,以初始流程条目产生聚合后流程条目的举例示意图。
图9是可为本发明实施例中,以初始流程条目产生聚合后流程条目的举例示意图
符号说明:
100 网络系统
110 控制器
120 交换器
120a 安全通道模组
120b 路由单元
Tf 流程表
1301至130x 端点
FE1至FEm、FE01至FE16 流程条目
nFE 新流程条目
Pk 封包
Pt 网络协定路径
fm 流程修改信号
RFE 冗置流程条目
AFE 聚合后流程条目
200、200a、200b、200c 网络控制方法
210、220、230、240、250、2310、2320、
2610、2410、2420、2430 步骤
310、320、330 表格
G1、G2、G3、G4、Gj 组别
OFE 初始流程条目
FEp1、FEp2、FEp3、FEp4 中途流程条目
810 堆迭
PH1、PH2、PH3、PH4 阶段
FEd1-FEd4、FEd21、FEd31、FEd41、
FEd311、FEd411 降阶后流程条目
具体实施方式:
图1是本发明实施例中的软件定义网络的网络系统100的示意图。网络系统100可包含控制器110及交换器120。交换器120可包含安全通道(security channel)模组120a及路由单元120b。安全通道模组120a可透过网络协定路径Pt连结于控制器110。控制器110另可转接至端点1301至130x,其中端点可例如为个人电脑等收发端。网络协定路径Pt可例如为符合传输层安全协议(Transport Layer Security;TLS),或安全通讯协定(SecureSockets Layer;SSL)的路径,且可符合OpenFlow协定(OpenFlow protocol)。控制器100可用以发送流程修改信号fm(如OpenFlow文件教导的flow_mod要求信号),及一封包Pk至交换器120。路由单元120b可包含流程表Tf,流程表Tf可包含多个流程条目(flow entries),流程表Tf可用以比对封包Pk,从而确认封包Pk的目的地位址及对应操作,例如应传送至端点1301至130x的某一正确端点,因此,流程表Tf内的流程条目亦可作为流程规则(flowrule)。网络系统100可为硬体装置及控制软件整合的系统架构。
图2是本发明实施例的网络控制方法的框图示意图。本案实施例提供的方法可称为交换器内动态流程聚合法(in-switch dynamic flow aggregation method;简称IDFA)。图3是本发明实施例的网络控制方法200的流程图。图3可搭配参照图1、图2。网络控制方法200可包含:
步骤210:在交换器120及控制器110之间的网络协定路径Pt,拦截(intercept)控制器110发出的流程修改信号fm,从而取得一新流程条目nFE;
步骤220:存取交换器120中的流程表Tf,从而取得复数个流程条目FE1-FEm;
步骤230:根据新流程条目nFE及复数个流程条目FE1至FEm,置入至少一冗置流程条目(redundant flow entry)RFE;
步骤240:对新流程条目nFE、流程条目FE1至FEm及至少一冗置流程条目RFE执行聚合操作(aggregation),从而产生一组聚合后流程条目(aggregated flow entries)AFE;及
步骤250:使用该组聚合后流程条目AFE,更新流程表Tf。
其中,步骤220至230可将新流程条目nFE及复数个流程条目FE1至Fem排列整理后,据以填入冗置流程条目,其说明如下。
图4是本发明一实施例中,填入冗置流程条目以执行聚合操作的范例示意图。若以OpenFlow技术为例,每一流程条目可记载匹配栏位(match field)、优先权重(priority),计数器(counter)、指令(instruction)、超时(timeout)、暂存(cookie)、旗标(flag)等,其中匹配栏位(match field)可记录乙太网络类型(Ethernet Type)、协定种类(protocol)、来源网络协定(internet protocol,下称IP)位址、目的地IP位址(以下简称目的地位址)、及动作栏位(action)等,因此,流程条目内含的位元数甚多。为简易流程,根据本发明实施例,可允许仅检查目的地位址。此处所述的位址,可使用点十进位标记法(dot-decimalnotation)表示,举例而言,IP位址140.113.6.2可表示为四组二进制的八位元栏位所组成的位址,如10001100.01110001.00000110.00000010。根据本发明实施例提供的方法,当位址的前三栏位相同时,可使用位址的最末栏位执行聚合操作。在图3的范例中,表格310中,可见已知的流程条目共三条,在此将其余栏位均省略,将已知的流程条目表示为10110101→2、10110010→2、及10110000→2。其中,前八位元可为目的地位址的最末栏位,箭号后方的数字可为流程条目的动作栏位,对应于交换器120的连接埠号,例如「→2」,可表示将封包透过第2连接埠传送到目的地位址。当目的地位址相同时,即可确认其传送穿透的连接埠号相同,故本发明实施例中,使用目的地位址执行聚合操作,可确保动作栏位相符。此技术可适用于IPv4的网络,及采取最短路径(shortest path)的路由演算法的应用。因此,根据本发明实施例,上述的步骤230可为根据新流程条目nFE的目的地位址(例如OpenFlow文件提及的dst_ip常数记载的目的地位址)及复数个已知的流程条目FE1-Fem的复数个目的地位址,据以置入至少一冗置流程条目RFE。
见表格320,可见表格310的三个流程条目(即10110101→2、10110010→2、及10110000→2)已依序列于由上方数来第一、三、六项。若以二进位观之,可见前五位元的数字相同(即11010),后三位元应可有000至111共八种组合,由于其中三种组合已见于表格310,故可于表格320填入其余五种组合。因此,可填入10110001、10110011、10110100、10110110、10110111等五数值,在表格320的第二、四、五、七、八项,以补足八种组合。被填入的五数值对应的动作栏位,在初填入时,应为未知,经验证(validation)后,可对应于表格310中已知的流程条目,亦为→2。验证方式可例如为交换器120传送封包输入信号(如OpenFlow技术中的packet_in信号)至控制器110,以确认置入的至少一冗置流程条目RFE的动作栏位的正确性。表格320所填入的五数值及其动作栏位,在此可视为五个被填入的流程条目,亦即可为上述的步骤230提及的冗置流程条目RFE。表格330是表格320的八个流程条目,经聚合操作的结果。此处所述的聚合操作可视为化简操作,由于表格320的八个流程条目中,其数值的前五位元相同,故经聚合后,可表示为表格330中的10110**,且与其对应的动作栏位,一并表示为10110***→2。表格330中的流程条目10110***→2,即为聚合后流程条目。由此可见,原示于表格310的三个流程条目,经聚合后可用一流程条目表示,故流程条目数量可降低。图4仅为示例,以便说明,并非限制本发明的范围。
图5可为本发明实施例网络控制方法200a的流程图。网络控制方法200a可基于图3的网络控制方法200的原理。如前述,本发明实施例中,可根据流程条目的目的地位址,执行冗置流程条目的置入,以供后续执行聚合操作。故步骤230可包含步骤2310及2320。网络控制方法200a可包含:
步骤210:在交换器120及控制器110之间的网络协定路径Pt,拦截(intercept)控制器110发出的流程修改信号fm,从而取得一新流程条目nFE;
步骤220:存取交换器120中的流程表Tf,从而取得复数个流程条目FE1-FEm;
步骤2310:将新流程条目nFE的目的地位址、及复数个已知流程条目FE1至Fem的复数个目的地位址,展开后依序排列;
步骤2320:检视新流程条目nFE的目的地位址及已知流程条目FE1-Fem的复数个目的地位址的排列,在不连续处填入至少一冗置流程条目REF,从而使新流程条目nFE的目的地位址、已知流程条目FE1-Fem的目的地位址、及至少一冗置流程条目RFE的至少一目的地位址可连续;
步骤240:对新流程条目nFE、流程条目FE1至FEm及至少一冗置流程条目RFE执行聚合操作(aggregation),从而产生一组聚合后流程条目(aggregated flow entries)AFE;及
步骤250:使用该组聚合后流程条目AFE,更新流程表Tf。
步骤2310、2320可为本发明实施例中,填入冗置流程条目的一实施方式。此外,图3的步骤240,其实施方式可为保留新流程条目nFE的目的地位址、流程表Tf中原先已知的流程条目FE1-Fem的复数个目的地位址、及加入的至少一冗置流程条目RFE的至少一目的地位址中相同的部份,且将不相同的部份,表示为通配符号(wildcard sign),例如星号,从而产生该组聚合后流程条目AFE。举例而言,图4的表格330中,产生的聚合后流程条目(如10110***→2)即使用通配符号表示。根据本发明实施例,经聚合操作产生的聚合后流程条目,可使用无类别域间路由(Classless Inter-Domain Routing;下称CIDR)格式表示。举例而言,若产生的聚合后流程条目的目的地位址是140.113.1.000110**(或以IPv4表示法为10001100.1110001.00000001.000110**),则最末的位元组000110**可表示为24/30。其中,斜线前的24可为第四位元、第五位元的1,斜线后的30,可用于计算32-30=2,故对应于末两位元为两通配符号(即**),其实质上可涵盖00、01、10、11四种组合。
图6是本发明实施例的网络控制方法200b的流程图。网络控制方法200b可基于网络控制方法200的原理。但在步骤230、240间,可选择性执行步骤2610。网络控制方法200b可包含:
步骤210:在交换器120及控制器110之间的网络协定路径Pt,拦截(intercept)控制器110发出的流程修改信号fm,从而取得一新流程条目nFE;
步骤220:存取交换器120中的流程表Tf,从而取得复数个流程条目FE1-FEm;
步骤230:根据新流程条目nFE及复数个流程条目FE1至FEm,置入至少一冗置流程条目(redundant flow entry)RFE;
步骤2610:检视新流程条目nFE及已知的复数个流程条目FE1-FEm的数量,相对于新流程条目nFE及流程条目FE1-FEm的数量与至少一冗置流程条目RFE的数量之和的比例,是否达到门槛值;若是,进入步骤240,若否,进入步骤210;
步骤240:对新流程条目nFE、流程条目FE1至FEm及至少一冗置流程条目RFE执行聚合操作(aggregation),从而产生一组聚合后流程条目(aggregated flow entries)AFE;及
步骤250:使用该组聚合后流程条目AFE,更新流程表Tf。
此以图4为例说明原理。表格310可例如为新流程条目nFE及取自流程表Tf的已知的复数个流程条目FE1-FEm,在此例中,其数量是3个条目。经检视后,可知应置入5个冗置流程条目,从而补到8个流程条目(其原理不另赘述)。根据本发明实施例,如图4的示例,置入冗置流程条目前、后的流程条目数量,可用以求得一比例为3/8,即37.5%。假设门槛值设为40%,则此比例(37.5%)未达门槛值,可不触发聚合操作。假设门槛值设为35%,则此比例(37.5%)已达门槛值,则可触发聚合操作。门槛值可根据统计或研发者设定。若门槛值过高,则过难触发聚合操作,将导致减低流程条目的效果不佳,甚至导致流程表Tf中的流程条目已过期(expired)仍无法触发聚合操作。若门槛值过低,则可能过度触发聚合操作,导致控制器110的硬体负担过重。因此,可设定合理的门槛值,以妥适地触发聚合操作。
根据本发明实施例,前述的门槛值可例如(但不限于)聚合操作的结果而动态调整。下列的数学式eq-1可用以计算门槛值:
Thn+1=f(Thn,Cn,Cn-1)……(eq-1)
其中,f()可表示一函数,Thn可表示当前判断是否触发聚合操作的门槛值,Thn+1可为下轮门槛值,即下一次用以判断是否触发聚合操作的门槛值。压缩比Cn可为聚合后流程条目AFE的数量、及流程条目FE1-Fem的数量的比值,前次压缩比Cn-1可在一前次聚合操作后,流程条目FE1-Fem的数量、及前次聚合操作前的一组聚合前流程条目的数量的比值。举例而言,若在第(n-1)次聚合操作,流程条目数量由K1条,被聚合而降至K2条,则压缩比Cn-1可为K2/K1。又在第n次聚合操作时,用以判断是否触发聚合操作的门槛值可为Thn,若触发聚合操作,且流程条目数量由K2条,被聚合而降至K3条,则压缩比Cn可为K3/K2。在第(n+1)次聚合操作前,用以判断是否触发聚合操作的门槛值,可为门槛值Thn+1。根据本发明实施例,数学式eq-1的函数,可例如(但不限于)数学式eq-2所述:
Thn+1=f(Thn,Cn,Cn-1)=Thn+α(Cn-Cn-1)……(eq-2)
其中,常数α可根据需求调整,例如可为1.5或2。若采用数学式eq-2,则每回的门槛值可逐渐提高,故当流程表Tf内的流程条目(或称流程规则)因多次聚合操作而趋近收敛(converged)时,则触发聚合操作的次数可减少。数学式eq-2仅为举例,其余动态调整门槛值的运算方式,仍为本发明实施例的范围。
图7可为本发明实施例的网络控制方法200c的流程图。网络控制方法200c可基于网络控制方法200的原理,且步骤240可包含步骤2410至2430。图8可为本发明实施例中,以初始流程条目OFE产生聚合后流程条目AFE的举例示意图。搭配参考图8,图7的网络控制方法200c可包含:
步骤210:在交换器120及控制器110之间的网络协定路径Pt,拦截(intercept)控制器110发出的流程修改信号fm,从而取得一新流程条目nFE;
步骤220:存取交换器120中的流程表Tf,从而取得复数个流程条目FE1-FEm;
步骤230:根据新流程条目nFE及复数个流程条目FE1至FEm,置入至少一冗置流程条目(redundant flow entry)RFE;
步骤2410:将新流程条目nFE、复数个流程条目FE1-FEm及至少一冗置流程条目RFE定义为一组初始流程条目OFE,将该组初始流程条目OFE依照动作栏位予以分组,从而产生复数组流程条目,归类为组别G1-Gj;
步骤2420:组别G1-Gj中的每组流程条目可各自执行聚合操作,从而分别产生复数个中途流程条目FEp1-FEpj;
步骤2430:根据中途流程条目FEp1-FEpj产生该组聚合后流程条目AFE;及
步骤250:使用该组聚合后流程条目AFE,更新流程表Tf。
为便于说明,图8的示例中,图7所述的变数j以4为例。图8仅为便于说明的示例,而非用以限制本发明实施例的范围。图8所示的流程条目FE01到FE16,可为汇整新流程条目、及流程表内的流程条目所得到的多个流程条目。在此例中,流程条目FE01到FE16可定义为一组初始流程条目OFE。换言之,该组初始流程条目OFE即为尚未执行聚合操作、但可用以执行聚合操作的一组流程条目。图8所示的流程条目FE01到FE16并未将流程条目的完整格式绘出,仅绘出相关于聚合操作的目的地位址、及动作栏位,用以示意。在图8的示例中,可见流程条目FE01、FE02及FE04的动作栏位皆为「→2」,流程条目FE03及FE05-FE08的动作栏位皆为「→1」,流程条目FE09及FE13的动作栏位皆为「→3」,流程条目FE10-FE12及FE14-FE16的动作栏位皆为「→4」,故可根据动作栏位,将流程条目FE01-FE16分为组别G1、G2、G3、G4共四组。以组别G1为例,组别G1包含流程条目FE01、FE02、FE04,此三流程条目的目的地位址的前三栏位(10、0、0)相同,第四栏位用八位元表示时,仅有最末两位元相异,故组别G1可执行聚合操作,产生中途流程条目FEp1,FEp1为10.0.0.0001000**→2。若以前述的CIDR格式表示,可将FEp1表示为10.0.0.16/30→2。同理,组别G2、G3、G4可各自执行操作操作,以分别产生中途流程条目FEp1(本例中为10.0.0.16/29→1)、FEp2(本例中为10.0.0.24/29→3)、FEp3(本例中为10.0.0.24/29→4)。
步骤2430中,根据中途流程条目FEp1-FEpj产生该组聚合后流程条目AFE可根据下述方式产生。根据本发明实施例,可检视中途流程条目FEp1-FEpj的目的地位址是否重复,若中途流程条目FEp1-FEpj的两流程条目的目的地位址重复,可将两流程条目中,关联于该组初始流程条目OFE的流程条目数量较多者,选入聚合后流程条目AFE。举例而言,图8的中途流程条目FEp1与FEp2皆对应于目的地位址10.0.0.16,但中途流程条目FEp1是关联于初始流程条目OFE的流程条目FE01、FE02及FE04共三个流程条目,中途流程条目FEp2关联于初始流程条目OFE的流程条目FE03、FE05、FE06及FE07共四个流程条目,故中途流程条目FEp2关联初始流程条目OFE的流程条目数量较多,可将中途流程条目FEp2选入聚合后流程条目AFE。同理,中途流程条目FEp3及FEp4对应的目的地位址相同,可将中途流程条目FEp4选入聚合后流程条目AFE。如图8所示,可在交换器120设置堆迭(stack)810,将选中的流程条目(如中途流程条目FEp2、FEp4)置入堆迭810中。根据本发明实施例,置入堆迭810,即可为被选入聚合后流程条目AFE。
根据本发明实施例,关于步骤2430,亦可包含将中途流程条目FEp1至FEpj中,关联于该组初始流程条目OFE的流程条目的目的地位址连号程度较低者,选入该组聚合后流程条目AFE。举例而言,若第一中途流程条目对应于初始流程条目中,目的地位址为10.0.0.00010000、10.0.0.00010001的流程条目,然而,第二中途流程条目对应于初始流程条目中,目的地位址为10.0.0.00010000、10.0.0.00010010的流程条目,由于第二中途流程条目所对应的流程条目的目的地位址较不连续,故可将第二中途流程条目选入聚合后流程条目AFE中,例如置入图8的堆迭810。由于对应的流程条目的目的地位址较不连续的中途流程条目,其分散度较高,在后续的降阶(degrade)操作较可能与其他流程条目执行聚合操作。关于降阶操作,将叙于下文。
根据本发明实施例,关于步骤2430,亦可包含将复数个中途流程条目FEp1至FEpj中,以CIDR格式表示目的地位址时,斜线(slash)后方的数字较大者,选入该组聚合后流程条目AFE。由于CIDR格式的斜线后方的数字越大,表示以通配符号遮盖(mask)的位元数越少,较不易执行降阶操作,故较为接近无法聚合或简化的流程条目,故可较先地予以选入堆迭,以选入该组聚合后流程条目AFE。上文提及的步骤2430的实施方式,可不相斥地采用。举例而言,根据本发明实施例,上述的实施方式的优先顺序可为(但不限于)表格1所述,其中:
(表格1)
根据本发明实施例,关于步骤2430,亦可包含将复数个中途流程条目FEp1至FEpj,执行降阶操作,从而产生一组降阶后流程条目,且将该组降阶后流程条目选入该组聚合后流程条目AFE。此处所述的降阶操作,可为在合理的情况下,将流程条目的目的地位址以CIDR格式表示时,其斜线后方的数字提高,亦即将使用通配符号(如星号)表示的位元数减少。根据本发明实施例,若多个流程条目可因聚合操作而被一聚合后的流程条目涵盖,则可使用该聚合后的流程条目作为流程规则,降阶操作可重复执行,直至流程条目无法再执行聚合操作且无法再降阶,才被置入堆迭(如810),而被选入该组聚合后流程条目AFE。
图9可为本发明实施例中,以初始流程条目OFE产生聚合后流程条目AFE的举例示意图。图9可依时间轴,分为阶段PH1至PH4。图9所示的初始流程条目OFE中的流程条目FE01-FE16,其同于图8的示例,故阶段PH1中,关于中途流程条目FEp1至FEp4的产生,及将中途流程条目FEp2、FEp4选入堆迭810,从而被选入聚合后流程条目AFE,其原理不另赘述。图9的阶段PH2中,未被选入堆迭810的中途流程条目FEp1,可执行前述的降阶操作,亦即将其目的地位址10.0.0.16/30→2(亦即10.0.0.000100**→2)的斜线后数字提高,改写为等义的10.0.0.16/31→2(亦即10.0.0.0001000*→2)及10.0.0.18/31→2(亦即10.0.0.0001001*→2),其分别对应于降阶后流程条目FEd1及FEd2。同理,未被选入堆迭810的中途流程条目FEp3(具有目的地位址10.0.0.24/29→3),可执行前述的降阶操作,被改写为等义的10.0.0.24/30→3及10.0.0.28/30→3,其可分别对应于降阶流程条目FEd3及FEd4。同上述原理,降阶流程条目FEd1可关联于初始流程条目OFE的流程条目FE01及FE02,但降阶流程条目FEd2只可关联于流程条目FE04,故降阶流程条目FEd1可被选入堆迭810。同理,在阶段PH3,降阶后流程条目FEd2、FEd3、FEd4可被降阶,以分别产生降阶后流程条目FEd21,FEd31、FEd41。由于降阶后流程条目FEd2被降阶后而产生降阶后流程条目FEd21,将还原为其初始的流程条目(即FE04),其目的地位址以CIDR格式表示,斜线后已为0,无法再降阶,故可将降阶后流程条目FEd21置入堆迭810,从而选入聚合后流程条目AFE。同理,在阶段PH3、PH4,降阶后流程条目FEd3及FEd4可逐步被降阶而产生降阶后流程条目FEd311及FEd411,其中FEd311可对应于初始流程条目OFE的流程条目FE09,且FEd311可对应于流程条目FE13。在阶段PH4,降阶后流程条目FEd311及FEd411可分别置入堆迭810。由图9可见,在阶段PH4时,堆迭810由底部至顶部已可包含流程条目FEp2、FEp4、FEd1、FEd411及FEd311,此些流程条目可用以更新图1所示的流程表Tf内的流程规则。根据堆迭架构的先进后出(last-in-first-out;LILO)原则,堆迭810中,越靠近顶部的流程条目可优先取出用以检查控制器110传来的流程条目是否匹配。根据本发明实施例,当置入一流程条目到堆迭810时,可检查被置入的流程条目是否与堆迭810内的流程条目重复,若是,则可不予置入。由图9可见,初始流程条目OFE中的16个流程条目FE01至FE16可经由聚合操作及降阶操作,缩减至6个流程条目,故可将流程条目的数量有效缩减。
综上,经使用本发明实施例提供的网络系统控制方法(IDFA法)及网络系统,可有效缩减流程表内的流程条目(或称流程规则)的数目,从而改善流程表溢位的缺失。此外,本发明实施例的控制方法的操作速度及效能皆佳,举例而言,在实验室的测试案例中,流程条目达到收敛的压缩比例可达1.29%,且操作时间可比早期技术缩短甚多,例如本发明实施例提供的方法,其操作时间可约为流程表缩减计画法(Flow Table Reduction Scheme;FTRs)的20%。此外,使用本发明实施例的IDFA法,可确保资料的语义等效(semanticalequivalency),可具有IP路由(IP routing)的优点,可于边缘交换器(edge switch)执行流程条目的聚合,从而有利于流程条目数量的压缩率、及减少硬体运算负荷。因此,本发明实施例提供的控制方法及系统,对于本领域实有助益。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (10)

1.一种网络系统控制方法,其特征在于,包含:
在一交换器及一控制器之间的一网络协定路径,拦截该控制器发出的一流程修改信号,从而取得一新流程条目;
存取该交换器中的一流程表,从而取得复数个流程条目;
根据该新流程条目及该复数个流程条目,置入至少一冗置流程条目;
对该新流程条目、该复数个流程条目及该至少一冗置流程条目执行一聚合操作,从而产生一组聚合后流程条目;及
使用该组聚合后流程条目,更新该流程表。
2.如权利要求1所述的方法,其特征在于,另包含:
该交换器传送一封包输入信号至该控制器,以确认该至少一冗置流程条目的动作栏位的正确性。
3.如权利要求1所述的方法,其特征在于,其中根据该新流程条目及该复数个流程条目,置入该至少一冗置流程条目,及:
根据该新流程条目的一目的地位址及该复数个流程条目的复数个目的地位址,据以置入该至少一冗置流程条目。
4.如权利要求3所述的方法,其特征在于,其中:
根据该新流程条目及该复数个流程条目,置入该至少一冗置流程条目,包含:
将该新流程条目的一目的地位址及该复数个流程条目的复数个目的地位址,展开后依序排列;及
检视该新流程条目的该目的地位址及该复数个流程条目的该复数个目的地位址的排列,在不连续处填入该至少一冗置流程条目,从而使该新流程条目的该目的地位址、该复数个流程条目的该复数个目的地位址、及该至少一冗置流程条目的至少一目的地位址可连续;及
对该新流程条目、该复数个流程条目及该至少一冗置流程条目执行该聚合操作,从而产生该组聚合后流程条目,包含:
保留该新流程条目的该目的地位址、该复数个流程条目的该复数个目的地位址、及该至少一冗置流程条目的该至少一目的地位址中相同的部份,且将不相同的部份表示为通配符号(wildcardsign),从而产生该组聚合后流程条目。
5.如权利要求1所述的方法,其特征在于,另包含:
检视该新流程条目及该复数个流程条目的数量,相对于该新流程条目及该复数个流程条目的数量与该至少一冗置流程条目的数量之和的一比例,是否达到一门槛值;
其中对该新流程条目、该复数个流程条目及该至少一冗置流程条目执行该聚合操作,从而产生该组聚合后流程条目其在该比例已达该门槛值时执行。
6.如权利要求5所述的方法,其特征在于,另包含根据一压缩比、一前次压缩比及该门槛值,产生一下轮门槛值,其中该压缩比是该组聚合后流程条目的数量及该复数个流程条目的数量的比值,且该前次压缩比是在一前次聚合操作后,该复数个流程条目的数量、及该前次聚合操作前的一组聚合前流程条目的数量的比值。
7.如权利要求1所述的方法,其特征在于,其中对该新流程条目、该复数个流程条目及该至少一冗置流程条目执行该聚合操作,从而产生该组聚合后流程条目,包含:
将该新流程条目、该复数个流程条目及该至少一冗置流程条目定义为一组初始流程条目,将该组初始流程条目依照动作栏位予以分组,从而产生复数组流程条目;
该复数组流程条目的每组流程条目各自执行聚合操作,从而产生复数个中途流程条目;及
根据该复数个中途流程条目产生该组聚合后流程条目。
8.如权利要求7所述的方法,其特征在于,其中根据该复数个中途流程条目产生该组聚合后流程条目,包含:
检视该复数个中途流程条目的目的地位址是否重复;及
若该复数个中途流程条目的两流程条目的目的地位址重复,将该两流程条目中关联于该组初始流程条目的流程条目数量较多者,选入该组聚合后流程条目。
9.如权利要求7所述的方法,其特征在于,其中根据该复数个中途流程条目产生该组聚合后流程条目,包含:
将该复数个中途流程条目中,以无类别域间路由格式表示目的地位址时,斜线后方的数字较大者,选入该组聚合后流程条目。
10.一种网络系统,其特征在于,包含:
一控制器,用以发送一流程修改信号,及一封包;及
一交换器,包含一安全通道模组及一路由单元,该安全通道模组透过一网络协定路径连结于该控制器,用以接收该流程修改信号,该路由单元用以储存一流程表,该流程表具有复数个流程条目,该复数个流程条目是用以比对该封包,从而确认该封包的一目的地位址及一对应操作,该交换器是用以根据该流程修改信号取得一新流程条目,根据该新流程条目及该复数个流程条目,置入至少一冗置流程条目,对该新流程条目、该复数个流程条目及该至少一冗置流程条目执行一聚合操作,从而产生一组聚合后流程条目;且使用该组聚合后流程条目,更新该流程表。
CN201610994137.2A 2016-11-10 2016-11-10 网络系统控制方法及网络系统 Active CN108075977B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610994137.2A CN108075977B (zh) 2016-11-10 2016-11-10 网络系统控制方法及网络系统
US15/787,686 US10411995B2 (en) 2016-11-10 2017-10-18 Network system control method and network system related to aggregation operation using redundant flow entry

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610994137.2A CN108075977B (zh) 2016-11-10 2016-11-10 网络系统控制方法及网络系统

Publications (2)

Publication Number Publication Date
CN108075977A true CN108075977A (zh) 2018-05-25
CN108075977B CN108075977B (zh) 2020-10-16

Family

ID=62064220

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610994137.2A Active CN108075977B (zh) 2016-11-10 2016-11-10 网络系统控制方法及网络系统

Country Status (2)

Country Link
US (1) US10411995B2 (zh)
CN (1) CN108075977B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10678732B1 (en) * 2019-02-27 2020-06-09 Liqid Inc. Expanded host domains in PCIe fabrics
US11303505B2 (en) * 2020-07-22 2022-04-12 Arista Networks, Inc. Aggregated control-plane tables

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158745A (zh) * 2013-05-13 2014-11-19 中兴通讯股份有限公司 一种实现数据包转发的方法及系统
CN104219150A (zh) * 2014-09-03 2014-12-17 杭州华三通信技术有限公司 流表下发方法及装置
CN105516006A (zh) * 2015-11-25 2016-04-20 英业达科技有限公司 流量条目聚合方法及相关的网络系统
CN105515975A (zh) * 2015-11-24 2016-04-20 武汉烽火网络有限责任公司 面向软件定义网络基于应用层转发的实现方法及系统
US20160269288A1 (en) * 2014-06-27 2016-09-15 International Business Machines Corporation Dual purpose on-chip buffer memory for low latency switching

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5573942B2 (ja) * 2010-03-17 2014-08-20 日本電気株式会社 通信システム、ノード、制御サーバ、通信方法およびプログラム
WO2013125342A1 (ja) * 2012-02-20 2013-08-29 日本電気株式会社 ネットワークシステム、リソース使用率改善方法
WO2015172373A1 (zh) * 2014-05-16 2015-11-19 华为技术有限公司 一种用于OpenFlow网络的数据处理方法和装置
US9954775B2 (en) * 2014-11-25 2018-04-24 Electronics And Telecommunications Research Institute Software-defined network (SDN) system using host abstraction, and method for implementing the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158745A (zh) * 2013-05-13 2014-11-19 中兴通讯股份有限公司 一种实现数据包转发的方法及系统
US20160269288A1 (en) * 2014-06-27 2016-09-15 International Business Machines Corporation Dual purpose on-chip buffer memory for low latency switching
CN104219150A (zh) * 2014-09-03 2014-12-17 杭州华三通信技术有限公司 流表下发方法及装置
CN105515975A (zh) * 2015-11-24 2016-04-20 武汉烽火网络有限责任公司 面向软件定义网络基于应用层转发的实现方法及系统
CN105516006A (zh) * 2015-11-25 2016-04-20 英业达科技有限公司 流量条目聚合方法及相关的网络系统

Also Published As

Publication number Publication date
US20180131603A1 (en) 2018-05-10
CN108075977B (zh) 2020-10-16
US10411995B2 (en) 2019-09-10

Similar Documents

Publication Publication Date Title
CN103858386B (zh) 用于通过优化的决策树执行包分类的方法和装置
CN105743793B (zh) 用于网络设备组件的比特索引显式复制(bier)转发
Mehraghdam et al. Specifying and placing chains of virtual network functions
US20150180802A1 (en) Rule-based network traffic interception and distribution scheme
CN108200006A (zh) 一种基于层次化时空特征学习的网络流量分类方法及装置
CN109639694A (zh) 一种基于规则树检索的防火墙数据包匹配算法
CN108540559B (zh) 一种支持IPSec VPN负载均衡的SDN控制器
CN109845223A (zh) 使用预分类来实施网络安全策略
CN108200092A (zh) 基于nfv技术加速报文acl匹配处理的方法及系统
Roditty Decremental maintenance of strongly connected components
CN108075977A (zh) 网络系统控制方法及网络系统
CN102420771A (zh) 高速网络环境中提高tcp并发连接速度的方法
CN103973589A (zh) 网络流量分类方法及装置
CN105763457A (zh) 组播报文处理方法和网络设备
CN105871856B (zh) 批处理包过滤防火墙的实现方法
CN106487784A (zh) 一种会话迁移的方法、装置及防火墙
CN107947965A (zh) 服务链编译器
Aydogan et al. Adaptive source routing in multistage interconnection networks
CN101242409B (zh) 一种多语言的网络数据包高效过滤的方法
CN107800640A (zh) 一种流规则的检测和处理的方法
CN108055232A (zh) 一种高速轻量级拟态虚拟网构建方法
CN113872784A (zh) 网络配置的验证方法和装置
Patt-Shamir et al. Space-optimal packet routing on trees
Goldsztajn et al. Utility maximizing load balancing policies
CN114866281B (zh) 一种在p4交换机上部署随机森林模型的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant