CN111355672A - 一种报文转发的方法及装置 - Google Patents

一种报文转发的方法及装置 Download PDF

Info

Publication number
CN111355672A
CN111355672A CN202010135890.2A CN202010135890A CN111355672A CN 111355672 A CN111355672 A CN 111355672A CN 202010135890 A CN202010135890 A CN 202010135890A CN 111355672 A CN111355672 A CN 111355672A
Authority
CN
China
Prior art keywords
message
fragment
storage address
fragment message
basic
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
Application number
CN202010135890.2A
Other languages
English (en)
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.)
Hangzhou DPtech Information Technology Co Ltd
Original Assignee
Hangzhou DPtech Information 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 Hangzhou DPtech Information Technology Co Ltd filed Critical Hangzhou DPtech Information Technology Co Ltd
Priority to CN202010135890.2A priority Critical patent/CN111355672A/zh
Publication of CN111355672A publication Critical patent/CN111355672A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本说明书公开了一种报文转发的方法及装置,针对每个分片报文,确定该分片报文对应的分片类型。若确定该分片报文为首分片报文,则根据该分片报文中携带的基础报文数据,确定该分片报文对应的存储地址并存储。然而若确定该分片报文为后续分片报文,则根据该分片报文中携带的基础报文数据,确定该分片报文对应的首分片报文的存储地址,作为目标存储地址,并按照从目标存储地址中查询出的该分片报文对应首分片报文中携带的报文目的端口进行转发。由于后续分片报文和与之对应的首分片报文的基础报文数据相同,这样一来,能够根据基础报文数据查询到后续分片报文对应的首分片报文的报文目的端口,从而能够将后续分片报文进行正确的转发。

Description

一种报文转发的方法及装置
技术领域
本说明书涉及计算机领域,尤其涉及一种报文转发的方法及装置。
背景技术
在网络信息传输中,若是网络层的报文长度超过数据链路层限制的最大传输单元数,则需将报文进行分片。然而将一个报文分片后,只有位于首部的首分片报文包含报文目的端口,而后续分片报文缺少报文目的端口,这样一来无法将后续分片报文转发到对应的业务服务器中。
在现有技术中,服务平台只能接收到首分片报文,无法接收后续分片报文。针对这样的情况,服务平台可以将具有相同报文目的IP地址的首分片报文与后续分片报文对应起来,转发到业务服务器,但是这样一来,很多报文目的端口不同的分片报文也会转发到同一业务服务器,给服务平台的工作带来了不便。
因此,如何正确的将后续分片报文转发到相应的业务服务器,则是一个亟待解决的问题。
发明内容
本说明书提供一种报文转发的方法及装置,以部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种报文转发的方法,包括:
获取各分片报文;
针对每个分片报文,确定该分片报文对应的分片类型;
若确定该分片报文对应的分片类型为首分片报文,则根据该分片报文中携带的基础报文数据,确定该分片报文对应的存储地址并存储;
若确定该分片报文对应的分片类型为后续分片报文,则根据该分片报文中携带的基础报文数据,确定该分片报文对应的首分片报文的存储地址,作为目标存储地址,并按照从目标存储地址中查询出的该分片报文对应首分片报文中携带的报文目的端口进行转发,其中,出自同一报文的首分片报文和后续分片报文所携带的基础报文数据相同。
可选地,若确定该分片报文对应的分片类型为首分片报文,则根据该分片报文中携带的基础报文数据,确定该分片报文对应的存储地址并存储,具体包括:
按照预设的转化算法,将该分片报文中携带的基础报文数据进行转化,得到与该分片报文中携带的基础报文数据对应的标识信息,所述基础报文数据包括:报文源IP地址、报文目的IP地址、报文所基于的协议标识以及报文标识中的至少一种;
确定所述标识信息对应的存储地址,将该分片报文携带的基础报文数据以及报文目的端口存储在所述存储地址包含的存储表中。
可选地,确定所述标识信息对应的所述存储地址,将该分片报文携带的基础报文数据以及报文目的端口存储在存储地址包含的存储表中,具体包括:
若确定所述存储地址未对应有存储表,则构建所述存储地址对应的存储表,并将该分片报文携带的基础报文数据以及报文目的端口存储在所述存储表中。
可选地,将所述标识信息作为存储地址,并根据所述存储地址,将该分片报文携带的基础报文数据以及报文目的端口进行存储,具体包括:
若确定所述存储地址对应有存储表,且所述存储表中未存储有该分片报文携带的基础报文数据,则重新确定该分片报文对应的存储地址;
将该分片报文携带的基础报文数据以及报文目的端口存储在重新确定出的存储地址中,并将重新确定出的存储地址存放在所述存储表中。
可选地,按照从目标存储地址中查询出的该分片报文对应首分片报文中携带的报文目的端口进行转发,具体包括:
在所述目标存储地址对应的存储表中,查询是否保存有该分片报文携带的基础报文数据;
若是,则按照保存的该分片报文携带的基础报文数据所对应的报文目的端口,将该分片报文进行转发。
可选地,所述方法还包括:
针对每个存储地址,确定该存储地址对应的创建时长;
若确定所述创建时长不小于设定时长,则将该存储地址进行删除。
本说明书提供了一种报文转发的装置,包括:
获取模块,用于获取各分片报文;
第一确定模块,用于针对每个分片报文,确定该分片报文对应的分片类型;
第二确定模块,用于若确定该分片报文对应的分片类型为首分片报文,则根据该分片报文中携带的基础报文数据,确定该分片报文对应的存储地址并存储;
转发模块,用于若确定该分片报文对应的分片类型为后续分片报文,则根据该分片报文中携带的基础报文数据,确定该分片报文对应的首分片报文的存储地址,作为目标存储地址,并按照从目标存储地址中查询出的该分片报文对应首分片报文中携带的报文目的端口进行转发,其中,出自同一报文的首分片报文和后续分片报文所携带的基础报文数据相同。
可选地,所述装置还包括:
删除模块,用于针对每个存储地址,确定该存储地址对应的创建时长,以及若确定所述创建时长不小于设定时长,则将该存储地址进行删除。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述报文转发的方法。
本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述报文转发的方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
从上述方法中可以看出,获取各分片报文后,针对每个分片报文,确定该分片报文对应的分片类型。若确定出该分片报文对应的分片类型为首分片报文,则根据该分片报文中携带的基础报文数据,确定该分片报文对应的存储地址并存储。然而若确定该分片报文对应的分片类型为后续分片报文,则根据该分片报文中携带的基础报文数据,确定该分片报文对应的首分片报文的存储地址,作为目标存储地址,并按照从目标存储地址中查询出的该分片报文对应首分片报文中携带的报文目的端口进行转发。其中,出自同一报文的首分片报文和后续分片报文所携带的基础报文数据相同。
从上述方法中可以看出,由于后续分片报文和与之对应的首分片报文的基础报文数据相同,按照统一的转化方法,能够根据基础报文数据查询到后续分片报文对应的首分片报文的报文目的端口,从而能够将后续分片报文进行正确的转发。因此相比于现有技术中无法将出自同一报文的首分片报文和后续分片报文进行匹配的方式,本方法能够正确的根据报文目的端口将后续分片报文转发到对应的业务服务器。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书中一种报文转发的方法的流程示意图;
图2为本说明书提供的一种根据基础报文数据查询后续分片报文的报文目的端口的示意图;
图3为本说明书提供的一种报文转发的装置示意图;
图4为本说明书提供的对应于图1的电子设备示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书中一种报文转发的方法的流程示意图,具体包括以下步骤:
S101:获取各分片报文。
在本说明书中,由于发送报文时会受到数据链路层中最大传输单元数的限制,需要将报文进行分片。对于一个报文来说,分片后该报文会被分成各分片报文,位于首部的分片报文可以称之为首分片报文,位于后续位置的分片报文的分片类型可以称之为后续分片报文。所以,分片报文的分片类型可以分为首分片报文或后续分片报文。首分片报文包含该报文详细的信息,如,报文标识、报文源IP地址、报文目的IP地址、报文所基于的协议标识、报文源端口以及报文目的端口等。而相对于首分片报文,后续分片报文不包含报文源端口以及报文目的端口。
服务平台可以获取到各分片报文,在后续方法中,对于各分片报文中的后续分片报文,服务平台可以查询到与之对应的首分片报文,使得后续分片报文中缺失的报文目的端口能够从与之相匹配的首分片报文中获得。
S102:针对每个分片报文,确定该分片报文对应的分片类型。
获取到各分片报文后,服务平台可以针对每个分片报文,确定该分片报文对应的分片类型,即确定该分片报文的分片类型为首分片报文还是后续分片报文。
S103:若确定该分片报文对应的分片类型为首分片报文,则根据该分片报文中携带的基础报文数据,确定该分片报文对应的存储地址并存储。
若服务平台确定出该分片报文对应的分片类型为首分片报文,可以确定出该分片报文中携带的基础报文数据。需要指出的是,出自同一报文的首分片报文和后续分片报文中所包含的基础报文数据是相同的。所以,服务平台可以通过首分片报文和后续分片报文中所包含的这一相同的信息,实现首分片报文与后续分片报文之间的匹配。在本说明书中,基础报文数据可以是报文源IP地址、报文目的IP地址、报文所基于的协议标识以及报文标识中的至少一种。
服务平台在确定出该分片报文中携带的基础报文数据后,可以将该分片报文中携带的基础报文数据进行转化,得到该分片报文中携带的基础报文数据对应的标识信息。在本说明书中,服务平台可以采用的转化方法可以有多种,例如,哈希加密算法、消息摘要算法第五版(Message Digest Algorithm,MD5)等。本说明书不对具体采用的转化方法进行限定,只需保证相同的基础报文数据经过转化后能够得到相同的标识信息即可。
服务平台可以按照所采用的转化方法,确定出基础报文数据对应的标识信息。进而,服务平台可以确定出该标识信息对应的存储地址,并将该分片报文携带的基础报文数据以及报文目的端口存储在该标识信息对应的存储地址包含的存储表中。
具体的,服务平台需要确定出该存储地址是否已存在存储表,若该存储地址未对应有存储表,则可以直接创建该存储地址对应的存储表并将该分片报文携带的基础报文数据以及报文目的端口存储在该存储表中。
若该存储地址已存在存储表且该存储表中存储的基础报文数据与该分片报文携带的基础报文数据不同,则说明过去已将其他分片报文的基础报文数据存储在该存储地址,需要重新确定出存储地址来存储该分片报文携带的基础报文数据以及报文目的端口。
其中,服务平台可以随机选取出新的存储地址,并将该分片报文携带的基础报文数据以及报文目的端口存储在新的存储地址中,而后,将新的存储地址存放在该存储地址的存储表中。
需要说明的是,之所以会出现存储地址已存在存储表但存储表中存储的基础报文数据与该分片报文携带的基础报文数据不同的情况,是因为在实际应用中,可以会出现不同基础报文数据经过转化后得到相同标识信息的情况。所以,若该存储地址已存在存储表且该存储表中存储的基础报文数据与该分片报文携带的基础报文数据不同,则说明该存储地址的存储表可能已经被出自不同报文的其他分片报文所占用,因此需要重新确定存储地址。
在本说明书中,服务平台也可以将分片报文的完整信息存储在其对应的存储地址中,而为了节省存储空间,服务平台可以只存储该分片报文为首分片报文时所携带的基础报文数据以及报文目的端口。
S104:若确定该分片报文对应的分片类型为后续分片报文,则根据该分片报文中携带的基础报文数据,确定该分片报文对应的首分片报文的存储地址,作为目标存储地址,并按照从目标存储地址中查询出的该分片报文对应首分片报文中携带的报文目的端口进行转发,其中,出自同一报文的首分片报文和后续分片报文所携带的基础报文数据相同。
图2为本说明书提供的一种根据基础报文数据查询后续分片报文的报文目的端口的示意图。
如图2所示,服务平台若确定出该分片报文对应的分片类型为后续分片报文,则可以根据该分片报文中携带的基础报文数据,确定出该分片报文对应的首分片报文的存储地址,作为目标存储地址。
具体的,由于该分片报文中携带的基础报文数据与该分片报文对应的首分片报文中携带的基础报文数据是相同的,那么只需按照与上述转化首分片报文的基础报文数据相同的转化方法将该分片报文中携带的基础报文数据进行转化,就能够确定出该分片报文对应的首分片报文的存储地址,作为目标存储地址。
确定出目标存储地址后,服务平台可以查询该目标存储地址的存储表中是否保存有与该分片报文携带的基础报文数据一致的基础报文数据,若是,则可以将一致的基础报文数据在该存储表中所对应的报文目的端口作为该分片报文的报文目的端口,并按照该报文目的端口将该分片报文进行转发。
需要说明的是,若是服务平台在该目标存储地址中未查询到与该分片报文携带的基础报文数据一致的基础报文数据,则说明与该分片报文对应的首分片报文还未被服务平台获取到。这种情况下,服务平台可以先将该分片报文存储在该目标存储地址包含的存储表内。
若是服务平台获取到一个首分片报文,按照上述转化方法以及该首分片报文的基础报文数据能够查询到该目标存储地址,并当确定出该目标存储地址中保存的该分片报文的基础报文数据与该首分片报文的基础报文数据相一致,则该服务平台可以将该首分片报文对应的报文目的端口确定为该分片报文的报文目的端口,并将该分片报文按照该首分片报文对应的报文目的端口进行转发。
需要说明的是,由于服务平台需要将大量的分片报文的信息进行存储,会消耗较多的存储资源。因此,服务平台可以将创建时长较久的存储地址删除,以节约存储资源。
具体的,服务平台可以针对每个存储地址,确定出该存储地址对应的创建时长,若该创建时长不小于设定时长,则将该存储地址进行删除。服务平台可以根据实际需求确定出该设定时长。
服务平台在存储分片报文的信息时可以采用链表的方式进行存储,由于在链表中后一个存储地址会存储在前一个存储地址对应的存储空间中,因此服务平台可以根据不同的情况删除链表中的存储地址。其中,这里提到的存储空间可以是指存储地址对应的存储表,也可以是指存储表所在的存储区域(即存储地址对应的存储区域)。
若该存储地址为在链表中的第一个存储地址且该存储地址中未存放有其他存储地址,则可以直接将该存储地址及其对应的存储表进行删除。
若该存储地址为在链表中的最后一个存储地址,则可以将该存储地址及其对应的存储表进行删除,以及在该存储地址的前一个存储地址对应的存储空间中,将所存储的该存储地址进行删除。
若该存储地址为在链表中第一个存储地址且该存储地址对应的存储空间中存放有其他存储地址,则可以将该其他存储地址中的数据转移至该存储地址中并将该存储地址删除(即相当于将该其他存储地址对应的存储空间中所保存的数据替换到该存储地址对应的存储空间中)。
若该存储地址为在链表内中间的存储地址,则可以将该存储地址的后一个存储地址存放在该存储地址的前一个存储地址中,再将该存储地址删除。
从以上方法中可以看出,由于后续分片报文和与之对应的首分片报文的基础报文数据相同,按照统一的转化方法,能够根据基础报文数据查询到与后续分片报文对应的首分片报文的报文目的端口,从而能够按照该报文目的端口将后续分片报文进行正确的转发。并且本方法可以将创建时长较久的存储地址删除,这样一来,还能够节约一定的存储资源。
以上为本说明书的一个或多个实施例提供的报文转发的方法,基于同样的思路,本说明书还提供了相应的报文转发的装置,如图3所示。
图3为本说明书提供的一种报文转发的装置示意图,具体包括:
获取模块301,用于获取各分片报文;
第一确定模块302,用于针对每个分片报文,确定该分片报文对应的分片类型;
第二确定模块303,用于若确定该分片报文对应的分片类型为首分片报文,则根据该分片报文中携带的基础报文数据,确定该分片报文对应的存储地址并存储;
转发模块304,用于若确定该分片报文对应的分片类型为后续分片报文,则根据该分片报文中携带的基础报文数据,确定该分片报文对应的首分片报文的存储地址,作为目标存储地址,并按照从目标存储地址中查询出的该分片报文对应首分片报文中携带的报文目的端口进行转发,其中,出自同一报文的首分片报文和后续分片报文所携带的基础报文数据相同。
可选地,所述第二确定模块303具体用于,按照预设的转化算法,将该分片报文中携带的基础报文数据进行转化,得到与该分片报文中携带的基础报文数据对应的标识信息,所述基础报文数据包括:报文源IP地址、报文目的IP地址、报文所基于的协议标识以及报文标识中的至少一种;确定所述标识信息对应的存储地址,将该分片报文携带的基础报文数据以及报文目的端口存储在所述存储地址包含的存储表中。
可选地,所述第二确定模块303具体用于,若确定所述存储地址未对应有存储表,则构建所述存储地址对应的存储表,并将该分片报文携带的基础报文数据以及报文目的端口存储在所述存储表中。
可选地,所述第二确定模块303具体用于,若确定所述存储地址对应有存储表,且所述存储表中未存储有该分片报文携带的基础报文数据,则重新确定该分片报文对应的存储地址;将该分片报文携带的基础报文数据以及报文目的端口存储在重新确定出的存储地址中,并将重新确定出的存储地址存放在所述存储表中。
可选地,所述转发模块304具体用于,在所述目标存储地址对应的存储表中,查询是否保存有该分片报文携带的基础报文数据;若是,则按照保存的该分片报文携带的基础报文数据所对应的报文目的端口,将该分片报文进行转发。
可选地,所述装置还包括,删除模块305用于针对每个存储地址,确定该存储地址对应的创建时长,以及若确定所述创建时长不小于设定时长,则将该存储地址进行删除。
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的报文转发的方法。
本说明书还提供了图4所示的电子设备的示意结构图。如图4所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的报文转发的方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (10)

1.一种报文转发的方法,其特征在于,包括:
获取各分片报文;
针对每个分片报文,确定该分片报文对应的分片类型;
若确定该分片报文对应的分片类型为首分片报文,则根据该分片报文中携带的基础报文数据,确定该分片报文对应的存储地址并存储;
若确定该分片报文对应的分片类型为后续分片报文,则根据该分片报文中携带的基础报文数据,确定该分片报文对应的首分片报文的存储地址,作为目标存储地址,并按照从目标存储地址中查询出的该分片报文对应首分片报文中携带的报文目的端口进行转发,其中,出自同一报文的首分片报文和后续分片报文所携带的基础报文数据相同。
2.如权利要求1所述的方法,其特征在于,若确定该分片报文对应的分片类型为首分片报文,则根据该分片报文中携带的基础报文数据,确定该分片报文对应的存储地址并存储,具体包括:
按照预设的转化算法,将该分片报文中携带的基础报文数据进行转化,得到与该分片报文中携带的基础报文数据对应的标识信息,所述基础报文数据包括:报文源IP地址、报文目的IP地址、报文所基于的协议标识以及报文标识中的至少一种;
确定所述标识信息对应的存储地址,将该分片报文携带的基础报文数据以及报文目的端口存储在所述存储地址包含的存储表中。
3.如权利要求2所述的方法,其特征在于,确定所述标识信息对应的存储地址,将该分片报文携带的基础报文数据以及报文目的端口存储在所述存储地址包含的存储表中,具体包括:
若确定所述存储地址未对应有存储表,则构建所述存储地址对应的存储表,并将该分片报文携带的基础报文数据以及报文目的端口存储在所述存储表中。
4.如权利要求2所述的方法,其特征在于,将所述标识信息作为存储地址,并根据所述存储地址,将该分片报文携带的基础报文数据以及报文目的端口进行存储,具体包括:
若确定所述存储地址对应有存储表,且所述存储表中未存储有该分片报文携带的基础报文数据,则重新确定该分片报文对应的存储地址;
将该分片报文携带的基础报文数据以及报文目的端口存储在重新确定出的存储地址中,并将重新确定出的存储地址存放在所述存储表中。
5.如权利要求1所述的方法,其特征在于,按照从目标存储地址中查询出的该分片报文对应首分片报文中携带的报文目的端口进行转发,具体包括:
在所述目标存储地址对应的存储表中,查询是否保存有该分片报文携带的基础报文数据;
若是,则按照保存的该分片报文携带的基础报文数据所对应的报文目的端口,将该分片报文进行转发。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
针对每个存储地址,确定该存储地址对应的创建时长;
若确定所述创建时长不小于设定时长,则将该存储地址进行删除。
7.一种报文转发的装置,其特征在于,包括:
获取模块,用于获取各分片报文;
第一确定模块,用于针对每个分片报文,确定该分片报文对应的分片类型;
第二确定模块,用于若确定该分片报文对应的分片类型为首分片报文,则根据该分片报文中携带的基础报文数据,确定该分片报文对应的存储地址并存储;
转发模块,用于若确定该分片报文对应的分片类型为后续分片报文,则根据该分片报文中携带的基础报文数据,确定该分片报文对应的首分片报文的存储地址,作为目标存储地址,并按照从目标存储地址中查询出的该分片报文对应首分片报文中携带的报文目的端口进行转发,其中,出自同一报文的首分片报文和后续分片报文所携带的基础报文数据相同。
8.如权利要求7所述的方法,其特征在于,所述装置还包括:
删除模块,用于针对每个存储地址,确定该存储地址对应的创建时长,以及若确定所述创建时长不小于设定时长,则将该存储地址进行删除。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~6任一项所述的方法。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~6任一项所述的方法。
CN202010135890.2A 2020-03-02 2020-03-02 一种报文转发的方法及装置 Pending CN111355672A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010135890.2A CN111355672A (zh) 2020-03-02 2020-03-02 一种报文转发的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010135890.2A CN111355672A (zh) 2020-03-02 2020-03-02 一种报文转发的方法及装置

Publications (1)

Publication Number Publication Date
CN111355672A true CN111355672A (zh) 2020-06-30

Family

ID=71194236

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010135890.2A Pending CN111355672A (zh) 2020-03-02 2020-03-02 一种报文转发的方法及装置

Country Status (1)

Country Link
CN (1) CN111355672A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114070801A (zh) * 2021-11-23 2022-02-18 北京天融信网络安全技术有限公司 报文处理方法、报文传输方法、装置及电子设备
CN116055586A (zh) * 2022-08-15 2023-05-02 荣耀终端有限公司 分片报文的匹配方法、路由器及存储介质
CN117097678A (zh) * 2023-10-20 2023-11-21 深圳华云信息系统科技股份有限公司 分片报文的流式转发方法、装置、设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003124982A (ja) * 2001-10-15 2003-04-25 Furukawa Electric Co Ltd:The データ中継方法およびその装置
CN101018206A (zh) * 2007-02-14 2007-08-15 华为技术有限公司 分片报文处理方法与装置
CN104579948A (zh) * 2013-10-29 2015-04-29 国家计算机网络与信息安全管理中心 一种报文分片处理方法及装置
CN109474518A (zh) * 2017-09-07 2019-03-15 华为技术有限公司 转发报文的方法及装置
CN110351208A (zh) * 2019-07-03 2019-10-18 天津华云软件有限公司 一种报文转发方法、装置、设备及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003124982A (ja) * 2001-10-15 2003-04-25 Furukawa Electric Co Ltd:The データ中継方法およびその装置
CN101018206A (zh) * 2007-02-14 2007-08-15 华为技术有限公司 分片报文处理方法与装置
CN104579948A (zh) * 2013-10-29 2015-04-29 国家计算机网络与信息安全管理中心 一种报文分片处理方法及装置
CN109474518A (zh) * 2017-09-07 2019-03-15 华为技术有限公司 转发报文的方法及装置
CN110351208A (zh) * 2019-07-03 2019-10-18 天津华云软件有限公司 一种报文转发方法、装置、设备及计算机可读存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114070801A (zh) * 2021-11-23 2022-02-18 北京天融信网络安全技术有限公司 报文处理方法、报文传输方法、装置及电子设备
CN116055586A (zh) * 2022-08-15 2023-05-02 荣耀终端有限公司 分片报文的匹配方法、路由器及存储介质
CN116055586B (zh) * 2022-08-15 2023-09-01 荣耀终端有限公司 分片报文的匹配方法、路由器及存储介质
CN117097678A (zh) * 2023-10-20 2023-11-21 深圳华云信息系统科技股份有限公司 分片报文的流式转发方法、装置、设备和存储介质
CN117097678B (zh) * 2023-10-20 2024-01-26 深圳华云信息系统科技股份有限公司 分片报文的流式转发方法、装置、设备和存储介质

Similar Documents

Publication Publication Date Title
KR102208186B1 (ko) 블록체인 합의 방법 및 디바이스
CN113766035B (zh) 一种业务受理及共识的方法及装置
CN108712454B (zh) 一种文件处理方法、装置及设备
CN111355672A (zh) 一种报文转发的方法及装置
US11366925B2 (en) Methods and apparatuses for chaining service data
US11122110B2 (en) Blockchain-based file processing method, apparatus, and device, and storage medium
CN110875935A (zh) 消息发布、处理、订阅方法、装置及系统
CN111698344A (zh) 一种网络地址转换方法、设备及介质
CN112486915A (zh) 数据存储方法及装置
CN115374117A (zh) 一种数据处理方法、装置、可读存储介质及电子设备
CN111522506B (zh) 一种数据读取的方法及装置
CN114327759A (zh) 区块链数据的处理方法及装置
CN109976769B (zh) 应用安装包对应的服务器标识的确定方法、装置及设备
CN115129728A (zh) 一种文件校验的方法及装置
CN109842498B (zh) 一种客户端配置方法、服务器、客户端及电子设备
CN116107999A (zh) 一种数据库服务和存储系统及方法
CN110908429A (zh) 一种定时器操作方法及装置
CN114513492A (zh) 一种配置ip地址的方法及装置
CN114625410A (zh) 一种请求消息处理方法、装置及设备
CN111163171B (zh) 一种终端设备的远程控制方法以及装置
CN115134349B (zh) 一种执行传输任务的方法、装置、介质及设备
CN111796864A (zh) 一种数据校验的方法及装置
CN110399160B (zh) 渠道包打包方法、装置、服务器以及存储介质
CN110659105A (zh) 虚拟化资源处理方法、装置、设备及存储介质
WO2024099274A1 (zh) 数据处理方法、设备和存储介质

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