CN109726144A - 一种数据报文的处理方法和装置 - Google Patents
一种数据报文的处理方法和装置 Download PDFInfo
- Publication number
- CN109726144A CN109726144A CN201811610846.1A CN201811610846A CN109726144A CN 109726144 A CN109726144 A CN 109726144A CN 201811610846 A CN201811610846 A CN 201811610846A CN 109726144 A CN109726144 A CN 109726144A
- Authority
- CN
- China
- Prior art keywords
- data
- data fragmentation
- fast
- list item
- fragmentation
- 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.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供一种数据报文的处理方法和装置,该方法包括:在接收到构成数据报文的所有数据分片后,从第一快转表项中读取数据报文的每个数据分片的第一地址信息;第一快转表项用于记录数据报文的每个数据分片所在第一内存空间的第一地址信息;从读取的每个第一地址信息对应的第一内存空间,获取数据报文的每个数据分片以及每个数据分片的控制信息;第一内存空间用于存储数据分片、用于对数据分片进行业务处理的控制信息;利用获取的控制信息对所述数据报文的每个数据分片进行业务处理;在业务处理完成后,依次发送所述数据报文的每个数据分片。通过本申请实施例的技术方案,节省网络设备的内存空间,提高数据报文的转发性能和转发效率。
Description
技术领域
本申请涉及通信领域,尤其是涉及一种数据报文的处理方法和装置。
背景技术
数据链路层可以使用最大传输单元(Maximum Transmission Unit,MTU)来限制所能传输的数据报文的长度,MTU是指一次传输数据报文的最大长度。当待发送的数据报文长度超过MTU时,则对数据报文进行分片,否则数据报文无法传输。例如,当MTU为500个字节,数据报文为1200个字节时,则可以将数据报文划分为三个数据分片,这三个数据分片的长度均不超过500个字节。
在一个示例中,网络设备B1接收到数据报文1后,若数据报文1的长度超过MTU,则对数据报文1进行分片,如将数据报文1划分为数据分片1和数据分片2,数据分片1和数据分片2的长度均不超过MTU。然后,网络设备B1将数据分片1和数据分片2发送给网络设备B2。
在实际应用中,若网络设备B2需要对数据报文进行业务处理,如检查数据报文是否为攻击报文,则网络设备B2在接收到数据分片1和数据分片2后,不是直接转发数据分片1和数据分片2,而是需要对数据分片1和数据分片2进行重组,得到数据报文1,并对数据报文1进行业务处理。
为了实现上述过程,网络设备B2接收到数据分片1后,为数据分片1申请内存空间1和内存空间2,将数据分片1拷贝到内存空间1,将数据分片1的控制信息(即与业务处理有关的信息,如入接口、报文类型等)拷贝到内存空间2。网络设备B2接收到数据分片2后,为数据分片2申请内存空间3和内存空间4,将数据分片2拷贝到内存空间3,并将数据分片2的控制信息拷贝到内存空间4。
在对数据分片进行重组时,从内存空间1和内存空间3中读取数据分片1和数据分片2,将数据分片1和数据分片2重组为数据报文1。从内存空间2和内存空间4中读取控制信息,并利用控制信息对数据报文1进行业务处理。
但是,在上述方式中,需要申请4个内存空间,数据分片的数量越多,则内存空间的数量越多,从而占用大量内存空间。上述方式需要将数据分片和控制信息拷贝到不同的内存空间,并从不同的内存空间读取数据分片和控制信息,涉及多次拷贝操作和读取操作,降低了数据报文的转发性能和转发效率。
发明内容
有鉴于此,本申请提供一种数据报文的处理方法和装置,用于提高数据报文的转发性能和转发效率,并节省设备的内存空间。
第一方面,本申请提供一种数据报文的处理方法,所述方法包括:
在接收到构成数据报文的所有数据分片后,从第一快转表项中读取所述数据报文的每个数据分片的第一地址信息;其中,所述第一快转表项用于记录所述数据报文的每个数据分片所在第一内存空间的第一地址信息;
从读取的每个第一地址信息对应的第一内存空间,获取所述数据报文的每个数据分片以及每个数据分片的控制信息;其中,所述第一内存空间用于存储数据分片、用于对数据分片进行业务处理的控制信息;
利用获取的控制信息对所述数据报文的每个数据分片进行业务处理;
在业务处理完成后,依次发送所述数据报文的每个数据分片。
结合第一方面,在第一种可能的实现方式中,所述在接收到构成数据报文的所有数据分片之前,所述方法还包括:
在接收到所述数据报文的每个数据分片时,为所述数据分片分配第一内存空间,在所述第一内存空间存储所述数据分片和所述数据分片的控制信息;
在所述数据分片的第一快转表项记录所述第一内存空间的第一地址信息。
结合第一方面,在第二种可能的实现方式中,所述依次发送所述数据报文的每个数据分片,包括:
在发送所述数据报文的首个数据分片时,获取与所述首个数据分片对应的转发信息,并根据所述转发信息发送所述首个数据分片;
在发送所述数据报文的非首个数据分片时,从第一快转表项中读取第二地址信息,并从所述第二地址信息对应的第二内存空间获取第二快转表项;其中,所述第一快转表项用于记录第二快转表项所在第二内存空间的第二地址信息;
基于所述第二快转表项中的转发信息发送所述非首个数据分片。
结合第一方面以及第二种可能的实现方式,在第三种可能的实现方式中,在获取与所述首个数据分片对应的转发信息之后,在发送所述数据报文的非首个数据分片之前,还包括:
生成第二快转表项,所述第二快转表项包括与所述首个数据分片对应的所述转发信息;
在第二内存空间中存储所述第二快转表项;
在所述第一快转表项记录所述第二内存空间的第二地址信息。
结合第一方面,在第四种可能的实现方式中,若所述数据报文包括N个数据分片,则所述第一快转表项包括N个指针组,每个指针组均包括第一指针和第二指针;其中,所述N为大于或者等于2的正整数;
所述N个指针组中的第i个指针组的第一指针用于记录第i个数据分片的第一地址信息,第i个指针组的第二指针用于记录第i+1个指针组的地址信息;
所述N个指针组中的最后一个指针组的第一指针用于记录所述数据报文的最后一个数据分片的第一地址信息,最后一个指针组的第二指针为空;
其中,所述i的取值为1-(N-1)之间的任意数值。
结合第一方面,在第五种可能的实现方式中,所述依次发送所述数据报文的每个数据分片之后,所述方法还包括:
针对已经发送的数据分片,从所述第一快转表项中获取所述数据分片对应的第一地址信息,并从所述第一地址信息对应的第一内存空间,删除所述数据分片和所述数据分片的控制信息。
第一方面,本申请提供一种数据报文的处理装置,所述装置包括:
读取模块,用于在接收到构成数据报文的所有数据分片后,从第一快转表项中读取所述数据报文的每个数据分片的第一地址信息;其中,第一快转表项用于记录所述数据报文的每个数据分片所在第一内存空间的第一地址信息;
获取模块,用于从读取的每个第一地址信息对应的第一内存空间,获取所述数据报文的每个数据分片以及每个数据分片的控制信息;其中,所述第一内存空间用于存储数据分片、用于对数据分片进行业务处理的控制信息;
处理模块,用于利用获取的控制信息对所述数据报文的每个数据分片进行业务处理;
发送模块,用于在业务处理完成后依次发送所述数据报文的每个数据分片。
结合第二方面,在第一种可能的实现方式中,还包括:
存储模块,用于在接收到所述数据报文的每个数据分片时,为所述数据分片分配第一内存空间,并在所述第一内存空间存储所述数据分片和所述数据分片的控制信息;
记录模块,用于在所述数据分片的第一快转表项记录所述第一内存空间的第一地址信息。
结合第二方面,在第二种可能的实现方式中,所述发送模块依次发送所述数据报文的每个数据分片时具体用于:
在发送所述数据报文的首个数据分片时,获取与所述首个数据分片对应的转发信息,并根据所述转发信息发送所述首个数据分片;
在发送所述数据报文的非首个数据分片时,从第一快转表项中读取第二地址信息,并从所述第二地址信息对应的第二内存空间获取第二快转表项;其中,所述第一快转表项用于记录第二快转表项所在第二内存空间的第二地址信息;
基于所述第二快转表项中的转发信息发送所述非首个数据分片。
结合第二方面以及第二种可能的实现方式,在第三种可能的实现方式中,还包括:
生成模块,用于生成第二快转表项,所述第二快转表项包括与所述首个数据分片对应的所述转发信息;
存储模块,用于在第二内存空间中存储所述第二快转表项;
记录模块,用于在第一快转表项记录所述第二内存空间的第二地址信息。
结合第二方面,在第四种可能的实现方式中,若所述数据报文包括N个数据分片,则所述第一快转表项包括N个指针组,每个指针组均包括第一指针和第二指针;其中,所述N为大于或者等于2的正整数;
所述N个指针组中的第i个指针组的第一指针用于记录第i个数据分片的第一地址信息,第i个指针组的第二指针用于记录第i+1个指针组的地址信息;
所述N个指针组中的最后一个指针组的第一指针用于记录所述数据报文的最后一个数据分片的第一地址信息,最后一个指针组的第二指针为空;
其中,所述i的取值为1-(N-1)之间的任意数值。
结合第二方面,在第五种可能的实现方式中,还包括:
删除模块,用于针对已经发送的数据分片,则从所述第一快转表项中获取所述数据分片对应的第一地址信息,并从所述第一地址信息对应的第一内存空间,删除所述数据分片和所述数据分片的控制信息。
第三方面,本申请提供一种网络设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现上述的方法步骤。
第四方面,本申请提供一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令可以促使所述处理器,实现上述的方法步骤。
由以上技术方案可见,本申请提供的一种数据报文的处理方法,网络设备可以将数据分片和控制信息存储到同一个内存空间,这样,针对数据报文的每个数据分片,只为该数据分片分配一个内存空间,而不是为数据分片分配一个内存空间,为控制信息分配另一个内存空间,从而节省网络设备的内存空间。而且,通过将数据分片和控制信息拷贝到同一个内存空间,并从同一个内存空间读取数据分片和控制信息,从而减少拷贝操作和读取操作的次数,提高数据报文的转发性能和转发效率。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1是本申请一种实施方式中的应用场景示意图;
图2是本申请一种实施方式中的数据报文的处理方法的流程图;
图3A-图3D是本申请一种实施方式中的第一快转表项的示意图;
图4是本申请一种实施方式中的数据报文的处理装置的结构图;
图5是本申请一种实施方式中的网络设备的硬件结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请实施例。本申请实施例和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中提出一种数据报文的处理方法,参见图1所示,为本申请实施例的应用场景示意图。网络设备111为总部机构的网关,网络设备112和网络设备113分别为分支机构的网关。在网络设备111与网络设备112之间建立通用路由封装(Generic RoutingEncapsulation,GRE)隧道,以使分支机构内的主机122能够访问总部机构的主机121。在网络设备111与网络设备113之间建立GRE隧道,以使分支机构内的主机123能够访问总部机构的主机121。此外,总部机构还可以包括网络设备131,分支机构还可以包括网络设备132和网络设备133,网络设备131、网络设备132和网络设备133可以为交换机。
参见图1所示,若主机122向主机121发送数据报文,则主机122将数据报文发送给网络设备132。网络设备132接收到数据报文后,若数据报文的长度超过MTU,则对数据报文进行分片,如将数据报文划分为数据分片1、数据分片2和数据分片3,数据分片1、数据分片2和数据分片3的长度均不超过MTU。
然后,网络设备132将数据分片1、数据分片2和数据分片3分别发送给网络设备112。网络设备112在接收到数据分片1后,可以对数据分片1进行GRE封装,并将封装后的数据分片1发送给网络设备111。网络设备112在接收到数据分片2后,可以对数据分片2进行GRE封装,并将封装后的数据分片2发送给网络设备111。网络设备112在接收到数据分片3后,可以对数据分片3进行GRE封装,并将封装后的数据分片3发送给网络设备111。
网络设备111收到封装后的数据分片1后,对封装后的数据分片1进行解封装,得到数据分片1,将数据分片1发送给网络设备131。网络设备111收到封装后的数据分片2后,对封装后的数据分片2进行解封装,得到数据分片2,将数据分片2发送给网络设备131。网络设备111收到封装后的数据分片3后,对封装后的数据分片3进行解封装,得到数据分片3,将数据分片3发送给网络设备131。网络设备131在接收到数据分片1、数据分片2和数据分片3后,可以对数据分片1、数据分片2和数据分片3进行重组,最终得到上述数据报文,并将数据报文发送给主机121,最终,成功将数据报文发送给主机121。
若网络设备111需要对数据报文进行业务处理,如防攻击业务、网络地址转换(Network Address Translation,NAT)业务等,则网络设备111在得到数据分片1、数据分片2和数据分片3后,不是直接将数据分片1、数据分片2和数据分片3发送给网络设备131,而是对数据分片1、数据分片2和数据分片3进行重组,得到数据报文,并对数据报文进行业务处理。在业务处理完成后,网络设备111将数据分片1、数据分片2和数据分片3发送给网络设备131。
在传统方式中,为了实现数据报文的业务处理,网络设备111需要为数据分片1申请内存空间1和内存空间2,将数据分片1拷贝到内存空间1,将数据分片1的控制信息拷贝到内存空间2;为数据分片2申请内存空间3和内存空间4,将数据分片2拷贝到内存空间3,将数据分片2的控制信息拷贝到内存空间4;为数据分片3申请内存空间5和内存空间6,将数据分片3拷贝到内存空间5,将数据分片3的控制信息拷贝到内存空间6。在对数据分片进行重组时,从内存空间读取每个数据分片,并从内存空间读取每个控制信息。显然,每个数据分片对应2个内存空间,占用大量内存空间。而且,需要将数据分片和控制信息拷贝到不同的内存空间,并从不同的内存空间读取数据分片和控制信息,涉及多次拷贝操作和读取操作,降低了数据报文的转发性能和转发效率。
针对上述发现,本申请实施例中提出一种数据报文的处理方法,该数据报文包括多个数据分片,每个数据分片的大小均不超过MTU。该方法可以应用于网络设备,参见图2所示,为该方法的流程示意图,该方法可以包括:
步骤201,在接收到构成数据报文的所有数据分片后,则从第一快转表项中读取该数据报文的每个数据分片的第一地址信息;其中,第一快转表项用于记录该数据报文的每个数据分片所在第一内存空间的第一地址信息。
具体的,由于第一快转表项用于记录数据报文的每个数据分片所在第一内存空间的第一地址信息,因此,网络设备在接收到数据报文的所有数据分片后,可以从第一快转表项中读取该数据报文的每个数据分片的第一地址信息。
步骤202,从读取的每个第一地址信息对应的第一内存空间,获取该数据报文的每个数据分片以及每个数据分片的控制信息;其中,所述第一内存空间用于存储数据分片、用于对该数据分片进行业务处理的控制信息。
具体的,由于第一地址信息对应的第一内存空间用于存储数据分片和控制信息,因此,网络设备在从第一快转表项中读取第一地址信息后,可以从第一地址信息对应的第一内存空间中,获取被存储的数据分片和控制信息。
步骤203,利用获取的控制信息对数据报文的每个数据分片进行业务处理。
在一个例子中,控制信息可以是与业务处理有关的信息,如控制信息可以包括但不限于入接口、报文类型、链路层信息等,对此控制信息不做限制。
基于每个数据分片的控制信息,网络设备可以对数据报文的每个数据分片进行业务处理,如防攻击业务、NAT业务等,对此业务处理过程不做限制。
步骤204,在业务处理完成后,依次发送数据报文的每个数据分片。
由以上技术方案可见,本申请实施例中,可以将数据分片和控制信息存储到同一个内存空间,这样,针对数据报文的每个数据分片,只为该数据分片分配一个内存空间,而不是为数据分片分配一个内存空间,为控制信息分配另一个内存空间,从而节省网络设备的内存空间。而且,通过将数据分片和控制信息拷贝到同一个内存空间,并从同一个内存空间读取数据分片和控制信息,从而减少拷贝操作和读取操作的次数,提高数据报文的转发性能和转发效率。
可选的,在一个例子中,在步骤201之前,网络设备在接收到数据报文的每个数据分片时,可以为该数据分片分配第一内存空间,并在第一内存空间存储该数据分片和用于对该数据分片进行业务处理的控制信息。同时,网络设备在该数据分片的第一快转表项中记录该第一内存空间的第一地址信息。
其中,针对数据报文的所有数据分片来说,对应同一个第一快转表项。
其中,网络设备在该数据分片的第一快转表项记录该第一内存空间的第一地址信息,可以包括:针对数据报文的每个数据分片,网络设备判断是否已经存在与该数据分片的特征信息(如源IP地址、目的IP地址、协议类型和报文标识等)对应的第一快转表项。如果是,则网络设备将该第一地址信息记录到该第一快转表项。如果否,则网络设备创建第一快转表项,并在该第一快转表项中记录该数据分片的特征信息,同时将该第一地址信息记录到该第一快转表项。
以下结合具体应用场景,对上述过程进行说明。假设数据分片1的特征信息、数据分片2的特征信息和数据分片3的特征信息,均为特征信息A。
网络设备111在接收到数据分片1时,为数据分片1分配第一内存空间1,并在第一内存空间1存储数据分片1和用于对数据分片1进行业务处理的控制信息1。由于当前不存在与数据分片1的特征信息A对应的第一快转表项,因此,网络设备111创建第一快转表项,并在第一快转表项中记录数据分片1的特征信息A,并将第一内存空间1的第一地址信息1记录到第一快转表项中。
网络设备111在接收到数据分片2时,为数据分片2分配第一内存空间2,并在第一内存空间2存储数据分片2和用于对数据分片2进行业务处理的控制信息2。由于当前存在与数据分片2的特征信息A对应的第一快转表项,因此,网络设备111直接将第一内存空间2的第一地址信息2记录到第一快转表项中。
网络设备111在接收到数据分片3时,为数据分片3分配第一内存空间3,并在第一内存空间3存储数据分片3和用于对数据分片3进行业务处理的控制信息3。由于当前存在与数据分片3的特征信息A对应的第一快转表项,因此,网络设备111直接将第一内存空间3的第一地址信息3记录到第一快转表项中。
网络设备111接收到构成数据报文的所有数据分片(如数据分片1、数据分片2和数据分片3)后,从第一快转表项中读取第一地址信息1、第一地址信息2和第一地址信息3,从第一地址信息1对应的第一内存空间1获取数据分片1和控制信息1,从第一地址信息2对应的第一内存空间2获取数据分片2和控制信息2,从第一地址信息3对应的第一内存空间3获取数据分片3和控制信息3。
进一步的,网络设备111利用控制信息1、控制信息2和控制信息3对数据报文的所有数据分片进行业务处理,例如,先将数据分片1、数据分片2和数据分片3重组成数据报文,然后,利用控制信息1、控制信息2和控制信息3对数据报文进行业务处理,对此业务处理过程不再赘述。在业务处理完成后,网络设备111依次将数据分片1、数据分片2和数据分片3发送给网络设备131。
可选地,在一个例子中,前述步骤204中依次发送数据报文的每个数据分片,可以包括但不限于:网络设备在发送数据报文的首个数据分片时,获取与首个数据分片对应的转发信息,并根据该转发信息发送首个数据分片。网络设备在发送数据报文的非首个数据分片时,从第一快转表项中读取第二地址信息,并从该第二地址信息对应的第二内存空间获取第二快转表项;网络设备基于第二快转表项中的转发信息发送非首个数据分片。其中,该第一快转表项用于记录第二快转表项所在第二内存空间的第二地址信息。
可选地,在一个例子中,网络设备在获取与首个数据分片对应的转发信息之后,在发送数据报文的非首个数据分片之前,网络设备还可以生成第二快转表项,该第二快转表项可以包括与首个数据分片对应的转发信息。然后,网络设备在第二内存空间中存储该第二快转表项,并在上述第一快转表项中记录该第二内存空间的第二地址信息。
综上所述,由于网络设备在获取与首个数据分片对应的转发信息之后,在发送数据报文的非首个数据分片之前,将首个数据分片对应的转发信息记录到第二快转表项,并将第二内存空间的第二地址信息记录到第一快转表项中。因此,网络设备在发送数据报文的非首个数据分片时,就可以从第一快转表项中读取到第二地址信息,并从该第二地址信息对应的第二内存空间获取第二快转表项;又由于第二快转表项包括首个数据分片对应的转发信息,因此,网络设备可以基于第二快转表项中的转发信息发送非首个数据分片。
以下结合具体应用场景,对上述过程进行说明。网络设备111依次发送数据报文的每个数据分片时,发送顺序为数据分片1、数据分片2和数据分片3。
网络设备111在发送数据分片1(即首个数据分片)时,先获取与数据分片1对应的转发信息,如出接口、下一跳、链路层头信息等,然后,网络设备111根据该转发信息发送数据分片1,即将该数据分片1发送给网络设备131。
例如,网络设备111通过数据分片1的目的IP地址查询路由表,得到与目的IP地址对应的出接口、下一跳等路由信息。若出接口为普通口(即非隧道口),则转发信息为出接口和下一跳,可以依据出接口和下一跳发送数据分片1。
若出接口为隧道口(如GRE隧道口),则网络设备111可以利用目的IP地址对应的下一跳查询邻接表,得到与该下一跳对应的链路层头信息(表示如何封装数据分片,如为数据分片封装GRE隧道头,GRE隧道头的源IP地址为网络设备111的IP地址,目的IP地址为下一跳的IP地址,对此链路层头信息不做限制)。基于此,转发信息为出接口、下一跳和链路层头信息,依据链路层头信息对数据分片1进行封装,依据出接口和下一跳发送封装后的数据分片1。
当然,上述只是转发信息的示例,对此转发信息不做限制。
网络设备111获取与数据分片1对应的转发信息后,网络设备111还可以生成第二快转表项,该第二快转表项可以包括与数据分片1对应的转发信息,当然,该第二快转表项还可以包括其它内容,如数据分片1的源IP地址、目的IP地址、协议类型、源端口和目的端口等,对此不做限制。
然后,网络设备111为第二快转表项分配第二内存空间,在第二内存空间存储第二快转表项,并将第二内存空间的第二地址信息记录到第一快转表项。
网络设备111在发送数据分片2(即非首个数据分片)时,可以从第一快转表项中读取第二地址信息,并从该第二地址信息对应的第二内存空间获取第二快转表项。由于第二快转表项中记录有数据分片1的转发信息,而数据分片2的转发信息与数据分片1的转发信息相同,因此,网络设备111可以直接利用第二快转表项中的数据分片1的转发信息发送数据分片2。
网络设备111在发送数据分片3(即非首个数据分片)时,可以从第一快转表项中读取第二地址信息,并从该第二地址信息对应的第二内存空间获取第二快转表项。由于第二快转表项中记录有数据分片1的转发信息,而数据分片3的转发信息与数据分片1的转发信息相同,因此,网络设备111可以直接利用第二快转表项中的数据分片1的转发信息发送数据分片3。
由以上技术方案可见,本申请实施例中,网络设备111在发送非首个数据分片时,不重新查询路由表和邻接表,而是直接从第二快转表项中获取转发信息,并根据该转发信息发送非首个数据分片,从而提高数据报文的转发性能和转发效率。而且,由于第一快转表项包括第二快转表项的第二地址信息,因此,可以通过第二地址信息找到第二快转表项,进一步提升转发性能和转发效率。
可选地,在一个例子中,若数据报文包括N个数据分片,则第一快转表项可以包括N个指针组,每个指针组均可以包括第一指针和第二指针,所述N为大于或者等于2的正整数。
进一步的,N个指针组中的第i个指针组的第一指针用于记录第i个数据分片的第一地址信息,所述第i个指针组的第二指针用于记录第i+1个指针组的地址信息,其中,i的取值可以为1-(N-1)之间的任意数值。此外,N个指针组中的最后一个指针组的第一指针用于记录数据报文的最后一个数据分片的第一地址信息,所述最后一个指针组的第二指针为空。
例如,数据报文包括数据分片1、数据分片2和数据分片3时,则第一快转表项包括指针组1、指针组2和指针组3。其中,指针组1的第一指针用于记录数据分片1的第一地址信息,指针组1的第二指针用于记录指针组2的地址信息。指针组2的第一指针用于记录数据分片2的第一地址信息,指针组2的第二指针用于记录指针组3的地址信息。指针组3的第一指针用于记录数据分片3的第一地址信息,指针组3的第二指针为空,即不再指向下一个地址信息。
可选地,在一个例子中,前述步骤204之后,针对已经发送的数据分片,还可以从第一快转表项中获取该数据分片对应的第一地址信息,并从该第一地址信息对应的第一内存空间,删除该数据分片和该数据分片的控制信息。
例如,网络设备111在发送数据分片1后,可以从第一快转表项中获取数据分片1对应的第一地址信息1,并从第一地址信息1对应的第一内存空间1,删除数据分片1和数据分片1的控制信息,即释放第一内存空间1。
以下结合具体场景,对上述过程进行说明。假设网络设备111先接收到数据分片1,然后接收到数据分片3,最后接收到数据分片2,数据分片1的特征信息、数据分片2的特征信息和数据分片3的特征信息,均为特征信息A。
网络设备111在接收到数据分片1时,为数据分片1分配第一内存空间1,并在第一内存空间1存储数据分片1和控制信息1。由于当前不存在与数据分片1的特征信息A对应的第一快转表项,因此,网络设备111创建第一快转表项,并在第一快转表项中记录特征信息A(如源IP地址、目的IP地址、协议类型和报文标识等),并将第一内存空间1的第一地址信息1记录到第一快转表项中。
参见图3A所示,为第一快转表项的示例,除了特征信息A,第一快转表项还可以包括私网索引、源端口和目的端口等内容,对此不做限制。
参见图3A所示,第一快转表项还包括数据分片的链表头,该链表头可以为一个指针,用于记录指针组1的地址信息,即指向指针组1。此外,指针组1包括第一指针和第二指针,第一指针用于记录第一内存空间1的第一地址信息1,即指向第一内存空间1,第二指针当前为空,即未指向下一个地址信息。
在一个例子中,第一内存空间的大小可以为2048个字节,而MTU的大小可以为1500个字节,因此,在为数据分片1分配第一内存空间1后,第一内存空间1的大小通常大于数据分片1的大小,而控制信息1通常比较小,为几个字节,因此,可以将数据分片1和控制信息1存储到第一内存空间1。
其中,第一内存空间1可以为固定大小的数据块,这个数据块的部分空间用于存储数据分片1,而其余空间用于存储控制信息1。在第一内存空间1被释放时,可以将这个数据块回收到快速交换池中,下次申请内存空间时,可以从快速交换池申请到这个数据块,并使用这个数据块存储数据分片和控制信息。
在一个例子中,网络设备111在接收到数据分片1时,还可以确定已经接收到的数据分片(即数据分片1)的长度之和,如数据分片1的长度A。然后,判断当前是否已经接收到数据报文的最后一个数据分片,由于没有接收到最后一个数据分片,因此,可以继续等待接收数据报文的下一个数据分片。
网络设备111在接收到数据分片3时,为数据分片3分配第一内存空间3,并在第一内存空间3存储数据分片3和数据分片3的控制信息3。由于当前已经存在与数据分片3的特征信息A对应的第一快转表项,因此,网络设备111直接将第一内存空间3的第一地址信息3记录到第一快转表项中。
参见图3B所示,网络设备111可以对数据分片1和数据分片3进行排序,由于数据分片3位于数据分片1之后,因此,可以通过指针组1的第二指针记录指针组2的地址信息,即指向指针组2。此外,指针组2也可以包括第一指针和第二指针,该第一指针用于记录第一内存空间3的第一地址信息3,即指向第一内存空间3,该第二指针当前可以为空,即未指向下一个地址信息。
在一个例子中,网络设备111在接收到数据分片3时,还可以确定已经接收到的数据分片(即数据分片1和数据分片3)的长度之和,如数据分片1的长度A与数据分片3的长度B之和。然后,判断当前是否已经接收到数据报文的最后一个数据分片,由于已经接收到最后一个数据分片3,因此,利用数据分片3确定数据报文的总长度。若长度A与长度B之和小于总长度,则确定未接收到数据报文的所有数据分片,继续等待接收数据报文的下一个数据分片。
网络设备111在接收到数据分片2时,为数据分片2分配第一内存空间2,并在第一内存空间2存储数据分片2和数据分片2的控制信息2。由于当前已经存在与数据分片2的特征信息A对应的第一快转表项,因此,网络设备111直接将第一内存空间2的第一地址信息2记录到第一快转表项中。
参见图3C所示,网络设备111可以对数据分片1、数据分片3和数据分片2进行排序,由于数据分片2位于数据分片1与数据分片3之间,因此,将数据分片2的指针组插入到数据分片1的指针组与数据分片3的指针组之间,也就是说,数据分片2的指针组为指针组2,数据分片3的指针组为指针组3。
基于此,通过指针组1的第二指针记录指针组2的地址信息,即指向指针组2。指针组2的第一指针用于记录第一内存空间2的第一地址信息2,即指向第一内存空间2,指针组2的第二指针记录指针组3的地址信息,即指向指针组3。指针组3的第一指针用于记录第一内存空间3的第一地址信息3,即指向第一内存空间3,指针组3的第二指针当前为空,即未指向下一个地址信息。
在一个例子中,网络设备111在接收到数据分片2时,还可以确定已经接收到的数据分片(即数据分片1、数据分片3和数据分片2)的长度之和,由于已经基于数据分片3确定数据报文的总长度,因此,若已经接收到的数据分片的长度之和等于总长度,则确定已经接收到数据报文的所有数据分片。
网络设备111在接收到数据报文的所有数据分片后,基于图3C所示的第一快转表项的数据分片的链表头,读取指针组1的地址信息。基于指针组1的地址信息确定指针组1的第一指针和第二指针,基于指针组1的第一指针确定第一内存空间1的第一地址信息1;基于指针组1的第二指针读取指针组2的地址信息。基于指针组2的地址信息确定指针组2的第一指针和第二指针,基于指针组2的第一指针确定第一内存空间2的第一地址信息2;基于指针组2的第二指针读取指针组3的地址信息。基于指针组3的地址信息确定指针组3的第一指针,基于指针组3的第一指针确定第一内存空间3的第一地址信息3。
进一步的,网络设备111从第一地址信息1对应的第一内存空间1获取数据分片1和控制信息1,从第一地址信息2对应的第一内存空间2获取数据分片2和控制信息2,从第一地址信息3对应的第一内存空间3获取数据分片3和控制信息3。将数据分片1、数据分片2和数据分片3重组成数据报文,利用控制信息1、控制信息2和控制信息3对数据报文进行业务处理,对此过程不再赘述。
在业务处理完成后,网络设备111依次发送数据分片1、数据分片2和数据分片3。具体的,网络设备111在发送数据分片1(即首个数据分片)时,先获取与数据分片1对应的转发信息,具体方式参见上述实施例,然后,网络设备111根据该转发信息发送数据分片1。
进一步的,网络设备111还可以生成第二快转表项,第二快转表项可以包括与数据分片1对应的转发信息,当然,该第二快转表项还可以包括源IP地址、目的IP地址、协议类型、源端口和目的端口等其它信息,对此不做限制。然后,网络设备111为第二快转表项分配第二内存空间,并在第二内存空间存储第二快转表项,并将第二内存空间的第二地址信息记录到第一快转表项。
例如,参见图3D所示,第一快转表项可以包括快转指针,该快转指针用于记录第二内存空间的第二地址信息,即该快转指针可以指向第二内存空间。
网络设备111在发送数据分片2时,基于图3D所示的第一快转表项,可以根据快转指针指向的第二内存空间获取第二快转表项,并从该第二快转表项获取数据分片1的转发信息,然后,利用该转发信息发送数据分片2。
网络设备111在发送数据分片3时,基于图3D所示的第一快转表项,可以根据快转指针指向的第二内存空间获取第二快转表项,并从该第二快转表项获取数据分片1的转发信息,然后,利用该转发信息发送数据分片3。
在一个例子中,网络设备111在发送数据分片1后,还可以从第一快转表项中获取数据分片1的第一地址信息1,并从第一地址信息1对应的第一内存空间1,删除数据分片1和数据分片1的控制信息。在发送数据分片2后,还可以从第一快转表项中获取数据分片2的第一地址信息2,并从第一地址信息2对应的第一内存空间2,删除数据分片2和数据分片2的控制信息。在发送数据分片3后,还可以从第一快转表项中获取数据分片3的第一地址信息3,并从第一地址信息3对应的第一内存空间3,删除数据分片3和数据分片3的控制信息。
网络设备111依次发送数据报文的所有数据分片后,还可以删除上述第一快转表项和上述第二快转表项,最终,完成数据报文的所有数据分片的处理。
在一个例子中,网络设备111可以维护分片快转表和快转表。分片快转表的每个表项称为分片快转表项,且第一快转表项为分片快转表中的分片快转表项。快转表的每个表项称为快转表项,且第二快转表项为快转表中的快转表项。
相应地,基于与上述方法同样的申请构思,本申请实施例还提出一种数据报文的处理装置,可以应用于网络设备,参见图4所示,所述装置包括:
读取模块41,用于在接收到构成数据报文的所有数据分片后,从第一快转表项中读取所述数据报文的每个数据分片的第一地址信息;其中,第一快转表项用于记录所述数据报文的每个数据分片所在第一内存空间的第一地址信息;
获取模块42,用于从读取的每个第一地址信息对应的第一内存空间,获取所述数据报文的每个数据分片以及每个数据分片的控制信息;其中,所述第一内存空间用于存储数据分片、用于对数据分片进行业务处理的控制信息;
处理模块43,用于利用获取的控制信息对所述数据报文的每个数据分片进行业务处理;
发送模块44,用于在业务处理完成后依次发送所述数据报文的每个数据分片。
可选地,在一个例子中,所述装置还包括(在图中未视出):
存储模块,用于在接收到所述数据报文的每个数据分片时,为所述数据分片分配第一内存空间,并在所述第一内存空间存储所述数据分片和所述数据分片的控制信息;
记录模块,用于在所述数据分片的第一快转表项记录所述第一内存空间的第一地址信息。
可选地,在一个例子中,所述发送模块44依次发送所述数据报文的每个数据分片时具体用于:在发送所述数据报文的首个数据分片时,获取与所述首个数据分片对应的转发信息,并根据所述转发信息发送所述首个数据分片;
在发送所述数据报文的非首个数据分片时,从第一快转表项中读取第二地址信息,并从所述第二地址信息对应的第二内存空间获取第二快转表项;其中,所述第一快转表项用于记录第二快转表项所在第二内存空间的第二地址信息;
基于所述第二快转表项中的转发信息发送所述非首个数据分片。
可选地,在一个例子中,所述装置还包括(在图中未视出):
生成模块,用于生成第二快转表项,所述第二快转表项包括与所述首个数据分片对应的所述转发信息;
存储模块,用于在第二内存空间中存储所述第二快转表项;
记录模块,用于在第一快转表项记录所述第二内存空间的第二地址信息。
可选地,在一个例子中,若所述数据报文包括N个数据分片,则所述第一快转表项包括N个指针组,每个指针组均包括第一指针和第二指针;其中,所述N为大于或者等于2的正整数;
所述N个指针组中的第i个指针组的第一指针用于记录第i个数据分片的第一地址信息,第i个指针组的第二指针用于记录第i+1个指针组的地址信息;
所述N个指针组中的最后一个指针组的第一指针用于记录所述数据报文的最后一个数据分片的第一地址信息,最后一个指针组的第二指针为空;
其中,所述i的取值为1-(N-1)之间的任意数值。
可选地,在一个例子中,所述装置还包括(在图中未视出):
删除模块,用于针对已经发送的数据分片,则从所述第一快转表项中获取所述数据分片对应的第一地址信息,并从所述第一地址信息对应的第一内存空间,删除所述数据分片和所述数据分片的控制信息。
本申请实施例提供的网络设备,从硬件层面而言,硬件架构示意图可以参见图5所示,可以包括:机器可读存储介质和处理器,其中:
机器可读存储介质:存储指令代码。
处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,实现本申请上述示例公开的数据报文的处理操作。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (12)
1.一种数据报文的处理方法,其特征在于,所述方法包括:
在接收到构成数据报文的所有数据分片后,从第一快转表项中读取所述数据报文的每个数据分片的第一地址信息;其中,所述第一快转表项用于记录所述数据报文的每个数据分片所在第一内存空间的第一地址信息;
从读取的每个第一地址信息对应的第一内存空间,获取所述数据报文的每个数据分片以及每个数据分片的控制信息;其中,所述第一内存空间用于存储数据分片、用于对数据分片进行业务处理的控制信息;
利用获取的控制信息对所述数据报文的每个数据分片进行业务处理;
在业务处理完成后,依次发送所述数据报文的每个数据分片。
2.根据权利要求1所述的方法,其特征在于,
所述在接收到构成数据报文的所有数据分片之前,所述方法还包括:
在接收到所述数据报文的每个数据分片时,为所述数据分片分配第一内存空间,在所述第一内存空间存储所述数据分片和所述数据分片的控制信息;
在所述数据分片的第一快转表项记录所述第一内存空间的第一地址信息。
3.根据权利要求1所述的方法,其特征在于,
所述依次发送所述数据报文的每个数据分片,包括:
在发送所述数据报文的首个数据分片时,获取与所述首个数据分片对应的转发信息,并根据所述转发信息发送所述首个数据分片;
在发送所述数据报文的非首个数据分片时,从第一快转表项中读取第二地址信息,并从所述第二地址信息对应的第二内存空间获取第二快转表项;其中,所述第一快转表项用于记录第二快转表项所在第二内存空间的第二地址信息;
基于所述第二快转表项中的转发信息发送所述非首个数据分片。
4.根据权利要求3所述的方法,其特征在于,在获取与所述首个数据分片对应的转发信息之后,在发送所述数据报文的非首个数据分片之前,还包括:
生成第二快转表项,所述第二快转表项包括与所述首个数据分片对应的所述转发信息;
在第二内存空间中存储所述第二快转表项;
在所述第一快转表项记录所述第二内存空间的第二地址信息。
5.根据权利要求1所述的方法,其特征在于,若所述数据报文包括N个数据分片,则所述第一快转表项包括N个指针组,每个指针组均包括第一指针和第二指针;其中,所述N为大于或者等于2的正整数;
所述N个指针组中的第i个指针组的第一指针用于记录第i个数据分片的第一地址信息,第i个指针组的第二指针用于记录第i+1个指针组的地址信息;
所述N个指针组中的最后一个指针组的第一指针用于记录所述数据报文的最后一个数据分片的第一地址信息,最后一个指针组的第二指针为空;
其中,所述i的取值为1-(N-1)之间的任意数值。
6.根据权利要求1所述的方法,其特征在于,
所述依次发送所述数据报文的每个数据分片之后,所述方法还包括:
针对已经发送的数据分片,从所述第一快转表项中获取所述数据分片对应的第一地址信息,并从所述第一地址信息对应的第一内存空间,删除所述数据分片和所述数据分片的控制信息。
7.一种数据报文的处理装置,其特征在于,所述装置包括:
读取模块,用于在接收到构成数据报文的所有数据分片后,从第一快转表项中读取所述数据报文的每个数据分片的第一地址信息;其中,第一快转表项用于记录所述数据报文的每个数据分片所在第一内存空间的第一地址信息;
获取模块,用于从读取的每个第一地址信息对应的第一内存空间,获取所述数据报文的每个数据分片以及每个数据分片的控制信息;其中,所述第一内存空间用于存储数据分片、用于对数据分片进行业务处理的控制信息;
处理模块,用于利用获取的控制信息对所述数据报文的每个数据分片进行业务处理;
发送模块,用于在业务处理完成后依次发送所述数据报文的每个数据分片。
8.根据权利要求7所述的装置,其特征在于,还包括:
存储模块,用于在接收到所述数据报文的每个数据分片时,为所述数据分片分配第一内存空间,并在所述第一内存空间存储所述数据分片和所述数据分片的控制信息;
记录模块,用于在所述数据分片的第一快转表项记录所述第一内存空间的第一地址信息。
9.根据权利要求7所述的装置,其特征在于,
所述发送模块依次发送所述数据报文的每个数据分片时具体用于:
在发送所述数据报文的首个数据分片时,获取与所述首个数据分片对应的转发信息,并根据所述转发信息发送所述首个数据分片;
在发送所述数据报文的非首个数据分片时,从第一快转表项中读取第二地址信息,并从所述第二地址信息对应的第二内存空间获取第二快转表项;其中,所述第一快转表项用于记录第二快转表项所在第二内存空间的第二地址信息;
基于所述第二快转表项中的转发信息发送所述非首个数据分片。
10.根据权利要求9所述的装置,其特征在于,还包括:
生成模块,用于生成第二快转表项,所述第二快转表项包括与所述首个数据分片对应的所述转发信息;
存储模块,用于在第二内存空间中存储所述第二快转表项;
记录模块,用于在第一快转表项记录所述第二内存空间的第二地址信息。
11.根据权利要求7所述的装置,其特征在于,若所述数据报文包括N个数据分片,则所述第一快转表项包括N个指针组,每个指针组均包括第一指针和第二指针;其中,所述N为大于或者等于2的正整数;
所述N个指针组中的第i个指针组的第一指针用于记录第i个数据分片的第一地址信息,第i个指针组的第二指针用于记录第i+1个指针组的地址信息;
所述N个指针组中的最后一个指针组的第一指针用于记录所述数据报文的最后一个数据分片的第一地址信息,最后一个指针组的第二指针为空;
其中,所述i的取值为1-(N-1)之间的任意数值。
12.根据权利要求7所述的装置,其特征在于,还包括:
删除模块,用于针对已经发送的数据分片,则从所述第一快转表项中获取所述数据分片对应的第一地址信息,并从所述第一地址信息对应的第一内存空间,删除所述数据分片和所述数据分片的控制信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811610846.1A CN109726144B (zh) | 2018-12-27 | 2018-12-27 | 一种数据报文的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811610846.1A CN109726144B (zh) | 2018-12-27 | 2018-12-27 | 一种数据报文的处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109726144A true CN109726144A (zh) | 2019-05-07 |
CN109726144B CN109726144B (zh) | 2021-11-02 |
Family
ID=66296510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811610846.1A Active CN109726144B (zh) | 2018-12-27 | 2018-12-27 | 一种数据报文的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109726144B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111224896A (zh) * | 2020-01-06 | 2020-06-02 | 苏州雄立科技有限公司 | 一种多指针报文管理方法及装置 |
CN112860595A (zh) * | 2021-03-12 | 2021-05-28 | 湖南国科微电子股份有限公司 | Pci设备或pcie设备、数据存取方法及相关组件 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1411218A (zh) * | 2002-04-23 | 2003-04-16 | 华为技术有限公司 | 分片报文的网络访问控制方法 |
CN101674234A (zh) * | 2009-08-21 | 2010-03-17 | 曙光信息产业(北京)有限公司 | Ip报文的分片重组方法和装置 |
US20130151660A1 (en) * | 2011-12-07 | 2013-06-13 | Denso Corporation | Delay system, delay device and communication device constituting delay system |
CN103560951A (zh) * | 2013-11-13 | 2014-02-05 | 华为技术有限公司 | 报文处理方法及物理转发设备 |
CN104579948A (zh) * | 2013-10-29 | 2015-04-29 | 国家计算机网络与信息安全管理中心 | 一种报文分片处理方法及装置 |
CN106330788A (zh) * | 2016-08-19 | 2017-01-11 | 北京网迅科技有限公司杭州分公司 | 报文分片传输方法和装置 |
CN106789730A (zh) * | 2016-12-29 | 2017-05-31 | 杭州迪普科技股份有限公司 | 分片报文的处理方法及装置 |
-
2018
- 2018-12-27 CN CN201811610846.1A patent/CN109726144B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1411218A (zh) * | 2002-04-23 | 2003-04-16 | 华为技术有限公司 | 分片报文的网络访问控制方法 |
CN101674234A (zh) * | 2009-08-21 | 2010-03-17 | 曙光信息产业(北京)有限公司 | Ip报文的分片重组方法和装置 |
US20130151660A1 (en) * | 2011-12-07 | 2013-06-13 | Denso Corporation | Delay system, delay device and communication device constituting delay system |
CN104579948A (zh) * | 2013-10-29 | 2015-04-29 | 国家计算机网络与信息安全管理中心 | 一种报文分片处理方法及装置 |
CN103560951A (zh) * | 2013-11-13 | 2014-02-05 | 华为技术有限公司 | 报文处理方法及物理转发设备 |
CN106330788A (zh) * | 2016-08-19 | 2017-01-11 | 北京网迅科技有限公司杭州分公司 | 报文分片传输方法和装置 |
CN106789730A (zh) * | 2016-12-29 | 2017-05-31 | 杭州迪普科技股份有限公司 | 分片报文的处理方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111224896A (zh) * | 2020-01-06 | 2020-06-02 | 苏州雄立科技有限公司 | 一种多指针报文管理方法及装置 |
CN111224896B (zh) * | 2020-01-06 | 2022-06-24 | 苏州雄立科技有限公司 | 一种多指针报文管理方法及装置 |
CN112860595A (zh) * | 2021-03-12 | 2021-05-28 | 湖南国科微电子股份有限公司 | Pci设备或pcie设备、数据存取方法及相关组件 |
Also Published As
Publication number | Publication date |
---|---|
CN109726144B (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108259347A (zh) | 一种报文传输方法和装置 | |
CN106998297B (zh) | 一种虚拟机迁移方法和装置 | |
CN107786638A (zh) | 一种数据处理方法、装置及系统 | |
EP3077914B1 (en) | System and method for managing and supporting virtual host bus adaptor (vhba) over infiniband (ib) and for supporting efficient buffer usage with a single external memory interface | |
CN108462652B (zh) | 一种报文处理方法、装置和网络设备 | |
CN109726144A (zh) | 一种数据报文的处理方法和装置 | |
CN108600109A (zh) | 一种报文转发方法和装置 | |
CN106789730A (zh) | 分片报文的处理方法及装置 | |
CN106302179A (zh) | 一种管理索引表的方法及装置 | |
CN109412949A (zh) | 一种数据报文传输方法和装置 | |
CN108259348B (zh) | 一种报文传输方法和装置 | |
CN105518610B (zh) | 处理操作请求的存储系统、方法及装置 | |
CN115470156A (zh) | 基于rdma的内存使用方法、系统、电子设备和存储介质 | |
CN106254270A (zh) | 一种队列管理方法及装置 | |
CN105488108A (zh) | 一种多个视频文件高速并行存储的方法及装置 | |
CN104601645A (zh) | 一种数据包处理方法及装置 | |
KR20080016681A (ko) | 단방향성 풀 듀플렉스 인터페이스를 갖는 메모리를 위한포스트된 기록 버퍼용 방법, 장치, 시스템 및 저장 매체 | |
TWI397285B (zh) | 封包轉送方式 | |
JP2012155650A (ja) | ルータ及びメニーコアシステム | |
US8898353B1 (en) | System and method for supporting virtual host bus adaptor (VHBA) over infiniband (IB) using a single external memory interface | |
CN111107142B (zh) | 业务访问方法和装置 | |
CN108259340A (zh) | 一种拓扑信息传输方法和装置 | |
CN109347744A (zh) | 一种报文处理方法、装置及网络设备 | |
CN105930534B (zh) | 一种基于云存储服务价格的数据碎片减少方法 | |
CN110866380A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |