CN117240807A - 报文处理方法、装置及存储介质 - Google Patents
报文处理方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117240807A CN117240807A CN202210637075.5A CN202210637075A CN117240807A CN 117240807 A CN117240807 A CN 117240807A CN 202210637075 A CN202210637075 A CN 202210637075A CN 117240807 A CN117240807 A CN 117240807A
- Authority
- CN
- China
- Prior art keywords
- preset
- message
- time information
- arrival time
- time range
- 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.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 21
- 238000003672 processing method Methods 0.000 title abstract description 19
- 230000009471 action Effects 0.000 claims abstract description 305
- 238000012545 processing Methods 0.000 claims abstract description 266
- 238000000034 method Methods 0.000 claims abstract description 70
- 230000008569 process Effects 0.000 claims abstract description 17
- 238000004891 communication Methods 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 20
- 238000003825 pressing Methods 0.000 claims description 15
- 238000007726 management method Methods 0.000 claims description 9
- 238000005538 encapsulation Methods 0.000 claims description 3
- 238000004806 packaging method and process Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 abstract description 4
- 230000000875 corresponding effect Effects 0.000 description 125
- 238000013461 design Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000006855 networking Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种报文处理方法、装置及存储介质,通过SDN框架中的控制器基于生成报文处理需求信息生成预设匹配动作表及其表项,预设匹配动作表以时间信息作为一种匹配域,预设匹配动作表表项包括预设时间范围以及对应的报文处理方式,控制器将预设匹配动作表下发给交换机,交换机在接收到待处理报文后,将待处理报文的到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,确定并执行对应的目标报文处理方式对待处理报文进行处理。通过引入支持基于时间的表项匹配过程,实现交换机在不同时间下可执行不同的报文处理方式;控制器负载和开销小,减少交换机与控制器的交互,且不会因为交换机与控制器通信带来时间延迟或偏差。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种报文处理方法、装置及存储介质。
背景技术
当前交换机主要是基于报文的包头字段作为匹配域,匹配相应动作完成对报文的处理,例如根据匹配结果不同对报文进行转发、复制、丢弃等处理动作。
当前交换机支持的匹配域包括进入端口、以太网地址信息、IP地址信息、IP协议、源端口、目的端口等等,但交换机目前未实现以时间信息作为匹配域,无法实现根据报文到达时间采用不同的报文处理方式。
发明内容
本申请提供一种报文处理方法、装置及存储介质,以实现根据报文到达时间采用不同的报文处理方式。
第一方面,本申请提供一种报文处理方法,应用于软件定义网络SDN框架中的交换机,该方法包括:
接收待处理报文,获取所述待处理报文的到达时间信息;
将所述到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,其中所述预设匹配动作表表项包括预设时间范围以及对应的报文处理方式;
根据所述预设匹配动作表表项,确定与所述到达时间信息匹配的预设时间范围对应的目标报文处理方式;
根据所述目标报文处理方式对所述待处理报文进行处理。
在一种可能的设计中,所述将所述到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,包括:
将所述到达时间信息与所述预设时间范围的起始时间和结束时间进行比较,确定所述到达时间信息与所述预设时间范围是否匹配;或者
将所述到达时间信息与所述预设时间范围的后N位设置为通配符,将设置后的所述到达时间信息与所述预设时间范围进行按位比对,其中N为正整数,根据比对结果确定所述到达时间信息与所述预设时间范围是否匹配;或者
将所述到达时间信息与所述预设时间范围的前M位进行按位比对,其中M为正整数,根据比对结果确定所述到达时间信息与所述预设时间范围是否匹配;或者
若存在至少两个存在嵌套关系的预设时间范围,则根据嵌套关系按照时间范围由小至大依次将所述到达时间信息与各预设时间范围的相应位数进行按位比对,并将能够匹配、且时间范围最小的预设时间范围确定为与所述到达时间信息相匹配的预设时间范围;或者
将所述到达时间信息与所述预设时间范围的前K位设置为通配符,将设置后的所述到达时间信息与所述预设时间范围进行按位比对,其中K为正整数,根据比对结果确定所述到达时间信息与所述预设时间范围是否匹配。
在一种可能的设计中,所述预设时间范围包括预设时长的时间周期,一个时间周期内包括多个时间阶段,各时间阶段对应不同的报文处理方式;所述将所述到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,包括:
根据所述到达时间信息与所述预设时长进行取余计算,根据取余结果在时间周期内确定所述到达时间信息所在的时间阶段。
在一种可能的设计中,所述根据所述到达时间信息与所述预设时长进行取余计算,根据取余结果在时间周期内确定所述到达时间信息所在的时间阶段,包括:
在第一流表中根据所述到达时间信息与所述预设时长进行取余计算,并将计算结果存入元数据;
在第二流表中根据元数据中的取余结果在时间周期内确定所述到达时间信息所在的时间阶段。
在一种可能的设计中,所述获取所述待处理报文的到达时间信息,包括:
获取交换机硬件初始化的固有元数据中包括的待处理报文的到达时间信息;和/或
获取所述待处理报文的包头字段中携带的所述待处理报文的到达时间信息;和/或
从交换机本地获取所述待处理报文的到达时间信息,并存储于元数据中。
在一种可能的设计中,所述预设匹配动作表为多级匹配动作表;所述根据所述预设匹配动作表表项,确定与所述到达时间信息匹配的预设时间范围对应的目标报文处理方式,包括:
根据第一级匹配动作表表项确定与所述到达时间信息匹配的预设时间范围对应的下级匹配动作表,根据下级匹配动作表表项对所述待处理报文进行其他匹配域的匹配,从下级匹配动作表表项中根据匹配结果确定目标报文处理方式。
在一种可能的设计中,所述预设匹配动作表为单级匹配动作表;所述根据所述预设匹配动作表表项,确定与所述到达时间信息匹配的预设时间范围对应的目标报文处理方式,包括:
对所述待处理报文进行其他匹配域的匹配;
根据所述预设匹配动作表表项,确定与所述到达时间信息匹配的预设时间范围以及所述其他匹配域对应的目标报文处理方式。
在一种可能的设计中,在卫星网络场景中,所述预设匹配动作表表项包括由多个时间阶段构成的时间周期、以及时间周期内不同时间阶段对应不同的用户面路径;
所述根据所述预设匹配动作表表项,确定与所述到达时间信息匹配的预设时间范围对应的目标报文处理方式,包括:
根据所述预设匹配动作表表项,确定所述到达时间信息所在的目标时间阶段对应的路径隧道标识,以确定对应的用户面路径。
在一种可能的设计中,在标签网络场景中,所述报文处理方式包括根据不同预设时间范围对应不同的报文转发需求进行标签压入封装;
所述根据所述目标报文处理方式对所述待处理报文进行处理,包括:
将与所述到达时间信息匹配的预设时间范围对应的报文转发需求的标签依次压入所述待处理报文中。
第二方面,本申请提供一种报文处理方法,应用于SDN框架中的控制器,该方法包括:
获取匹配动作表模型,并进行编译运行,其中所述匹配动作表模型以时间信息作为一种匹配域;
获取报文处理需求信息,所述报文处理需求信息包括预设时间范围以及对应的报文处理方式;
根据所述匹配动作表模型以及所述报文处理需求信息,生成预设匹配动作表及其表项;
将所述预设匹配动作表下发给SDN框架中的交换机,以使交换机在接收到待处理报文后,将所述待处理报文的到达时间信息与预设匹配动作表中的预设时间范围进行匹配,确定并执行目标报文处理方式。
在一种可能的设计中,在卫星网络场景中,所述报文处理需求信息包括由多个时间阶段构成的时间周期、以及时间周期内不同时间阶段对应不同的用户面路径;所述方法还包括:
通过会话管理功能SMF根据用户面路径确定用户面转发设备,并与每个用户面转发设备建立会话,请求分配用户面路径规划相关信息。
在一种可能的设计中,在标签网络场景中,所述报文处理需求信息包括至少一个预设时间范围以及对应的报文转发需求;所述方法还包括:
根据任一预设时间范围对应的报文转发需求生成报文处理方式,所述报文处理方式包括根据报文转发需求的标签依次压入所述待处理报文中。
第三方面,本申请提供一种交换机,包括存储器,收发机,处理器:
存储器,用于存储计算机程序;收发机,用于在所述处理器的控制下收发数据;处理器,用于读取所述存储器中的计算机程序并执行以下操作:
接收待处理报文,获取所述待处理报文的到达时间信息;
将所述到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,其中所述预设匹配动作表表项包括预设时间范围以及对应的报文处理方式;
根据所述预设匹配动作表表项,确定与所述到达时间信息匹配的预设时间范围对应的目标报文处理方式;
根据所述目标报文处理方式对所述待处理报文进行处理。
在一种可能的设计中,所述处理器在将所述到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配时,执行以下操作:
将所述到达时间信息与所述预设时间范围的起始时间和结束时间进行比较,确定所述到达时间信息与所述预设时间范围是否匹配;或者
将所述到达时间信息与所述预设时间范围的后N位设置为通配符,将设置后的所述到达时间信息与所述预设时间范围进行按位比对,其中N为正整数,根据比对结果确定所述到达时间信息与所述预设时间范围是否匹配;或者
将所述到达时间信息与所述预设时间范围的前M位进行按位比对,其中M为正整数,根据比对结果确定所述到达时间信息与所述预设时间范围是否匹配;或者
若存在至少两个存在嵌套关系的预设时间范围,则根据嵌套关系按照时间范围由小至大依次将所述到达时间信息与各预设时间范围的相应位数进行按位比对,并将能够匹配、且时间范围最小的预设时间范围确定为与所述到达时间信息相匹配的预设时间范围;或者
将所述到达时间信息与所述预设时间范围的前K位设置为通配符,将设置后的所述到达时间信息与所述预设时间范围进行按位比对,其中K为正整数,根据比对结果确定所述到达时间信息与所述预设时间范围是否匹配。
在一种可能的设计中,所述预设时间范围包括预设时长的时间周期,一个时间周期内包括多个时间阶段,各时间阶段对应不同的报文处理方式;所述处理器在将所述到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配时,执行以下操作:
根据所述到达时间信息与所述预设时长进行取余计算,根据取余结果在时间周期内确定所述到达时间信息所在的时间阶段。
在一种可能的设计中,所述处理器在根据所述到达时间信息与所述预设时长进行取余计算,根据取余结果在时间周期内确定所述到达时间信息所在的时间阶段时,执行以下操作:
在第一流表中根据所述到达时间信息与所述预设时长进行取余计算,并将计算结果存入元数据;
在第二流表中根据元数据中的取余结果在时间周期内确定所述到达时间信息所在的时间阶段。
在一种可能的设计中,所述处理器在获取所述待处理报文的到达时间信息时,执行以下操作:
获取交换机硬件初始化的固有元数据中包括的待处理报文的到达时间信息;和/或
获取所述待处理报文的包头字段中携带的所述待处理报文的到达时间信息;和/或
从交换机本地获取所述待处理报文的到达时间信息,并存储于元数据中。
在一种可能的设计中,所述预设匹配动作表为多级匹配动作表;所述处理器在根据所述预设匹配动作表表项,确定与所述到达时间信息匹配的预设时间范围对应的目标报文处理方式时,执行以下操作:
根据第一级匹配动作表表项确定与所述到达时间信息匹配的预设时间范围对应的下级匹配动作表,根据下级匹配动作表表项对所述待处理报文进行其他匹配域的匹配,从下级匹配动作表表项中根据匹配结果确定目标报文处理方式。
在一种可能的设计中,所述预设匹配动作表为单级匹配动作表;所述处理器在根据所述预设匹配动作表表项,确定与所述到达时间信息匹配的预设时间范围对应的目标报文处理方式时,执行以下操作:
对所述待处理报文进行其他匹配域的匹配;
根据所述预设匹配动作表表项,确定与所述到达时间信息匹配的预设时间范围以及所述其他匹配域对应的目标报文处理方式。
在一种可能的设计中,在卫星网络场景中,所述预设匹配动作表表项包括由多个时间阶段构成的时间周期、以及时间周期内不同时间阶段对应不同的用户面路径;
所述处理器在根据所述预设匹配动作表表项,确定与所述到达时间信息匹配的预设时间范围对应的目标报文处理方式时,执行以下操作:
根据所述预设匹配动作表表项,确定所述到达时间信息所在的目标时间阶段对应的路径隧道标识,以确定对应的用户面路径。
在一种可能的设计中,在标签网络场景中,所述报文处理方式包括根据不同预设时间范围对应不同的报文转发需求进行标签压入封装;
所述处理器在根据所述目标报文处理方式对所述待处理报文进行处理时,执行以下操作:
将与所述到达时间信息匹配的预设时间范围对应的报文转发需求的标签依次压入所述待处理报文中。
第四方面,本申请提供一种控制器,包括存储器,收发机,处理器:
存储器,用于存储计算机程序;收发机,用于在所述处理器的控制下收发数据;处理器,用于读取所述存储器中的计算机程序并执行以下操作:
获取匹配动作表模型,并进行编译运行,其中所述匹配动作表模型以时间信息作为一种匹配域;
获取报文处理需求信息,所述报文处理需求信息包括预设时间范围以及对应的报文处理方式;
根据所述匹配动作表模型以及所述报文处理需求信息,生成预设匹配动作表及其表项;
将所述预设匹配动作表下发给SDN框架中的交换机,以使交换机在接收到待处理报文后,将所述待处理报文的到达时间信息与预设匹配动作表中的预设时间范围进行匹配,确定并执行目标报文处理方式。
在一种可能的设计中,在卫星网络场景中,所述报文处理需求信息包括由多个时间阶段构成的时间周期、以及时间周期内不同时间阶段对应不同的用户面路径;所述处理器还执行以下操作:
通过会话管理功能SMF根据用户面路径确定用户面转发设备,并与每个用户面转发设备建立会话,请求分配用户面路径规划相关信息。
在一种可能的设计中,在标签网络场景中,所述报文处理需求信息包括至少一个预设时间范围以及对应的报文转发需求;所述处理器还执行以下操作:
根据任一预设时间范围对应的报文转发需求生成报文处理方式,所述报文处理方式包括根据报文转发需求的标签依次压入所述待处理报文中。
第五方面,本申请提供一种SDN框架系统,包括如第三方面所述的交换机和如第四方面所述的控制器。
第六方面,本申请提供一种报文处理装置,包括:
接收单元,用于接收待处理报文,获取所述待处理报文的到达时间信息;
匹配单元,用于将所述到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,其中所述预设匹配动作表表项包括预设时间范围以及对应的报文处理方式;
确定单元,用于根据所述预设匹配动作表表项,确定与所述到达时间信息匹配的预设时间范围对应的目标报文处理方式;
执行单元,用于根据所述目标报文处理方式对所述待处理报文进行处理。
第七方面,本申请提供一种报文处理装置,包括:
定义单元,用于获取匹配动作表模型,并进行编译运行,其中所述匹配动作表模型以时间信息作为一种匹配域;
输入单元,用于获取报文处理需求信息,所述报文处理需求信息包括预设时间范围以及对应的报文处理方式;
生成单元,用于根据所述匹配动作表模型以及所述报文处理需求信息,生成预设匹配动作表及其表项;
通信单元,用于将所述预设匹配动作表下发给SDN框架中的交换机,以使交换机在接收到待处理报文后,将所述待处理报文的到达时间信息与预设匹配动作表中的预设时间范围进行匹配,确定并执行目标报文处理方式。
第八方面,本申请提供一种处理器可读存储介质,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使所述处理器执行第一方面或第二方面所述的方法。
本申请提供的报文处理方法、装置及存储介质,通过SDN框架中的控制器基于生成报文处理需求信息生成预设匹配动作表及其表项,其中,预设匹配动作表以时间信息作为一种匹配域,预设匹配动作表表项包括预设时间范围以及对应的报文处理方式,控制器将预设匹配动作表下发给交换机,交换机在接收到待处理报文后,将待处理报文的到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,根据预设匹配动作表表项确定与到达时间信息匹配的预设时间范围对应的目标报文处理方式,并根据目标报文处理方式对待处理报文进行处理。通过引入支持基于时间的表项匹配过程,实现交换机灵活的、在不同时间下可执行不同的报文处理方式;并且,通过控制器生成并下发预设匹配动作表,控制器负载和开销小,不需要在不同时间下发不同表项,减少交换机与控制器的交互,且不会因为交换机与控制器通信带来时间延迟或偏差。
应当理解,上述发明内容部分中所描述的内容并非旨在限定本申请的实施例的关键或重要特征,亦非用于限制本申请的范围。本申请的其它特征将通过以下的描述变得容易理解。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的SDN架构系统的示意图;
图2为本申请一实施例提供的报文处理方法的流程图;
图3为本申请另一实施例提供的报文处理方法的流程图;
图4为本申请一实施例提供的交换机的结构图;
图5为本申请一实施例提供的控制器的结构图;
图6为本申请一实施例提供的报文处理装置的结构图;
图7为本申请另一实施例提供的报文处理装置的结构图。
具体实施方式
本申请实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
首先对本申请实施例所涉及的一些技术术语和背景进行解释:
软件定义网络(Software-defined networking,SDN):是近年来最流行的网络可编程解决方案。SDN通过南向接口(如OpenFlow、POF等)分离了网络的控制平面和数据平面,并通过匹配动作范式抽象了数据平面的路由和转发,从而鼓励了网络应用开发和创新。其主要思想为:控制平面与转发平面分离、逻辑集中的控制、开放可编程。
OpenFlow交换机:是SDN架构下,最为广泛使用的交换机之一。2009年由斯坦福大学学者提出OpenFlow 1.0,2011年成立ONF(Open Networking Foundation,开放网络基金会)组织推广SDN,并不断发展。OpenFlow交换机包括一个由一个或多个Flow Tables组成的流水线(Pipeline)执行数据包的查询和转发,以及包括一个通向外部控制器的OpenFlowchannel,控制器通过南向接口的OpenFlow协议对交换机进行管理。
流表(Flow Table):是交换机进行转发策略控制的核心数据结构。交换芯片通过查找流表表项来决策对进入交换机的网络流量(即报文)采取合适的行为。
OpenFlow的每个表项主要包括三个域,包头域(Header Fields)也叫匹配域(Match Fields)、动作(Actions)、计数器(Counters),其中,OpenFlow支持的主要匹配域包括12个域:进入接口端口(In Port)、以太网源地址(Src MAC)、以太网目标地址(Dst MAC)、以太网类型(Eth Type)、VLAN标识(VLAN ID)、VLAN优先级(VLAN Prio)、IP源地址(SrcIP)、IP目标地址(Dst IP)、IP ToS、IP协议(IP Proto)、源端口(Src Port)、目的端口(DstPort)。随着版本的更新,匹配域的字段也在不断拓展。
数据面可编程:SDN允许用户在给定的设备上,绕过内置的控制平面算法,引入用户自己的算法。然而,OpenFlow是建立在未被正式规范化定义的特定的数据面功能的基础之上的,它只能执行由ONF定义的、专有的、不能被轻易改变的数据面算法(协议、功能等)。这使得数据面可以执行的功能是相对固定的(依赖于设备供应商),增加新的数据面功能的成本是非常高的(需要设备提供商的帮助,可能历经两三年)。
而数据面可编程使用户能够在转发设备上实现自己的数据平面算法。例如程序员、从业人员或运营商,可以定义新的协议和功能等。
当前存在多个不同的数据平面编程模型,每个模型都有许多不同的实现方式和编程语言。其中,与协议无关的可编程报文处理器(Programming Protocol-independentPacket Processors,P4)是目前最广泛的数据平面编程的抽象、编程语言和概念。
P4的匹配动作表:匹配动作表(Match-Action Tables,MATs)定义在控制块内,包含有匹配键值(Key)的条目、要调用动作的ID、以及作为动作调用参数的动作数据(Data)。
对于每个数据包,从表定义中指定的头和元数据字段集中构建一个查找键(lookup key)。它使用与各个字段的匹配类型相关的规则,与MAT的所有条目进行匹配。当找到表中的第一个匹配项时,就会调用相应的动作,动作数据作为无方向参数传递给动作。如果在表中没有匹配到,会应用一个默认的动作。
构成查找键的字段可以是一个或多个包头或元数据字段,每个字段都有指定的匹配类型。
匹配类型有许多面向不同匹配需求而设计出的匹配算法。P4核心库定义了三种标准匹配类型:精确、三元和最长前缀匹配(Longest Prefix Matching,LPM)。
可能的动作列表包括所有可由表执行的动作的名称,包括转发到特定端口、设置队列、丢弃、设置字段值、改变TTL(Time To Live,生存时间值)等。这些动作可以有参数(例如出口的队列号、端口号等),这些参数作为动作数据在表项中提供。
基于上述背景,当前交换机主要是基于报文的包头字段作为匹配域,匹配相应动作完成对报文的处理,例如根据匹配结果不同对报文进行转发、复制、丢弃等处理动作。
当前交换机支持的匹配域包括进入端口、以太网地址信息、IP地址信息、IP协议、源端口、目的端口等等,但交换机目前未实现以时间信息作为匹配域,无法实现根据报文到达时间采用不同的报文处理方式,而若交换机能够实现根据报文到达时间采用不同的报文处理方式将会对很多场景带来明显的益处,例如支持卫星网络周期拓扑变化场景等。因此如何在交换机上做到根据报文到达时间采用不同的报文处理方式成为一个亟待解决的问题。
为了实现根据报文到达时间采用不同的报文处理方式,容易想到如下两种方式:
方式一:控制器在不同时间依次向交换机下发不同的表项;
方式二:控制器一次性下发具有不同优先级的多个表项,且不同表项设置不同的老化时间,使得多个表项按照优先级依次老化。
但是上述两种方式均存在一定的缺陷:在方式一中,控制器负载和开销大,不同时间需要重新下发表项,而且,每次更新表项需要与远程控制器通信,可能会带来时间延迟或偏差;在方式二中,实现的基于时间的报文处理方法不够灵活,而且如果时间是周期性不断进行的,需要下发大量表项。
因此,为了避免上述缺陷,本申请提供一种报文处理方法,在数据面可编程的SDN架构下,可实现根据报文到达时间采用不同的报文处理方式,具体的,通过SDN架构中的控制器基于生成报文处理需求信息生成预设匹配动作表及其表项,其中,预设匹配动作表以时间信息作为一种匹配域,预设匹配动作表表项包括预设时间范围以及对应的报文处理方式,控制器通过南向接口将预设匹配动作表下发给SDN框架中的交换机,交换机在接收到待处理报文后,将待处理报文的到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,根据预设匹配动作表表项确定与到达时间信息匹配的预设时间范围对应的目标报文处理方式,并根据目标报文处理方式对待处理报文进行处理。
本申请实施例提供的提供一种报文处理方法,其适用于如图1所述的SDN框架系统中,该SDN框架系统包括控制器101和交换机102;
控制器101获取通过可编程网络技术定义的匹配动作表模型,并进行编译运行,其中匹配动作表模型以时间信息作为一种匹配域;获取北向接口输入的报文处理需求信息(可以是SDN网络应用输入),报文处理需求信息包括预设时间范围以及对应的报文处理方式;根据匹配动作表模型以及报文处理需求信息,生成预设匹配动作表及其表项;通过南向接口将预设匹配动作表下发给SDN框架中的交换机。
交换机102接收待处理报文,获取待处理报文的到达时间信息;将到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配;根据预设匹配动作表表项,确定与到达时间信息匹配的预设时间范围对应的目标报文处理方式;根据目标报文处理方式对待处理报文进行处理。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
其中,方法和装置是基于同一申请构思的,由于方法和装置解决问题的原理相似,因此装置和方法的实施可以相互参见,重复之处不再赘述。
图2为本实施例提供的报文处理方法的流程图。如图2所示,本实施例提供一种报文处理方法,执行主体为SDN框架中的交换机,该方法具体步骤如下:
S201、接收待处理报文,获取待处理报文的到达时间信息。
在本实施例中,当待处理报文到达交换机时,可获取待处理报文的到达时间信息,以用于后续步骤的匹配。
可选的,待处理报文的到达时间信息可以是交换机硬件初始化的固有元数据中包括的待处理报文的到达时间信息,通过交换机硬件来确定待处理报文的到达时间信息,可对待处理报文添加到达时间信息的标签;待处理报文的到达时间信息也可以是待处理报文的包头字段中携带的待处理报文的到达时间信息,例如包头字段中携带的32位的时间戳;待处理报文的到达时间信息也可以是交换机本地获取待处理报文的到达时间信息并存储于元数据中,可通过交换机通过软件运行预定函数来确定待处理报文的到达时间信息。相应的,在获取待处理报文的到达时间信息时,可以通过如下至少一种方式实现:
获取交换机硬件初始化的固有元数据中包括的待处理报文的到达时间信息;和/或
获取待处理报文的包头字段中携带的待处理报文的到达时间信息;和/或
从交换机本地获取待处理报文的到达时间信息,并存储于元数据中。
S202、将到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,其中预设匹配动作表表项包括预设时间范围以及对应的报文处理方式。
在本实施例中,通过SDN框架中的控制器预先基于生成报文处理需求信息生成预设匹配动作表及其表项,其中,预设匹配动作表以时间信息作为一种匹配域,预设匹配动作表表项包括预设时间范围以及对应的报文处理方式,预设匹配动作表可包括一个或多个表项,各表项中预设时间范围以及对应的报文处理方式不同,进一步的,控制器通过南向接口将预设匹配动作表下发给交换机。
在此基础上,交换机在获取到待处理报文的到达时间信息后,将到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,确定与达时间信息匹配的预设时间范围,从而确定匹配的表项。需要说明的是,若预设匹配动作表包括一个表项,则只需要将到达时间信息与该预设匹配动作表表项中的预设时间范围进行匹配;若预设匹配动作表包括至少两个表项,则需要将到达时间信息分别与各预设匹配动作表表项中的预设时间范围进行匹配。
可选的,预设匹配动作表表项包括的预设时间范围,可以是连续的时间范围,也可以是包括多个离散的时间点,也可以是包括多个时间阶段的时间周期。
S203、根据预设匹配动作表表项,确定与到达时间信息匹配的预设时间范围对应的目标报文处理方式。
在本实施例中,在将到达时间信息与预设匹配动作表表项中的预设时间范围匹配后,可确定与到达时间信息匹配的预设时间范围,从而确定匹配的预设匹配动作表表项,可从预设匹配动作表表项中获取到对应的目标报文处理方式,也即动作(Action),其中目标报文处理方式可包括一个或多个动作。
可选的,报文处理方式包括但不限于如下处理方式:向指定端口转发、复制、丢弃、修改字段、设置队列号、缓存、安全检查、队列调度、服务质量QoS机制等。当然在不同的应用场景中报文处理方式也可包括其他的处理方式,例如在卫星网络场景、标签网络场景中报文处理方式有所不同,将在下述示例中介绍,此处不再赘述。
S204、根据目标报文处理方式对待处理报文进行处理。
在本实施例中,在确定目标报文处理方式后,即可执行目标报文处理方式的相应动作,执行过程此处不做赘述。
本实施例提供的报文处理方法,通过SDN框架中的控制器基于生成报文处理需求信息生成预设匹配动作表及其表项,其中,预设匹配动作表以时间信息作为一种匹配域,预设匹配动作表表项包括预设时间范围以及对应的报文处理方式,控制器将预设匹配动作表下发给交换机,交换机在接收到待处理报文后,将待处理报文的到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,根据预设匹配动作表表项确定与到达时间信息匹配的预设时间范围对应的目标报文处理方式,并根据目标报文处理方式对待处理报文进行处理。通过引入支持基于时间的表项匹配过程,实现交换机灵活的、在不同时间下可执行不同的报文处理方式;并且,通过控制器生成并下发预设匹配动作表,控制器负载和开销小,不需要在不同时间下发不同表项,减少交换机与控制器的交互,且不会因为交换机与控制器通信带来时间延迟或偏差。
在上述实施例的基础上,预设时间范围可以是一段连续时间范围;S202将到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,包括如下几种可选方式:
方式一:将到达时间信息与预设时间范围的起始时间和结束时间进行比较,确定到达时间信息与预设时间范围是否匹配;
在本方式中,连续时间范围可以采用起始时间和结束时间来表示,例如可表示为(Min,Max),其中可包含也可不包含边界值,进而将到达时间信息与预设时间范围的起始时间和结束时间进行比较,若到达时间信息处于起始时间和结束时间之间(可包含也可不包含落在边界值上),则确定到达时间信息与该预设时间范围匹配。
方式二:将到达时间信息与预设时间范围的后N位设置为通配符,将设置后的到达时间信息与预设时间范围进行按位比对,其中N为正整数,根据比对结果确定到达时间信息与预设时间范围是否匹配;
在本方式中,可采用掩码匹配的方式进行匹配,预设时间范围以指定位数的数值的前M位数(M为正整数)表示,例如以32位二进制数字的前24位表示,则报文到达时间的前24位与预设时间范围的前24位相同,则报文到达时间落入预设时间范围内,而掩码匹配是将到达时间信息和预设时间范围的后N位数(N为正整数)配置为通配符,也即将到达时间信息和预设时间范围的32位二进制数字最后的8位数设置为通配符(如星号*)后将设置后的到达时间信息和预设时间范围的32位进行按位比对,若比对一致,则确定报文到达时间落入预设时间范围内,可实现快速匹配,在按位比对过程中不需要再关注位数。
方式三:将到达时间信息与预设时间范围的前M位进行按位比对,其中M为正整数,根据比对结果确定到达时间信息与预设时间范围是否匹配;
在本方式中,原理与方式二相似,但是不需要设置通配符,而是直接比较到达时间信息和预设时间范围的前M位(M为正整数),以上述举例来讲,直接对报文到达时间的32位二进制数字的前24位与预设时间范围的前24位进行按位比对,若比对一致,则确定报文到达时间落入预设时间范围内,可实现快速匹配,相对于方式二,本方式在按位比对时需要关注比对的位数,也即在按位比对时确定需要比对的前M位,但节约了设置通配符的步骤。
方式四:若存在至少两个存在嵌套关系的预设时间范围,则根据嵌套关系按照时间范围由小至大依次将到达时间信息与各预设时间范围的相应位数进行按位比对,并将能够匹配、且时间范围最小的预设时间范围确定为与到达时间信息相匹配的预设时间范围。
在本方式中,可能存在至少两个存在嵌套关系的预设时间范围,例如,第一预设时间范围以指定位数的数值的前P位数(P为正整数)表示,而第二预设时间范围以指定位数的数值的前Q位数(Q为正整数,且Q>P)表示,且第二预设时间范围的前P位数与第一预设时间范围的前P位数相等,第二预设时间范围落入第一预设时间范围内,而预设匹配动作表表项中存在嵌套关系的预设时间范围对应的报文处理方式不同,若到达时间信息处于时间范围更小的预设时间范围内(虽然也落入了时间范围更大的预设时间范围内),则执行该时间范围更小的预设时间范围对应的报文处理方式,若到达时间信息未落入时间范围更小的预设时间范围内、但落入了时间范围更大的预设时间范围内,则执行该时间范围更大的预设时间范围对应的报文处理方式。在匹配时,可采用最长前缀匹配方式进行匹配,根据嵌套关系按照时间范围由小至大依次将到达时间信息与各预设时间范围的相应位数进行按位比对,以上述第一预设时间范围和第二预设时间范围为例,先将到达时间信息和时间范围更小的第二预设时间范围的前Q位(前缀最长)进行按位比对,若能够匹配,则将第二预设时间范围确定为与到达时间信息相匹配的预设时间范围;若不能够匹配,再将到达时间信息和时间范围更大的第一预设时间范围的前P位进行按位比对,若能够匹配,则将第一预设时间范围确定为与到达时间信息相匹配的预设时间范围。通过最长前缀匹配的方式可实现将到达时间信息与存在嵌套关系的预设时间范围的快速有序的匹配,将能够匹配、且时间范围最小的预设时间范围确定为与到达时间信息相匹配的预设时间范围。
在上述任一实施例的基础上,预设时间范围也可以是一些时间点,例如以指定位数的数值的后L位数(L为正整数)表示,以3位二进制数值举例,*01可包括001和101两个时间点。因此,在此基础上,S202将到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配时,可包括如下方式:
将到达时间信息与预设时间范围的前K位设置为通配符,将设置后的到达时间信息与预设时间范围进行按位比对,其中K为正整数,根据比对结果确定到达时间信息与预设时间范围是否匹配。
在本方式中,只需要到达时间信息与预设时间范围的后L位数相同,则报文到达时间落入预设时间范围内,本方式中可类似于上述方式二中采用掩码匹配的方式,将到达时间信息与预设时间范围前K位设置为通配符,将设置后的到达时间信息与预设时间范围进行按位比对,若比对一致,则确定报文到达时间落入预设时间范围内。当然也可类似于上述方式二中直接对到达时间信息与预设时间范围的后L位数按位比对,此处不再赘述。
在上述任一实施例的基础上,预设时间范围也可以是预设时长的时间周期,一个时间周期内包括多个时间阶段,各时间阶段对应不同的报文处理方式;S202将到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,包括:
根据到达时间信息与预设时长进行取余计算,根据取余结果在时间周期内确定到达时间信息所在的时间阶段。
在本实施例中,通过对到达时间信息对时间周期的预设时长取余计算,余数小于预设时长,进而可根据余数判断报文到达时间落入时间周期的哪一个时间阶段内,举例来讲,以8小时为一个时间周期,时间周期内每2小时划分为一个时间阶段,假设报文到达时间为第15小时,将15对8进行取余得到余数为7,则可报文到达时间在当前时间周期的第7小时,也即在当前时间周期内的第4个时间阶段。
在上述实施例的基础上,在确定到达时间信息在时间周期内所在的时间阶段的过程中,可在先将到达时间信息进行计算后再进行以计算结果作为匹配键值Key的表项匹配;也可以增加一张流表,在第一流表中将到达时间信息与预设时长进行取余计算,并将计算结果存入元数据(如用户定义元数据),然后在第二流表中根据元数据中的取余结果确定到达时间信息所在的时间阶段,可适用于特定的交换机,举例来讲,可增加第一流表Table0,对符合特定规则的流(如特定的进入端口、特定的源MAC地址、特定的目的MAC地址等)先进行到达时间信息的计算,再存储元数据,然后在第二流表Table1中进行元数据中计算结果与时间周期的匹配,确定对应表项和目标报文处理方式(如Action1、Action2):
Table0
Table 1
在上述任一实施例的基础上,预设匹配动作表除了以时间信息作为一种匹配域外,还可包括其他匹配域,因此根据硬件交换机的匹配域宽度等信息,预设匹配动作表可以为多级匹配动作表,也可以为单级匹配动作表。
在一种可选实施例中,预设匹配动作表为多级匹配动作表;可以先基于第一级匹配动作表进行到达时间信息与预设时间范围之间的匹配,完成匹配后,可根据第一级匹配动作表表项确定与到达时间信息匹配的预设时间范围对应的下级匹配动作表,根据下级匹配动作表表项对待处理报文进行其他匹配域(如进入端口、以太网地址信息、IP地址信息、IP协议、源端口、目的端口等)的匹配,从下级匹配动作表表项中根据匹配结果确定目标报文处理方式,通过多级匹配,可灵活应对复杂繁多的匹配域的情况。当然,也可先基于第一级匹配动作表进行其他匹配域的匹配,再基于下级匹配动作表进行到达时间信息与预设时间范围之间的匹配;或者先基于第一级匹配动作表进行到达时间信息与预设时间范围之间的匹配以及部分其他匹配域的匹配,再基于下级匹配动作表进行其余部分匹配域的匹配,此处不再赘述。
在另一种可选实施例中,预设匹配动作表为单级匹配动作表;可以将到达时间信息与预设时间范围之间的匹配以及对待处理报文进行其他匹配域的匹配耦合在一个表项中,确定待处理报文是否匹配到满足包括到达时间信息和其他匹配域在内的所有匹配域的预设匹配动作表表项,进而根据该预设匹配动作表表项,确定与到达时间信息匹配的预设时间范围以及其他匹配域对应的目标报文处理方式,通过单级匹配,可一次性进行包括时间在内的多个匹配域的匹配,提高匹配和确定目标报文处理方式的效率。可选的,可以在进行到达时间信息与预设时间范围之间的匹配后再对待处理报文进行其他匹配域的匹配,然后根据预设匹配动作表表项确定与到达时间信息匹配的预设时间范围以及其他匹配域对应的目标报文处理方式。
图3为本实施例提供的报文处理方法的流程图。如图3所示,本实施例提供一种报文处理方法,执行主体为SDN框架中的控制器,该方法具体步骤如下:
S301、获取匹配动作表模型,并进行编译运行,其中匹配动作表模型以时间信息作为一种匹配域。
在本实施例中,用户(编程人员/管理员)通过可编程网络技术(例如P4语言)定义包含时间信息作为匹配域的匹配动作表模型,匹配动作表模可用于定义匹配动作表包括哪些匹配域字段,还可定义匹配方式、报文到达时间信息的获取方式、单级匹配或多级匹配等,并分别在控制器和交换机上编译运行,以使控制器和交换机具有能够基于匹配动作表进行匹配确定目标报文处理方式的功能。
S302、获取报文处理需求信息,报文处理需求信息包括预设时间范围以及对应的报文处理方式。
在本实施例中,编程人员、管理员、业务人员等可以基于SDN网络应用通过北向接口向控制器输入报文处理需求信息,其中包括具体的预设时间范围以及对应的包围处理方式,预设时间范围以及对应的包围处理方式可参见上述实施例,此处不再赘述。
S303、根据匹配动作表模型以及报文处理需求信息,生成预设匹配动作表及其表项。
在本实施例中,从报文处理需求信息中提取预设时间范围以及对应的包围处理方式,填入匹配动作表模型中,生成预设匹配动作表及其表项。
可选的,考虑到不同交换机可能时间不同步、存在时钟偏差的情况,因此可根据各交换机的时钟信息以及预设时间范围分别确定各交换机对应的预设时间范围,进而对于任一交换机可生成该交换机对应的预设匹配动作表及其表项,避免不同交换机因时钟偏差问题使得时间匹配错误、目标报文处理方式也存在错误。
S304、将预设匹配动作表下发给SDN框架中的交换机,以使交换机在接收到待处理报文后,将待处理报文的到达时间信息与预设匹配动作表中的预设时间范围进行匹配,确定并执行目标报文处理方式。
在本实施例中,控制器在生成预设匹配动作表及其表项后,可通过与交换机连接的南向接口,将预设匹配动作表发送给所涉及的交换机,进而交换机可基于预设匹配动作表及其表项实现上述交换机侧的方法实施例。
本实施例提供的报文处理方法,通过SDN框架中的控制器基于生成报文处理需求信息生成预设匹配动作表及其表项,其中,预设匹配动作表以时间信息作为一种匹配域,预设匹配动作表表项包括预设时间范围以及对应的报文处理方式,控制器将预设匹配动作表下发给交换机,交换机在接收到待处理报文后,将待处理报文的到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,根据预设匹配动作表表项确定与到达时间信息匹配的预设时间范围对应的目标报文处理方式,并根据目标报文处理方式对待处理报文进行处理。通过引入支持基于时间的表项匹配过程,实现交换机灵活的、在不同时间下可执行不同的报文处理方式;并且,通过控制器生成并下发预设匹配动作表,控制器负载和开销小,不需要在不同时间下发不同表项,也适用于时间周期的情况,减少交换机与控制器的交互,且不会因为交换机与控制器通信带来时间延迟或偏差。
为了进一步介绍上述的报文处理方法,本申请实施例还提供以下示例进行详细的举例说明。
示例1
(1)用户(编程人员/管理员)通过可编程网络技术(例如P4语言)定义包含时间信息作为匹配域的匹配动作表模型,并在控制器和交换机上编译运行;
匹配域字段Key可以是包头字段、固有元数据、用户自定义元数据的组合。特别是,匹配字段包含时间信息,可以是通过交换机硬件初始化的固有元数据中的报文到达时间戳(例如ingress_timestamp)、也可以是报文的包头字段中携带的时间戳(例如32位的时间戳),还可以是交换机本地获取报文到达时间后写入的用户自定义元数据。
在本示例中,为了支持对一段连续时间范围的匹配,可以定义表项的匹配类型Type可以是范围匹配,也可以是掩码匹配、最长前缀匹配等,以达到能匹配时间范围的目标;例如,采用掩码匹配实现基于时间的范围匹配:例如时间是349504590***(64或32位)表示连续时间范围,以32位为例可以用掩码匹配的方法将后8位设置为通配符(如星号*),进而可实现仅匹配前面24位的目的,实现空间匹配的粒度。
此外,匹配动作表流水线,根据硬件交换机的匹配域宽度等信息,可以定义匹配动作表是多级匹配动作表,也可以是单级匹配动作表。其中多级匹配动作表,即先匹配时间信息,执行动作为跳转到该预设时间范围相应的另一个匹配动作表,例如GoTo Table N,然后在下一个匹配动作表Table N中定义其他匹配阈和相应的动作;而单级匹配动作表,是将时间信息匹配和其他匹配域耦合在一条表项中,在时间信息和其他信息均匹配的情况下,执行相应动作(可以是1个或多个动作)。
(2)应用可通过北向接口与控制器交互报文处理需求信息,可包括但不限于匹配字段信息、匹配的预设时间范围、不同预设时间范围对应的报文处理方式等;
其中预设时间范围可以为一个或多个连续时间范围;报文处理方式(动作Action)可包括但不限于向指定端口转发、复制、丢弃、修改字段、设置队列号、缓存、安全检查、队列调度、服务质量QoS机制等。
(3)控制器根据匹配动作表模型以及报文处理需求,生成预设匹配动作表及其表项,预设匹配动作表及其表项以时间信息作为一种匹配域,预设匹配动作表表项包括预设时间范围以及对应的报文处理方式,并通过南向接口下发给涉及的所有交换机。
(4)当待处理报文到达交换机,交换机获取待处理报文的到达时间信息,将待处理报文的到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,根据预设匹配动作表表项确定与到达时间信息匹配的预设时间范围对应的目标报文处理方式,并根据目标报文处理方式对待处理报文进行处理。
示例2
在卫星网络拓扑周期变化的场景下,规划一个周期内多个不同的时间阶段的用户面路径,SMF(Session Management Function,会话管理功能)还可为用户面设备下发在不同连续时间内相应的报文匹配规则PDR(Packet Detection Rule)和转发动作规则FAR(Forwarding Action Rules)等;控制器可基于时间周期内不同的时间阶段的用户面路径生成预设匹配动作表,预设匹配动作表表项包括由多个时间阶段构成的时间周期、以及时间周期内不同时间阶段对应不同的用户面路径,并通过南向接口下发给交换机,交换机可在接收到待处理报文后,将待处理报文的到达时间信息与预设匹配动作表表项中的时间周期进行匹配,确定当前处于时间周期内哪个时间阶段,匹配到对应的表项,进而可确定对应的用户面路径,并执行相应的转发动作。具体流程可包括:
(1)应用或SMF搜集卫星网络拓扑变化的周期信息,例如划分N个时间阶段,每个阶段内采用一种网络拓扑,N个阶段依次循环变化;每个时间阶段为Ti(i=1,2,...,N),则构成一个时间周期的时间长度为
搜集方式可以是预先知道整个周期的时间信息,也可以是经过几个周期后的统计信息;
(2)SMF为时间周期内每个时间阶段分别规划相应的用户面路径,以及该用户面路径涉及的用户面转发设备,包括RAN、N3 UPF、I-UPF(s)、PSA等。
(3)SMF与每个涉及到的UPF(s)建立N4会话,请求分配路径规划相关信息(例如隧道信息),并下发其在不同时间阶段中相应的报文匹配规则PDR和转发动作规则FAR等;
在PDR的包检测信息PDI中包含时间匹配相关信息,用于数据流(报文)的分类和检测,并针对不同的时间阶段匹配不同的转发动作FAR。
控制器可基于时间周期内不同的时间阶段的用户面路径生成预设匹配动作表,预设匹配动作表表项包括由多个时间阶段构成的时间周期、以及时间周期内不同时间阶段对应不同的用户面路径,并通过南向接口下发给交换机。
(4)交换机在接收到待处理报文后,将待处理报文的到达时间信息与预设匹配动作表表项中时间周期内的各时间阶段进行匹配,确定待处理报文的到达时间信息所在的目标时间阶段。
为了支持周期性时间匹配,可以是在进入匹配前先进行取余计算(例如本示例中周期的时间长度为T,则是报文到达时间除以T之后的余数,mod(Key,T))后再进行匹配,确定待处理报文的到达时间信息在时间周期内所在的目标时间阶段;可选的,也可以是增加一张流表,在前一张流表中,把时间信息进行取余计算后存入元数据,然后再下一张流表中,匹配计算好的元数据。
(4)在确定待处理报文的到达时间信息在时间周期内所在的目标时间阶段后,匹配相应预设匹配动作表表项,确定对应的用户面路径,并执行相应的转发动作。
具体地,用户面路径可以是GTP-U隧道信息:即判断接收数据包在时间周期内处于哪个时间阶段,匹配对应的TEID(Tunnel Endpoint Identifier,隧道标识)确定用户面路径,判断从哪个下一跳转发。
通过时间匹配的方式,由于SMF已一次性提前下发多个表项,因此不需要重复下匹配动作表,在不同时间SMF不需要与UPF再次通过N4会话更改TEID信息。
示例3
对示例2的场景进行通用化改造,如果报文处理需求是在时间周期的某个时间阶段,期望交换机执行某个或某系列报文处理动作(包括向某个端口转发、复制、丢弃、修改字段、设置队列号等),其他时间阶段内执行另一个/套报文处理动作;进一步地,时间周期也可以分为3个或更多个时间阶段,分别执行不同的报文处理动作。
该示例中,控制器需要向报文转发路径中的所有需要根据时间执行不同报文处理动作的交换机下发时间匹配相关表项,交换机通过不同的动作可实现不同时间段的L2/L3层报文转发路径、报文缓存机制、安全检查和防火墙、队列调度和QoS机制等,甚至上述功能的组合。
例如部分场景中,在一个时间周期的不同时间阶段期望的报文转发路径不同。假设要求每天的9:00-18:00将收到的报文从端口A转发,其他时间段将报文从端口B转发。该实施例中,时间周期为24小时,因此在匹配前可以对报文到达时间进行除以24小时后的余数进行表项匹配确定所在的时间范围;对报文处理动作分别是向端口A和端口B转发。
示例4
在SRv6(Segment RoutingIPv6,基于IPv6转发平面的段路由)和MPLS(Multi-Protocol Label Switching,多协议标签交换)等标签网络场景中,期望根据报文到达时间不同,在网络入口封装不同SRH(Segment Routing Header,SRv6扩展头)或MPLS列表,达到在不同时间可以实现不同报文转发需求的功能。
该示例中,控制器可根据预设时间范围对应的报文转发需求生成报文处理方式,报文处理方式包括根据报文转发需求的标签依次压入待处理报文中,进而控制器可生成包括预设时间范围以及对应报文处理方式的匹配动作表及其表项,并下发给交换机。
网络入口的交换机在接收到待处理报文后,将待处理报文的到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,根据预设匹配动作表表项确定与到达时间信息匹配的预设时间范围对应的目标报文处理方式,也即将匹配的预设时间范围对应的报文转发需求的标签依次压入待处理报文中,实现网络入口的交换机在不同时间封装不同的标签。
图4为本申请实施例提供的交换机的结构图。本实施例提供的交换机可以执行上述交换机侧的方法实施例提供的处理流程,如图4所示,交换机400包括存储器401,收发机402,处理器403。
其中,在图4中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器403代表的一个或多个处理器和存储器401代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机402可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元,这些传输介质包括无线信道、有线信道、光缆等传输介质。处理器403负责管理总线架构和通常的处理,存储器401可以存储处理器403在执行操作时所使用的数据。
处理器403可以是中央处理器(CPU)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD),处理器也可以采用多核架构。
存储器401,用于存储计算机程序;收发机402,用于在处理器403的控制下收发数据;处理器403,用于读取存储器401中的计算机程序并执行以下操作:
接收待处理报文,获取待处理报文的到达时间信息;
将到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,其中预设匹配动作表表项包括预设时间范围以及对应的报文处理方式;
根据预设匹配动作表表项,确定与到达时间信息匹配的预设时间范围对应的目标报文处理方式;
根据目标报文处理方式对待处理报文进行处理。
在本申请的一个或多个实施例中,处理器403在将到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配时,执行以下操作:
将到达时间信息与预设时间范围的起始时间和结束时间进行比较,确定到达时间信息与预设时间范围是否匹配;或者
将到达时间信息与预设时间范围的后N位设置为通配符,将设置后的到达时间信息与预设时间范围进行按位比对,其中N为正整数,根据比对结果确定到达时间信息与预设时间范围是否匹配;或者
将到达时间信息与预设时间范围的前M位进行按位比对,其中M为正整数,根据比对结果确定到达时间信息与预设时间范围是否匹配;或者
若存在至少两个存在嵌套关系的预设时间范围,则根据嵌套关系按照时间范围由小至大依次将所述到达时间信息与各预设时间范围的相应位数进行按位比对,并将能够匹配、且时间范围最小的预设时间范围确定为与所述到达时间信息相匹配的预设时间范围;或者
将到达时间信息与预设时间范围的前K位设置为通配符,将设置后的到达时间信息与预设时间范围进行按位比对,其中K为正整数,根据比对结果确定到达时间信息与预设时间范围是否匹配。
在本申请的一个或多个实施例中,预设时间范围包括预设时长的时间周期,一个时间周期内包括多个时间阶段,各时间阶段对应不同的报文处理方式;处理器403在将到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配时,执行以下操作:
根据到达时间信息与预设时长进行取余计算,根据取余结果在时间周期内确定到达时间信息所在的时间阶段。
在本申请的一个或多个实施例中,处理器403在根据到达时间信息与预设时长进行取余计算,根据取余结果在时间周期内确定到达时间信息所在的时间阶段时,执行以下操作:
在第一流表中根据到达时间信息与预设时长进行取余计算,并将计算结果存入元数据;
在第二流表中根据元数据中的取余结果在时间周期内确定到达时间信息所在的时间阶段。
在本申请的一个或多个实施例中,处理器403在获取待处理报文的到达时间信息时,执行以下操作:
获取交换机硬件初始化的固有元数据中包括的待处理报文的到达时间信息;和/或
获取待处理报文的包头字段中携带的待处理报文的到达时间信息;和/或
从交换机本地获取待处理报文的到达时间信息,并存储于元数据中。
在本申请的一个或多个实施例中,预设匹配动作表为多级匹配动作表;处理器403在根据预设匹配动作表表项,确定与到达时间信息匹配的预设时间范围对应的目标报文处理方式时,执行以下操作:
根据第一级匹配动作表表项确定与到达时间信息匹配的预设时间范围对应的下级匹配动作表,根据下级匹配动作表表项对待处理报文进行其他匹配域的匹配,从下级匹配动作表表项中根据匹配结果确定目标报文处理方式。
在本申请的一个或多个实施例中,预设匹配动作表为单级匹配动作表;处理器403在根据预设匹配动作表表项,确定与到达时间信息匹配的预设时间范围对应的目标报文处理方式时,执行以下操作:
对待处理报文进行其他匹配域的匹配;
根据预设匹配动作表表项,确定与到达时间信息匹配的预设时间范围以及其他匹配域对应的目标报文处理方式。
在本申请的一个或多个实施例中,在卫星网络场景中,预设匹配动作表表项包括由多个时间阶段构成的时间周期、以及时间周期内不同时间阶段对应不同的用户面路径;
处理器403在根据预设匹配动作表表项,确定与到达时间信息匹配的预设时间范围对应的目标报文处理方式时,执行以下操作:
根据预设匹配动作表表项,确定到达时间信息所在的目标时间阶段对应的路径隧道标识,以确定对应的用户面路径。
在本申请的一个或多个实施例中,在标签网络场景中,报文处理方式包括根据不同预设时间范围对应不同的报文转发需求进行标签压入封装;
处理器403在根据目标报文处理方式对待处理报文进行处理时,执行以下操作:
将与到达时间信息匹配的预设时间范围对应的报文转发需求的标签依次压入待处理报文中。
本申请实施例提供的交换机可以具体用于执行上述交换机侧的方法实施例,具体功能此处不再赘述。
图5为本申请实施例控制器的结构图。本实施例提供的控制器可以执行上述控制器侧的方法实施例提供的处理流程,如图5所示,控制器500包括存储器501,收发机502,处理器503。
其中,在图4中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器503代表的一个或多个处理器和存储器501代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机502可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元,这些传输介质包括无线信道、有线信道、光缆等传输介质。处理器503负责管理总线架构和通常的处理,存储器501可以存储处理器503在执行操作时所使用的数据。
处理器503可以是中央处理器(CPU)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD),处理器也可以采用多核架构。
存储器501,用于存储计算机程序;收发机502,用于在处理器503的控制下收发数据;处理器503,用于读取存储器501中的计算机程序并执行以下操作:
获取匹配动作表模型,并进行编译运行,其中匹配动作表模型以时间信息作为一种匹配域;
获取报文处理需求信息,报文处理需求信息包括预设时间范围以及对应的报文处理方式;
根据匹配动作表模型以及报文处理需求信息,生成预设匹配动作表及其表项;
将预设匹配动作表下发给SDN框架中的交换机,以使交换机在接收到待处理报文后,将待处理报文的到达时间信息与预设匹配动作表中的预设时间范围进行匹配,确定并执行目标报文处理方式。
在本申请的一个或多个实施例中,在卫星网络场景中,报文处理需求信息包括由多个时间阶段构成的时间周期、以及时间周期内不同时间阶段对应不同的用户面路径;处理器503还执行以下操作:
通过会话管理功能SMF根据用户面路径确定用户面转发设备,并与每个用户面转发设备建立会话,请求分配用户面路径规划相关信息。
在本申请的一个或多个实施例中,在标签网络场景中,报文处理需求信息包括至少一个预设时间范围以及对应的报文转发需求;处理器503还执行以下操作:
根据任一预设时间范围对应的报文转发需求生成报文处理方式,报文处理方式包括根据报文转发需求的标签依次压入待处理报文中。
本申请实施例提供的控制器可以具体用于执行上述控制器侧的方法实施例,具体功能此处不再赘述。
图6为本申请实施例提供的报文处理装置的结构图。本实施例提供的报文处理装置可以执行交换机侧的方法实施例提供的处理流程,如图6所示,该报文处理装置600包括接收单元601、匹配单元602、确定单元603、执行单元604。
接收单元601,用于接收待处理报文,获取待处理报文的到达时间信息;
匹配单元602,用于将到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,其中预设匹配动作表表项包括预设时间范围以及对应的报文处理方式;
确定单元603,用于根据预设匹配动作表表项,确定与到达时间信息匹配的预设时间范围对应的目标报文处理方式;
执行单元604,用于根据目标报文处理方式对待处理报文进行处理。
在本申请的一个或多个实施例中,匹配单元602在将到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配时,用于:
将到达时间信息与预设时间范围的起始时间和结束时间进行比较,确定到达时间信息与预设时间范围是否匹配;或者
将到达时间信息与预设时间范围的后N位设置为通配符,将设置后的到达时间信息与预设时间范围进行按位比对,其中N为正整数,根据比对结果确定到达时间信息与预设时间范围是否匹配;或者
将到达时间信息与预设时间范围的前M位进行按位比对,其中M为正整数,根据比对结果确定到达时间信息与预设时间范围是否匹配;或者
若存在至少两个存在嵌套关系的预设时间范围,则根据嵌套关系按照时间范围由小至大依次将所述到达时间信息与各预设时间范围的相应位数进行按位比对,并将能够匹配、且时间范围最小的预设时间范围确定为与所述到达时间信息相匹配的预设时间范围;或者
将到达时间信息与预设时间范围的前K位设置为通配符,将设置后的到达时间信息与预设时间范围进行按位比对,其中K为正整数,根据比对结果确定到达时间信息与预设时间范围是否匹配。
在本申请的一个或多个实施例中,预设时间范围包括预设时长的时间周期,一个时间周期内包括多个时间阶段,各时间阶段对应不同的报文处理方式;匹配单元602在将到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配时,用于:
根据到达时间信息与预设时长进行取余计算,根据取余结果在时间周期内确定到达时间信息所在的时间阶段。
在本申请的一个或多个实施例中,匹配单元602在根据到达时间信息与预设时长进行取余计算,根据取余结果在时间周期内确定到达时间信息所在的时间阶段时,用于:
在第一流表中根据到达时间信息与预设时长进行取余计算,并将计算结果存入元数据;
在第二流表中根据元数据中的取余结果在时间周期内确定到达时间信息所在的时间阶段。
在本申请的一个或多个实施例中,接收单元601在获取待处理报文的到达时间信息时,用于:
获取交换机硬件初始化的固有元数据中包括的待处理报文的到达时间信息;和/或
获取待处理报文的包头字段中携带的待处理报文的到达时间信息;和/或
从交换机本地获取待处理报文的到达时间信息,并存储于元数据中。
在本申请的一个或多个实施例中,预设匹配动作表为多级匹配动作表;确定单元603在根据预设匹配动作表表项,确定与到达时间信息匹配的预设时间范围对应的目标报文处理方式时,用于:
根据第一级匹配动作表表项确定与到达时间信息匹配的预设时间范围对应的下级匹配动作表,根据下级匹配动作表表项对待处理报文进行其他匹配域的匹配,从下级匹配动作表表项中根据匹配结果确定目标报文处理方式。
在本申请的一个或多个实施例中,预设匹配动作表为单级匹配动作表;确定单元603在根据预设匹配动作表表项,确定与到达时间信息匹配的预设时间范围对应的目标报文处理方式时,用于:
对待处理报文进行其他匹配域的匹配;
根据预设匹配动作表表项,确定与到达时间信息匹配的预设时间范围以及其他匹配域对应的目标报文处理方式。
在本申请的一个或多个实施例中,在卫星网络场景中,预设匹配动作表表项包括由多个时间阶段构成的时间周期、以及时间周期内不同时间阶段对应不同的用户面路径;
确定单元603在根据预设匹配动作表表项,确定与到达时间信息匹配的预设时间范围对应的目标报文处理方式时,用于:
根据预设匹配动作表表项,确定到达时间信息所在的目标时间阶段对应的路径隧道标识,以确定对应的用户面路径。
在本申请的一个或多个实施例中,在标签网络场景中,报文处理方式包括根据不同预设时间范围对应不同的报文转发需求进行标签压入封装;
执行单元604在根据目标报文处理方式对待处理报文进行处理时,用于:
将与到达时间信息匹配的预设时间范围对应的报文转发需求的标签依次压入待处理报文中。
本申请实施例提供的报文处理装置可以具体用于执行上述交换机侧的方法实施例,具体功能此处不再赘述。
图7为本申请实施例提供的报文处理装置的结构图。本实施例提供的报文处理装置可以执行控制器侧的方法实施例提供的处理流程,如图7所示,该报文处理装置700包括定义单元701、输入单元702、生成单元703、通信单元704。
定义单元701,用于获取匹配动作表模型,并进行编译运行,其中匹配动作表模型以时间信息作为一种匹配域;
输入单元702,用于获取报文处理需求信息,报文处理需求信息包括预设时间范围以及对应的报文处理方式;
生成单元703,用于根据匹配动作表模型以及报文处理需求信息,生成预设匹配动作表及其表项;
通信单元704,用于将预设匹配动作表下发给SDN框架中的交换机,以使交换机在接收到待处理报文后,将待处理报文的到达时间信息与预设匹配动作表中的预设时间范围进行匹配,确定并执行目标报文处理方式。
在本申请的一个或多个实施例中,在卫星网络场景中,报文处理需求信息包括由多个时间阶段构成的时间周期、以及时间周期内不同时间阶段对应不同的用户面路径;通信单元704还用于:
通过会话管理功能SMF根据用户面路径确定用户面转发设备,并与每个用户面转发设备建立会话,请求分配用户面路径规划相关信息。
在本申请的一个或多个实施例中,在标签网络场景中,报文处理需求信息包括至少一个预设时间范围以及对应的报文转发需求;生成单元703还用于:
根据任一预设时间范围对应的报文转发需求生成报文处理方式,报文处理方式包括根据报文转发需求的标签依次压入待处理报文中。
本申请实施例提供的报文处理装置可以具体用于执行上述控制器侧的方法实施例,具体功能此处不再赘述。
需要说明的是,本申请上述实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请另一实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序用于使处理器执行交换机或控制器侧的报文处理方法。
其中,计算机可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。
本申请另一实施例还提供一种计算机程序产品,包括计算机程序,计算机程序用于使处理器执行交换机或控制器侧的报文处理方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机可执行指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机可执行指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些处理器可执行指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的处理器可读存储器中,使得存储在该处理器可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些处理器可执行指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (24)
1.一种报文处理方法,其特征在于,应用于软件定义网络SDN框架中的交换机,所述方法包括:
接收待处理报文,获取所述待处理报文的到达时间信息;
将所述到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,其中所述预设匹配动作表表项包括预设时间范围以及对应的报文处理方式;
根据所述预设匹配动作表表项,确定与所述到达时间信息匹配的预设时间范围对应的目标报文处理方式;
根据所述目标报文处理方式对所述待处理报文进行处理。
2.根据权利要求1所述的方法,其特征在于,所述将所述到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,包括:
将所述到达时间信息与所述预设时间范围的起始时间和结束时间进行比较,确定所述到达时间信息与所述预设时间范围是否匹配;或者
将所述到达时间信息与所述预设时间范围的后N位设置为通配符,将设置后的所述到达时间信息与所述预设时间范围进行按位比对,其中N为正整数,根据比对结果确定所述到达时间信息与所述预设时间范围是否匹配;或者
将所述到达时间信息与所述预设时间范围的前M位进行按位比对,其中M为正整数,根据比对结果确定所述到达时间信息与所述预设时间范围是否匹配;或者
若存在至少两个存在嵌套关系的预设时间范围,则根据嵌套关系按照时间范围由小至大依次将所述到达时间信息与各预设时间范围的相应位数进行按位比对,并将能够匹配、且时间范围最小的预设时间范围确定为与所述到达时间信息相匹配的预设时间范围;或者
将所述到达时间信息与所述预设时间范围的前K位设置为通配符,将设置后的所述到达时间信息与所述预设时间范围进行按位比对,其中K为正整数,根据比对结果确定所述到达时间信息与所述预设时间范围是否匹配。
3.根据权利要求1所述的方法,其特征在于,所述预设时间范围包括预设时长的时间周期,一个时间周期内包括多个时间阶段,各时间阶段对应不同的报文处理方式;所述将所述到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,包括:
根据所述到达时间信息与所述预设时长进行取余计算,根据取余结果在时间周期内确定所述到达时间信息所在的时间阶段。
4.根据权利要求3所述的方法,其特征在于,所述根据所述到达时间信息与所述预设时长进行取余计算,根据取余结果在时间周期内确定所述到达时间信息所在的时间阶段,包括:
在第一流表中根据所述到达时间信息与所述预设时长进行取余计算,并将计算结果存入元数据;
在第二流表中根据元数据中的取余结果在时间周期内确定所述到达时间信息所在的时间阶段。
5.根据权利要求1所述的方法,其特征在于,所述获取所述待处理报文的到达时间信息,包括:
获取交换机硬件初始化的固有元数据中包括的待处理报文的到达时间信息;和/或
获取所述待处理报文的包头字段中携带的所述待处理报文的到达时间信息;和/或
从交换机本地获取所述待处理报文的到达时间信息。
6.根据权利要求1、3-5任一项所述的方法,其特征在于,在卫星网络场景中,所述预设匹配动作表表项包括由多个时间阶段构成的时间周期、以及时间周期内不同时间阶段对应不同的用户面路径;
所述根据所述预设匹配动作表表项,确定与所述到达时间信息匹配的预设时间范围对应的目标报文处理方式,包括:
根据所述预设匹配动作表表项,确定所述到达时间信息所在的目标时间阶段对应的路径隧道标识,以确定对应的用户面路径。
7.根据权利要求1-5任一项所述的方法,其特征在于,在标签网络场景中,所述报文处理方式包括根据不同预设时间范围对应不同的报文转发需求进行标签压入封装;
所述根据所述目标报文处理方式对所述待处理报文进行处理,包括:
将与所述到达时间信息匹配的预设时间范围对应的报文转发需求的标签依次压入所述待处理报文中。
8.一种报文处理方法,其特征在于,应用于SDN框架中的控制器,所述方法包括:
获取匹配动作表模型,其中所述匹配动作表模型以时间信息作为一种匹配域;
获取报文处理需求信息,所述报文处理需求信息包括预设时间范围以及对应的报文处理方式;
根据所述匹配动作表模型以及所述报文处理需求信息,生成预设匹配动作表及其表项;
将所述预设匹配动作表下发给SDN框架中的交换机,以使交换机在接收到待处理报文后,将所述待处理报文的到达时间信息与预设匹配动作表中的预设时间范围进行匹配,确定并执行目标报文处理方式。
9.根据权利要求8所述的方法,其特征在于,在卫星网络场景中,所述报文处理需求信息包括由多个时间阶段构成的时间周期、以及时间周期内不同时间阶段对应不同的用户面路径;所述方法还包括:
通过会话管理功能SMF根据用户面路径确定用户面转发设备,并与每个用户面转发设备建立会话,请求分配用户面路径规划相关信息。
10.根据权利要求9所述的方法,其特征在于,在标签网络场景中,所述报文处理需求信息包括至少一个预设时间范围以及对应的报文转发需求;所述方法还包括:
根据任一预设时间范围对应的报文转发需求生成报文处理方式,所述报文处理方式包括根据报文转发需求的标签依次压入所述待处理报文中。
11.一种交换机,包括存储器,收发机,处理器:
存储器,用于存储计算机程序;收发机,用于在所述处理器的控制下收发数据;处理器,用于读取所述存储器中的计算机程序并执行以下操作:
接收待处理报文,获取所述待处理报文的到达时间信息;
将所述到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,其中所述预设匹配动作表表项包括预设时间范围以及对应的报文处理方式;
根据所述预设匹配动作表表项,确定与所述到达时间信息匹配的预设时间范围对应的目标报文处理方式;
根据所述目标报文处理方式对所述待处理报文进行处理。
12.根据权利要求11所述的交换机,其特征在于,所述处理器在将所述到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配时,执行以下操作:
将所述到达时间信息与所述预设时间范围的起始时间和结束时间进行比较,确定所述到达时间信息与所述预设时间范围是否匹配;或者
将所述到达时间信息与所述预设时间范围的后N位设置为通配符,将设置后的所述到达时间信息与所述预设时间范围进行按位比对,其中N为正整数,根据比对结果确定所述到达时间信息与所述预设时间范围是否匹配;或者
将所述到达时间信息与所述预设时间范围的前M位进行按位比对,其中M为正整数,根据比对结果确定所述到达时间信息与所述预设时间范围是否匹配;或者
若存在至少两个存在嵌套关系的预设时间范围,则根据嵌套关系按照时间范围由小至大依次将所述到达时间信息与各预设时间范围的相应位数进行按位比对,并将能够匹配、且时间范围最小的预设时间范围确定为与所述到达时间信息相匹配的预设时间范围;或者
将所述到达时间信息与所述预设时间范围的前K位设置为通配符,将设置后的所述到达时间信息与所述预设时间范围进行按位比对,其中K为正整数,根据比对结果确定所述到达时间信息与所述预设时间范围是否匹配。
13.根据权利要求11所述的交换机,其特征在于,所述预设时间范围包括预设时长的时间周期,一个时间周期内包括多个时间阶段,各时间阶段对应不同的报文处理方式;所述处理器在将所述到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配时,执行以下操作:
根据所述到达时间信息与所述预设时长进行取余计算,根据取余结果在时间周期内确定所述到达时间信息所在的时间阶段。
14.根据权利要求13所述的交换机,其特征在于,所述处理器在根据所述到达时间信息与所述预设时长进行取余计算,根据取余结果在时间周期内确定所述到达时间信息所在的时间阶段时,执行以下操作:
在第一流表中根据所述到达时间信息与所述预设时长进行取余计算,并将计算结果存入元数据;
在第二流表中根据元数据中的取余结果在时间周期内确定所述到达时间信息所在的时间阶段。
15.根据权利要求11所述的交换机,其特征在于,所述处理器在获取所述待处理报文的到达时间信息时,执行以下操作:
获取交换机硬件初始化的固有元数据中包括的待处理报文的到达时间信息;和/或
获取所述待处理报文的包头字段中携带的所述待处理报文的到达时间信息;和/或
从交换机本地获取所述待处理报文的到达时间信息,并存储于元数据中。
16.根据权利要求11、13-15任一项所述的交换机,其特征在于,在卫星网络场景中,所述预设匹配动作表表项包括由多个时间阶段构成的时间周期、以及时间周期内不同时间阶段对应不同的用户面路径;
所述处理器在根据所述预设匹配动作表表项,确定与所述到达时间信息匹配的预设时间范围对应的目标报文处理方式时,执行以下操作:
根据所述预设匹配动作表表项,确定所述到达时间信息所在的目标时间阶段对应的路径隧道标识,以确定对应的用户面路径。
17.根据权利要求11-15任一项所述的交换机,其特征在于,在标签网络场景中,所述报文处理方式包括根据不同预设时间范围对应不同的报文转发需求进行标签压入封装;
所述处理器在根据所述目标报文处理方式对所述待处理报文进行处理时,执行以下操作:
将与所述到达时间信息匹配的预设时间范围对应的报文转发需求的标签依次压入所述待处理报文中。
18.一种控制器,包括存储器,收发机,处理器:
存储器,用于存储计算机程序;收发机,用于在所述处理器的控制下收发数据;处理器,用于读取所述存储器中的计算机程序并执行以下操作:
获取匹配动作表模型,并进行编译运行,其中所述匹配动作表模型以时间信息作为一种匹配域;
获取报文处理需求信息,所述报文处理需求信息包括预设时间范围以及对应的报文处理方式;
根据所述匹配动作表模型以及所述报文处理需求信息,生成预设匹配动作表及其表项;
将所述预设匹配动作表下发给SDN框架中的交换机,以使交换机在接收到待处理报文后,将所述待处理报文的到达时间信息与预设匹配动作表中的预设时间范围进行匹配,确定并执行目标报文处理方式。
19.根据权利要求18所述的控制器,其特征在于,在卫星网络场景中,所述报文处理需求信息包括由多个时间阶段构成的时间周期、以及时间周期内不同时间阶段对应不同的用户面路径;所述处理器还执行以下操作:
通过会话管理功能SMF根据用户面路径确定用户面转发设备,并与每个用户面转发设备建立会话,请求分配用户面路径规划相关信息。
20.根据权利要求18所述的控制器,其特征在于,在标签网络场景中,所述报文处理需求信息包括至少一个预设时间范围以及对应的报文转发需求;所述处理器还执行以下操作:
根据任一预设时间范围对应的报文转发需求生成报文处理方式,所述报文处理方式包括根据报文转发需求的标签依次压入所述待处理报文中。
21.一种SDN框架系统,包括如权利要求11-17任一项所述的交换机以及如权利要求18-20任一项所述的控制器。
22.一种报文处理装置,其特征在于,包括:
接收单元,用于接收待处理报文,获取所述待处理报文的到达时间信息;
匹配单元,用于将所述到达时间信息与预设匹配动作表表项中的预设时间范围进行匹配,其中所述预设匹配动作表表项包括预设时间范围以及对应的报文处理方式;
确定单元,用于根据所述预设匹配动作表表项,确定与所述到达时间信息匹配的预设时间范围对应的目标报文处理方式;
执行单元,用于根据所述目标报文处理方式对所述待处理报文进行处理。
23.一种报文处理装置,其特征在于,包括:
定义单元,用于获取匹配动作表模型,并进行编译运行,其中所述匹配动作表模型以时间信息作为一种匹配域;
输入单元,用于获取报文处理需求信息,所述报文处理需求信息包括预设时间范围以及对应的报文处理方式;
生成单元,用于根据所述匹配动作表模型以及所述报文处理需求信息,生成预设匹配动作表及其表项;
通信单元,用于将所述预设匹配动作表下发给SDN框架中的交换机,以使交换机在接收到待处理报文后,将所述待处理报文的到达时间信息与预设匹配动作表中的预设时间范围进行匹配,确定并执行目标报文处理方式。
24.一种处理器可读存储介质,其特征在于,所述处理器可读存储介质存储有计算机程序,所述计算机程序用于使所述处理器执行权利要求1-7或8-10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210637075.5A CN117240807A (zh) | 2022-06-07 | 2022-06-07 | 报文处理方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210637075.5A CN117240807A (zh) | 2022-06-07 | 2022-06-07 | 报文处理方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117240807A true CN117240807A (zh) | 2023-12-15 |
Family
ID=89095352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210637075.5A Pending CN117240807A (zh) | 2022-06-07 | 2022-06-07 | 报文处理方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117240807A (zh) |
-
2022
- 2022-06-07 CN CN202210637075.5A patent/CN117240807A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11824771B2 (en) | Packet processing method, related device, and computer storage medium | |
US20220103477A1 (en) | Packet processing method for implementing qos guarantee, device, and system | |
CN107819663B (zh) | 一种实现虚拟网络功能服务链的方法和装置 | |
US11533239B2 (en) | Method, apparatus, and system for obtaining network slice | |
EP2795872B1 (en) | System for flexible and extensible flow processing in software-defined networks | |
US8718064B2 (en) | Forwarding element for flexible and extensible flow processing software-defined networks | |
Silva et al. | On the adequacy of SDN and TSN for Industry 4.0 | |
CN104012063A (zh) | 用于软件定义网络中的灵活和可扩展流处理的控制器 | |
Steiner et al. | Next generation real-time networks based on IT technologies | |
CN111147372B (zh) | 下行报文发送、转发方法和装置 | |
CN104734964A (zh) | 报文处理方法、节点及系统 | |
CN105791169A (zh) | 软件定义网络中交换机转发控制、转发方法及相关设备 | |
CN110856052A (zh) | 支持多种粒度的FlexE实现方法、装置及电子设备 | |
CN111543034B (zh) | 用于并行处理的自描述数据包头部 | |
Kamali et al. | Formal analysis of proactive, distributed routing | |
CN108092914A (zh) | 网络流量负载均衡调度方法和装置 | |
CN117240807A (zh) | 报文处理方法、装置及存储介质 | |
JP6654733B2 (ja) | データ処理装置、ネットワークシステム、パケット順序制御回路、およびデータ処理方法 | |
CN108337181B (zh) | 一种交换网拥塞管理方法和装置 | |
CN108574637B (zh) | 一种地址自学习的方法、装置及交换机 | |
CN105323234A (zh) | 业务节点能力处理方法、装置、业务分类器及业务控制器 | |
CN116489237A (zh) | 数据包处理方法、装置及网络设备 | |
CN109005120B (zh) | 一种报文处理方法及网络设备 | |
Xu et al. | Coordinated resource allocation with VNFs precedence constraints in inter-datacenter networks over elastic optical infrastructure | |
US20230327999A1 (en) | Node and methods performed thereby for handling one or more member streams |
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 |