CN113708966B - 一种交换机网络化在线配置方法、系统和设备 - Google Patents
一种交换机网络化在线配置方法、系统和设备 Download PDFInfo
- Publication number
- CN113708966B CN113708966B CN202110973440.5A CN202110973440A CN113708966B CN 113708966 B CN113708966 B CN 113708966B CN 202110973440 A CN202110973440 A CN 202110973440A CN 113708966 B CN113708966 B CN 113708966B
- Authority
- CN
- China
- Prior art keywords
- module
- configuration
- programmable
- mid
- switch
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
本发明涉及一种交换机网络化在线配置方法、系统和设备,包括:在可编程交换机内部设置交换机配置模块和若干可编程模块,并创建AMID表和IMID表;接收并解析网络控制器发送的交换机配置信息,得到配置操作类型及模块配置信息;确定各可编程模块的MID,并对AMID表和IMID表进行更新,同时将模块配置信息下发至相应的可编程模块;各可编程模块根据接收到的模块配置信息完成在线配置,配置完成后发送配置完成信息到交换机配置模块;交换机配置模块接收到所有可编程模块发送的配置完成信息后,发送交换机配置确认及更新信息到网络控制器。本发明可以广泛应用于网络技术领域。
Description
技术领域
本发明涉及一种交换机网络化在线配置方法、系统和设备,属于网络技术领域。
背景技术
随着网络技术的蓬勃发展,越来越多的网络协议被提出,这就要求网络需要快速支持多种协议的更新升级。软件定义网络(Software-Defined Network,SDN)作为一种新型网络架构,将网络的控制平面与数据平面分离,控制平面通过北向接口与网络应用进行交互,通过南向接口与数据平面进行交互。网络工程师和管理员只需要对网络应用进行编程,就能够简单和高效地配置和管理网络,从而对网络功能需求的变化作出快速响应,使得网络演进变得敏捷而灵活。
然而,早期的SDN可编程性主要体现在控制平面,以OpenFlow为代表的转发平面与特定协议绑定,其转发能力固定且有限。为支持新协议,转发平面往往需要花费大量精力来扩展交换机的软硬件功能,导致更新周期过长,难以满足新协议的快速部署要求。为了解决数据平面发展滞后于网络协议发展的问题,2014年斯坦福大学的Nick McKeown教授和普林斯顿大学的Jennifer Rexford教授等共同提出了P4编程语言,使用首部(Headers)、解析器(parsers)、表(Tables)、动作(Action)、流控制等要素对交换机的转发操作进行建模,为数据平面带来了可编程性。基于P4的可编程数据平面开发采用的是“编程——编译——离线配置”的开发模式,网络拥有者和运营商采用P4语言完成网络功能的开发,并利用P4编译器得到P4交换机配置文件,完成对交换机的离线配置,进而实现新网络功能和协议的部署。但是该开发模式在交换机配置时需要交换机宕机,随着网络规模和数据量的不断增长,交换机宕机会导致网络升级时间增大,降低网络的快速响应能力及用户服务质量。
发明内容
针对上述问题,本发明的目的在于提供一种交换机网络化在线配置方法、系统和设备,通过网络化在线配置交换机,实现网络的快速升级,提升用户服务质量。
为实现上述目的,本发明采取以下技术方案:
本发明的第一个方面,是提供一种交换机网络化在线配置方法,其包括:
步骤1:在可编程交换机内部设置交换机配置模块和若干可编程模块,并创建AMID表和IMID表,分别用于存储活动可编程模块和空闲可编程模块对应的MID;
步骤2:通过交换机配置模块接收并解析网络控制器发送的交换机配置信息,得到配置操作类型及模块配置信息;
步骤3:根据配置操作类型及模块配置信息确定各可编程模块的MID,并对AMID表和IMID表进行更新,同时将模块配置信息下发至相应的可编程模块;
步骤4:各可编程模块根据接收到的模块配置信息完成在线配置,配置完成后发送配置完成信息到交换机配置模块;
步骤5:交换机配置模块接收到所有可编程模块发送的配置完成信息后,发送交换机配置确认及更新信息到网络控制器,完成交换机网络化在线配置。
优选地,所述步骤2中,所述配置操作类型包括在线删除可编程模块、在线增加可编程模块以及在线配置可编程模块;所述模块配置信息包括:配置模块集合Rs={MIDR1,...,MIDRN}、删除模块集合DS={MIDD1,…,MIDDN}和增加模块数量AN。
优选地,所述步骤3中,根据配置操作类型确定各可编程模块的MID,并对AMID表和IMID表进行更新,同时将模块配置信息下发至相应的可编程模块的方法,包括以下步骤:
步骤31:判定配置操作类型,若为在线增加可编程模块则进入步骤32,若为在线删除可编程模块则执行步骤33,若为在线配置可编程模块则进入步骤34;
步骤32:根据模块配置信息中的增加模块数量AN,为新增加的可编程模块分配MID,并对AIMD表和IMID表进行更新;
步骤33:根据模块配置信息中的删除模块集合DS释放相应的可编程模块的MID,并对AIMD表和IMID表进行更新;
步骤34:根据模块配置信息中的配置模块集合RS,生成并下发对应各可编程模块的配置信息。
优选地,所述步骤32中,为新增加的可编程模块分配MID的方法,包括以下步骤:
步骤321:从IMID表中选择AN个空闲MID值写入AMID表中,并从IMID表中删除相应MID值,记为新增模块集合AS={MIDA1,…,MIDAN};
步骤322:根据得到的新增模块集合AS={MIDA1,...,MIDAN}对配置模块集合RS进行更新:RS=RS∪AS;
步骤323:判定是否存在删除可编程模块的操作,若有则执行步骤33,否则执行步骤34。
优选地,所述步骤33中,根据模块配置信息中的删除模块集合DS释放相应的可编程模块的MID,并对AIMD表和IMID表进行更新时:首先将删除模块集合DS中对应的MID值从AMID表中删除,然后将其写入IMID表中。
优选地,所述步骤34中,根据模块配置信息中的配置模块集合RS,生成并下发对应各可编程模块的配置信息的方法,包括以下步骤:
步骤341:初始化i=1;
步骤342:生成标识码MIDi(MIDi∈RS)对应的可编程模块的配置信息{MIDi,功能配置标志,功能配置数据,NMID表更新标志,NMID表更新数据},并发送给相应的可编程模块;
步骤343:判定配置模块集合RS中所有可编程模块的配置信息是否都生成,若完成,则进入步骤4,否则将i加1后,进入步骤342。
优选地,所述步骤4中,各可编程模块根据接收到的模块配置信息完成在线配置,配置完成后发送配置完成信息到交换机配置模块的方法,包括以下步骤:
步骤41:读取MIDi值,令LMID=MIDi,其中LMID为当前模块的本地模块标识;
步骤42:根据模块配置信息对功能配置标志进行判定,若存在功能配置,则根据功能配置数据完成模块功能单元的功能配置;
步骤43:根据模块配置信息对NMID表更新标志进行判定,若存在NMID表更新,则根据NMID表更新数据完成NMID表单元更新;
步骤44:向交换机配置模块发送MIDi配置完成标志。
本发明的第二个方面,是提供一种交换机网络化在线配置系统,其包括:
设置在可编程交换机内部的交换机配置模块和若干可编程模块;
所述交换机配置模块用于对网络控制器发送的交换机配置信息进行解析得到配置操作类型及模块配置信息,依据配置操作类型对各所述可编程模块分配MID,并将相应的模块配置信息下发至各所述可编程模块;
各所述可编程模块用于根据接收到的模块配置信息完成在线配置,配置完成后发送配置完成信息到所述交换机配置模块;
所述交换机配置模块接收到所有所述可编程模块发送的配置完成信息后,发送交换机配置确认及更新信息到所述网络控制器。
优选地,所述可编程模块包括模块配置单元、MID判定单元、MID查表单元和NMID表单元、输入选择器、输出选择器和模块功能单元;
所述模块配置单元用于接收来自所述交换机配置模块的模块配置信息,并完成对本可编程模块的在线配置;
所述NMID表单元用以维护NMID表,所述NMID表用于存储控制流的匹配规则Rule及对应的NMID值;
所述MID查表单元用于根据从所述模块功能单元获取的查找规则Rule,完成对所述NMID表的查找,并将查找得到的更新的NMID值发送到所述模块功能单元;
所述MID判定单元用于判定上一可编程模块输出的包头向量和元数据中所包含的NMID与当前可编程模块的MID是否相同,若相同则设置选择位sel=1,否则设置选择位sel=0,并将设置的选择位信息分别发送到所述输入选择器和输出选择器;
所述输入选择器和输出选择器配合完成是否执行当前可编程模块的模块功能单元;
所述模块功能单元用于根据更新的NMID值对上一可编程模块发送的包头向量和元数据进行处理,并将处理结果发送到下一可编程模块。
本发明的第三个方面,是提供一种处理设备,所述处理设备至少包括处理器和存储器,所述存储器上存储有计算机程序,所述处理器运行所述计算机程序时执行以实现所述交换机网络化在线配置方法的步骤。
本发明由于采取以上技术方案,其具有以下优点:本发明通过提出网络化在线配置交换机的方法,并在交换机内增加交换机配置模块,在可编程模块内增加模块配置单元和与MID相关的控制单元,能够实现在线增加可编程模块、在线删除可编程模块、在线配置处理流水线等操作,解决了现有可编程交换机所面临的需要宕机进行离线配置的问题,进而能够实现网络的快速升级,提升用户服务质量。
附图说明
图1是本发明实施例提供的交换机网络化在线配置方法流程图;
图2是本发明实施例提供的交换机网络化在线配置系统结构示意图;
图3是本发明实施例提供的可编程模块统一实现架构;
图4(a)和图4(b)是本发明实施例中更新前后的AMID表和IMID表,且图4(a)是更新前的AMID表,图4(b)是更新后的IMID表;
图5(a)和图5(b)是本发明实施例中更新前后模块MIDR1的NMID表,且图5(a)是更新前的NMID表,图5(b)是更新后的NMID表。
具体实施方式
下面结合附图和实施例对本发明进行详细的描述。
本发明的一些实施例中,提供一种交换机网络化在线配置方法,通过在交换机内增加交换机配置模块,接收来自控制器的配置信息,为交换机内每个可编程模块动态分配唯一的模块标识(Module Identification,MID),按照网络节点管理的方式对可编程模块进行在线配置,实现在线增加可编程模块、在线删除可编程模块、在线配置处理流水线等操作,解决了现有可编程交换机所面临的需要宕机进行离线配置的问题,进而能够实现网络的快速升级,提升用户服务质量。
本发明的一些实施例还提供对应于上述配置方法的交换机网络化在线配置系统和电子设备。
实施例1
如图1所示,本实施例提供一种交换机网络化在线配置方法,其包括以下步骤:
步骤1:在可编程交换机内部设置交换机配置模块和若干可编程模块,并创建AMID(Active Module Identification,活动模块标示)表和IMID(Idle ModuleIdentification,空闲模块标示)表,分别用于存储活动可编程模块和空闲可编程模块对应的MID;
步骤2:通过交换机配置模块接收并解析网络控制器发送的交换机配置信息,得到配置操作类型及模块配置信息;
步骤3:根据配置操作类型及模块配置信息确定各可编程模块的MID,并对AMID表和IMID表进行更新,同时将模块配置信息下发至相应的可编程模块;
步骤4:各可编程模块根据接收到的模块配置信息完成在线配置,配置完成后发送配置完成信息到交换机配置模块;
步骤5:交换机配置模块接收到所有可编程模块发送的配置完成信息后,发送交换机配置确认及更新信息到网络控制器,完成交换机网络化在线配置。
优选地,上述步骤2中,交换机配置模块对网络控制器发送的交换机配置信息进行解析时,得到的配置操作类型包括在线删除可编程模块、在线增加可编程模块以及在线配置可编程模块;对应的模块配置信息包括:删除模块集合DS={MIDD1,...,MIDDN}、增加模块数量AN和配置模块集合RS={MIDR1,...,MIDRN}。
优选地,上述步骤3中,根据配置操作类型确定各可编程模块的MID,并对AMID表和IMID表进行更新,同时将模块配置信息下发至相应的可编程模块的方法,包括以下步骤:
步骤31:判定配置操作类型,若为在线增加可编程模块则进入步骤32,若为在线删除可编程模块则执行步骤33,若为在线配置可编程模块则进入步骤34;
步骤32:根据模块配置信息中的增加模块数量AN,为新增加的可编程模块分配MID,并对AIMD表和IMID表进行更新;
步骤33:根据模块配置信息中的删除模块集合DS释放相应的可编程模块的MID,并对AIMD表和IMID表进行更新;
步骤34:根据模块配置信息中的配置模块集合RS,生成并下发对应各可编程模块的配置信息。
优选地,上述步骤32中,为新增加的可编程模块分配MID的方法,包括以下步骤:
步骤321:从IMID表中选择AN个空闲MID值写入AMID表中,并从IMID表中删除相应MID值,记为新增模块集合AS={MIDA1,...,MIDAN};
步骤322:根据得到的新增模块集合AS={MIDA1,...,MIDAN}对配置模块集合RS进行更新:RS=RS∪AS;
步骤323:判定是否存在删除可编程模块的操作,若有则执行步骤33,否则执行步骤34。
优选地,上述步骤33中,根据模块配置信息中的删除模块集合DS释放相应的可编程模块的MID,并对AIMD表和IMID表进行更新时:首先将删除模块集合DS中对应的MID值从AMID表中删除,然后将其写入IMID表中。
优选地,上述步骤34中,根据模块配置信息中的配置模块集合RS,生成并下发对应各可编程模块的配置信息的方法,包括以下步骤:
步骤341:初始化i=1;
步骤342:生成标识码MIDi(MIDi∈RS)对应的可编程模块的配置信息{MIDi,功能配置标志,功能配置数据,NMID(next module identification,下一模块标识)表更新标志,NMID表更新数据},并发送给相应的可编程模块;
步骤343:判定配置模块集合RS中所有可编程模块的配置信息是否都生成,若完成,则进入步骤4,否则将i加1后,进入步骤342。
优选地,上述步骤4中,各可编程模块根据接收到的模块配置信息完成在线配置,配置完成后发送配置完成信息到交换机配置模块的方法,包括以下步骤:
步骤41:读取MIDi值,令LMID=MIDi,其中LMID为当前模块的本地模块标识(LocalModule Identification);
步骤42:根据模块配置信息对功能配置标志进行判定,若存在功能配置,则根据功能配置数据完成模块功能单元的功能配置;
步骤43:根据模块配置信息对NMID表更新标志进行判定,若存在NMID表更新,则根据NMID表更新数据完成NMID表单元更新;
步骤44:向交换机配置模块发送MIDi配置完成标志。
实施例2
如图2所示,本实施例提供一种交换机网络化在线配置系统,其包括设置在可编程交换机内部的交换机配置模块和若干可编程模块。其中,交换机配置模块用于对网络控制器发送的交换机配置信息进行解析得到配置操作类型及模块配置信息,并依据配置操作类型对各可编程模块进行管理后,将相应的模块配置信息下发至各可编程模块;各可编程模块用于根据接收到的模块配置信息完成在线配置,配置完成后发送配置完成信息到交换机配置模块;交换机配置模块接收到所有可编程模块发送的配置完成信息后,发送交换机配置确认及更新信息到网络控制器。
优选地,交换机配置模块包括配置信息解析单元、操作类型判定单元、MID分配单元、MID删除单元、配置信息生成单元以及AMID表单元和IMID表单元。其中,配置信息解析单元用于对交换机的在线配置信息进行解析,并将解析到的配置操作类型和模块配置信息分别发送到操作类型判定单元和配置信息生成单元;操作类型判定单元用于对配置操作类型进行判定,并将相应控制信号发送到MID分配单元、MID删除单元和配置信息生成单元;MID分配单元用于为新增加的可编程模块分配MID,并对AMID表和IMID表单元进行更新;MID删除单元用于回收删除可编程模块的MID,并对AMID表和IMID表单元进行更新;配置信息生成单元用于生成相应可编程模块的配置信息;AMID表单元用于存储活动的可编程模块所对应的MID;IMID表单元用于存储空闲的可编程模块所对应的MID。
优选地,N个可编程模块构成处理流水线,可编程模块之间传递的信息包括包头向量(Head Vector,HV)和元数据(Metadata,M),包头向量HV包括后续包处理模块所需的特征字段,元数据M定义了不同可编程模块之间传递的控制信息。
优选地,如图3所示,可编程模块包括模块配置单元、MID判定单元、MID查表单元和NMID表单元、输入选择器、输出选择器和模块功能单元。
其中,模块配置单元用于接收来自交换机配置模块的模块配置信息,并完成对本可编程模块的在线配置,也即对模块功能单元的具体功能和NMID表进行配置;NMID表单元用以存储控制流的匹配规则Rule及对应的NMID值;MID查表单元用于根据从模块功能单元获取的查找规则Rule,完成对NMID表的查找,并将查找得到的更新的NMID值发送到模块功能单元;MID判定单元用于判定上一可编程单元输出的包头向量和元数据中所包含的NMID与当前可编程模块的MID是否相同,若相同则设置选择位sel=1,否则设置选择位sel=0,并将设置的选择位信息分别发送到输入选择器和输出选择器;输入选择器和输出选择器配合完成是否执行当前模块的功能单元,即如果SEL=1,则表明需要当前模块的功能单元对HV和M进行处理,否则不需要处理;模块功能单元用于根据更新的NMID值对发送的包头向量和元数据进行处理,并将处理结果发送到下一可编程模块。
实施例3
本实施例以“在线增加1个可编程模块、删除1个可编程模块MIDD1、更新1个可编程模块MIDR1的NMID表”为例说明本发明所提供的交换机网络化在线配置方法,具体过程为:
步骤1:交换机配置模块接收并解析网络控制器发送的交换机的在线配置信息,包括:配置模块集合RS={MIDR1}、删除模块集合DS={MIDD1}、增加模块数量AN=1、配置操作类型;
步骤2:判定交换机配置操作类型,若为在线增加可编程模块操作执行步骤步骤3,若为在线删除可编程模块则执行步骤步骤4,否则执行步骤步骤5;
步骤3:交换机配置模块为待增加的1个可编程模块分配MID,具体流程为:
步骤31:从IMID表中选择1个空闲MID值MIDA1写入AMID表中,并从IMID表中删除MIDA1,记AS={MIDA1};
步骤32:更新配置模块集合,RS=RS∪AS={MIDR1,MIDA1};
步骤33:判定是否存在删除操作,若有执行步骤步骤3,否则执行步骤步骤4;
步骤4:交换机配置模块释放删除模块集合DS的MID:将MIDD1值从AMID表中删除,写入IMID表;
步骤5:交换机配置模块依次生成并下发配置模块集合RS中所有可编程模块的配置信息,在实施例中MID1=MIDR1,MID2=MIDA1,具体流程为:
步骤51:初始化i=1;
步骤52:生成MIDi(MIDi∈RS)的配置信息{MIDi,功能配置标志,功能配置数据,NMID表更新标志,NMID表更新数据},并发送给MIDi;
步骤53:MIDi中的模块配置单元执行步骤步骤6,交换机配置模块执行步骤步骤54;
步骤54:判定配置模块集合RS中所有可编程模块的配置信息是否都生成,若完成,执行步骤7,否则将i加1后,执行步骤步骤51;
步骤6:模块MIDi的配置单元执行MIDi的配置,具体流程为:
步骤61:读取MIDi值,令LMID=MIDi;
步骤62:判定功能配置标志,若存在功能配置,则根据功能配置数据完成模块的功能配置,在本实施例中需要对MID2模块(即MIDA1模块)进行初始化功能配置;
步骤63:判定NMID表更新标志,若存在NMID表更新,则根据NMID配置数据完成NMID表更新,在本实施例中需要对MID1模块(即MIDR1模块)进行NMID表项更新,以实现MID1模块与MIDA1模块的逻辑相关;
步骤64:向交换机配置模块发送MIDi配置完成标志;
步骤7:交换机配置模块接收配置模块集合RS中所有可编程模块的配置完成标志后,向网络控制器发送该交换机配置完成标志和更新后的AMID表。
如图4(a)和图4(b)所示,为更新前后的AMID表和IMID表,通过更改AMID表和IMID表能够动态增加和删除交换机内的可编程模块。
如图5(a)和图5(b)所示,模块MIDR1更新前后的NMID表。在更新前,模块MIDR1的NMID表中存在与MIDD1有关的表项用以表征模块MIDR1与模块MIDD1在逻辑上的关联性。本实施例中,通过将该表项更改为与MIDA1有关,从而实现模块MIDR1与模块MIDA1在逻辑上的关联。
实施例4
本实施例提供一种与本实施例1所提供的交换机网络化在线配置方法对应的处理设备,处理设备可以是用于客户端的处理设备,例如手机、笔记本电脑、平板电脑、台式机电脑等,以执行实施例1的配置方法。
所述处理设备包括处理器、存储器、通信接口和总线,处理器、存储器和通信接口通过总线连接,以完成相互间的通信。存储器中存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行本实施例1所提供的交换机网络化在线配置方法。
在一些实现中,存储器可以是高速随机存取存储器(RAM:Random AccessMemory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
在另一些实现中,处理器可以为中央处理器(CPU)、数字信号处理器(DSP)等各种类型通用处理器,在此不做限定。
实施例5
本实施例1的交换机网络化在线配置方法可被具体实现为一种计算机程序产品,计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本实施例1所述的交换机网络化在线配置方法的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意组合。
需要说明的是,附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
上述各实施例仅用于说明本发明,其中各部件的结构、连接方式和制作工艺等都是可以有所变化的,凡是在本发明技术方案的基础上进行的等同变换和改进,均不应排除在本发明的保护范围之外。
Claims (6)
1.一种交换机网络化在线配置方法,其特征在于,包括:
步骤1:在可编程交换机内部设置交换机配置模块和若干可编程模块,并创建AMID表和IMID表,分别用于存储活动可编程模块和空闲可编程模块对应的MID;
步骤2:通过交换机配置模块接收并解析网络控制器发送的交换机配置信息,得到配置操作类型及模块配置信息;
其中,所述配置操作类型包括在线删除可编程模块、在线增加可编程模块以及在线配置可编程模块;所述模块配置信息包括:配置模块集合RS={MIDR1,...,MIDRN}、删除模块集合DS={MIDD1,...,MIDDN}和增加模块数量AN;
步骤3:根据配置操作类型及模块配置信息确定各可编程模块的MID,并对AMID表和IMID表进行更新,同时将模块配置信息下发至相应的可编程模块;
其中,根据配置操作类型确定各可编程模块的MID,并对AMID表和IMID表进行更新,同时将模块配置信息下发至相应的可编程模块的方法,包括以下步骤:
步骤31:判定配置操作类型,若为在线增加可编程模块则进入步骤32,若为在线删除可编程模块则执行步骤33,若为在线配置可编程模块则进入步骤34;
步骤32:根据模块配置信息中的增加模块数量AN,为新增加的可编程模块分配MID,并对AIMD表和IMID表进行更新;
步骤33:根据模块配置信息中的删除模块集合DS释放相应的可编程模块的MID,并对AIMD表和IMID表进行更新;
步骤34:根据模块配置信息中的配置模块集合RS,生成并下发对应各可编程模块的配置信息;
其中,根据模块配置信息中的配置模块集合RS,生成并下发对应各可编程模块的配置信息的方法,包括以下步骤:
步骤341:初始化i=1;
步骤342:生成标识码MIDi(MIDi∈RS)对应的可编程模块的配置信息{MIDi,功能配置标志,功能配置数据,NMID表更新标志,NMID表更新数据},并发送给相应的可编程模块;
步骤343:判定配置模块集合RS中所有可编程模块的配置信息是否都生成,若完成,则进入步骤4,否则将i加1后,进入步骤342;
步骤4:各可编程模块根据接收到的模块配置信息完成在线配置,配置完成后发送配置完成信息到交换机配置模块;
其中,各可编程模块根据接收到的模块配置信息完成在线配置,配置完成后发送配置完成信息到交换机配置模块的方法,包括:
步骤41:读取MIDi值,令LMID=MIDi,其中LMID为当前可编程模块的本地模块标识;
步骤42:根据模块配置信息对功能配置标志进行判定,若存在功能配置,则根据功能配置数据完成模块功能单元的功能配置;
步骤43:根据模块配置信息对NMID表更新标志进行判定,若存在NMID表更新,则根据NMID表更新数据完成NMID表单元更新;
步骤44:向交换机配置模块发送MIDi配置完成标志;
步骤5:交换机配置模块接收到所有可编程模块发送的配置完成信息后,发送交换机配置确认及更新信息到网络控制器,完成交换机网络化在线配置。
2.如权利要求1所述的一种交换机网络化在线配置方法,其特征在于,所述步骤32中,为新增加的可编程模块分配MID的方法,包括以下步骤:
步骤321:从IMID表中选择AN个空闲MID值写入AMID表中,并从IMID表中删除相应MID值,记为新增模块集合AS={MIDA1,...,MIDAN};
步骤322:根据得到的新增模块集合AS={MIDA1,...,MIDAN}对配置模块集合RS进行更新:RS=RS∪AS;
步骤323:判定是否存在删除可编程模块的操作,若有则执行步骤33,否则执行步骤34。
3.如权利要求1所述的一种交换机网络化在线配置方法,其特征在于,所述步骤33中,根据模块配置信息中的删除模块集合DS释放相应的可编程模块的MID,并对AIMD表和IMID表进行更新时:首先将删除模块集合DS中对应的MID值从AMID表中删除,然后将其写入IMID表中。
4.一种交换机网络化在线配置系统,其特征在于,包括:
设置在可编程交换机内部的交换机配置模块和若干可编程模块;
所述交换机配置模块用于对网络控制器发送的交换机配置信息进行解析得到配置操作类型及模块配置信息,依据配置操作类型对各所述可编程模块分配MID码,并将相应的模块配置信息下发至各所述可编程模块;
其中,所述配置操作类型包括在线删除可编程模块、在线增加可编程模块以及在线配置可编程模块;所述模块配置信息包括:配置模块集合RS={MIDR1,...,MIDRN}、删除模块集合DS={MIDD1,...,MIDDN}和增加模块数量AN;
根据配置操作类型确定各可编程模块的MID,并对AMID表和IMID表进行更新,同时将模块配置信息下发至相应的可编程模块,包括:
判定配置操作类型,若为在线增加可编程模块则根据模块配置信息中的增加模块数量AN,为新增加的可编程模块分配MID,并对AIMD表和IMID表进行更新;若为在线删除可编程模块则根据模块配置信息中的删除模块集合DS释放相应的可编程模块的MID,并对AIMD表和IMID表进行更新;若为在线配置可编程模块则根据模块配置信息中的配置模块集合RS,生成并下发对应各可编程模块的配置信息;
其中,根据模块配置信息中的配置模块集合RS,生成并下发对应各可编程模块的配置信息,包括:初始化i=1;生成标识码MIDi(MIDi∈RS)对应的可编程模块的配置信息{MIDi,功能配置标志,功能配置数据,NMID表更新标志,NMID表更新数据},并发送给相应的可编程模块;判定配置模块集合RS中所有可编程模块的配置信息是否都生成,若完成,则进入下一步,否则将i+1后,继续进行配置;
各所述可编程模块用于根据接收到的模块配置信息完成在线配置,配置完成后发送配置完成信息到所述交换机配置模块;其中,各可编程模块根据接收到的模块配置信息完成在线配置,配置完成后发送配置完成信息到交换机配置模块,包括:读取MIDi值,令LMID=MIDi,其中LMID为当前可编程模块的本地模块标识;根据模块配置信息对功能配置标志进行判定,若存在功能配置,则根据功能配置数据完成模块功能单元的功能配置;根据模块配置信息对NMID表更新标志进行判定,若存在NMID表更新,则根据NMID表更新数据完成NMID表单元更新;向交换机配置模块发送MIDi配置完成标志;
所述交换机配置模块接收到所有所述可编程模块发送的配置完成信息后,发送交换机配置确认及更新信息到所述网络控制器。
5.如权利要求4所述的一种交换机网络化在线配置系统,其特征在于:
所述可编程模块包括模块配置单元、MID判定单元、MID查表单元和NMID表单元、输入选择器、输出选择器和模块功能单元;
所述模块配置单元用于接收来自所述交换机配置模块的模块配置信息,并完成对本可编程模块的在线配置;
所述NMID表单元用以维护NMID表,所述NMID表用于存储控制流的匹配规则Rule及对应的NMID值;
所述MID查表单元用于根据从所述模块功能单元获取的查找规则Rule,完成对所述NMID表的查找,并将查找得到的更新的NMID值发送到所述模块功能单元;
所述MID判定单元用于判定上一可编程模块输出的包头向量和元数据中所包含的NMID与当前可编程模块的MID是否相同,若相同则设置选择位sel=1,否则设置选择位sel=0,并将设置的选择位信息分别发送到所述输入选择器和输出选择器;
所述输入选择器和输出选择器配合完成是否执行当前可编程模块的模块功能单元;
所述模块功能单元用于根据更新的NMID值对上一可编程模块发送的包头向量和元数据进行处理,并将处理结果发送到下一可编程模块。
6.一种处理设备,所述处理设备至少包括处理器和存储器,所述存储器上存储有计算机程序,其特征在于,所述处理器运行所述计算机程序时执行以实现权利要求1到3任一项所述交换机网络化在线配置方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110973440.5A CN113708966B (zh) | 2021-08-24 | 2021-08-24 | 一种交换机网络化在线配置方法、系统和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110973440.5A CN113708966B (zh) | 2021-08-24 | 2021-08-24 | 一种交换机网络化在线配置方法、系统和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113708966A CN113708966A (zh) | 2021-11-26 |
CN113708966B true CN113708966B (zh) | 2022-05-31 |
Family
ID=78654327
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110973440.5A Active CN113708966B (zh) | 2021-08-24 | 2021-08-24 | 一种交换机网络化在线配置方法、系统和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113708966B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103795596A (zh) * | 2014-03-03 | 2014-05-14 | 北京邮电大学 | 可编程控制的sdn网络测量系统和测量方法 |
WO2014202030A1 (zh) * | 2013-06-21 | 2014-12-24 | 北京邮电大学 | 增强OpenFlow网络能力的网络控制器、交换机和方法 |
WO2016118170A1 (en) * | 2015-01-23 | 2016-07-28 | Hewlett Packard Enterprise Development Lp | Configuration of a virtual local area network in a ring of devices |
CN108055156A (zh) * | 2017-12-18 | 2018-05-18 | 迈普通信技术股份有限公司 | Ap管理方法及装置 |
CN109995674A (zh) * | 2017-12-29 | 2019-07-09 | 中国科学院沈阳自动化研究所 | 一种可编程sdn交换机系统 |
CN110290092A (zh) * | 2018-03-19 | 2019-09-27 | 中国科学院沈阳自动化研究所 | 一种基于可编程交换机的sdn网络配置管理方法 |
CN110912725A (zh) * | 2018-09-18 | 2020-03-24 | 北京邮电大学 | 一种OpenFlow虚拟交换机的配置方法及配置装置 |
CN112328268A (zh) * | 2020-11-20 | 2021-02-05 | 苏州浪潮智能科技有限公司 | 一种白盒交换机软件升级的方法、装置、设备及可读介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9825884B2 (en) * | 2013-12-30 | 2017-11-21 | Cavium, Inc. | Protocol independent programmable switch (PIPS) software defined data center networks |
-
2021
- 2021-08-24 CN CN202110973440.5A patent/CN113708966B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014202030A1 (zh) * | 2013-06-21 | 2014-12-24 | 北京邮电大学 | 增强OpenFlow网络能力的网络控制器、交换机和方法 |
CN103795596A (zh) * | 2014-03-03 | 2014-05-14 | 北京邮电大学 | 可编程控制的sdn网络测量系统和测量方法 |
WO2016118170A1 (en) * | 2015-01-23 | 2016-07-28 | Hewlett Packard Enterprise Development Lp | Configuration of a virtual local area network in a ring of devices |
CN108055156A (zh) * | 2017-12-18 | 2018-05-18 | 迈普通信技术股份有限公司 | Ap管理方法及装置 |
CN109995674A (zh) * | 2017-12-29 | 2019-07-09 | 中国科学院沈阳自动化研究所 | 一种可编程sdn交换机系统 |
CN110290092A (zh) * | 2018-03-19 | 2019-09-27 | 中国科学院沈阳自动化研究所 | 一种基于可编程交换机的sdn网络配置管理方法 |
CN110912725A (zh) * | 2018-09-18 | 2020-03-24 | 北京邮电大学 | 一种OpenFlow虚拟交换机的配置方法及配置装置 |
CN112328268A (zh) * | 2020-11-20 | 2021-02-05 | 苏州浪潮智能科技有限公司 | 一种白盒交换机软件升级的方法、装置、设备及可读介质 |
Non-Patent Citations (2)
Title |
---|
P4与POF协议无关可编程网络技术比较研究;赵敏等;《网络新媒体技术》;20180115(第01期);全文 * |
SDN网络资源配置方法研究;周凌云;《中国优秀硕士学位论文全文数据库》;20180815;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113708966A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11016673B2 (en) | Optimizing serverless computing using a distributed computing framework | |
US10027536B2 (en) | System and method for affinity-based network configuration | |
CN111181758B (zh) | 配置文件生成方法、装置 | |
CN110650037B (zh) | 异构网络设备配置方法及装置 | |
CN109189758B (zh) | 运维流程设计方法、装置和设备、运行方法、装置和主机 | |
EP3218805B1 (en) | Method and system for model-driven, affinity-based, network functions | |
CN109460250B (zh) | 一种应用程序的生成方法及设备 | |
US11398981B2 (en) | Path creation method and device for network on chip and electronic apparatus | |
CN114244919B (zh) | 一种基于协议无感知转发的ndn模态实现方法 | |
CN112491743A (zh) | 一种交换芯片的配置方法及装置 | |
US10769153B2 (en) | Computer system and method for setting a stream data processing system | |
US10491674B2 (en) | Network topology templates for internal states of management and control planes | |
US20200364073A1 (en) | Management apparatus, host apparatus, management method, and program | |
CN113708966B (zh) | 一种交换机网络化在线配置方法、系统和设备 | |
CN113342456A (zh) | 一种连接方法、装置、设备和存储介质 | |
CN111769992B (zh) | 一种网络数据的管理方法、云平台及存储介质 | |
CN112291212B (zh) | 静态规则的管理方法、装置、电子设备和存储介质 | |
CN115268951A (zh) | 一种操作系统的安装方法、装置、设备及存储介质 | |
CN109962788B (zh) | 多控制器调度方法、装置和系统及计算机可读存储介质 | |
CN113055287B (zh) | 数据包的处理方法、装置和计算机可读存储介质 | |
CN115396305B (zh) | 一种基于微服务架构的异构网络设备统一管控方法和系统 | |
CN114615150B (zh) | 一种仿真网络生成方法和装置 | |
CN110249594B (zh) | 通信装置和通信方法 | |
US20210311843A1 (en) | System verification program generation device, system verification program generation method, and recording medium storing system verification program generation program | |
US11645061B2 (en) | Construction automation tool for automatic creation of a procedure generation program for changing complex systems |
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 |