CN116155731B - 一种支持rmt的控制通路的通信控制方法及装置 - Google Patents

一种支持rmt的控制通路的通信控制方法及装置 Download PDF

Info

Publication number
CN116155731B
CN116155731B CN202310399352.8A CN202310399352A CN116155731B CN 116155731 B CN116155731 B CN 116155731B CN 202310399352 A CN202310399352 A CN 202310399352A CN 116155731 B CN116155731 B CN 116155731B
Authority
CN
China
Prior art keywords
configuration
message
configuration message
control plane
plane
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
Application number
CN202310399352.8A
Other languages
English (en)
Other versions
CN116155731A (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202310399352.8A priority Critical patent/CN116155731B/zh
Publication of CN116155731A publication Critical patent/CN116155731A/zh
Application granted granted Critical
Publication of CN116155731B publication Critical patent/CN116155731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0869Validating the configuration within one network element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

本发明提供一种支持RMT的控制通路的通信控制方法及装置,包括:获取控制平面传输的预配置报文;根据所述预配置报文进行激活配置,存储所述预配置报文中的会话字段并重置计时器时间;接收所述控制平面传输的配置报文,并根据所述会话字段对所述配置报文进行查验;如果查验所述配置报文无误,则根据所述配置报文进行数据平面配置。本发明能够提升配置的安全性与灵活性。

Description

一种支持RMT的控制通路的通信控制方法及装置
技术领域
本发明属于网络配置技术领域,具体是涉及到一种支持RMT的控制通路的通信控制方法及装置。
背景技术
传统基于分布式路由协议的网络架构具有很强的生存能力,在过去的30年中贡献巨大,解决了各种客户需求。随着简化IP网络管理、提高服务部署效率和实现网络可编程性需求的提出,软件定义网络(Software Defined Network,SDN)应运而生,通过将传统网络中的数据平面和控制平面分离,由控制平面集中控制网元设备、下发“流表”,实现了网络可编程、优化了网络管理成本且使得网络服务能够使用控制器提供的开放接口快速部署。OpenFlow协议是软件定义网络的代表协议。以软件定义网络为基础,可重构匹配表(Reconfigurable Match Tables,RMT)模型允许交换芯片更加灵活地处理报文,支持对报头进行更复杂的处理,对网络可编程性具有里程碑式的意义,逐渐成为软件定义网络路线的下一代架构。
现有的RMT架构如图1所示,报文按照队列顺序进入流水线,首先,“解析器”将报文分离为报头和报文体,报文体直接传输不做处理,报头按照预制的规则解析到各个“容器”里,再将各个“容器”和相关元数据整合为报头向量(Packet Header Vector,PHV);其次,PHV经过多个逻辑阶段处理,每个逻辑阶段都可以根据PHV中的内容匹配一些操作对PHV进行更改,经过一系列逻辑阶段后将得到一个全新的PHV;最后,“逆解析器”将新PHV逆解析为报头并与传输来的报文体重新组合为完整报文送入输出队列中传输。
在现有的RMT架构控制通路中,控制器可以通过软硬件寄存器配置接口对“解析器”配置进行修改,更改解析字段定义并添加新字段,可以指定“匹配-动作”匹配表的数量、拓扑结构等,只受匹配位数的总体资源限制,可以在动作引擎中定义新的操作并为输出队列指定排队规则,将处理过的报文输送到任意端口。
现有的RMT架构控制通路存在如下缺陷:RMT架构阐明了控制通路配置硬件的原理,但没有设计定义具体的控制平面协议;RMT架构控制平面配置流水线硬件资源时,没有考虑硬件配置的安全性问题;现有RMT控制平面能够操作的硬件资源如流水线中各类表项的能力有限,难以满足用户的多样化包处理需求。
发明内容
本发明提供一种支持RMT的控制通路的通信控制方法及装置,以解决现有的RMT架构控制通路中安全性和灵活性不高的问题。
为解决上述技术问题,本发明提出一种支持RMT的控制通路的通信控制方法,包括:获取控制平面传输的预配置报文,并根据所述预配置报文进行激活配置;存储所述预配置报文中的会话字段并重置计时器时间;接收所述控制平面传输的配置报文,并根据所述会话字段对所述配置报文进行查验;如果查验所述配置报文无误,则根据所述配置报文进行数据平面配置。
可选的,所述根据所述预配置报文进行激活配置,包括:检验所述预配置报文是否无误;如果所述预配置报文检验无误,判断所述预配置报文中的前会话字段是否为空;如果所述预配置报文中的前会话字段不为空,则执行所述存储所述预配置报文中的会话字段并重置计时器时间的步骤;如果所述预配置报文中的前会话字段为空,则判断配置触发器是否处于激活状态;如果配置触发器不处于激活状态,则开启配置触发器的激活状态,并执行所述存储所述预配置报文中的会话字段并重置计时器时间的步骤,并向所述控制平面发送应答报文。
可选的,所述根据所述预配置报文进行激活配置,还包括:如果所述预配置报文检验有误,则向所述控制平面发送第一错误提示报文;如果所述预配置报文中的前会话字段为空且配置触发器处于激活状态,则向所述控制平面发送第二错误提示报文。
可选的,所述根据所述会话字段对所述配置报文进行查验,包括:检验所述配置报文中的会话字段与存储的会话字段是否一致;如果一致,则执行所述根据所述配置报文进行数据平面配置的步骤;如果不一致,则丢弃所述配置报文,并向所述控制平面发送第三错误提示报文。
可选的,所述根据所述配置报文进行数据平面配置,包括:控制所述配置报文进入流水线,计数器加1,其中所述流水线中包括位于数据平面的以菊花链方式连接的多个硬件配置节点;如果所述流水线中任一所述硬件配置节点根据所述配置报文完成配置,所述计数器减1;如果所述流水线中无硬件配置节点根据所述配置报文进行配置,则丢弃所述配置报文,所述计数器减1。
可选的,所述根据所述配置报文进行数据平面配置,还包括:如果计数器为0且计时器为0,则解除配置触发器的激活状态,清除存储内容,并发送状态解除的应答报文至所述控制平面。
可选的,所述方法还包括:接收控制平面发送的预配置报文,其中所述预配置报文中的前会话字段表征更新前的会话,会话字段表征更新后的会话;执行所述根据所述预配置报文进行激活配置的步骤。
基于同一发明构思,本发明还提出了一种支持RMT的控制通路的通信控制装置,所述装置包括:配置激活模块,用于获取控制平面传输的预配置报文,并根据所述预配置报文进行激活配置;存储模块,用于存储所述预配置报文中的会话字段并重置计时器时间;报文查验模块,用于接收所述控制平面传输的配置报文,并根据所述会话字段对所述配置报文进行查验;数据平面配置模块,用于如果查验所述配置报文无误,则根据所述配置报文进行数据平面配置。
基于同一发明构思,本发明还提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如前述中任意一项所述的方法。
基于同一发明构思,本发明还提出了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如前述中任意一项所述的方法。
从上面所述可以看出,本发明提供的技术方案的有益效果是:所述通信控制方法包括:获取控制平面传输的预配置报文;根据所述预配置报文进行激活配置,存储所述预配置报文中的会话字段并重置计时器时间;接收所述控制平面传输的配置报文,并根据所述会话字段对所述配置报文进行查验;如果查验所述配置报文无误,则根据所述配置报文进行数据平面配置,能够提高配置过程的安全性与灵活性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中的RMT架构示意图;
图2为本发明实施例中的支持RMT的控制通路的通信控制装置的结构示意图;
图3为本发明实施例中的支持RMT的控制通路的结构示意图;
图4为本发明实施例中的支持RMT的控制通路中的配置触发器结构示意图;
图5为本发明实施例中的支持RMT的控制通路中的预配置报文格式示意图;
图6为本发明实施例中的支持RMT的控制通路中的配置报文格式示意图;
图7为本发明实施例中的支持RMT的控制通路中的应答报文格式示意图;
图8为本发明实施例中的支持RMT的控制通路中的错误提示报文格式示意图;
图9为本发明实施例中的支持RMT的控制通路中的菊花链结构示意图;
图10为本发明实施例中的支持RMT的控制通路中的控制平面工作流程示意图;
图11为本发明实施例中的支持RMT的控制通路中的数据平面工作流程示意图;
图12为本发明实施例中的支持RMT的控制通路的正常情况配置示意图;
图13为本发明实施例中的支持RMT的控制通路的多个控制平面配置示意图;
图14为本发明实施例中的支持RMT的控制通路的校验错误配置示意图;
图15为本发明实施例中的支持RMT的控制通路的通信控制方法的流程示意图;
图16为本发明实施例中的电子设备的硬件结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本发明实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本发明实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
本发明实施例提出了一种支持RMT的控制通路的通信控制装置该控制通路用于可编程网络转发节点内各表项配置,如图2所示,通信控制装置包括:配置激活模块、存储模块、报文查验模块以及数据平面配置模块。其中,
配置激活模块用于获取控制平面传输的预配置报文,并根据所述预配置报文进行激活配置;存储模块用于存储所述预配置报文中的会话字段并重置计时器时间;报文查验模块用于接收所述控制平面传输的配置报文,并根据所述会话字段对所述配置报文进行查验;数据平面配置模块用于如果查验所述配置报文无误,则根据所述配置报文进行数据平面配置。
本发明实施例的支持RMT的控制通路的整体结构如图3所示,其中虚线部分是在传统RMT架构基础上添加的新配置,设置在控制平面的控制器可以是远程控制器,在数据平面中增加配置触发器,控制器通过数据平面链路与配置触发器连接。报文在处理过程中,首先会进入配置触发器:若配置触发器处于激活状态,即控制平面正在进行流水线上的硬件配置,则会丢弃进入的报文,因为此时进入流水线将可能采用更新前规则进行报文处理;若配置触发器未激活,则报文正常进入流水线进行处理。
本发明实施例的支持RMT的控制通路的通信控制装置实际上就相当于图3中的配置触发器。本发明实施例通过在数据通路中设置配置触发器实现在不影响报文处理的前提下安全地进行数据平面配置,其中威胁模型假设RMT架构的硬件和软件是可信的,进入流水线的数据包是不可信的,因为这些数据包可能来自于不受交换机、路由器控制的其他物理机器中,且有可能在传输过程中被恶意地篡改、截取。因此,对RMT架构的重配置过程应该由其硬件或软件来完成。
控制通路协议基于用户数据报协议(User Datagram Protocol,UDP)报文,通过控制平面构造所述配置报文来指导数据平面硬件资源的配置。控制平面通过数据平面链路与配置触发器连接,数据平面链路中包括一个或多个交换机、路由器或其他转发设备,因此控制通路协议允许部署远程控制平面实现对数据平面硬件资源的配置,并且控制平面和配置触发器的通信是双向的。
控制通路协议中涉及到的控制报文有:预配置报文、配置报文、应答报文和错误提示报文四种。其中,预配置报文和配置报文由控制平面构造传输,应答报文和错误提示报文由配置触发器构造传输。
配置触发器的具体结构如图4所示,包括报文处理模块、计数器、存储模块、状态指示器、计时器和日志。其中,配置激活模块、报文查验模块和数据平面配置模块为报文处理模块的组成部分,报文处理模块负责检验从控制平面接收配置报文的会话(Session)字段是否与存储模块中的Session值一致,相同则允许配置报文进入流水线执行硬件资源配置,否则丢弃该配置报文,此外,报文处理模块还负责构造并传输应答报文与错误提示报文至控制平面。计数器用来确定当前流水线上是否完成了配置,配置触发器中每收到一个配置报文,对应计数器加1,流水线中每执行完一个配置报文或丢弃一个没有节点接收的配置报文,对应计数器减1,因此,当计数器归零时则表示当前流水线中的配置均已完成。存储模块主要负责将控制平面通告给配置触发器的Session字段进行存储供以报文处理模块调用。控制平面更新Session字段时,存储模块中的Session字段对应更新。状态指示器指明当前配置触发器处于何种状态,激活还是未激活。计时器则控制配置触发器何时解除激活状态,每次收到控制平面传来的预配置报文时,计时器时间重置。当计数器和计时器时间均为0,且未收到控制平面传来的预配置报文时,配置触发器自动解除激活状态并通告控制平面。日志则是记录有配置触发器的相关信息比如用过的Session、激活状态的时间和发出过的错误提示报文,以此辅助管理员检查错误或更改配置。
预配置报文的格式如图5所示,预配置报文的作用是激活配置触发器状态并重置计时器时间,当配置触发器已经处于激活状态时则只重置计时器时间,保持数据平面的配置状态。在预配置报文中,由于我们的控制报文由UDP报文封装而来,因此报文前46字节为以太网帧、网际互连协议(Internet Protocol,IP)头部与UDP头部字段,其中UDP头部字段中携带有识别控制报文的端口和检查传输过程中内容完整性、正确性的UDP校验和;1字节的类型指明这是一个何种类型的报文;前会话(Pre-Session)字段与Session字段用来确保报文传输的安全性。控制平面第一次发送预配置报文至配置触发器时,Pre-Session字段置空,Session字段由控制平面经PTP协议同步形成的时间戳为基准生成,配置触发器会将Session字段进行存储,在这之后,控制平面与数据平面的报文通信中必须包含该Session字段,收到报文后对Session字段进行比对,若Session一致则说明通信安全,对报文进一步处理,不一致则丢弃报文,避免数据平面被错误配置,需要注意的是,如果控制平面希望继续保持配置触发器的激活状态或者更新Session字段时,控制平面需要向配置触发器重新发送预配置报文,此时报文的Pre-Session字段填入更新前使用的Session保证通信安全,Session字段填入更新后的Session指示配置触发器更新其存储模块中的Session值并重置计时器时间;保留位为未来兼容更安全的重配置机制比如数字签名提供可能。
配置报文的格式如图6所示,配置报文由控制平面构造,具体指导数据平面的配置。其中,目标身份识别号(Module IDentity,MID)字段指明对数据平面上哪一个硬件模块进行配置;索引字段则是进一步定位要修改数据平面上该硬件资源哪个字段的配置;负载中包含的内容指明对该字段做何种修改;补位允许根据负载的长度补齐256字节或512字节,便于流水线硬件逻辑按一定数据位宽处理数据。
应答报文的格式如图7所示,应答报文由配置触发器发送,整个数据平面配置中应答报文一定会发送,且只会发送两次,第一次的目的是在配置触发器第一次接收到来自控制平面的预配置报文后告知控制平面配置状态已经激活,可以开始进行数据平面的配置,当然,如果在第一个预配置报文到来之前配置触发器已经处于激活状态,即表明此时有其他控制平面正在配置数据平面,则会告警发出错误提示报文,控制通路协议只支持单个控制平面操作数据平面。其中,状态字段指明配置触发器是否处于激活状态,保持时间指明配置触发器计时器距离归0还有多长时间,控制平面如果想保持对数据平面的配置就应该在保持时间之内重新发送预配置报文,保留位可扩展用于支持RSA加密,在应答过程中向控制平面通告公钥。出于审慎性的考虑,第二次发送应答报文用于在配置触发器解除激活状态之后告知控制平面,此时状态字段标明未激活,保持时间字段置0。
错误提示报文的格式如图8所示,错误提示报文由配置触发器构造用以通告控制平面,错误提示报文根据发送时机的不同分为3种类型,这一点可以使用报文中的类型字段加以区分,其一,在配置触发器状态未激活之前收到格式或内容错误的预配置报文,此时无法正常激活状态,发送第一错误提示报文;其二,在配置过程中接收到Pre-Session不一致的预配置报文,即此时存在另外的控制平面请求数据平面的配置权限,发送第二错误提示报文;其三,在配置过程中收到Session不一致的报文,即此时通信信道中可能存在攻击者,发送第三错误提示报文。报文中的错误信息字段具体说明错误发生的时间,具体内容等信息供以控制平面决策。
报文的类型编码如下表1所示,类型字段在报文中占1字节,编码时应尽可能地保证较大的差异以降低传输出错的概率。
表1 报文类型编码
Figure SMS_1
配置报文在流水线中沿菊花链传播,数据平面中的每个硬件模块读取配置报文信息,如果自己是配置目标则提取报文执行配置,并使得计数器减1,否则传输报文至下一个节点,没有模块提取的配置报文自动随菊花链传送至输出队列丢弃,同时计数器减1。此处专用于数据平面硬件配置的控制通路——菊花链结构如图9所示,菊花链是模块的一种连接方式,允许以最简单的方式将其他模块添加进原链路中来,一个模块连接到下一个,没有任何干预,因此报文只能由一个模块传送到下一个模块,以此类推。
配置过程中,首先,控制平面构造预配置报文激活配置触发器以开启对数据平面硬件资源的配置,此时配置触发器丢弃所有进入流水线的报文并通告控制平面,表示可以开始进行配置,然后,控制平面构造配置报文来指导相应的数据平面硬件资源的配置,需要注意,控制平面每隔一段时间会重新构造并传输预配置报文以维持配置触发器的激活状态,实现对数据平面硬件资源的持续配置,最后,配置触发器内置计时器和计数器,当计时器和计数器为0,且没有收到来自控制平面的配置报文时,配置触发器自动解除激活状态并通告控制平面,此时,报文可以进入流水线中进行处理。
若控制平面中配置报文发送完毕,无需执行任何动作,当配置触发器计数器和计时器均为0时,配置触发器自动解除激活状态、清除存储模块内容、记录相应日志、开始处理报文并发送应答报文告知控制平面。
在本发明实施例中,控制平面的工作流程示意图如图10所示,包括:
步骤S101:通过数据平面链路向配置触发器第一次发送预配置报文。
步骤S102:收到开始配置应答报文且判断检验是否无误。
若收到的开始应答报文有误,则处理告警信息。如果收到开始配置应答报文且检验无误,则进入数据平面配置流程。
步骤S103:判断是否需要保持配置激活状态或更新会话字段。如果是,则执行步骤S104;否则返回步骤S103入口处,即延迟预设时间后,重复执行步骤S103。
步骤S104:向配置触发器构造并发送预配置报文。
向配置触发器构造并发送预配置报文之后,可以根据预配置报文控制使配置触发器保持配置激活状态,并更新会话字段。在配置过程中,可以重复执行步骤S103-步骤S104。优选的,可以每隔预设时间执行步骤S103-步骤S104以控制配置触发器保持配置激活状态。其中,预设时间可以根据需要进行设置,如500s。
步骤S105:构造并发送配置报文至配置数据平面。
控制平面根据想要完成的配置目标,不加节制地将配置报文发送给数据平面,数据平面接收到配置报文后,数据平面中的各节点从菊花链结构中提取配置报文完成配置。
步骤S106:控制平面判断配置目标是否完成,即是否不再需要向数据平面发送配置报文,如果是,则直接结束数据平面配置流程;否则返回步骤S105入口处。
在数据平面配置过程中,控制平面重复执行步骤S105-步骤S106,进行数据平面的配置,每传输一个配置报文,控制平面就判断一次是否还需要发送其他的配置报文,若是,则返回步骤S105入口处,直到完成数据平面的所有配置;否则直接结束数据平面配置流程。
步骤S103-步骤S104与步骤S105-步骤S106并发执行,由控制平面根据情况来具体决定,若控制平面需要保持配置激活状态或者更新会话字段,则执行步骤S103-步骤S104,若控制平面需要配置数据平面,则执行步骤S105-S106。
数据平面在触发过程中的流程如图11所示,包括:
步骤S200:判断是否收到预配置报文且判断检验无误。
如果收到预配置报文且检验无误,则进入配置触发器激活流程,执行步骤S201;若收到的预配置报文有误,则丢弃报文并告警。
如果所述预配置报文检验有误,则向所述控制平面发送第一错误提示报文。如果所述预配置报文中的前会话字段为空且配置触发器处于激活状态,则向所述控制平面发送第二错误提示报文。
步骤S201:判断预配置报文中前会话字段是否为空。如果是,则执行步骤S203;否则执行步骤S202。
步骤S202:在存储模块中更新会话值,重置计时器时间。
步骤S203:判断配置触发器是否处于激活状态。如果是,则丢弃报文进行告警;否则执行步骤S204。
步骤S204:开启触发器激活状态,在存储模块写入会话字段、重置计时器时间并向控制平面发送开始配置应答报文。
至此完成配置触发器的激活,在数据平面的配置过程中,如果有需要可以重复执行步骤S200-步骤S204。
步骤S205:判断是否收到配置报文且判断检验无误。
如果收到配置报文且检验无误,则进入数据平面配置流程,执行步骤S206;若收到的配置报文有误,则丢弃报文并告警。
在本发明实施例中,检验所述配置报文中的会话字段与存储的会话字段是否一致。如果一致,则执行步骤S206。如果不一致,则丢弃所述配置报文,并向控制平面发送第三错误提示报文。
步骤S206:传递配置报文进入流水线进行数据平面配置,计数器加1;
步骤S207:判断是否配置完成或无节点提取配置报文。如果是,则执行步骤S208;否则发出告警提示。
步骤S208:计数器减1。
在数据平面的配置过程中,重复执行步骤S205-步骤S208,直到完成数据平面的所有配置。
步骤S209:判断是否计数器为0且计时器为0。如果是,则进入配置触发器解除激活流程,执行步骤S210。
计数器为0且计时器为0,说明已经完成数据平面的所有配置,需要对配置触发器解除激活。
步骤S210:解除配置触发器的激活状态,清除存储模块内容,记录相应日志并发送状态解除的应答报文至所述控制平面。
至此完成数据平面的完整配置过程。
下面根据配置过程中不同的情况,说明控制平面、数据平面和配置触发器在配置过程中的时序情况:
第一种,正常情况,控制平面实现数据平面配置时序图如图12所示,假设计时器时间为500s,即在配置触发器激活状态后500s以内,控制平面必须再次发送预配置报文,否则配置触发器激活状态会解除,配置中Session字段校验无误,控制平面总共发出四个配置报文。
首先,控制平面第一次发送预配置报文,配置触发器状态激活并发送应答报文,此刻记为0s。而后控制平面发送配置报文1对数据平面进行配置。
其次,500s时,为了保持配置触发器激活状态,控制平面再次发送预配置报文,随后发送配置报文3、配置报文4指导数据平面配置。
1000s时,控制平面通过预配置报文继续保持配置触发器激活状态,并发送配置报文4,随后,管理员出于某些原因希望立即更新Session字段,因此,虽然时间没有到1500s,控制平面还是发送了预配置报文以更新配置触发器存储模块Session值。
最后,预配置报文发送500s后配置触发器没有收到新的预配置报文且计数器为0,配置触发器自动解除激活状态并发送应答报文通告控制平面,至此,正常配置流程结束。
第二种,在某一远程控制平面执行配置过程中,存在另外的控制平面请求数据平面的控制,即多个控制平面请求数据平面的配置,此时时序图如图13所示。
首先,控制平面1第一次发送预配置报文,配置触发器状态激活并发送应答报文,此刻记为0s。而后控制平面1发送配置报文1对数据平面进行配置。
其次,500s时,为了保持配置触发器激活状态,控制平面1再次发送预配置报文,随后发送配置报文2、配置报文3指导数据平面配置;在此时间内控制平面2第一次发送预配置报文,配置触发器Pre-Session字段校验错误,发送第二错误提示报文至控制平面2终止其配置。
1000s时,控制平面1通过预配置报文继续保持配置触发器激活状态,并发送配置报文4,一直到最后2000s时,预配置报文发送500s后配置触发器没有收到新的预配置报文且计数器为0,配置触发器自动解除激活状态并发送应答报文通告控制平面1,至此,控制平面1的配置流程结束。
第三种,配置过程中预配置报文格式或配置报文Session校验错误,如图14所示。假设配置触发器计时器为1000s,控制平面仅发送一个配置报文。
首先,0s时,控制平面第一次发送预配置报文,由于格式校验错误,配置触发器未能开启激活状态并向控制平面发出第一错误提示报文告警,控制平面纠正错误后再次传输,配置触发器在500s时开启激活状态。
然后,控制平面发送配置报文1指导数据平面配置,但是该报文Session字段校验错误,配置触发器认为此时的通信可能不安全,因此丢弃该报文并向控制平面发出第三错误提示报文告警。随后,控制平面重传配置报文1完成配置。
最后,1500s时,计数器和计时器均为0,配置触发器解除激活状态并发出应答报文通告控制平面,配置流程结束。
本发明实施例的支持RMT的控制通路的通信控制装置采用基于带内控制的技术路线,从而支持远程进行数据平面表项的配置与管理。远程控制平面只需按照对应报文格式激活配置触发器状态后同样可以对数据平面表项进行配置与管理,打破了空间上的界限,具有高度的灵活性,允许控制平面对所有数据平面资源进行配置,有效地解决了现有RMT没有设计定义具体的控制管理协议、配置流水线硬件资源时,没有考虑硬件配置的安全性、能够操作的硬件资源有限,难以满足用户的多样化包处理需求的问题,控制器能够选择的数据平面链路足够丰富且无需担心在数据平面链路中传输导致的安全问题。
本发明实施例采用在以太网报文基础上自定义配置协议的方法实现数据平面配置,为未来控制通路其他功能的设计实现提供了便利。本发明实施例的控制通路协议基于控制报文的方式对数据平面资源实现配置,如此可以在控制报文中定位数据平面上的任意硬件节点、节点中的任意字段并任意地对字段进行配置,实现配置任意数据平面资源的目的,扩大了控制平面进行资源配置的范围,使得控制平面的集中性体现地更为明显,更加符合软件定义网络中转控分离的思想,有助于软件定义网络的进一步发展。在控制通路中,控制报文留存有相当数量的“保留位”,为新字段的定义提供可能,目前的控制通路协议可以很好地进行扩展,以支持RSA加密(由配置触发器生成“公钥”、“私钥”并存储在其存储模块中,在开始配置“应答报文”中向控制平面通告“公钥”),在以后的通信过程中对部分控制报文进行加密,减少攻击者对控制报文格式的掌握程度,还可以引入数字签名机制,确保控制平面源是可信的。
本发明实施例中的配置触发器也能进一步的扩展,与数据平面中的“解析器”、“逆解析器”、各个逻辑处理阶段和输出队列联动工作,实现报文处理中的多模块隔离(随着更多用例不断发现,可能需要在单个设备中运行多个包处理模块,这些模块可能由独立的团队开发,也可能来自多个组织,因此需要模块隔离来确保同一设备上的模块不会相互干扰),实现在重配置过程中只影响相应配置模块的报文处理,其它无关模块的报文可以正常处理。
本发明实施例提供了一种支持RMT的控制通路的通信控制装置包括:配置激活模块,用于获取控制平面传输的预配置报文,并根据所述预配置报文进行激活配置;存储模块,用于存储所述预配置报文中的会话字段并重置计时器时间;报文查验模块,用于接收所述控制平面传输的配置报文,并根据所述会话字段对所述配置报文进行查验;数据平面配置模块,用于如果查验所述配置报文无误,则根据所述配置报文进行数据平面配置,允许控制平面对所有数据平面资源进行配置,能够较好支持远程进行数据平面表项的配置与管理,在数据通路中设置配置触发器可实现在不影响报文处理的前提下安全地进行数据平面配置,提升了配置的灵活性与安全性。
基于同一发明构思,本发明实施例提出了一种支持RMT的控制通路的通信控制方法,如图15所示,所述通信控制方法包括:
步骤S151:获取控制平面传输的预配置报文,并根据所述预配置报文进行激活配置。
预配置报文的格式如前所述,在此不再赘述。
在本发明实施例中,配置触发器通过特定的UDP端口号和报文类型字段识别预配置报文,有误则告警,无误则激活配置状态,将预配置报文中的Session字段写入存储模块,开启计时器并发送应答报文向控制平面表明已经做好准备执行配置,具体的激活过程如下:检验所述预配置报文是否无误;如果所述预配置报文检验有误,则向所述控制平面发送第一错误提示报文;如果所述预配置报文检验无误,则判断所述预配置报文中的前会话字段是否为空。如果所述预配置报文中的前会话字段不为空,则执行所述存储所述预配置报文中的会话字段并重置计时器时间的步骤;如果所述预配置报文中的前会话字段为空,则判断配置触发器是否处于激活状态。如果配置触发器不处于激活状态,则开启配置触发器的激活状态,并执行所述存储所述预配置报文中的会话字段并重置计时器时间的步骤,并向所述控制平面发送应答报文;如果所述预配置报文中的前会话字段为空且配置触发器处于激活状态,则向所述控制平面发送第二错误提示报文。
配置过程中,若控制平面希望立刻更新Session或者维持数据平面的配置激活状态,则需要重新发送预配置报文,此时Pre-Session字段填写更新前的Session,Session字段填写更新后,以重置配置触发器计时器。可选的,配置过程中,接收控制平面发送的预配置报文,其中所述预配置报文中的前会话字段表征更新前的会话,会话字段表征更新后的会话;执行所述根据所述预配置报文进行激活配置的步骤。
步骤S152:存储所述预配置报文中的会话字段并重置计时器时间。
根据所述预配置报文进行激活配置之后,存储所述预配置报文中的会话字段并重置计时器时间,以便后续进行配置报文查验。
步骤S153:接收所述控制平面传输的配置报文,并根据所述会话字段对所述配置报文进行查验。
当步骤S152中开启配置触发器的激活状态后,配置触发器向所述控制平面发送应答报文,当控制平面接收到应答报文后,发送配置报文执行对数据平面的配置,配置触发器查验配置报文Session字段,有误则告警,无误则传送配置报文进入流水线,同时计数器加1。
可选的,对所述配置报文进行查验时,检验所述配置报文中的会话字段与存储的会话字段是否一致:如果一致,则执行所述根据所述配置报文进行数据平面配置的步骤;如果不一致,则丢弃所述配置报文,并向所述控制平面发送第三错误提示报文。
步骤S154:如果查验所述配置报文无误,则根据所述配置报文进行数据平面配置。
可选的,进行数据平面配置时,控制所述配置报文进入流水线,计数器加1,其中所述流水线中包括位于数据平面的以菊花链方式连接的多个硬件配置节点。如果所述流水线中任一所述硬件配置节点根据所述配置报文完成配置,所述计数器减1;如果所述流水线中无硬件配置节点根据所述配置报文进行配置,则丢弃所述配置报文,所述计数器减1。
可选的,在进行数据平面配置的过程中,如果计数器为0且计时器为0,则解除配置触发器的激活状态,清除存储内容,并发送状态解除的应答报文至所述控制平面。
本发明实施例提供了一种RMT控制通路的通信控制方法,通过获取控制平面传输的预配置报文;根据所述预配置报文进行激活配置,存储所述预配置报文中的会话字段并重置计时器时间;接收所述控制平面传输的配置报文,并根据所述会话字段对所述配置报文进行查验;如果查验所述配置报文无误,则根据所述配置报文进行数据平面配置,能够较好支持远程进行数据平面表项的配置与管理,在数据通路中设置配置触发器可实现在不影响报文处理的前提下安全地进行数据平面配置,提升了配置的灵活性与安全性。
上述实施例的方法应用于前述实施例中相应的装置,并且具有相应的装置实施例的有益效果,在此不再赘述。
基于同一发明构思,本发明实施例还提供了一种电子设备,该电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述中任意一项所述的方法。
图16示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1601、存储器1602、输入/输出接口1603、通信接口1604和总线1605。其中处理器1601、存储器1602、输入/输出接口1603和通信接口1604通过总线1605实现彼此之间在设备内部的通信连接。
处理器1601可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本发明实施例所提供的技术方案。
存储器1602可以采用ROM(Read Only Memory,只读存储器)、RAM(RandomAccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1602可以存储操作系统和其他应用程序,在通过软件或者固件来实现本发明实施例所提供的技术方案时,相关的程序代码保存在存储器1602中,并由处理器1601来调用执行。
输入/输出接口1603用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1604用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1605包括一通路,在设备的各个组件(例如处理器1601、存储器1602、输入/输出接口1603和通信接口1604)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1601、存储器1602、输入/输出接口1603、通信接口1604以及总线1605,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本发明实施例方案所必需的组件,而不必包含图中所示的全部组件。
基于同一发明构思,本发明实施例还提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如前述中任意一项所述的方法。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
本发明实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (10)

1.一种支持RMT的控制通路的通信控制方法,其特征是,所述通信控制方法包括:
获取控制平面传输的预配置报文,并根据所述预配置报文进行激活配置;
存储所述预配置报文中的会话字段并重置计时器时间;
接收所述控制平面传输的配置报文,并根据所述会话字段对所述配置报文进行查验;
如果查验所述配置报文无误,则根据所述配置报文进行数据平面配置。
2.如权利要求1所述的支持RMT的控制通路的通信控制方法,其特征是,所述根据所述预配置报文进行激活配置,包括:
检验所述预配置报文是否无误;
如果所述预配置报文检验无误,判断所述预配置报文中的前会话字段是否为空;
如果所述预配置报文中的前会话字段不为空,则执行所述存储所述预配置报文中的会话字段并重置计时器时间的步骤;
如果所述预配置报文中的前会话字段为空,则判断配置触发器是否处于激活状态;
如果配置触发器不处于激活状态,则开启配置触发器的激活状态,并执行所述存储所述预配置报文中的会话字段并重置计时器时间的步骤,并向所述控制平面发送应答报文。
3.如权利要求2所述的支持RMT的控制通路的通信控制方法,其特征是,所述根据所述预配置报文进行激活配置,还包括:
如果所述预配置报文检验有误,则向所述控制平面发送第一错误提示报文;
如果所述预配置报文中的前会话字段为空且配置触发器处于激活状态,则向所述控制平面发送第二错误提示报文。
4.如权利要求1所述的支持RMT的控制通路的通信控制方法,其特征是,所述根据所述会话字段对所述配置报文进行查验,包括:
检验所述配置报文中的会话字段与存储的会话字段是否一致;
如果一致,则执行所述根据所述配置报文进行数据平面配置的步骤;
如果不一致,则丢弃所述配置报文,并向所述控制平面发送第三错误提示报文。
5.如权利要求1所述的支持RMT的控制通路的通信控制方法,其特征是,所述根据所述配置报文进行数据平面配置,包括:
控制所述配置报文进入流水线,计数器加1,其中所述流水线中包括位于数据平面的以菊花链方式连接的多个硬件配置节点;
如果所述流水线中任一所述硬件配置节点根据所述配置报文完成配置,所述计数器减1;
如果所述流水线中无硬件配置节点根据所述配置报文进行配置,则丢弃所述配置报文,所述计数器减1。
6.如权利要求5所述的支持RMT的控制通路的通信控制方法,其特征是,所述根据所述配置报文进行数据平面配置,还包括:
如果计数器为0且计时器为0,则解除配置触发器的激活状态,清除存储内容,并发送状态解除的应答报文至所述控制平面。
7.如权利要求1所述的支持RMT的控制通路的通信控制方法,其特征是,所述方法还包括:
接收控制平面发送的预配置报文,其中所述预配置报文中的前会话字段表征更新前的会话,会话字段表征更新后的会话;
执行所述根据所述预配置报文进行激活配置的步骤。
8.一种支持RMT的控制通路的通信控制装置,其特征是,所述装置包括:
配置激活模块,用于获取控制平面传输的预配置报文,并根据所述预配置报文进行激活配置;
存储模块,用于存储所述预配置报文中的会话字段并重置计时器时间;
报文查验模块,用于接收所述控制平面传输的配置报文,并根据所述会话字段对所述配置报文进行查验;
数据平面配置模块,用于如果查验所述配置报文无误,则根据所述配置报文进行数据平面配置。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征是,所述处理器执行所述程序时实现如权利要求1至7任意一项所述的方法。
10.一种计算机存储介质,其特征是,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1至7中任意一项所述的方法。
CN202310399352.8A 2023-04-14 2023-04-14 一种支持rmt的控制通路的通信控制方法及装置 Active CN116155731B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310399352.8A CN116155731B (zh) 2023-04-14 2023-04-14 一种支持rmt的控制通路的通信控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310399352.8A CN116155731B (zh) 2023-04-14 2023-04-14 一种支持rmt的控制通路的通信控制方法及装置

Publications (2)

Publication Number Publication Date
CN116155731A CN116155731A (zh) 2023-05-23
CN116155731B true CN116155731B (zh) 2023-06-20

Family

ID=86340990

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310399352.8A Active CN116155731B (zh) 2023-04-14 2023-04-14 一种支持rmt的控制通路的通信控制方法及装置

Country Status (1)

Country Link
CN (1) CN116155731B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459583A (zh) * 2007-12-13 2009-06-17 华为技术有限公司 报文处理方法和装置、以及报文发送方法和装置
CN105553851A (zh) * 2015-12-10 2016-05-04 中国电子科技集团公司第三十二研究所 基于sdn的网络处理器微码和流表实现装置及方法
WO2017167237A1 (en) * 2016-03-31 2017-10-05 Huawei Technologies Co., Ltd. Systems and methods for service and session continuity in software defined topology management
US10164829B1 (en) * 2017-03-20 2018-12-25 Barefoot Networks, Inc. Incremental update of the data plane of a hardware forwarding element
US10516626B1 (en) * 2016-03-16 2019-12-24 Barefoot Networks, Inc. Generating configuration data and API for programming a forwarding element
CN111224970A (zh) * 2019-12-31 2020-06-02 中移(杭州)信息技术有限公司 Sdn网络系统、网络攻击防御方法、设备及存储介质
WO2022063126A1 (zh) * 2020-09-23 2022-03-31 中兴通讯股份有限公司 报文传输控制、生成、传输方法及配置方法、设备、介质
EP4142422A1 (en) * 2021-08-24 2023-03-01 Mavenir Systems, Inc. Method and apparatus for session audit for control and user plane separation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11108636B2 (en) * 2019-10-23 2021-08-31 Cisco Technology, Inc. Integrity verification for managing network configurations
WO2021203310A1 (zh) * 2020-04-08 2021-10-14 Oppo广东移动通信有限公司 一种数据传输方法及装置、终端设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459583A (zh) * 2007-12-13 2009-06-17 华为技术有限公司 报文处理方法和装置、以及报文发送方法和装置
CN105553851A (zh) * 2015-12-10 2016-05-04 中国电子科技集团公司第三十二研究所 基于sdn的网络处理器微码和流表实现装置及方法
US10516626B1 (en) * 2016-03-16 2019-12-24 Barefoot Networks, Inc. Generating configuration data and API for programming a forwarding element
WO2017167237A1 (en) * 2016-03-31 2017-10-05 Huawei Technologies Co., Ltd. Systems and methods for service and session continuity in software defined topology management
US10164829B1 (en) * 2017-03-20 2018-12-25 Barefoot Networks, Inc. Incremental update of the data plane of a hardware forwarding element
CN111224970A (zh) * 2019-12-31 2020-06-02 中移(杭州)信息技术有限公司 Sdn网络系统、网络攻击防御方法、设备及存储介质
WO2022063126A1 (zh) * 2020-09-23 2022-03-31 中兴通讯股份有限公司 报文传输控制、生成、传输方法及配置方法、设备、介质
EP4142422A1 (en) * 2021-08-24 2023-03-01 Mavenir Systems, Inc. Method and apparatus for session audit for control and user plane separation

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Enhancing Security for IoT Devices using Software Defined Networking(SDN);SantoshAnand;2022 International Conference on Distributed Computing;全文 *
SDN流表数据保护方案的研究与实现;王岩磊;中国优秀硕士学位论文全文数据库;全文 *
一种面向可编程确定性零拷贝的FPGA加速器;王继昌;小型微型计算机系统;全文 *

Also Published As

Publication number Publication date
CN116155731A (zh) 2023-05-23

Similar Documents

Publication Publication Date Title
US10313380B2 (en) System and method for centralized virtual interface card driver logging in a network environment
CN103916264B (zh) 优化物理网络的虚拟网络
US9807154B2 (en) Scalable logging control for distributed network devices
EP3764596A1 (en) Data configuration method and apparatus
CN110784333B (zh) 跨网络服务的有关网络配置协议装置的并发事务
CN104869057A (zh) 开放流交换机优雅重启处理方法、装置及开放流控制器
JP4585944B2 (ja) パケット通信装置
CN103152260A (zh) 报文转发系统、方法及装置
US20230236954A1 (en) Information processing method and apparatus, computer device, and storage medium
CN110178341A (zh) 具有数据中心部署的电信网络
US20210344766A1 (en) Systems and methods for decentralization of blockchain-based processes employing a blockchain-associated front end or blockchain-associated user interface
CN107645389B (zh) 一种网络通信方法和装置
Jackson et al. Active network monitoring and control: the SENCOMM architecture and implementation
CN106941418B (zh) Ssl vpn配置信息的同步方法和装置
CN109379239B (zh) 一种OpenStack环境中配置接入交换机的方法及装置
CN111435947A (zh) 电子消息控制
CN116155731B (zh) 一种支持rmt的控制通路的通信控制方法及装置
KR101924712B1 (ko) 패킷 전송 방법 및 오픈플로우 스위치
US10887282B1 (en) Determining synchronization of filter rules (e.g., on iptable filter tables on Linux kernal) across firewall filter application restarts
CN111506356A (zh) 电子消息适配
EP3550785A1 (en) Message processing method and network device
US10587677B2 (en) Control apparatus, computer readable medium, and equipment control system
US11087071B2 (en) Self-compressed YANG model
EP3251303B1 (en) Method for running a computer network and computer network
EP3720078B1 (en) Anima network information processing method, device, and system

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