CN116418765A - 一种报文处理方法和网络设备 - Google Patents
一种报文处理方法和网络设备 Download PDFInfo
- Publication number
- CN116418765A CN116418765A CN202111668797.9A CN202111668797A CN116418765A CN 116418765 A CN116418765 A CN 116418765A CN 202111668797 A CN202111668797 A CN 202111668797A CN 116418765 A CN116418765 A CN 116418765A
- Authority
- CN
- China
- Prior art keywords
- message
- data stream
- identification
- identifier
- target
- 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
- 238000003672 processing method Methods 0.000 title abstract description 22
- 239000012634 fragment Substances 0.000 claims abstract description 96
- 230000005540 biological transmission Effects 0.000 claims abstract description 32
- 238000007493 shaping process Methods 0.000 claims abstract description 29
- 230000000875 corresponding effect Effects 0.000 claims description 65
- 238000000034 method Methods 0.000 claims description 32
- 238000013467 fragmentation Methods 0.000 claims description 17
- 238000006062 fragmentation reaction Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 9
- 230000002596 correlated effect Effects 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 claims description 5
- 230000015654 memory Effects 0.000 description 25
- 238000010586 diagram Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000003068 static effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种报文处理方法包括:从数据流获取待处理报文后,在配置信息中根据数据流的标识确定数据流的最大传输单元;在待处理报文的报文长度大于数据流的最大传输单元的情况下,获取目标报文标识,再根据数据流的最大传输单元将待处理报文分成多个具有目标报文标识的报文分片;根据数据流的输出间隔将多个报文分片进行整形;发送整形后的报文分片。这样能够对包括大数据报文的数据流进行整形,能够降低数据流的输出突发度以及降低数据丢失的可能性。本申请还提供一种能够实现上述报文处理方法的网络设备。
Description
技术领域
本申请涉及通信领域,尤其涉及一种报文处理方法和网络设备。
背景技术
在通信系统中,突发流量可能会造成网络的拥塞,从而产生丢包、延时和抖动,导致网络服务质量下降。流量整形可以控制网络连接的流量与突发,使数据流的报文均匀发送,降低流量的突发度。
目前有一种流量整形方法大致如下:接收数据包后,将数据包加入多个队列。多个队列按照队列号依次循环开启。每个队列开启的时长为一个发送周期,每个发送周期发送的数据量不能超过规定数据量。
在实际应用中,一些业务数据包的大小超过规定数据量,超过的数据包部分可能会丢失,因此该流量整形方法有很大的局限性。
发明内容
有鉴于此,本申请提供一种报文处理方法和网络设备,能够将数据流的报文进行分片,将多个报文分片整形后发送,这样能够降低数据包丢失的可能性,而且能够降低网络的突发度。
第一方面提供一种报文处理方法,该方法包括:从数据流获取待处理报文后,在配置信息中根据待处理报文包括的数据流的标识确定数据流的MTU;在待处理报文的报文长度大于数据流的MTU的情况下,获取目标报文标识,再根据数据流的MTU将待处理报文分成多个具有目标报文标识的报文分片;根据数据流的输出间隔将多个报文分片进行整形后,发送整形后的报文分片。标识占用信息为标识占用状态或标识占用时长。数据流的输出间隔可以根据实际情况预先配置。
依此实施,收到大数据报文的情况下,能够将大数据报文进行分片,将多个报文分片整形后发送,这样能够对数据流进行整形,通过对网络流量的精确控制能够降低数据流的输出突发度。这样提供了一种发送大数据报文的方案,能够降低数据丢失的可能性。
在一种可能的实现方式中,在从数据流获取待处理报文之前,从数据流的标识对应的服务级别协议中获取数据流的流整形带宽;根据数据流的流整形带宽与数据流的输出间隔的乘积确定数据流的MTU;将数据流的标识与数据流的MTU加入配置信息。这样设置MTU之后,按照该MTU发送报文分片能够满足服务级别协议规定的带宽和时延要求。
在另一种可能的实现方式中,在从数据流获取待处理报文之前,从数据流的标识对应的服务级别协议获取数据流的输出突发度;确定数据流的MTU为数据流的输出突发度;将数据流的标识和数据流的MTU加入配置信息。这样设置MTU之后,按照该MTU发送数据流报文能够满足服务级别协议规定的突发度要求。
在另一种可能的实现方式中,获取目标报文标识包括:在预设的标识资源池包括报文标识和标识占用时长的情况下,在发送多个报文分片之前在标识资源池中获取所有报文标识对应的标识占用时长;确定目标报文标识为最小标识占用时长对应的报文标识。依此实施,具有相同报文标识的报文分片是按照顺序发送的,多个报文分片在时间上不会重叠,因此不会产生标识冲突。选择最少标识占用时长对应的报文标识后,可以尽快发送报文分片。
可选的,多个报文分片对应的标识占用时长等于数据流的输出间隔与分片数量之积。这样可以根据待处理报文的大小和MTU确定待处理报文对应的标识占用时长和标识的释放时刻。
在另一种可能的实现方式中,上述报文处理方法还包括:计算缓存中目标报文的数量与目标报文分片的数量之和;根据计算结果设置目标报文标识对应的标识占用时长。其中,目标报文和目标报文分片均具有目标报文标识,计算结果与标识占用时长正相关。这样能够确定每个报文分片或报文的发送时刻,实现对数据流进行高精度检测。
在另一种可能的实现方式中,上述报文处理方法还包括:在标识资源池包括报文标识和标识占用状态的情况下,根据标识占用状态从标识资源池中选取一个未占用的报文标识作为目标报文标识。这样提供了另一种分配报文标识的方法。
第二方面提供一种网络设备,可以具有实现第一方面中报文处理方法的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
第三方面提供一种网络设备,其包括处理器和存储器,所述存储器用于存储程序;所述处理器通过执行程序用于实现第一方面的报文处理方法。
第四方面提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面的方法。
第五方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行第一方面的方法。
第六方面提供了一种芯片系统,包括至少一个处理器,所述处理器和存储器耦合,所述存储器用于存储计算机程序或指令,所述处理器用于执行所述计算机程序或指令,以实现第一方面的方法。
附图说明
图1为本申请实施例中应用场景的一个示意图;
图2为本申请实施例中报文处理方法的一个流程图;
图3为本申请实施例中将报文分片的一个示意图;
图4为本申请实施例中报文标识和标识占用时长的一个示意图;
图5为本申请实施例中报文标识和标识占用时长的另一个示意图;
图6A为本申请实施例中发送报文分片的一个示意图;
图6B为本申请实施例中发送报文分片的一个示意图;
图7为本申请实施例中发送报文分片的另一个示意图;
图8为本申请实施例中发送报文和报文分片的一个示意图;
图9为本申请实施例中报文标识和标识占用状态的一个示意图;
图10为本申请实施例中网络设备的一个结构图;
图11为本申请实施例中将待处理报文进行分片整形的一个示意图;
图12为本申请实施例中分片模块的一个结构图;
图13为本申请实施例中网络设备的另一个结构图。
具体实施方式
本申请的报文处理方法可以应用于具有突发数据流的通信系统。报文处理方法的执行主体可以是通信系统中的路由器和/或交换机。
参阅图1,在一个应用场景的示例中,通信系统包括变电站设备11,基站121,基站122,基站123,基站侧网关(cell site gateway,CSG)131,基站侧网关132,基站侧网关133,接入业务网关(access service gateway,ASG)14和移动边缘计算(mobile edgecomputing,MEC)实体15。
变电站设备11通过数据传输单元(data transfer unit,DTU)连接基站121。基站侧网关131,基站侧网关132和基站侧网关133构成一个基站侧网关环。在该基站侧网关环中,基站侧网关131与基站121连接,基站侧网关132与基站122连接,基站侧网关133与基站123连接。接入业务网关14连接该基站侧网关133和移动边缘计算实体15。基站侧网关131,基站侧网关132和基站侧网关133可以部署有路由器和/或交换机,接入业务网关14可以部署有路由器和/或交换机。可选的,基站侧网关的带宽为10吉比特每秒(Gbps)。接入业务网关环的带宽为50Gbps。单跳光纤的长度为2~10千米。
应理解,具有突发流量的应用场景不限于图1所示的应用场景。在上述应用场景中,变电站设备数量,基站数量,基站侧网关数量和接入业务网关的数量和移动边缘计算实体的数量不限于以上举例。各设备之间的连接关系不限于以上举例,例如,每个基站可以连接一个或多个变电站设备,每个基站侧网关可以连接一个或多个基站,每个接入业务网关可以连接一个或多个基站侧网关,例如接入业务网关连接20个基站侧网关。多个接入业务网关可以构成一个接入业务网关环。
变电站设备11的数据经过基站121,基站侧网关131,基站侧网关132,基站侧网关133,接入业务网关14到达移动边缘计算实体15。由于变电站设备11的数据是周期性发送的,因此容易产生平均速率低且输出突发度大的数据流。在本申请中,输出突发度是指在调度某个数据流时一次性发送的最大字节数。
现有的流量整形方法不能对包含大数据包的流量进行整形。对此,本申请提供一种报文处理方法,能够对数据流设置最大传输单元,按照最大传输单元将数据流进行分片,然后将报文分片分成多个周期发送,不仅可以防止数据丢失,还可以降低流量突发度。下面对本申请的报文处理方法进行介绍,参阅图2,本申请的报文处理方法的一个实施例包括:
步骤201、从数据流获取待处理报文。
具体的,报文包括报文头部和报文数据。待处理报文包括数据流的标识,数据流的标识可以是但不限于网际互连协议(internet protocol,IP)五元组。在报文头部中,数据流的IP五元组包括源IP地址,目标地IP地址,源端口号,目的端口号和协议号。数据流的标识还可以包括数据流的序号。
步骤202、在配置信息中根据数据流标识确定数据流的最大传输单元。
配置信息包括多个数据流标识以及每个数据流标识对应的最大传输单元。配置信息可以是但不限于以配置信息表的形式存储在网络设备中。
步骤203、当待处理报文的报文长度大于数据流的最大传输单元时,获取目标报文标识。
在一个示例中,获取目标报文标识包括:由网络设备按照循环分配规则获取目标报文标识。例如,当n∈[0,N)时,待处理报文的前一个报文的报文序号为n,则待处理报文对应的报文序号为n+1。当n=N时,待处理报文的前一个报文的报文序号为N,待处理报文对应的报文序号为0。n和N均为正整数。
在另一些示例中,获取目标报文标识包括:由网络设备根据标识占用时长或标识占用状态从标识资源池获取目标报文标识。标识资源池可以是但不限于标识资源表。可选的,标识资源池包括多个报文标识和每个报文标识对应的标识占用时长。另一可选的,标识资源池包括多个报文标识和每个报文标识对应的标识占用状态。
步骤204、根据数据流的最大传输单元将待处理报文分成多个具有目标报文标识的报文分片。
其中,每个报文分片的报文长度小于或等于目标MTU。可选的,最后一个分片的报文长度小于或等于目标MTU,其他报文分片的报文长度等于目标MTU。待处理报文的报文长度和分片的报文长度满足以下公式:
L-H=(n-1)*(MTU-H)+(Ln-H);
n为分片数量,L为待处理报文的报文长度,Ln为第n个分片的报文长度。第1个分片至第n-1个分片的报文长度均为目标MTU,H为报文头部的长度。
参阅图3,在一个可选示例中,报文31的长度为9600字节,目标MTU为4000字节,报文头部的长度为160字节,可以将报文31分成报文分片32,报文分片33和报文分片34,报文分片32和报文分片33的大小为4000字节,报文分片34的大小为1920字节。
报文分片包括报文头部和报文分片数据。报文头部包括但不限于报文长度,报文标识,分片偏移量。报文标识可以包括但不限于报文序号。每个报文分片具有唯一的分片偏移量。分片偏移量可以用于标识第几个报文分片。报文分片也可以称为分片或者分片报文。
步骤205、根据数据流的输出间隔将多个报文分片进行整形。
数据流的输出间隔可以根据实际情况预先设置的,具体可以为一个或多个时间片。时间片是网络设备发送报文的最小发送周期。时间片的长度可以是但不限于10微秒。
当一个时间片发送一个报文分片时,数据流的输出间隔是报文分片的发送周期。当一个时间片发送一个报文分片组时,数据流的输出间隔是报文分片组的发送周期。报文分片组可以包括一个或多个报文。应理解,整形后的多个报文分片可以但不限于按照分片偏移量的顺序进行排列。
步骤206、发送整形后的报文分片。
在发送多个报文分片之前,如果在缓存中有等待发送的报文或报文分片,那么先发送在多个报文分片之前的报文或报文分片,再发送整形后的报文分片。如果在缓存中有等待发送的报文和报文分片,那么先发送在多个报文分片之前的报文和报文分片,再发送整形后的报文分片。例如,有1个报文和2个报文分片具有目标报文标识且在多个报文分片之前。当前时刻处于第5个时间片,可以从第6个时间片开始发送1个报文和2个报文分片,以及从第9个时间片开始发送整形后的报文分片。
如果在缓存中没有等待发送的报文,那么可以从当前时刻的下一个时间片开始发送整形后的报文分片。例如,当前时刻处于第5个时间片,那么从第6个时间片开始发送整形后的报文分片。上述报文分片对应的时间片为示意性举例,不应视为对其的限制。
本实施例中,收到大数据报文之后,按照最大传输单元将大数据报文进行分片,然后将报文分片整形后发送,这样对网络流量的精确控制可以降低数据流的输出突发度。
其次,将大数据报文分成多个报文分片,可以在多个发送周期发送,这样可以解决发送大数据报文时丢失部分数据的问题。
在一个可选实施例中,在步骤201之前,上述报文处理方法还包括:从数据流的标识对应的服务级别协议中获取数据流的流整形带宽;根据数据流的流整形带宽与数据流的输出间隔的乘积确定数据流的MTU;将数据流的标识与数据流的MTU加入配置信息。
可选的,数据流的MTU等于流整形带宽与数据流的输出间隔之积。MTU=B*T。B为流整形带宽,T为数据流的输出间隔。
在一个示例中,T为100微秒(us),B为10Mbps(兆比特每秒),则MTU=10Mbps*100us=1000比特=125字节。
在另一个示例中,T为20微秒(us),B为100Mbps(兆比特每秒),则MTU=100Mbps*20us=2000比特=250字节。
在另一个示例中,T为20微秒(us),B为100Mbps(兆比特每秒),则MTU=2*100Mbps*20us=2000比特=500字节。
需要说明的是,在一个时间片发送一个报文分片组且报文分片组包括多个报文分片的情况下,在N个时间片内有M个时间片可以发送报文分片组时,MTU=B*T*N/M。M和N均为正整数且M<N。
这样设置数据流的MTU之后,按照数据流的MTU发送数据流报文或报文分片能够满足服务级别协议规定的带宽和时延要求。
在另一个可选实施例中,在步骤201之前,上述报文处理方法还包括:从数据流的标识对应的服务级别协议获取数据流的输出突发度;确定数据流的MTU为数据流的输出突发度;将数据流的标识和数据流的MTU加入配置信息。
本实施例中,输出突发度是指在调度数据流时一次性发送的最大字节数。这样设置数据流的MTU后,按照该MTU发送数据流报文或报文分片,可以使得每次发送的数据量不超过允许的输出突发度,从而满足服务级别协议规定的输出突发度要求。
在现有的报文分片方法中,路由器收到报文后,通过路由查找确定与报文对应的接口,再确定与该接口对应的链路最大传输单元。当收到的报文大于链路最大传输单元时,将报文分成小于或等于链路最大传输单元的报文分片。这种方法对接口传输的所有流量进行整形,难以满足服务级别协议规定的数据流的带宽要求或时延要求。
按照现有方法发送大数据包的报文分片,会存在报文标识冲突。例如,分片大小为64字节。将9600字节的IPV4报文分成219个报文分片后,需要经过219个发送周期才能发送完。当网络设备具有100Gbps的接口和10us的发送周期时,每周期可以发送125000字节。这表示每周期最多可以发送1953个64字节的报文,219个发送周期可以发送427707个64字节的报文。现有的IPV4的报文序号的最大值为65535,即一轮分配65536个序号。由于427707远大于65536,因此给报文分片分配的序号会与其他轮次分配的序号产生标识冲突,这样接收报文的设备无法区分具有相同报文标识的报文,会产生组装报文错误或丢失报文。
对此,本申请提供了设置标识占用时长或标识占用状态的方法,基于标识占用时长或标识占用状态将具有相同报文标识的报文分片按照顺序发送,能够避免报文标识冲突。
在一个可选实施例中,上述报文处理方法还包括:对于具有目标报文标识的目标报文和目标报文分片,计算缓存中目标报文的数量与目标报文分片的数量之和;根据计算结果设置目标报文标识对应的标识占用时长。
本实施例中,对于网络设备的缓存中的报文或报文分片,给报文或报文分片分配报文标识之后,可以计算具有报文标识的报文数量与报文分片数量之和,根据计算结果确定报文标识对应的标识占用时长。依此类推,对于标识资源池的每个报文标识,可以确定每个报文标识对应的标识占用时长,这样能够周期性检测标识占用时长。
计算结果与标识占用时长正相关。可选的,计算结果与标识占用时长成正比。当目标报文的发送周期为1个时间片且目标报文分片的发送周期为1个时间片时,标识占用时长可以等于计算结果*时间片。在任意一个时刻,网络设备存储有a个报文和b个报文分片具有相同的报文标识,则该报文标识对应的标识占用时长为a+b个时间片。a和b为正整数。例如,一个报文对应的标识占用时长为1个时间片。每发送一个报文,标识占用时长相应减一。
当目标报文的发送周期为n个时间片且目标报文分片的发送周期为n个时间片时,标识占用时长可以等于计算结果*n*时间片。
在另一个可选实施例中,根据标识资源池包含的标识占用信息从标识资源池获取目标报文标识包括:在标识资源池包括报文标识和标识占用时长的情况下,在发送多个报文分片之前在标识资源池中获取所有报文标识对应的标识占用时长;确定目标报文标识为最小标识占用时长对应的报文标识。
本实施例中,标识占用时长表示还有多久释放该报文标识。当采用最小标识占用时长对应的报文标识时,发送多个报文分片需要等待的时间最少,因此可以缩短发送时间。而且可以防止一个报文标识被多个报文占用,另一些报文标识空闲的问题。
参阅图4,在一个示例中,报文标识包括0~17,在第一统计时刻获得的统计结果中,报文标识1对应的标识占用时长为8个时间片,报文标识2对应的标识占用时长为5个时间片,报文标识5对应的标识占用时长为10个时间片,报文标识12对应的标识占用时长为6个时间片,报文标识13对应的标识占用时长为6个时间片,其他报文标识对应的标识占用时长为0。一个报文标识的标识占用时长为0表示该报文标识为未占用的报文标识,即该报文标识处于空闲状态。
网络设备在一个时间片可以发送一组报文,该组报文包括每个报文标识的一个报文。经过一个时间片后,在标识资源池中非0的标识占用时长减一。标识占用时长为0的保持不变。经过一个时间片后,在标识资源池中标识占用时长如图5所示。
当最小标识占用时长有多个时,可以选择其中任意一个对应的报文标识作为目标报文标识。当最小标识占用时长为0时,可以将待处理报文的第一个报文分片在下一个时间片进行发送。如图5所示,最小标识占用时长为0,最小标识占用时长对应的报文标识包括0,3,4,6,7,8,9,10,11,14,15,16,17。从其中选择任意一个作为多个报文分片的报文标识。
在一个可选实施例中,每个报文分片对应的标识占用时长等于数据流的输出间隔。
当数据流的输出间隔等于一个时间片时,多个报文分片对应的标识占用时长等于时间片与分片数量之积。参阅图6A,在一个示例中,9个连续的时间片的标记分别为610,611,612,613,614,615,616,617,618。报文分片601的标识占用时长为时间片611,报文分片602的标识占用时长为时间片612,报文分片603的标识占用时长为时间片613,报文分片604的标识占用时长为时间片614。4个报文分片对应的标识占用时长为4个时间片。
当数据流的输出间隔等于2个时间片时,多个报文分片对应的标识占用时长等于2个时间片与分片数量之积。参阅图6B,在另一个示例中,9个连续的时间片的标记分别为610,611,612,613,614,615,616,617,618。报文分片601的标识占用时长包括时间片611和时间片612,报文分片602的标识占用时长包括时间片613和时间片614,报文分片603的标识占用时长包括时间片615和时间片616,报文分片604的标识占用时长包括时间片617和时间片618。数据流的输出间隔等于2个时间片,则4个报文分片对应的标识占用时长为8个时间片。
需要说明的是,一个时间片可以发送m个具有相同报文标识的报文。m的取值可以根据实际情况进行设置,本申请不作限定。参阅图7,9个连续的时间片的标记分别为710,711,712,713,714,715,716,717,718。一个时间片可以发送2个报文分片,则报文分片601对应的标识占用时长包括时间片711和时间片712,报文分片602对应的标识占用时长包括时间片711和时间片712,报文分片603对应的标识占用时长包括时间片713和时间片714,报文分片604对应的标识占用时长包括时间片713和时间片714。
在另一个可选实施例中,在发送整形后的报文分片之前,上述报文处理方法还包括:获取具有目标报文标识的多个报文;确定多个报文的发送次序;按照多个报文的发送次序发送多个报文。
下面对延迟发送报文分片的情况进行介绍,参阅图8,在一个示例中,9个连续的时间片的标记分别为810,811,812,813,814,815,816,817,818。报文分片601~报文分片604和报文801~报文803具有相同的报文标识。报文分片601的标识占用时长为时间片814,报文分片602的标识占用时长为时间片815,报文分片603的标识占用时长为时间片816,报文分片604的标识占用时长为时间片817。在发送报文分片601~报文分片604之前,需要先在时间片811发送报文801,在时间片812发送报文802以及在时间片813发送报文803。这样将相同报文标识的报文按照顺序发送,可以避免报文标识冲突。应理解,报文分片数量,报文数量,以及数据流对应的标识占用时长不限于以上举例,具体可以根据实际情况进行设置。
在另一个可选实施例中,根据标识资源池包含的标识占用信息从标识资源池获取目标报文标识包括:在标识资源池包括报文标识和标识占用状态的情况下,根据标识占用状态从标识资源池中选取一个未占用的报文标识作为目标报文标识。
本实施例中,标识资源池包括多个报文标识和每个报文标识的标识占用状态,报文标识的标识占用状态包括占用状态和未占用状态。例如,未占用状态记为0,占用状态记为1。在另一个例子中,未占用状态记为1,占用状态记为0。
在一个示例中,报文标识和报文标识的标识占用状态如图9所示。参阅图9,报文标识包括0~17。报文标识状态为0,表示报文处于未占用状态。报文标识状态为1,表示报文标识处于占用状态。
需要说明的是,如果在标识资源池中全部标识的标识占用状态均为占用,那么可以丢弃待处理报文。当多个报文分片全部发送完后,可以释放多个报文分片的报文标识。这样提供了另一种分配报文标识的方法,提高了方案实施的灵活性。
本申请提供一种网络设备,能够实现上述实施例中报文处理方法。参阅图10,在一个实施例中,网络设备1000包括:
获取模块1001,用于从数据流获取待处理报文,待处理报文包括数据流的标识;
分片模块1002,用于在配置信息中根据数据流标识确定数据流的MTU;
分片模块1002,还用于在待处理报文的报文长度大于数据流的MTU的情况下,获取目标报文标识;
分片模块1002,还用于根据数据流的MTU将待处理报文分成多个具有目标报文标识的报文分片;
整形模块1003,用于根据数据流的输出间隔将多个报文分片进行整形;
发送模块1004,用于发送整形后的报文分片。
本实施例中,网络设备1000可以实现图2所示实施例或可选实施例中的报文处理方法。获取模块1001,分片模块1002,整形模块1003可以由处理器实现。发送模块1004可以由网络接口实现。
下面以一个例子对分片模块1002和整形模块1003的处理过程进行介绍。参阅图11,在一个示例中,待处理报文输入分片模块1002后,分片模块1002将待处理报文分成4个分片,整形模块1003根据数据流的输出间隔对4个分片进行整形。
参阅图12,在一个可选实施例中,分片模块1002包括最大传输单元配置子模块1201,报文标识资源池子模块1202和报文分片子模块1203;
最大传输单元配置子模块1201用于在配置信息中根据数据流标识确定数据流的最大传输单元;
报文标识资源池子模块1202用于在待处理报文的报文长度大于数据流的MTU的情况下,获取目标报文标识;
报文分片子模块1203用于根据数据流的MTU将待处理报文分成多个具有目标报文标识的报文分片。
在一个可选实施例中,分片模块1002还用于从数据流的标识对应的服务级别协议中获取数据流的流整形带宽;根据数据流的流整形带宽与数据流的输出间隔的乘积确定数据流的MTU;将数据流标识和数据流的MTU加入配置信息。
在另一个可选实施例中,分片模块1002还用于从数据流的标识对应的服务级别协议中获取数据流的输出突发度;确定数据流的MTU为数据流的输出突发度;将数据流的标识和数据流的MTU加入配置信息。
在另一个可选实施例中,分片模块1002具体用于在标识资源池包括报文标识和标识占用时长的情况下,在发送多个报文分片之前在标识资源池中获取所有报文标识对应的标识占用时长;确定目标报文标识为最小标识占用时长对应的报文标识。可选的,每个报文分片对应的标识占用时长等于数据流的输出间隔。
在另一个可选实施例中,分片模块1002还用于计算缓存中目标报文的数量与目标报文分片的数量之和,目标报文和目标报文分片均具有目标报文标识;根据计算结果设置目标报文标识对应的标识占用时长,计算结果与标识占用时长正相关。
在另一个可选实施例中,分片模块1002具体用于在标识资源池包括报文标识和标识占用状态的情况下,根据标识占用状态从标识资源池中选取一个未占用的报文标识作为目标报文标识。
图10所示实施例中的名词解释,网络设备1000中各单元执行步骤和有益效果可参阅上述方法实施例中的相应记载。
下面从硬件装置角度对本申请的网络设备进行介绍,网络设备可以是路由器或交换机。参阅图13,本申请中网络设备1300的一个实施例包括:通过总线1304连接的处理器1301,存储器1302和网络接口1303。
本实施例中,存储器1302用于存储程序,指令或数据等信息。通过调用存储器1302存储的程序或指令,处理器1301用于执行图2所示实施例中报文处理方法。
应理解,本实施例中提及的处理器1301可以是中央处理单元(centralprocessing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中提及的存储器1302可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double datarate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。
网络接口1303可以用于接收或发送报文。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
另外需说明的是,以上所描述的装置实施例只是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行上述实施例或可选实施例中的报文处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本申请还提供一种芯片系统,该芯片系包括相互耦合的处理器和存储器。存储器用于存储的计算机程序或指令,该处理单元用于执行存储器存储的计算机程序或指令,以使网络设备执行上述实施例中由网络设备执行的步骤。可选地,存储器为芯片内的存储器,如寄存器、缓存等,存储器还可以是站点内的位于芯片外部的存储器,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,专用集成电路(application specific integrated circuit,ASIC)或一个或多个用于实现上述报文处理方法的集成电路。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。
Claims (13)
1.一种报文处理方法,其特征在于,包括:
从数据流获取待处理报文,所述待处理报文包括所述数据流的标识;
在配置信息中根据所述数据流的标识确定所述数据流的最大传输单元MTU;
在所述待处理报文的报文长度大于所述数据流的MTU的情况下,获取目标报文标识;
根据所述数据流的MTU将所述待处理报文分成多个具有所述目标报文标识的报文分片;
根据所述数据流的输出间隔将多个报文分片进行整形;
发送整形后的报文分片。
2.根据权利要求1所述的方法,其特征在于,在所述从数据流获取待处理报文之前,所述方法还包括:
从所述数据流的标识对应的服务级别协议中获取所述数据流的流整形带宽;
根据所述数据流的流整形带宽与所述数据流的输出间隔的乘积确定所述数据流的MTU;
将所述数据流的标识与所述数据流的MTU加入所述配置信息。
3.根据权利要求1所述的方法,其特征在于,在所述从数据流获取待处理报文之前,所述方法还包括:
从所述数据流的标识对应的服务级别协议获取所述数据流的输出突发度;
确定所述数据流的MTU为所述数据流的输出突发度;
将所述数据流的标识和所述数据流的MTU加入所述配置信息。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述获取目标报文标识包括:在标识资源池包括报文标识和标识占用时长的情况下,在发送所述多个报文分片之前在所述标识资源池中获取所有报文标识对应的标识占用时长;
确定所述目标报文标识为最小标识占用时长对应的报文标识。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
计算缓存中目标报文的数量与目标报文分片的数量之和,所述目标报文和所述目标报文分片均具有所述目标报文标识;
根据计算结果设置所述目标报文标识对应的标识占用时长,所述计算结果与所述标识占用时长正相关。
6.根据权利要求1至3中任一项所述的方法,其特征在于,所述获取目标报文标识包括:
在标识资源池包括报文标识和标识占用状态的情况下,根据标识占用状态从所述标识资源池中选取一个未占用的报文标识作为目标报文标识。
7.一种网络设备,其特征在于,包括:
获取模块,用于从数据流获取待处理报文,所述待处理报文包括所述数据流的标识;
分片模块,用于在配置信息中根据所述数据流标识确定所述数据流的最大传输单元MTU;
所述分片模块,还用于在所述待处理报文的报文长度大于所述数据流的MTU的情况下,获取目标报文标识;
所述分片模块,还用于根据所述数据流的MTU将所述待处理报文分成多个具有所述目标报文标识的报文分片;
整形模块,用于根据所述数据流的输出间隔将多个报文分片进行整形;
发送模块,用于发送整形后的报文分片。
8.根据权利要求7所述的网络设备,其特征在于,
所述分片模块还用于从所述数据流的标识对应的服务级别协议中获取所述数据流的流整形带宽;根据所述数据流的流整形带宽与所述数据流的输出间隔的乘积确定所述数据流的MTU;将所述数据流标识和所述数据流的MTU加入所述配置信息。
9.根据权利要求7所述的网络设备,其特征在于,
所述分片模块还用于从所述数据流的标识对应的服务级别协议中获取所述数据流的输出突发度;确定所述数据流的MTU为所述数据流的输出突发度;将所述数据流的标识和所述数据流的MTU加入所述配置信息。
10.根据权利要求7至9中任一项所述的网络设备,其特征在于,
所述分片模块具体用于在标识资源池包括报文标识和标识占用时长的情况下,在发送所述多个报文分片之前在标识资源池中获取所有报文标识对应的标识占用时长;确定所述目标报文标识为最小标识占用时长对应的报文标识。
11.根据权利要求10所述的网络设备,其特征在于,
所述分片模块,还用于计算缓存中目标报文的数量与目标报文分片的数量之和,所述目标报文和所述目标报文分片均具有所述目标报文标识;根据计算结果设置所述目标报文标识对应的标识占用时长,所述计算结果与所述标识占用时长正相关。
12.根据权利要求7至9中任一项所述的网络设备,其特征在于,
所述分片模块具体用于在标识资源池包括报文标识和标识占用状态的情况下,根据标识占用状态从所述标识资源池中选取一个未占用的报文标识作为目标报文标识。
13.一种计算机可读存储介质,存储有指令,当其在计算机上运行时,使得计算机执行权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111668797.9A CN116418765A (zh) | 2021-12-30 | 2021-12-30 | 一种报文处理方法和网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111668797.9A CN116418765A (zh) | 2021-12-30 | 2021-12-30 | 一种报文处理方法和网络设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116418765A true CN116418765A (zh) | 2023-07-11 |
Family
ID=87053480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111668797.9A Pending CN116418765A (zh) | 2021-12-30 | 2021-12-30 | 一种报文处理方法和网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116418765A (zh) |
-
2021
- 2021-12-30 CN CN202111668797.9A patent/CN116418765A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106789729B (zh) | 一种网络设备中的缓存管理方法及装置 | |
US11968111B2 (en) | Packet scheduling method, scheduler, network device, and network system | |
CN110138610B (zh) | 一种业务报文的发送方法及装置 | |
JP7467645B2 (ja) | サービスレベル調整方法および装置、デバイス、ならびに記憶媒体 | |
US9473599B2 (en) | High payload data packet transmission system and relay to lower latency | |
CN105591983B (zh) | 一种QoS的出口带宽的调整方法和装置 | |
US9515940B2 (en) | Method for transmitting data in a packet-oriented communications network and correspondingly configured user terminal in said communications network | |
CN113225196B (zh) | 服务等级配置方法以及装置 | |
CN112242956B (zh) | 流速控制方法和装置 | |
CN114631290B (zh) | 数据分组的传输 | |
JP2007506364A (ja) | ネットワーク・パケットの経験的スケジュール設定方法 | |
CN112311685A (zh) | 一种处理网络拥塞的方法以及相关装置 | |
CN111602376B (zh) | 用于管理延迟敏感的分组的传输的方法和设备 | |
CN112104564A (zh) | 一种负载分担方法及设备 | |
US7230918B1 (en) | System for using special links in multi-link bundles | |
US11025551B2 (en) | Weighted fair queueing using severity-based window in reliable packet delivery network | |
CN113055301A (zh) | 拥塞控制方法及相关设备 | |
US6418118B1 (en) | Network device including selective discard of packets | |
CN115955447B (zh) | 一种数据传输方法、交换机及交换机系统 | |
WO2018171115A1 (zh) | 一种分片的服务质量保证方法及现场可编程逻辑门阵列 | |
CN108243117B (zh) | 一种流量监控方法、装置及电子设备 | |
CN116418765A (zh) | 一种报文处理方法和网络设备 | |
CN112751774B (zh) | 一种数据包处理方法、装置及设备 | |
WO2021012902A1 (zh) | 一种处理网络拥塞的方法以及相关装置 | |
US11442432B2 (en) | Communication device and method for data transmission within an industrial communication network |
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 |