CN117097678B - 分片报文的流式转发方法、装置、设备和存储介质 - Google Patents

分片报文的流式转发方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN117097678B
CN117097678B CN202311366542.6A CN202311366542A CN117097678B CN 117097678 B CN117097678 B CN 117097678B CN 202311366542 A CN202311366542 A CN 202311366542A CN 117097678 B CN117097678 B CN 117097678B
Authority
CN
China
Prior art keywords
message
fragment
item
header information
fragmented
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
CN202311366542.6A
Other languages
English (en)
Other versions
CN117097678A (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.)
Shenzhen Huayun Information System Technology Co ltd
Original Assignee
Shenzhen Huayun Information System Technology Co ltd
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 Shenzhen Huayun Information System Technology Co ltd filed Critical Shenzhen Huayun Information System Technology Co ltd
Priority to CN202311366542.6A priority Critical patent/CN117097678B/zh
Publication of CN117097678A publication Critical patent/CN117097678A/zh
Application granted granted Critical
Publication of CN117097678B publication Critical patent/CN117097678B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow 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

分片报文的流式转发方法、装置、设备和存储介质
技术领域
本申请涉及通信技术领域,尤其涉及一种分片报文的流式转发方法、装置、设备和存储介质。
背景技术
目前,以太网和802.3协议对IP报文(Internet Protocol Datagram)的大小设置了传输上限,该传输上限一般为1500字节或者1492字节,报文的长度不得超过该传输上限。该传输上限在数据链路层体现为MTU(Maximum Transmission Unit,最大传输单元)。在报文传输之前,需要将报文的长度与MTU进行比较,如果报文的长度大于MTU,则需要对报文进行分片,每个分片报文的长度不得超过MTU。
其中,分片报文的类型包括:首分片、中间分片和尾分片。虽然,同一报文的各个分片报文对应相同的端口信息。但是,仅首分片携带端口信息,而中间分片和尾分片不携带端口信息。基于此,在网络接收端过滤报文时,需要等待同一报文的首分片、中间分片和尾分片都到达后,将首分片、中间分片和尾分片重组为一个完整报文,并根据首分片中携带的端口信息实现报文的端口转发。
因此,目前的报文转发方式需要等待同一报文的各个分片报文全部到达并且将各个分片报文重组为完整报文,这种报文重组转发方式需要缓存全部分片报文,存储资源消耗较大并且报文转发速度较慢。
发明内容
本申请提供了一种分片报文的流式转发方法、装置、设备和存储介质,以解决目前的报文重组转发方式需要缓存全部分片报文,存储资源消耗较大并且报文转发速度较慢的问题。
针对上述技术问题,本申请技术方案是通过如下实施例来解决的:
本申请实施例提供了一种分片报文的流式转发方法,包括:设置包括多个条目的报文首部记录表;在网络设备接收端口,接收分片报文并识别所述分片报文的类型;在识别出所述分片报文为首个分片时,根据所述分片报文的首部信息转发所述分片报文,并且,将所述分片报文的首部信息写入所述报文首部记录表的目标条目;其中,所述目标条目为所述报文首部记录表中的空闲条目或者空闲时间最长的条目;在识别出所述分片报文为后续分片时,在所述报文首部记录表中,查询与所述分片报文的首部信息相匹配的条目,根据相匹配的所述条目中记录的首部信息转发所述分片报文;其中,所述后续分片的类型包括尾分片,在识别出所述分片报文为尾分片并且查询到与所述分片报文的首部信息相匹配的条目时,延时第一预设时长后,停止转发所述分片报文所属报文的其他后续分片。
其中,在将所述分片报文的首部信息写入所述报文首部记录表的目标条目之前,还包括:预先为每个所述条目对应设置递增计时器;其中,针对每个所述条目,其对应的所述递增计时器的计时值用于表示所述条目的空闲时间;其对应的所述递增计时器被重置启动的条件包括:所述条目被写入分片报文的首部信息,所述条目被覆盖分片报文的首部信息,以及,查询到所述条目当前记录的首部信息与分片报文的首部信息相匹配。
其中,将所述分片报文的首部信息写入所述报文首部记录表的目标条目,包括:在所述报文首部记录表中存在空闲条目时,将所述空闲条目作为目标条目,将所述分片报文的首部信息写入所述目标条目并且重置启动所述目标条目对应的递增计时器;在所述报文首部记录表中没有空闲条目时,读取所述报文首部记录表中的多个所述条目分别对应的递增计时器的计时值;比较多个所述条目分别对应的递增计时器的计时值;将计时值最大的递增计时器对应的条目作为目标条目,使用所述分片报文的首部信息覆盖所述目标条目中原来的首部信息,并且,重置启动计时值最大的所述递增计时器。
其中,每个所述递增计时器的最大计时时长为第二预设时长;所述方法还包括:针对每个所述递增计时器,在检测到所述递增计时器的计时值达到所述第二预设时长时,在所述报文首部记录表中,删除所述递增计时器对应的条目中记录的首部信息,并将所述条目作为所述报文首部记录表中的空闲条目。
其中,在延时第一预设时长之前,还包括:预先为每个所述条目对应设置递减计时器;其中,针对每个所述条目,其对应的所述递减计时器的计时值用于表示所述条目的延时时间;其对应的所述递减计时器被重置启动的条件包括:识别出所述分片报文为尾分片并且查询到所述条目当前记录的首部信息与所述分片报文对应的首部信息相匹配。
其中,在识别出所述分片报文为尾分片并且查询到与所述分片报文的首部信息相匹配的条目时,延时第一预设时长后,停止转发所述分片报文所属报文的其他后续分片,包括:在识别出所述分片报文为尾分片并且查询到与所述分片报文的首部信息相匹配的条目时,重置启动所述条目对应的递减计时器;其中,所述递减计时器的最大计时时长为第一预设时长;在检测到所述条目对应的递减计时器归零时 ,删除所述条目中记录的首部信息,以便停止转发所述分片报文所属报文的其他后续分片。
其中,所述方法还包括:在所述报文首部记录表中,如果未查询到与所述分片报文的首部信息相匹配的条目,则丢弃所述分片报文。
本申请实施例还提供了一种分片报文的流式转发装置,包括:设置模块,用于设置包括多个条目的报文首部记录表;接收和识别模块,用于在网络设备接收端口,接收分片报文并识别所述分片报文的类型;首个分片转发模块,用于在识别出所述分片报文为首个分片时,根据所述分片报文的首部信息转发所述分片报文,并且,将所述分片报文的首部信息写入所述报文首部记录表的目标条目;其中,所述目标条目为所述报文首部记录表中的空闲条目或者空闲时间最长的条目;后续分片转发模块,用于在识别出所述分片报文为后续分片时,在所述报文首部记录表中,查询与所述分片报文的首部信息相匹配的条目,根据相匹配的所述条目中记录的首部信息转发所述分片报文;其中,所述后续分片的类型包括尾分片,在识别出所述分片报文为尾分片并且查询到与所述分片报文的首部信息相匹配的条目时,延时第一预设时长后,停止转发所述分片报文所属报文的其他后续分片。
本申请实施例还提供了一种分片报文的流式转发设备,包括:至少一个通信接口;与所述至少一个通信接口相连接的至少一个总线;与所述至少一个总线相连接的至少一个处理器;与所述至少一个总线相连接的至少一个存储器,其中, 所述处理器被配置为:执行所述存储器中存储的分片报文的流式转发程序,以实现上述任一项所述的分片报文的流式转发方法。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被执行,以实现上述任一项所述的分片报文的流式转发方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的方法可以设置包括多个条目的报文首部记录表;在网络设备接收端口,接收分片报文并识别所述分片报文的类型;在识别出所述分片报文为首个分片时,根据所述分片报文的首部信息转发所述分片报文,并且,将所述分片报文的首部信息写入所述报文首部记录表的目标条目;其中,所述目标条目为所述报文首部记录表中的空闲条目或者空闲时间最长的条目;在识别出所述分片报文为后续分片时,在所述报文首部记录表中,查询与所述分片报文的首部信息相匹配的条目,根据相匹配的所述条目中记录的首部信息转发所述分片报文;其中,所述后续分片的类型包括尾分片,在识别出所述分片报文为尾分片并且查询到与所述分片报文的首部信息相匹配的条目时,延时第一预设时长后,停止转发所述分片报文所属报文的其他后续分片。本申请实施例仅维护一个报文首部记录表即可实现分片报文的流式转发,无需缓存全部的分片报文,也无需将各个分片报文重组为完整的报文,有效降低了缓存压力,提升了报文转发速度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为根据本申请一实施例的分片报文的流式转发方法的流程图;
图2为根据本申请一实施例的首部信息写入步骤的流程图;
图3为根据本申请一实施例的延时删除条目的处理步骤流程图;
图4为根据本申请一实施例的分片报文的流式转发装置的结构图;
图5为根据本申请一实施例的分片报文的流式转发设备的结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
下文的公开提供了许多不同的实施例或例子用来实现本申请的不同结构。为了简化本申请的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本申请。此外,本申请可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。
本申请实施例提供了一种分片报文的流式转发方法。
本申请实施例可以应用在网络设备的接收端口。本申请实施例的执行主体可以为FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列)。
图1为根据本申请一实施例的分片报文的流式转发方法的流程图。
步骤S110,设置包括多个条目的报文首部记录表。
报文首部记录表包括多个条目,每个条目用于记录一个首部信息。
每个条目需要记录的首部信息,包括但不限于:报文ID(identify)、源IP地址、目的IP地址、源端口地址和目的端口地址。
进一步地,在FPGA维护报文首部记录表。该报文首部记录表可以为固定行数。具体的行数可以根据需求而定。每一行为一个条目。
步骤S120,在网络设备接收端口,接收分片报文并识别所述分片报文的类型。
分片报文是指报文的分片。
分片报文的类型包括:首个分片(又称:首分片)、后续分片(又称:非首分片,其包括中间分片和尾分片)。报文ID相同的首分片、中间分片和尾分片可以重组为一个完整的报文。
在本申请实施例中,在接收到报文之后,可以读取报文的标志(flag)和片偏移(offsetfrag),根据报文的标志和片偏移,识别该报文的类型,即:报文为首个分片、中间分片或者尾分片。
在flag=3’b100, offsetfrag=13’b0时,该报文为首个分片。
在flag=3’b100, offsetfrag≠13’b0时,该报文为中间分片
在flag=3’b000时,该报文为尾分片。
步骤S130,确定所述分片报文的类型是否为首个分片;如果是,则执行步骤S140;如果否,则执行步骤S150。
步骤S140,在识别出所述分片报文为首个分片时,根据所述分片报文的首部信息转发所述分片报文,并且,将所述分片报文的首部信息写入所述报文首部记录表的目标条目;其中,所述目标条目为所述报文首部记录表中的空闲条目或者空闲时间最长的条目。
首个分片的首部信息包括:报文ID、源IP地址、目的IP地址、源端口地址和目的端口地址。进一步地,仅在分片报文为首个分片的情况下,分片报文的首部信息才包括源端口地址和目的端口地址,本申请实施例将首个分片的首部信息记录到报文首部记录表中。
空闲条目,是指:报文首部记录表中未记录首部信息的条目。
空闲时间最长的条目是指未被调用的时间最长的条目。换而言之,距离上次执行表项操作的时间最长的条目。进一步地,表项操作包括但不限于:写入和覆盖。
在本申请实施例中,首先判断所述报文首部记录表中是否存在空闲条目;如果所述报文首部记录表中存在空闲条目,则将所述分片报文的首部信息写入该空闲条目中;如果所述报文首部记录表中没有空闲条目,则使用所述分片报文的首部信息覆盖空闲时间最长的条目中原来记录的首部信息。
在本申请实施例中,条目的空闲时间可以反映条目的活跃度。空闲时间越短,该条目上一次被调用的时间越靠近当前时间,表示该条目的活跃度越大,接收到下一个后续报文的可能性越大。空闲时间越长,该条目上一次被调用的时间越远离当前时间,表示该条目的活跃度越低,接收到下一个后续报文的可能性越小。基于此,本申请实施例在需要覆盖条目时,倾向于覆盖活跃度小的条目。需要说明的是,活跃度最低的条目未必是记录当前首部信息最久的条目。
步骤S150,在识别出所述分片报文为后续分片时,在所述报文首部记录表中,查询与所述分片报文的首部信息相匹配的条目,根据相匹配的所述条目中记录的首部信息转发所述分片报文;其中,所述后续分片的类型包括尾分片,在识别出所述分片报文为尾分片并且查询到与所述分片报文的首部信息相匹配的条目时,延时第一预设时长后,停止转发所述分片报文所属报文的其他后续分片。
其中,第一预设时长用于衡量接收到尾分片之后的等待时间。第一预设时长的值可以为经验值或者通过实验获得的值。
后续分片的首部信息包括:报文ID、源IP地址和目的IP地址。由于后续分片的首部信息不包括源端口地址和目的端口地址,所以要实现后续分片的端口转发,需要先还原后续分片对应的源端口地址和目的端口地址。
后续分片的类型包括中间分片和尾分片。
在本申请实施例中,无论后续分片是中间分片,还是尾分片,都需要在报文首部记录中,查询包含后续分片的首部信息的条目,该条目即是与后续分片的首部信息相匹配的条目;读取该条目中的源端口地址和目的端口地址,根据读取到的源端口地址和目的端口地址,还原该后续分片的端口信息,并向目的端口转发该后续分片。
进一步地,在报文首部记录表中,如果未查询到与分片报文的首部信息相匹配的条目,则丢弃该分片报文。
在本申请实施例中,分片报文在传输过程中可能出现乱序的问题,乱序问题可能导致尾分片先于中间分片到达,如果尾分片到达就删除对应的条目,将导致滞后到达的中间分片无法还原端口信息,无法实现端口转发,基于此,本申请实施例在识别出分片报文为尾分片并且查询到与该分片报文的首部信息相匹配的条目时,延时第一预设时长,在该第一预设时长内等待是否还有中间分片到达,之后再停止转发与该分片报文具有相同报文ID的其他后续分片。
在本申请实施例中,设置包括多个条目的报文首部记录表;在网络设备接收端口,接收分片报文并识别所述分片报文的类型;在识别出所述分片报文为首个分片时,根据所述分片报文的首部信息转发所述分片报文,并且,将所述分片报文的首部信息写入所述报文首部记录表的目标条目;其中,所述目标条目为所述报文首部记录表中的空闲条目或者空闲时间最长的条目;在识别出所述分片报文为后续分片时,在所述报文首部记录表中,查询与所述分片报文的首部信息相匹配的条目,根据相匹配的所述条目中记录的首部信息转发所述分片报文;其中,所述后续分片的类型包括尾分片,在识别出所述分片报文为尾分片并且查询到与所述分片报文的首部信息相匹配的条目时,延时第一预设时长后,停止转发所述分片报文所属报文的其他后续分片。
本申请实施例仅维护一个报文首部记录表即可实现分片报文的流式转发,无需缓存全部的分片报文,也无需将各个分片报文重组为完整的报文,有效降低了缓存压力,提升了报文转发速度。进一步地,本申请实施例的报文首部记录表用于记录首个分片的首部信息,在后续报文到达后,可以根据报文首部记录表中记录的首部信息,还原后续报文的端口信息,实现后续报文的端口转发。在接收分片报文期间,根据报文首部记录表中各个条目的活跃度来更新条目,避免活跃条目被新接收的首个分片的首部信息覆盖,并且,在接收到尾分片之后,延迟一段时间,在该段时间等待滞后的中间分片,避免中间分片在尾分片之后到达,导致中间分片无法还原端口信息的问题。
为了使本申请实施例更加容易理解,下面将针对本申请实施例进行进一步地描述。
下面对如何向报文首部记录表写入首部信息的步骤进行描述。
图2为根据本申请一实施例的首部信息写入步骤的流程图。
步骤S210,在将分片报文的首部信息写入报文首部记录表的目标条目之前,预先为每个条目对应设置递增计时器。
递增计时器,用于执行增计数操作,每个计数值对应一个时间。因此可以将递增计时器的计数值作为计时值,最大计数值对应最大计时时长。递增计时器的初始值、最大计数值以及计数间隔时间可以根据需求而定,使递增计时器的最大计时时长满足第二预设时长即可。例如:递增计时器的初始值可以为0,递增计时器的最大计数值可以为1024,相邻两次计数的计数间隔时间可以为6.4ns。
在本申请实施例中,针对每个条目,其对应的递增计时器的计时值用于表示所述条目的空闲时间;其对应的所述递增计时器被重置启动的条件包括:所述条目被写入分片报文的首部信息,所述条目被覆盖分片报文的首部信息,以及,查询到所述条目当前记录的首部信息与分片报文的首部信息相匹配。
也即是说,在条目被写入新的首部信息时,在该条目被覆盖新的首部信息时,以及,在确定已经接收到该条目对应的首个分片的后续分片时,该条目对应的递增计时器都需要重置启动,以便该递增计时器重新从初始值开始计时。通过这种方式,可以准确衡量该条目距离上一次被调用的时间(活跃度)。
步骤S220,在将分片报文的首部信息写入报文首部记录表的目标条目时,判断报文首部记录表中是否存在空闲条目;如果是,则执行步骤S230;如果否,则执行步骤S240。
空闲条目是指报文首部记录表中未记录任何首部信息的条目。
步骤S230,在所述报文首部记录表中存在空闲条目时,将所述空闲条目作为目标条目,将所述分片报文的首部信息写入所述目标条目并且重置启动所述目标条目对应的递增计时器。
在本申请实施例中,可以设置优先使用报文首部记录表中的空闲条目,在空闲条目用尽之后,采用覆盖的方式,使用报文首部记录表中的空闲时间最长的条目。
步骤S240,在所述报文首部记录表中没有空闲条目时,读取所述报文首部记录表中的多个所述条目分别对应的递增计时器的计时值。
步骤S250,比较多个所述条目分别对应的递增计时器的计时值。
步骤S260,将计时值最大的递增计时器对应的条目作为目标条目,使用所述分片报文的首部信息覆盖所述目标条目中原来的首部信息,并且,重置启动计时值最大的所述递增计时器。
本申请实施例的上述步骤在FPGA接收到报文的首个分片时执行,根据首个分片中的首部信息,可以实现该首个分片的端口转发,而且可以实现报文首部记录表的新增或者更新,以便后续分片到来时,可以基于记录的首部信息实现端口还原,实现后续报文的端口转发。进一步地,在新增或者更新条目时,使该条目对应的递增计时器重新开始计时,以便重新统计该条目的空闲时间。
本申请实施例为了避免出现长期空闲的条目,可以使每个所述递增计时器的最大计时时长为第二预设时长;检测每个递增计时器的计时值;针对每个所述递增计时器,在检测到所述递增计时器的计时值达到所述第二预设时长时,在所述报文首部记录表中,删除所述递增计时器对应的条目中记录的首部信息,并将所述条目作为所述报文首部记录表中的空闲条目。
在本申请实施例中,FPGA不但可以接收到报文的首个分片,还会接收到报文的中间分片和尾分片。但是由于网络环境以及路由因素的影响,属于同一报文的首个分片、中间分片和尾分片,可能不会按照顺序到达FPGA。对于乱序到达的分片报文而言,本申请实施例采用如下方式进行处理:
在接收到首个分片之前,如果接收到与该首个分片同属一个报文的后续分片,则直接舍弃接收到的后续分片。
在接收到首个分片之后,如果接收到与该首个分片同属一个报文的后续分片,则需要确定当前接收到的后续分片是否为尾分片,如果当前接收的后续分片不是尾分片,则根据报文首部记录表中记录的首个分片的首部信息,还原该后续分片的端口信息,对该后续分片进行端口转发;如果当前接收的后续分片是尾分片,则可能出现尾分片先于中间分片到达的情况,可以等待第一预设时长,因为中间分片可能在第一预设时间到达,超过第一预设时长,中间分片到达的可能性较低,这时删除报文首部记录表中记录的首个分片的首部信息,停止转发该首个分片的后续分片。进一步地,这种延时删除条目的处理方式同样可以借助计时器来实现。
图3为根据本申请一实施例的延时删除条目的处理步骤流程图。
步骤S310,预先为每个条目对应设置递减计时器。
递减计时器,用于执行减计数操作,每个计数值对应一个时间。可以将递减计时器的计数值作为计时值,最大计数值对应最大计时时长。递减计时器的最大计数值(初始值)、最终值以及计数间隔时间可以根据需求而定,使递减计时器的最大计时时长满足第一预设时长即可。例如:递减计时器的初始值可以为1024,递减计时器的最终值可以为0,相邻两次计数的计数间隔时间可以为6.4ns。
针对每个条目,其对应的所述递减计时器的计时值用于表示所述条目的延时时间;其对应的所述递减计时器被重置启动的条件包括:识别出所述分片报文为尾分片并且查询到所述条目当前记录的首部信息与所述分片报文对应的首部信息相匹配。也即是说,确定已经接收到与该条目对应的首个分片同属一个报文的尾分片。
步骤S320,在识别出分片报文为尾分片并且查询到与所述分片报文的首部信息相匹配的条目时,重置启动所述条目对应的递减计时器。
其中,递减计时器的最大计时时长为第一预设时长。
需要注意的是,在识别出分片报文为尾分片并且查询到与所述分片报文的首部信息相匹配的条目时,可以确定已经接收到该条目对应的首个分片的后续分片,所以此时同样满足该条目对应的递增计时器的重置启动条件。所以不但要重置启动条目对应的递减计时器,还要重置启动条目对应的递增计时器。
步骤S330,在检测到所述条目对应的递减计时器归零时 ,删除所述条目中记录的首部信息,以便停止转发所述分片报文所属报文的其他后续分片。
递减计时器归零,说明等待时间结束,这时其他后续分片到达的几率较低,所以可以删除该条目中的首部信息,使该条目成为报文首部记录表中的空闲条目。
在本申请实施例中,通过为条目对应设置递减计时器,实现了在接收到尾分片之后,延时一段时间删除条目的功能,以便等待滞后到达的中间分片。通过为条目对应设置递增计时器和递减计时器,使得条目没有固定的老化时间,而且可以根据分片报文的接收情况,不断调整条目的删除时间,不会因为首部信息最先被记录在条目中,就使该条目成为被删除的首选,也不会在收到尾分片之后就删除对应的条目,使得滞后到达的中间分片失去端口还原的机会。
下面给出一个较为具体的实例,来说明本申请实施例的各个步骤。
在本申请实施例中,可以设置一个报文首部记录表,用于记录当前接收到的首个分片报文的报文ID(ip_identify)以及与该报文ID相关的目的IP地址(dst_ip)、源IP地址(src_ip)、目的端口地址(dst_port)、源端口地址(src_port)。在报文首部记录表中可以设置指示信号mask,该指示信号用于标识当前条目是否已经记录了首部信息。例如:mask[n]=1表示第n个条目已经记录了分片报文的首部信息;mask[n]=0表示第n个条目尚未记录分片报文的首部信息。
报文首部记录表的内容可以参考表1所示,但本领域技术人员应当知道的是,报文首部记录表中的内容可以不限于表1内容。
表1
在表1中,tab[n]表示第n个条目,ip_identify表示报文ID,dst_ip表示目的IP地址,src_ip表示源IP地址,dst_port表示目的端口地址,src_port表示源端口地址,mask[n]表示第n个条目是否已经被记录首部信息。n的最大取值可以根据需求而设置,表1中n的最大值取3。
在初始状态下,由于报文首部记录表中的各条目都尚未记录首部信息,所以报文首部记录表中的各条目的mask取值均为0,如表2所示。
表2
在本申请实施例中,为报文首部记录表中的各个条目分别设置递增计时器和递减计时器,使用递增计时器衡量条目的活跃度,使用递减计时器迟滞删除条目。
在报文首部记录表初始化之后,可以开始在网络设备接收端口,接收分片报文并识别所述分片报文的类型。
在接收到一个分片报文时,先判断该分片报文是否为首个分片。如果该分片报文不是首个分片,那么由于此时报文首部记录表尚未记录任何首部信息,可以直接舍弃该分片报文。如果该分片报文是首个分片,则提取该首个分片携带的首部信息,包括:报文ID(a)、源IP地址、目的IP地址、源端口地址、目的端口地址。根据该首个分片的首部信息转发该首个分片,并且在报文首部记录表中记录该首个报文的首部信息,将相应的mask置1,具体如表3所示。此时还需要将tab[0]对应的递增计时器重置启动,使该递增计时器执行增计数。
表3
进一步地,在报文首部记录表中的各个条目均为空闲条目时,可以根据各个条目排列的顺序,选择一个空闲条目记录首个报文的首部信息,表3选择的为tab[0]条目。在陆续接收到其他首个分片(报文ID分别为b、c和d)的情况下,针对每个首个分片而言,在转发首个分片的同时或者之后,可以按照条目的排列顺序,在报文首部记录表中,顺次记录首个分片的首部信息,将各自对应的mask置1,例如表4所示,并且重置启动各自对应的递增计时器。
表4
在表4中,报文首部记录表中的4个条目都已经记录了首部信息。这时,依然需要在网络设备接收端口,接收分片报文并识别所述分片报文的类型。
在一种情况下,如果接收到报文的首个分片,则需要使用新接收到的该首个分片的首部信息覆盖表4中的一个条目中记录的首部信息。在本申请实施例中,需要在报文首部记录表中选择一个空闲时间最长的条目覆盖。空闲时间最长的条目可以根据每个条目对应的递增计时器确定。可以读取每个条目对应的递增计时器的计时值,计时值最大的递增计时器对应的条目即是空闲时间最长的条目,将该首个分片的首部信息,覆盖该空闲时间最长的条目中记录的首部信息,此时还需要重置启动该条目对应的递增计时器,使该递增计时器重新从初始值开始计数,重新统计该条目的活跃度。
例如表5所示,由于报文首部记录表中tab[0]、tab[2]和tab[3]都在陆续接收后续分片,使得tab[0]、tab[2]和tab[3]分别对应的递增计时器都被重置启动过,只有tab[1]尚未接收到过后续分片,从而造成tab[1]对应的递增计时器的计数值最大,这时使用新接收到的首个分片(报文ID为e)的首部信息覆盖tab[1]记录的首部信息,tab[1]中的mask保持置1,tab[1]对应的递增计时器重置启动。
表5
在另一种情况下,如果接收到的分片报文为中间分片,则可以先解析该分片报文得到报文ID、源IP地址和目的IP地址,根据报文ID在报文首部记录表中进行索引,如果报文首部记录表中存在该报文ID,则继续判断该报文ID所在条目中的源IP和目的IP是否与分片报文中的源IP和目的IP地址相匹配(即源IP地址相同,目的IP地址也相同),如果匹配,则确定该报文ID所在条目中的源端口地址和目的端口地址,为该分片报文的源端口地址和目的端口地址,根据该源端口地址和目的端口地址对该分片报文进行端口转发。需要注意的是,此时还需要重置启动该报文ID所在条目对应的递增计时器,使该递增计时器重新从初始值开始计数,重新统计该条目的活跃度。
例如:接收到一个非首分片的IP分片报文,解析得到报文ID=b,那么该报文ID与表4的tab[1]的报文ID相匹配,进一步对比IP分片报文的源IP地址和目的IP地址,如果也可以与tab[1]的源IP地址和目的IP地址相匹配,那么就可以确定该IP分片报文的端口号就是tab[1]中所记录的端口号,这就实现了端口的还原过程。
在又一种情况下,如果接收到的分片报文为尾分片,则可以参照中间分片的转发方式,先在报文首部记录表中匹配对应的条目,根据条目中的源端口地址和目的端口地址,还原尾分片的源端口地址和目的端口地址,根据尾分片的源端口地址和目的端口地址实现尾分片的端口转发。此时除了需要重置启动该条目对应的递增计时器,还需要重置启动该条目对应的递减计时器,以避免错过滞后的中间分片。
当然,在接收到中间分片和尾分片的情况下,如果在报文首部记录表中匹配不到条目,则直接舍弃当前的中间分片或者尾分片。
在执行本申请实施例的过程中,需要实时检测各个条目分别对应的递增计时器和递减计时器。在一条目对应的递增计时器达到最大计数值时,或者,在该条目对应的递减计时器归零时,删除该递增计时器对应的条目中的首部信息,并且将该条目中的mask置0。
如表6所示,由于报文首部记录表中tab[0]、tab[2]和tab[3]都在陆续接收后续分片,使得tab[0]、tab[2]和tab[3]分别对应的递增计时器都被重置启动过,只有tab[1]尚未接收到过后续分片,从而造成tab[1]对于的递增计时器先到达最大计数值,此时,删除tab[1]中记录的首部信息并且将tab[1]中的mask置0。
表6
通过表6的例子可以知道,最先被删除的并非最先写入tab[0]的首部信息,而是一直未发生调用的tab[1]中的首部信息。这是因为tab[1]的活跃度较低,很可能已经发生丢包问题,将tab[1]中记录的首部信息删除,可以为新接收的其他报文的首个分片清空表空间。
本申请实施例需要注意的是:在删除一个条目中记录的首部信息之后,该条目作为报文首部记录表中的空闲条目,停用该条目对应的递增计时器和递减计时器。在向一个已经重置启动递减计时器的条目中写入首部信息时,重置启动该条目对应的递增计时器,停用该条目对应的递减计时器。
例如:在一个条目对应的递减计时器被重置启动时,说明接收到该条目对应的尾分片,在该递减计时器进行减计数的过程中,如果接收到与该尾分片同属一个报文的中间分片,那么除了需要根据该条目实现该中间分片的端口还原,还需要重置启动该条目对应的递增计时器。一般情况下,尾分片和滞后的中间分片之间并不会间隔很长时间,在递减计时器的计数范围内就可以接收到之后的中间分片,这样在接收到滞后的中间分片之后,递增计时器被重置启动,递减计时器可以继续进行减计数,直到递减计时器归零,删除该条目。
本申请实施例通过双计时器,避免了滞后分片无法还原的问题以及报文首部记录表更新异常的问题,即便中间分片在尾分片之后被接收,也可以在第一预设时长内被正常转发,即便首部信息是最早写入报文首部信息表的,只要被频繁调用,也不会被首选删除。
本申请实施例还提供了一种分片报文的流式转发装置。如图4所示,为根据本申请一实施例的分片报文的流式转发装置的结构图。
该分片报文的流式转发装置,包括:
设置模块410,用于设置包括多个条目的报文首部记录表。
接收和识别模块420,用于在网络设备接收端口,接收分片报文并识别所述分片报文的类型。
首个分片转发模块430,用于在识别出所述分片报文为首个分片时,根据所述分片报文的首部信息转发所述分片报文,并且,将所述分片报文的首部信息写入所述报文首部记录表的目标条目;其中,所述目标条目为所述报文首部记录表中的空闲条目或者空闲时间最长的条目。
后续分片转发模块440,用于在识别出所述分片报文为后续分片时,在所述报文首部记录表中,查询与所述分片报文的首部信息相匹配的条目,根据相匹配的所述条目中记录的首部信息转发所述分片报文;其中,所述后续分片的类型包括尾分片,在识别出所述分片报文为尾分片并且查询到与所述分片报文的首部信息相匹配的条目时,延时第一预设时长后,停止转发所述分片报文所属报文的其他后续分片。
本申请实施例所述的装置的功能已经在上述方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
本申请实施例还提供了一种分片报文的流式转发设备,如图5所示,为根据本申请一实施例的分片报文的流式转发设备的结构图。
该分片报文的流式转发设备包括:处理器510、通信接口520、存储器530和通信总线540。其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。
存储器530,用于存放计算机程序。
在本申请一个实施例中,处理器510,用于执行存储器530上所存放的程序时,实现前述任意一个方法实施例提供的分片报文的流式转发方法,包括:设置包括多个条目的报文首部记录表;在网络设备接收端口,接收分片报文并识别所述分片报文的类型;在识别出所述分片报文为首个分片时,根据所述分片报文的首部信息转发所述分片报文,并且,将所述分片报文的首部信息写入所述报文首部记录表的目标条目;其中,所述目标条目为所述报文首部记录表中的空闲条目或者空闲时间最长的条目;在识别出所述分片报文为后续分片时,在所述报文首部记录表中,查询与所述分片报文的首部信息相匹配的条目,根据相匹配的所述条目中记录的首部信息转发所述分片报文;其中,所述后续分片的类型包括尾分片,在识别出所述分片报文为尾分片并且查询到与所述分片报文的首部信息相匹配的条目时,延时第一预设时长后,停止转发所述分片报文所属报文的其他后续分片。
其中,在将所述分片报文的首部信息写入所述报文首部记录表的目标条目之前,还包括:预先为每个所述条目对应设置递增计时器;其中,针对每个所述条目,其对应的所述递增计时器的计时值用于表示所述条目的空闲时间;其对应的所述递增计时器被重置启动的条件包括:所述条目被写入分片报文的首部信息,所述条目被覆盖分片报文的首部信息,以及,查询到所述条目当前记录的首部信息与分片报文的首部信息相匹配。
其中,将所述分片报文的首部信息写入所述报文首部记录表的目标条目,包括:在所述报文首部记录表中存在空闲条目时,将所述空闲条目作为目标条目,将所述分片报文的首部信息写入所述目标条目并且重置启动所述目标条目对应的递增计时器;在所述报文首部记录表中没有空闲条目时,读取所述报文首部记录表中的多个所述条目分别对应的递增计时器的计时值;比较多个所述条目分别对应的递增计时器的计时值;将计时值最大的递增计时器对应的条目作为目标条目,使用所述分片报文的首部信息覆盖所述目标条目中原来的首部信息,并且,重置启动计时值最大的所述递增计时器。
其中,每个所述递增计时器的最大计时时长为第二预设时长;所述方法还包括:针对每个所述递增计时器,在检测到所述递增计时器的计时值达到所述第二预设时长时,在所述报文首部记录表中,删除所述递增计时器对应的条目中记录的首部信息,并将所述条目作为所述报文首部记录表中的空闲条目。
其中,在延时第一预设时长之前,还包括:预先为每个所述条目对应设置递减计时器;其中,针对每个所述条目,其对应的所述递减计时器的计时值用于表示所述条目的延时时间;其对应的所述递减计时器被重置启动的条件包括:识别出所述分片报文为尾分片并且查询到所述条目当前记录的首部信息与所述分片报文对应的首部信息相匹配。
其中,在识别出所述分片报文为尾分片并且查询到与所述分片报文的首部信息相匹配的条目时,延时第一预设时长后,停止转发所述分片报文所属报文的其他后续分片,包括:在识别出所述分片报文为尾分片并且查询到与所述分片报文的首部信息相匹配的条目时,重置启动所述条目对应的递减计时器;其中,所述递减计时器的最大计时时长为第一预设时长;在检测到所述条目对应的递减计时器归零时 ,删除所述条目中记录的首部信息,以便停止转发所述分片报文所属报文的其他后续分片。
其中,所述方法还包括:在所述报文首部记录表中,如果未查询到与所述分片报文的首部信息相匹配的条目,则丢弃所述分片报文。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的分片报文的流式转发方法的步骤。由于上面已经对分片报文的流式转发方法进行了详细描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应理解的是,文中使用的术语仅出于描述特定示例实施方式的目的,而无意于进行限制。除非上下文另外明确地指出,否则如文中使用的单数形式“一”、“一个”以及“所述”也可以表示包括复数形式。术语“包括”、“包含”、“含有”以及“具有”是包含性的,并且因此指明所陈述的特征、步骤、操作、元件和/或部件的存在,但并不排除存在或者添加一个或多个其它特征、步骤、操作、元件、部件、和/或它们的组合。文中描述的方法步骤、过程、以及操作不解释为必须要求它们以所描述或说明的特定顺序执行,除非明确指出执行顺序。还应当理解,可以使用另外或者替代的步骤。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种分片报文的流式转发方法,其特征在于,包括:
设置包括多个条目的报文首部记录表;
在网络设备接收端口,接收分片报文并识别所述分片报文的类型;
在识别出所述分片报文为首个分片时,根据所述分片报文的首部信息转发所述分片报文,并且,将所述分片报文的首部信息写入所述报文首部记录表的目标条目;其中,所述目标条目为所述报文首部记录表中的空闲条目或者空闲时间最长的条目;在将所述分片报文的首部信息写入所述报文首部记录表的目标条目之前,还包括:预先为每个所述条目对应设置递增计时器;针对每个所述条目,其对应的所述递增计时器的计时值用于表示所述条目的空闲时间;
在识别出所述分片报文为后续分片时,在所述报文首部记录表中,查询与所述分片报文的首部信息相匹配的条目,根据相匹配的所述条目中记录的首部信息转发所述分片报文;其中,所述后续分片的类型包括中间分片和尾分片,在识别出所述分片报文为尾分片并且查询到与所述分片报文的首部信息相匹配的条目时,延时第一预设时长后,停止转发所述分片报文所属报文的其他后续分片;在延时第一预设时长之前,还包括:预先为每个所述条目对应设置递减计时器;针对每个所述条目,其对应的所述递减计时器的计时值用于表示所述条目的延时时间;在一个所述条目对应的递减计时器进行减计数的过程中,如果接收到与所述尾分片同属一个报文的中间分片,重置启动所述条目对应的递增计时器。
2.根据权利要求1所述的方法,其特征在于,针对每个所述条目,其对应的所述递增计时器被重置启动的条件包括:
所述条目被写入分片报文的首部信息,所述条目被覆盖分片报文的首部信息,以及,查询到所述条目当前记录的首部信息与分片报文的首部信息相匹配。
3.根据权利要求2所述的方法,其特征在于,将所述分片报文的首部信息写入所述报文首部记录表的目标条目,包括:
在所述报文首部记录表中存在空闲条目时,将所述空闲条目作为目标条目,将所述分片报文的首部信息写入所述目标条目并且重置启动所述目标条目对应的递增计时器;
在所述报文首部记录表中没有空闲条目时,读取所述报文首部记录表中的多个所述条目分别对应的递增计时器的计时值;
比较多个所述条目分别对应的递增计时器的计时值;
将计时值最大的递增计时器对应的条目作为目标条目,使用所述分片报文的首部信息覆盖所述目标条目中原来的首部信息,并且,重置启动计时值最大的所述递增计时器。
4.根据权利要求2或者3所述的方法,其特征在于,
每个所述递增计时器的最大计时时长为第二预设时长;
所述方法还包括:
针对每个所述递增计时器,在检测到所述递增计时器的计时值达到所述第二预设时长时,在所述报文首部记录表中,删除所述递增计时器对应的条目中记录的首部信息,并将所述条目作为所述报文首部记录表中的空闲条目。
5.根据权利要求1所述的方法,其特征在于,针对每个所述条目,其对应的所述递减计时器被重置启动的条件包括:
识别出所述分片报文为尾分片并且查询到所述条目当前记录的首部信息与所述分片报文对应的首部信息相匹配。
6.根据权利要求5所述的方法,其特征在于,在识别出所述分片报文为尾分片并且查询到与所述分片报文的首部信息相匹配的条目时,延时第一预设时长后,停止转发所述分片报文所属报文的其他后续分片,包括:
在识别出所述分片报文为尾分片并且查询到与所述分片报文的首部信息相匹配的条目时,重置启动所述条目对应的递减计时器;其中,所述递减计时器的最大计时时长为第一预设时长;
在检测到所述条目对应的递减计时器归零时 ,删除所述条目中记录的首部信息,以便停止转发所述分片报文所属报文的其他后续分片。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述报文首部记录表中,如果未查询到与所述分片报文的首部信息相匹配的条目,则丢弃所述分片报文。
8.一种分片报文的流式转发装置,其特征在于,包括:
设置模块,用于设置包括多个条目的报文首部记录表;
接收和识别模块,用于在网络设备接收端口,接收分片报文并识别所述分片报文的类型;
首个分片转发模块,用于在识别出所述分片报文为首个分片时,根据所述分片报文的首部信息转发所述分片报文,并且,将所述分片报文的首部信息写入所述报文首部记录表的目标条目;其中,所述目标条目为所述报文首部记录表中的空闲条目或者空闲时间最长的条目;在将所述分片报文的首部信息写入所述报文首部记录表的目标条目之前,还包括:预先为每个所述条目对应设置递增计时器;针对每个所述条目,其对应的所述递增计时器的计时值用于表示所述条目的空闲时间;
后续分片转发模块,用于在识别出所述分片报文为后续分片时,在所述报文首部记录表中,查询与所述分片报文的首部信息相匹配的条目,根据相匹配的所述条目中记录的首部信息转发所述分片报文;其中,所述后续分片的类型包括中间分片和尾分片,在识别出所述分片报文为尾分片并且查询到与所述分片报文的首部信息相匹配的条目时,延时第一预设时长后,停止转发所述分片报文所属报文的其他后续分片;在延时第一预设时长之前,还包括:预先为每个所述条目对应设置递减计时器;针对每个所述条目,其对应的所述递减计时器的计时值用于表示所述条目的延时时间;在一个所述条目对应的递减计时器进行减计数的过程中,如果接收到与所述尾分片同属一个报文的中间分片,重置启动所述条目对应的递增计时器。
9.一种分片报文的流式转发设备,其特征在于,包括:至少一个通信接口;与所述至少一个通信接口相连接的至少一个总线;与所述至少一个总线相连接的至少一个处理器;与所述至少一个总线相连接的至少一个存储器,其中, 所述处理器被配置为:执行所述存储器中存储的分片报文的流式转发程序,以实现权利要求1-7中任一项所述的分片报文的流式转发方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被执行,以实现权利要求1-7中任一项所述的分片报文的流式转发方法。
CN202311366542.6A 2023-10-20 2023-10-20 分片报文的流式转发方法、装置、设备和存储介质 Active CN117097678B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311366542.6A CN117097678B (zh) 2023-10-20 2023-10-20 分片报文的流式转发方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311366542.6A CN117097678B (zh) 2023-10-20 2023-10-20 分片报文的流式转发方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN117097678A CN117097678A (zh) 2023-11-21
CN117097678B true CN117097678B (zh) 2024-01-26

Family

ID=88780292

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311366542.6A Active CN117097678B (zh) 2023-10-20 2023-10-20 分片报文的流式转发方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN117097678B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1585401A (zh) * 2003-08-21 2005-02-23 华为技术有限公司 对分片报文进行网络地址转换的方法
CN102232284A (zh) * 2011-05-06 2011-11-02 华为技术有限公司 提高转发表访问性能的方法和装置
CN103685030A (zh) * 2013-12-24 2014-03-26 大唐移动通信设备有限公司 一种数据处理方法和设备
WO2017114378A1 (zh) * 2015-12-28 2017-07-06 新华三技术有限公司 Ip数据包的转发
CN111355672A (zh) * 2020-03-02 2020-06-30 杭州迪普信息技术有限公司 一种报文转发的方法及装置
CN113765804A (zh) * 2021-08-05 2021-12-07 中移(杭州)信息技术有限公司 报文转发方法、装置、设备及计算机可读存储介质
CN114793199A (zh) * 2022-03-30 2022-07-26 新华三信息安全技术有限公司 一种报文处理方法、装置及网络设备
CN116055586A (zh) * 2022-08-15 2023-05-02 荣耀终端有限公司 分片报文的匹配方法、路由器及存储介质
CN116095197A (zh) * 2022-07-04 2023-05-09 荣耀终端有限公司 数据传输方法及相关装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1585401A (zh) * 2003-08-21 2005-02-23 华为技术有限公司 对分片报文进行网络地址转换的方法
CN102232284A (zh) * 2011-05-06 2011-11-02 华为技术有限公司 提高转发表访问性能的方法和装置
CN103685030A (zh) * 2013-12-24 2014-03-26 大唐移动通信设备有限公司 一种数据处理方法和设备
WO2017114378A1 (zh) * 2015-12-28 2017-07-06 新华三技术有限公司 Ip数据包的转发
CN111355672A (zh) * 2020-03-02 2020-06-30 杭州迪普信息技术有限公司 一种报文转发的方法及装置
CN113765804A (zh) * 2021-08-05 2021-12-07 中移(杭州)信息技术有限公司 报文转发方法、装置、设备及计算机可读存储介质
CN114793199A (zh) * 2022-03-30 2022-07-26 新华三信息安全技术有限公司 一种报文处理方法、装置及网络设备
CN116095197A (zh) * 2022-07-04 2023-05-09 荣耀终端有限公司 数据传输方法及相关装置
CN116055586A (zh) * 2022-08-15 2023-05-02 荣耀终端有限公司 分片报文的匹配方法、路由器及存储介质

Also Published As

Publication number Publication date
CN117097678A (zh) 2023-11-21

Similar Documents

Publication Publication Date Title
US10757034B2 (en) Queue flushing method and related device
US7249229B2 (en) Synchronous message queues
US7787442B2 (en) Communication statistic information collection apparatus
US8788591B2 (en) Asynchronous mechanism and message pool
US6804692B2 (en) Method and apparatus for reassembly of data blocks within a network processor
US20120257626A1 (en) Systems and methods for in-line removal of duplicate network packets
US20130136136A1 (en) Apparatus and method for processing received data
CN109873768B (zh) 更新转发表的方法、硬件加速器、ovs和服务器
CN109246036B (zh) 一种处理分片报文的方法和装置
EP3018868A1 (en) Congestion method, device and system
US9225654B2 (en) Method and apparatus for sending packet
CN114584560A (zh) 一种分片帧重组方法及装置
US8095638B2 (en) Systems and methods for harvesting expired sessions
CN117097678B (zh) 分片报文的流式转发方法、装置、设备和存储介质
CN111211990A (zh) 一种数据包处理方法和装置
CN113438176A (zh) 一种处理分片ip数据包的方法及装置
US9525629B2 (en) Method and apparatus for transmitting data packets
CN111831403A (zh) 一种业务处理方法和装置
CN113992364B (zh) 一种网络数据包阻断优化方法以及系统
US6799229B1 (en) Data-burst-count-base receive FIFO control design and early packet discard for DMA optimization
CN110855574B (zh) 一种基于硬件实现数据流丢弃类型的统计方法及装置
CN116886652B (zh) Ip报文分片的重组方法、装置、电子设备及存储介质
CN116346722A (zh) 一种报文处理方法及装置
CN110445721B (zh) 一种报文转发方法及装置
EP4075741A1 (en) Method and apparatus for acquiring forwarding information

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