CN105939297A - 一种tcp报文重组方法和装置 - Google Patents

一种tcp报文重组方法和装置 Download PDF

Info

Publication number
CN105939297A
CN105939297A CN201510705482.5A CN201510705482A CN105939297A CN 105939297 A CN105939297 A CN 105939297A CN 201510705482 A CN201510705482 A CN 201510705482A CN 105939297 A CN105939297 A CN 105939297A
Authority
CN
China
Prior art keywords
message
chained list
tcp
order
tcp message
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
Application number
CN201510705482.5A
Other languages
English (en)
Other versions
CN105939297B (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.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies 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 Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201510705482.5A priority Critical patent/CN105939297B/zh
Publication of CN105939297A publication Critical patent/CN105939297A/zh
Application granted granted Critical
Publication of CN105939297B publication Critical patent/CN105939297B/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
    • 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/9015Buffering arrangements for supporting a linked list

Landscapes

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

Abstract

本发明提供一种TCP报文重组方法和装置,所述方法包括:当接收到TCP报文时,根据所述TCP报文中包括的IP地址和端口查询对应的会话表项;根据所述TCP报文的方向、所述TCP报文的序号以及所述方向按序接收到的TCP报文的序号,确定所述TCP报文的类别;若所述TCP报文为乱序报文,则将所述TCP报文加入所述方向的乱序报文链表;若所述TCP报文为顺序报文,则判断所述方向的乱序报文链表中是否存在与所述TCP报文匹配的链表节点;若存在,将该链表节点和所述TCP报文加入到所述方向的顺序报文链表;否则,将所述TCP报文加入所述方向的顺序报文链表。应用本发明实施例可以实现TCP流重组。

Description

一种TCP报文重组方法和装置
技术领域
本发明涉及网络通信技术领域,尤其涉及一种TCP报文重组方法和装置。
背景技术
现代信息审计类型的应用型网络设备,需要进行很多七层业务处理,如攻击检测,流量审计,访问控制等等。处理七层业务,需要对流量负载进行深度检测,以保证流量的顺序处理。现行的攻击变形手段,包括了将TCP(Transmission Control Protocol,传输控制协议)报文分割成单个字节的IP(Internet Protocol,互联网协议)报文,再进行发送以便有较大概率造成TCP乱序;或者攻击者直接使用特定的工具,发送乱序报文。当网络设备收到乱序报文时,如果不能进行TCP流重组,就不能准确分析流量的负载内容,使攻击流量可以绕过攻击检测设备的检测。
因此,如何对TCP流进行重组,以保证流量的顺序处理成为一个亟待解决的技术问题。
发明内容
本发明提供一种TCP报文重组方法和装置,以解决现有技术中网络设备无法对TCP流进行重组的问题。
根据本发明实施例的第一方面,提供一种TCP报文重组方法,包括:
当接收到TCP报文时,根据所述TCP报文中包括的IP地址和端口查询对应的会话表项;所述会话表项包括TCP请求和应答两个方向按序接收到TCP报文的序号、顺序报文链表以及乱序报文链表;
根据所述TCP报文的方向、所述TCP报文的序号以及所述方向按序接收到的TCP报文的序号,确定所述TCP报文的类别;
若所述TCP报文为乱序报文,则将所述TCP报文加入所述方向的乱序报文链表;
若所述TCP报文为顺序报文,则判断所述方向的乱序报文链表中是否存在与所述TCP报文匹配的链表节点;若存在,将该链表节点和所述TCP报文加入到所述方向的顺序报文链表;否则,将所述TCP报文加入所述方向的顺序报文链表。
根据本发明实施例的第二方面,提供一种TCP报文重组装置,包括:
查询单元,用于当所述装置接收到TCP报文时,根据所述TCP报文中包括的IP地址和端口查询对应的会话表项;所述会话表项包括TCP请求和应答两个方向按序接收到TCP报文的序号、顺序报文链表以及乱序报文链表;
确定单元,用于根据所述TCP报文的方向、所述TCP报文的序号以及所述方向按序接收到的TCP报文的序号,确定所述TCP报文的类别;
处理单元,用于若所述TCP报文为乱序报文,则将所述TCP报文加入所述方向的乱序报文链表;若所述TCP报文为顺序报文,则判断所述方向的乱序报文链表中是否存在与所述TCP报文匹配的链表节点;若存在,将该链表节点和所述TCP报文加入到所述方向的顺序报文链表;否则,将所述TCP报文加入所述方向的顺序报文链表。
应用本发明实施例,通过设置用于保存按序接收到的TCP报文的顺序报文链表和用于保存乱序报文的乱序报文链表,当按序接收到TCP报文时,即接收到顺序报文时,可以通过判断乱序报文链表中是否存在与该顺序报文匹配的链表节点,并当存在时,将该乱序报文链表中的该链表节点转移到顺序报文链表中,即之前接收到的乱序报文可以随着TCP报文的接收,逐渐转换为顺序报文,从而实现了TCP流的重组。
附图说明
图1是本发明实施例提供的一种TCP报文重组方法的流程示意图;
图2是本发明实施例提供的另一种TCP报文重组方法的流程示意图;
图3是本发明实施例提供的TCP报文重组装置所在设备的一种硬件结构图;
图4是本发明实施例提供的一种TCP报文重组装置的结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面首先对本文中涉及的部分名词概念或术语进行说明。
需要说明的是,在本发明实施例中,当进行报文序号的比较时,均是指同一方向(TCP请求方向或TCP应答方向)的报文的序号进行比较。
TCP报文的类别:包括但不限于顺序报文、乱序报文、重传报文、重叠报文;
顺序报文:序号等于按序接收到的TCP报文的序号的TCP报文;
乱序报文:序号大于按序接收到的TCP报文的序号的TCP报文;
重传报文:序号与报文长度二者之和小于按序接收到的TCP报文的序号的TCP报文;
重叠报文:序号小于按序接收到的TCP报文的序号,且序号与报文长度二者之和大于按序接收到的TCP报文的序号的TCP报文;
顺序报文链表:用于存储接收到的顺序报文的链表,一个链表节点对应一个顺序报文,记录有该顺序报文的TCP报文序号、报文长度以及负载内容;
乱序报文链表:用于存储接收到的乱序报文的链表,一个链表节点对应一个乱序报文,记录有该乱序报文的TCP报文序号、报文长度以及负载内容;
TCP报文a包含于链表节点b:TCP报文a的序号大于链表节点b对应的TCP报文序号,且TCP报文a的序号与报文长度二者之和小于或等于链表节点b对应的TCP报文序号与TCP报文长度二者之和;
TCP报文a包含链表节点b:TCP报文的序号小于链表节点b对应的TCP报文序号,且TCP报文a的序号与报文长度二者之和大于或等于链表节点b对应的TCP报文序号与TCP报文长度二者之和。
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
请参见图1,为本发明实施例提供的一种报文发送方法的流程示意图,如图1所示,该报文发送方法可以包括以下步骤:
步骤101、当接收到TCP报文时,根据该TCP报文中包括的IP地址和端口查询对应的会话表项;该会话表项包括TCP请求和应答两个方向按序接收到TCP报文的序号、顺序报文链表以及乱序报文链表。
本发明实施例中,上述方法可以应用于具有TCP报文转发功能的网络设备,如审计类型的应用型网络设备、路由器、交换机等。为了便于描述,以下以上述方法的执行主体为网络设备进行说明。
本发明实施例中,当网络设备接收到TCP报文时,网络设备可以根据该TCP报文的源IP地址、源端口、目的IP地址和目的端口查询对应的会话表项。其中,会话表项可以包括但不限于TCP请求和应答两个方向按序接收到的TCP报文的序号、顺序报文链表以及乱序报文链表。
步骤102、根据该TCP报文的方向、该TCP报文的序号以及该方向按序接收到的TCP报文的序号,确定该TCP报文的类别。若该TCP报文为乱序报文,转至步骤103;若该TCP报文为顺序报文,转至步骤104。
本发明实施例中,网络设备接收到TCP报文时,可以根据该TCP报文的源IP地址、源端口、目的IP地址和目的端口确定该TCP报文的方向,即确定该TCP报文是属于TCP请求报文还是属于TCP应答报文。
例如,网络设备可以将源IP地址和源端口为终端设备的IP地址和端口,目的IP地址和目的端口为服务器的IP地址和端口的TCP报文确定为TCP请求报文;将源IP地址和源端口为服务器的IP地址和端口,目的IP地址和目的端口为终端设备的IP地址和端口的TCP报文确定为TCP应答报文。
本发明实施例中,网络设备确定了TCP报文的方向后,可以根据对应的会话表项中记录的该方向按序接收到的TCP报文的序号,以及当前接收到的TCP报文的序号,确定当前接收到的TCP报文的类别。
步骤103、将该TCP报文加入该方向的乱序报文链表。
本发明实施例中,当网络设备根据TCP报文的方向、TCP报文的序号以及该方向按序接收到的TCP报文的序号,确定当前接收到的TCP报文为乱序报文时,即当前接收到的TCP报文的序号大于该方向按序接收到的TCP报文的序号时,网络设备可以将TCP报文加入该方向的乱序报文链表。
作为一种实施方式,上述步骤103中,将TCP报文加入该方向的乱序报文链表,可以包括:
当该TCP报文的序号与报文长度二者之和小于或等于该方向的乱序报文链表中各链表节点对应的TCP报文序号的最小值时,生成该TCP报文对应的链表节点,并将其加入到该方向的乱序报文链表;
当该TCP报文包含于该方向的乱序报文链表中一链表节点时,将该TCP报文标记为不需要处理;
当该TCP报文包含该方向的乱序报文链表中一链表节点,删除该链表节点,并生成该TCP报文对应的链表节点,并将其加入到该方向的乱序报文链表;
当该TCP报文与该方向的乱序报文链表中一链表节点部分重叠时,生成该TCP报文对应的链表节点,并将其去除重叠的负载部分后,添加到该方向的乱序报文链表。
在该实施方式中,当网络设备确定当前接收到的TCP报文为乱序报文时,网络设备可以将当前报文的序号以及报文长度和乱序链表中的链表节点对应的TCP报文序号以及报文长度进行比较。
当当前接收到的TCP报文的序号与报文长度二者之和小于或等于该方向的乱序链表中各链表节点对应的TCP报文序号的最小值时,网络设备可以生成该TCP报文对应的链表节点,并将该链表节点加入到该方向的乱序报文链表;其中,该TCP报文对应的链表节点对应该TCP报文的序号和长度,以及该TCP报文的负载内容。
当当前接收到的TCP报文包含于该方向的乱序报文链表中一链表节点,即该TCP报文的序号大于该链表节点对应的TCP报文序号,且该TCP报文的序号与报文长度二者之和小于或等于该链表节点对应的TCP报文序号与TCP报文长度之和时,网络设备可以认为该TCP报文属于乱序重传报文,可以将该报文标记为不需要处理。
举例来说,假设当前接收到TCP报文的序号为10,报文长度为20字节;该方向的乱序报文链表中链表节点a对应的TCP报文序号为8,报文长度为25字节,则当前接收到的TCP报文的序号大于链表节点a对应的TCP报文序号(10>8),且该TCP报文的序号与报文长度之和(10+20)小于链表节点a对应的TCP报文序号与报文长度之和(8+25)(10+20<8+25),因而,网络设备可以认为当前接收到的TCP报文包含于链表节点a,即该TCP报文的所有数据内容均已存在于该链表节点a中,该TCP报文属于乱序重传报文,此时,网络设备可以将该TCP报文标记为不需要处理,如设置该TCP报文为PKT_RETR(一种用于表明该TCP报文为重传报文,不需要处理的标识)。
当TCP报文包含该方向的乱序报文链表中一链表节点,即该TCP报文的序号小于该链表节点对应的TCP报文序号,且该TCP报文的序号与报文长度二者之和大于或等于该链表节点对应的TCP报文序号与报文长度二者之和时,网络设备可以删除该链表节点,生成该TCP报文对应的链表节点,并将其加入到该方向的乱序报文链表。
举例来说,假设当前接收到TCP报文的序号为10,报文长度为20字节;该方向的乱序报文链表中链表节点b对应的TCP报文序号为12,报文长度为15字节,则当前接收到的TCP报文的序号小于链表节点b对应的TCP报文序号(10<12),且该TCP报文的序号与报文长度二者之和(10+20)大于链表节点b对应的TCP报文序号与报文长度二者之和(12+15)(10+20>12+15),因而,网络设备可以认为当前接收到的TCP报文包含链表节点b,即该链表节点b对应的所有数据内容均已存在于该TCP报文中,因而,网络设备可以删除链表节点b,生成当前接收到的TCP报文对应的链表节点,并将其加入到该方向的乱序报文链表中。
当当前接收到的TCP报文与该方向的乱序报文链表中一链表节点部分重叠,即该TCP报文的序号小于该链表节点对应的TCP报文序号,该TCP报文的序号与报文长度二者之和大于该链表节点对应的TCP报文序号,且小于该链表节点对应的TCP报文序号与报文长度二者之和时,网络设备可以认为该TCP报文中部分数据存在于该链表节点中,因而,网络设备在生成该TCP报文对应的链表节点后,需要将其去除重叠的负载部分后,再添加到该方向的乱序报文链表中。
举例来说,假设当前接收到TCP报文的序号为10,报文长度为10字节;该方向的乱序报文链表中链表节点c对应的TCP报文序号为15,报文长度为15字节,则当前接收到的TCP报文的序号小于链表节点b对应的TCP报文序号(10<15),该TCP报文的序号与报文长度二者之和(10+10)大于链表节点b对应的TCP报文序号(10+10>15),且小于链表节点b对应的TCP报文序号与报文长度二者之和(15+15)(10+10<15+15),因而,网络设备可以认为当前接收到的TCP报文与链表节点b部分重叠,相应地,网络设备生成该TCP报文对应的链表节点之后,需要将其与链表节点b重叠的负载部分去除后,即将该TCP报文的后5个字节长度的数据删除后,添加到该方向的乱序报文链表中。
步骤104、判断该方向的乱序报文链表中是否存在与该TCP报文的序号匹配的链表节点。若是,转至步骤105;否则转至步骤106。
本发明实施例中,当网络设备确定当前接收到的报文为顺序报文,即当前接收到的报文与该方向按序接收到的报文的序号相同时,网络设备可以进一步判断该方向的乱序报文链表中是否存在与该TCP报文的序号匹配的链表节点。
作为一种实施方式,在上述步骤104中,判断该方向的乱序报文链表中是否存在与该TCP报文的序号匹配的链表节点,包括:
判断该方向的乱序报文链表中是否存在对应的TCP报文序号小于或等于该TCP报文的序号与报文长度二者之和的链表节点;
若存在,则确定该链表节点与该TCP报文匹配;
否则,确定该乱序报文链表中不存在与该TCP报文匹配的链表节点。
在该实施方式中,网络设备确定当前接收到的TCP报文的顺序报文时,网络设备可以遍历该方向的乱序报文链表中的各链表节点,判断是否存在对应的TCP报文序号小于或等于该TCP报文的序号与报文长度二者之和的链表节点。
举例来说,假设当前接收到的TCP报文为顺序报文,且该TCP报文的序号为10,报文长度为15,则网络设备可以判断该方向的乱序报文链表中是否存在对应的TCP报文序号小于或等于25(10+15=25)的链表节点;若存在,则确定该链表节点与该TCP报文匹配;否则,确定该乱序报文链表中不存在与该TCP报文匹配的链表节点。例如,当该方向的乱序报文链表中存在对应的TCP报文序号为20(20<25)的链表节点d时,可以确定链表节点d与该TCP报文匹配。
步骤105、将该链表节点和该TCP报文加入到该方向的顺序报文链表。
本发明实施例中,当网络设备确定当前接收到的TCP报文为顺序报文,且该方向的乱序报文链表中存在与该TCP报文匹配的链表节点时,网络设备可以将该链表节点和该TCP报文加入到该方向的顺序报文链表。
作为一种实施方式,上述步骤105中,将该链表节点和该TCP报文加入到该方向的顺序报文链表可以包括:
当该方向的乱序报文链表中的该链表节点对应的TCP报文序号等于该TCP报文的序号与报文长度二者之和时,生成该TCP报文对应的链表节点,并将该TCP报文对应的链表节点,以及该方向的乱序报文链表中的该链表节点加入到该方向的顺序报文链表;
当该方向的乱序报文链表中的该链表节点包含于该TCP报文时,生成该TCP报文对应的链表节点,将其加入该方向的顺序报文链表,并删除该方向的乱序报文链表中的该链表节点;
当该方向的乱序报文链表中的该链表节点与该TCP报文部分重叠时,生成该TCP报文对应的链表节点,并将其去除重叠的负载部分后,与该方向的乱序报文链表中的该链表节点均加入该方向的顺序报文链表。
在该实施方式中,当网络设备确定该方向的乱序报文链表中存在与当前接收到的TCP报文匹配的链表节点时,网络设备可以进一步确定该链表节点与该TCP报文是否存在重叠或包含关系。
当该方向的乱序报文链表中的该链表节点与该TCP报文不存在重叠时,即该TCP报文的序号与报文长度二者之和等于该链表节点对应的TCP报文序号,网络设备可以生成该TCP报文对应的链表节点,并将该TCP报文对应的链表节点,以及该方向的乱序报文链表中的该链表节点加入到该方向的顺序报文链表。
举例来说,假设当前接收到的TCP报文的序号为10,报文长度为10字节,该方向的乱序报文链表中链表节点e对应的TCP报文序号为20,则网络设备可以生成该TCP报文对应的链表节点,并将该链表节点与链表节点e加入到该方向的顺序报文链表中。
当该方向的乱序报文链表中的该链表节点包含于该TCP报文,即该TCP报文的序号与报文长度二者之和大于或等于该链表节点对应的TCP报文序号与报文长度二者之和时,网络设备可以生成该TCP报文对应的链表节点,将其加入到该方向的顺序报文链表,并删除该方向的乱序报文链表中的该链表节点。
举例来说,假设当前接收到的TCP报文的序号为10,报文长度为20字节,该乱序报文链表中链表节点f对应的TCP报文需要为15,报文长度为10字节(10+20>15+10),则网络设备可以生成当前接收到的TCP报文对应的链表节点,将其加入该方向的顺序报文链表,并删除该乱序报文链表中的链表节点f。
当该方向的乱序报文链表中的该链表节点与该TCP报文部分重叠,即该TCP报文的序号与报文长度二者之和大于该链表节点对应的TCP报文序号,且小于该链表节点对应的TCP报文序号与报文长度二者之和时,网络设备可以生成该TCP报文对应的链表节点,并将其去除重叠的负载部分后,与该方向的乱序报文链表中的该链表节点均加入该方向的顺序报文链表。
举例来说,假设当前接收到的TCP报文的序号为10,报文长度为15字节,该方向的乱序报文链表中链表节点g对应的TCP报文序号为20,报文长度为15字节(10+15>20,且10+15<20+15),则网络设备可以生成当前接收到TCP报文对应的链表节点,并将其去除重叠的负载部分,即删除后5字节数据长度后,与链表节点g均加入该方向的顺序报文链表。
步骤106、将该TCP报文加入该方向的顺序报文链表。
本发明实施例中,当网络设备确定当前接收到的报文为顺序报文,且确定该方向的乱序报文链表中不存在与该TCP报文匹配的链表节点时,网络设备可以生成该TCP报文对应的链表节点,并将其加入到该方向的顺序报文链表。
需要注意的是,在本发明实施例中,当网络设备在TCP请求或应答方向的顺序报文链表中新增链表节点时,需要相应地更新该方向按序接收到的TCP报文的序号;同时,网络设备还可以将该方向的乱序报文链表中对应的TCP报文序号与更新后的该方向按序接收到的TCP报文的序号的链表节点转移到该方向的顺序报文链表,其具体实现在此不再赘述。
可见,在图1所描述的方法流程中,通过设置用于保存按序接收到的TCP报文的顺序报文链表和用于保存乱序报文的乱序报文链表,当按序接收到TCP报文时,即接收到顺序报文时,可以通过判断乱序报文链表中是否存在与该顺序报文匹配的链表节点,并当存在时,将该乱序报文链表中的该链表节点转移到顺序报文链表中,即之前接收到的乱序报文可以随着TCP报文的接收,逐渐转换为顺序报文,从而实现了TCP流的重组。
请参见图2,为本发明实施例提供的另一种报文发送方法的流程示意图,如图2所示,该报文发送方法可以包括以下步骤:
步骤201、当接收到TCP报文时,根据该TCP报文中包括的IP地址和端口查询对应的会话表项;该会话表项包括TCP请求和应答两个方向按序接收到TCP报文的序号、顺序报文链表以及乱序报文链表。
步骤202、根据该TCP报文的方向、该TCP报文的序号以及该方向按序接收到的TCP报文的序号,确定该TCP报文的类别。若该TCP报文为乱序报文,转至步骤203;若该TCP报文为顺序报文,转至步骤204。若该TCP报文为重传报文,转至步骤207;若该TCP报文为重叠报文,转至步骤208。
步骤203、将该TCP报文加入该方向的乱序报文链表。
步骤204、判断该方向的乱序报文链表中是否存在与该TCP报文的序号匹配的链表节点。若是,转至步骤205;否则转至步骤206。
步骤205、将该链表节点和该TCP报文加入到该方向的顺序报文链表。
步骤206、将该TCP报文加入该方向的顺序报文链表。
本发明实施例中,上述步骤201~步骤206的具体实现可以参见上述步骤101~步骤106中的相关描述,本发明实施例在此不再赘述。
步骤207、将该TCP报文标记为不需要处理。
本发明实施例中,当网络设备确定当前接收到的TCP报文的序号与报文长度二者之和小于该方向按序接收到的TCP报文的序号,即该TCP报文为重传报文时,网络设备可以将该TCP报文标记为不需要处理。例如,网络设备可以将该TCP报文设置为PKT_RETR。
步骤208、去除该TCP报文与该方向按序接收到的TCP报文的序号的重叠部分。
步骤209、判断该方向的乱序报文链表中是否存在与去除重叠部分后的TCP报文序号匹配的链表节点。若是,转至步骤210;否则,转至步骤211。
步骤210、将该链表节点和该去除重叠部分后的TCP报文加入到该方向的顺序报文链表。
步骤211、将该去除重叠部分后的该TCP报文加入该方向的顺序报文链表。
本发明实施例中,当网络设备确定当前接收到的TCP报文的序号小于按序接收到的TCP报文的序号,且序号与报文长度二者之和大于按序接收到的TCP报文的序号的TCP报文,即该TCP报文为重叠报文时,网络设备可以去除该TCP报文与该方向按序接收到的TCP报文的序号的重叠部分。
本发明实施例中,由于去除重叠部分后的TCP报文可以相当于顺序报文,因此,网络设备对TCP报文进行去除重叠部分之后,后续的处理流程可以参见上述方法流程中接收到顺序报文时的处理方式,本发明实施例在此不再赘述。
举例来说,假设当前接收到的TCP报文的序号为10,报文长度为15字节,该方向按序接收到的TCP报文的序号为15,则网络设备可以确定当前接收到的TCP报文为重叠报文,因而,网络设备可以去除该TCP报文与该方向按序接收到的TCP报文的序号的重叠部分,即去除该TCP报文的前5字节数据。其中,该去除前5字节的TCP报文可以相当于序号为15,报文长度为10字节的顺序报文。
进一步地,在本发明实施例中,当顺序报文链表中存在链表节点时,网络设备可以按照顺序报文链表中各链表节点对应的TCP序号从小到大的顺序,依次对各链表节点进行处理,其具体处理流程在此不再赘述。
需要注意的是,在本发明实施例中,对于顺序报文链表以及乱序报文链表中各链表节点,可以按照各链表节点对应的TCP报文序号从小到大的顺序进行排序,从而当需要比较当前接收到的TCP报文的序号与乱序报文链表中链表节点对应的TCP报文序号时,可以减少遍历链表进行比较的操作,提高TCP报文重组的效率;此外,在本发明实施例中,网络设备将TCP报文加入顺序报文链表或乱序报文链表时,会对TCP报文进行去除重叠的操作,因此,可以保证TCP报文重组时的可靠性。
通过以上描述可以看出,在本发明实施例提供的技术方案中,通过设置用于保存按序接收到的TCP报文的顺序报文链表和用于保存乱序报文的乱序报文链表,当按序接收到TCP报文时,即接收到顺序报文时,可以通过判断乱序报文链表中是否存在与该顺序报文匹配的链表节点,并当存在时,将该乱序报文链表中的该链表节点转移到顺序报文链表中,即之前接收到的乱序报文可以随着TCP报文的接收,逐渐转换为顺序报文,从而实现了TCP流的重组。
与前述TCP报文重组方法实施例相对应,本发明还提供了TCP报文重组装置的实施例。
本发明实施例中,TCP报文重组装置可以应用路由器、交换机、审计设备等具有TCP报文转发功能的网络设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本发明实施例提供的TCP报文重组装置所在设备的一种硬件结构图,除了图3所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等;从硬件结构上来讲该设备还可能是分布式的设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
请参见图4,为本发明实施例提供的一种TCP报文重组装置的结构示意图,其中,所述装置可以应用于可以上述方法实施例中的网络设备,如图4所示,该TCP报文重组装置可以包括:
查询单元410,用于当所述装置接收到TCP报文时,根据所述TCP报文中包括的IP地址和端口查询对应的会话表项;所述会话表项包括TCP请求和应答两个方向按序接收到TCP报文的序号、顺序报文链表以及乱序报文链表;
确定单元420,用于根据所述TCP报文的方向、所述TCP报文的序号以及所述方向按序接收到的TCP报文的序号,确定所述TCP报文的类别;
处理单元430,用于若所述TCP报文为乱序报文,则将所述TCP报文加入所述方向的乱序报文链表;若所述TCP报文为顺序报文,则判断所述方向的乱序报文链表中是否存在与所述TCP报文匹配的链表节点;若存在,将该链表节点和所述TCP报文加入到所述方向的顺序报文链表;否则,将所述TCP报文加入所述方向的顺序报文链表。
在可选实施例中,所述处理单元430,可以具体用于当所述TCP报文的序号与报文长度二者之和小于或等于所述方向的乱序报文链表中各链表节点对应的TCP报文序号的最小值时,生成所述TCP报文对应的链表节点,并将其加入到所述方向的乱序报文链表;
当所述TCP报文包含于所述方向的乱序报文链表中一链表节点时,将所述TCP报文标记为不需要处理;
当所述TCP报文包含所述方向的乱序报文链表中一链表节点时,删除该链表节点,生成所述TCP报文对应的链表节点,并将其加入到所述方向的乱序报文链表;
当所述TCP报文与所述方向的乱序报文链表中一链表节点部分重叠时,生成所述TCP报文对应的链表节点,并将其去除重叠的负载部分后,添加到所述方向的乱序报文链表。
在可选实施例中,所述处理单元430,可以具体用于判断所述方向的乱序报文链表中是否存在对应的TCP报文序号小于或等于所述TCP报文的序号与报文长度二者之和的链表节点;若存在,则确定该链表节点与所述TCP报文匹配;否则,确定所述乱序报文链表中不存在与所述TCP报文匹配的链表节点。
在可选实施例中,所述处理单元430,可以具体用于当所述方向的乱序报文链表中的该链表节点对应的TCP报文序号等于所述TCP报文的序号与报文长度二者之和时,生成所述TCP报文对应的链表节点,并将所述TCP报文对应的链表节点,以及所述方向的乱序报文链表中的该链表节点加入到所述方向的顺序报文链表;
当所述方向的乱序报文链表中的该链表节点包含于所述TCP报文时,生成所述TCP报文对应的链表节点,将其加入所述方向的顺序报文链表,并删除所述方向的乱序报文链表中的该链表节点;
当所述方向的乱序报文链表中的该链表节点与所述TCP报文部分重叠时,生成所述TCP报文对应的链表节点,并将其去除重叠的负载部分后,与所述方向的乱序报文链表中的该链表节点均加入所述方向的顺序报文链表。
在可选实施例中,所述处理单元430,还可以用于若所述TCP报文为重传报文,将所述TCP报文标记为不需要处理。
在可选实施例中,所述处理单元430,还可以用于若所述TCP报文为重叠报文,则去除所述TCP报文与所述方向按序接收到TCP报文的序号的重叠部分;
判断所述方向的乱序报文链表中是否存在与去除重叠部分后的所述TCP报文的序号匹配的链表节点;
若存在,将该链表节点和所述去除重叠部分后的所述TCP报文加入到所述方向的顺序报文链表;
否则,将所述去除重叠部分后的所述TCP报文加入所述方向的顺序报文链表。
在可选实施例中,所述处理单元430,还可以用于按照顺序报文链表中各链表节点对应的TCP序号从小到大的顺序,依次对各链表节点进行处理。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,通过设置用于保存按序接收到的TCP报文的顺序报文链表和用于保存乱序报文的乱序报文链表,当按序接收到TCP报文时,即接收到顺序报文时,可以通过判断乱序报文链表中是否存在与该顺序报文匹配的链表节点,并当存在时,将该乱序报文链表中的该链表节点转移到顺序报文链表中,即之前接收到的乱序报文可以随着TCP报文的接收,逐渐转换为顺序报文,从而实现了TCP流的重组。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

Claims (14)

1.一种传输控制协议TCP报文重组方法,其特征在于,包括:
当接收到TCP报文时,根据所述TCP报文中包括的IP地址和端口查询对应的会话表项;所述会话表项包括TCP请求和应答两个方向按序接收到TCP报文的序号、顺序报文链表以及乱序报文链表;
根据所述TCP报文的方向、所述TCP报文的序号以及所述方向按序接收到的TCP报文的序号,确定所述TCP报文的类别;
若所述TCP报文为乱序报文,则将所述TCP报文加入所述方向的乱序报文链表;
若所述TCP报文为顺序报文,则判断所述方向的乱序报文链表中是否存在与所述TCP报文匹配的链表节点;若存在,将该链表节点和所述TCP报文加入到所述方向的顺序报文链表;否则,将所述TCP报文加入所述方向的顺序报文链表。
2.根据权利要求1所述的方法,其特征在于,所述将所述TCP报文加入所述方向的乱序报文链表,包括:
当所述TCP报文的序号与报文长度二者之和小于或等于所述方向的乱序报文链表中各链表节点对应的TCP报文序号的最小值时,生成所述TCP报文对应的链表节点,并将其加入到所述方向的乱序报文链表;
当所述TCP报文包含于所述方向的乱序报文链表中一链表节点时,将所述TCP报文标记为不需要处理;
当所述TCP报文包含所述方向的乱序报文链表中一链表节点时,删除该链表节点,生成所述TCP报文对应的链表节点,并将其加入到所述方向的乱序报文链表;
当所述TCP报文与所述方向的乱序报文链表中一链表节点部分重叠时,生成所述TCP报文对应的链表节点,并将其去除重叠的负载部分后,添加到所述方向的乱序报文链表。
3.根据权利要求1所述的方法,其特征在于,所述判断所述方向的乱序报文链表中是否存在与所述TCP报文匹配的链表节点,包括:
判断所述方向的乱序报文链表中是否存在对应的TCP报文序号小于或等于所述TCP报文的序号与报文长度二者之和的链表节点;
若存在,则确定该链表节点与所述TCP报文匹配;
否则,确定所述乱序报文链表中不存在与所述TCP报文匹配的链表节点。
4.根据权利要求3所述的方法,其特征在于,所述将该链表节点和所述TCP报文加入到所述方向的顺序报文链表,包括:
当所述方向的乱序报文链表中的该链表节点对应的TCP报文序号等于所述TCP报文的序号与报文长度二者之和时,生成所述TCP报文对应的链表节点,并将所述TCP报文对应的链表节点,以及所述方向的乱序报文链表中的该链表节点加入到所述方向的顺序报文链表;
当所述方向的乱序报文链表中的该链表节点包含于所述TCP报文时,生成所述TCP报文对应的链表节点,将其加入所述方向的顺序报文链表,并删除所述方向的乱序报文链表中的该链表节点;
当所述方向的乱序报文链表中的该链表节点与所述TCP报文部分重叠时,生成所述TCP报文对应的链表节点,并将其去除重叠的负载部分后,与所述方向的乱序报文链表中的该链表节点均加入所述方向的顺序报文链表。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述TCP报文的方向、所述TCP报文的序号以及所述方向按序接收到的TCP报文的序号,确定所述TCP报文的类别之后,还包括:
若所述TCP报文为重传报文,将所述TCP报文标记为不需要处理。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述根据所述TCP报文的方向、所述TCP报文的序号以及所述方向按序接收到的TCP报文的序号,确定所述TCP报文的类别之后,还包括:
若所述TCP报文为重叠报文,则去除所述TCP报文与所述方向按序接收到TCP报文的序号的重叠部分;
判断所述方向的乱序报文链表中是否存在与去除重叠部分后的所述TCP报文的序号匹配的链表节点;
若存在,将该链表节点和所述去除重叠部分后的所述TCP报文加入到所述方向的顺序报文链表;
否则,将所述去除重叠部分后的所述TCP报文加入所述方向的顺序报文链表。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
按照顺序报文链表中各链表节点对应的TCP序号从小到大的顺序,依次对各链表节点进行处理。
8.一种传输控制协议TCP报文重组装置,其特征在于,包括:
查询单元,用于当所述装置接收到TCP报文时,根据所述TCP报文中包括的IP地址和端口查询对应的会话表项;所述会话表项包括TCP请求和应答两个方向按序接收到TCP报文的序号、顺序报文链表以及乱序报文链表;
确定单元,用于根据所述TCP报文的方向、所述TCP报文的序号以及所述方向按序接收到的TCP报文的序号,确定所述TCP报文的类别;
处理单元,用于若所述TCP报文为乱序报文,则将所述TCP报文加入所述方向的乱序报文链表;若所述TCP报文为顺序报文,则判断所述方向的乱序报文链表中是否存在与所述TCP报文匹配的链表节点;若存在,将该链表节点和所述TCP报文加入到所述方向的顺序报文链表;否则,将所述TCP报文加入所述方向的顺序报文链表。
9.根据权利要求8所述的装置,其特征在于,
所述处理单元,具体用于当所述TCP报文的序号与报文长度二者之和小于或等于所述方向的乱序报文链表中各链表节点对应的TCP报文序号的最小值时,生成所述TCP报文对应的链表节点,并将其加入到所述方向的乱序报文链表;
当所述TCP报文包含于所述方向的乱序报文链表中一链表节点时,将所述TCP报文标记为不需要处理;
当所述TCP报文包含所述方向的乱序报文链表中一链表节点时,删除该链表节点,生成所述TCP报文对应的链表节点,并将其加入到所述方向的乱序报文链表;
当所述TCP报文与所述方向的乱序报文链表中一链表节点部分重叠时,生成所述TCP报文对应的链表节点,并将其去除重叠的负载部分后,添加到所述方向的乱序报文链表。
10.根据权利要求8所述的装置,其特征在于,
所述处理单元,具体用于判断所述方向的乱序报文链表中是否存在对应的TCP报文序号小于或等于所述TCP报文的序号与报文长度二者之和的链表节点;若存在,则确定该链表节点与所述TCP报文匹配;否则,确定所述乱序报文链表中不存在与所述TCP报文匹配的链表节点。
11.根据权利要求10所述的装置,其特征在于,
所述处理单元,具体用于当所述方向的乱序报文链表中的该链表节点对应的TCP报文序号等于所述TCP报文的序号与报文长度二者之和时,生成所述TCP报文对应的链表节点,并将所述TCP报文对应的链表节点,以及所述方向的乱序报文链表中的该链表节点加入到所述方向的顺序报文链表;
当所述方向的乱序报文链表中的该链表节点包含于所述TCP报文时,生成所述TCP报文对应的链表节点,将其加入所述方向的顺序报文链表,并删除所述方向的乱序报文链表中的该链表节点;
当所述方向的乱序报文链表中的该链表节点与所述TCP报文部分重叠时,生成所述TCP报文对应的链表节点,并将其去除重叠的负载部分后,与所述方向的乱序报文链表中的该链表节点均加入所述方向的顺序报文链表。
12.根据权利要求8-11任一项所述的装置,其特征在于,
所述处理单元,还用于若所述TCP报文为重传报文,将所述TCP报文标记为不需要处理。
13.根据权利要求8-11任一项所述的装置,其特征在于,
所述处理单元,还用于若所述TCP报文为重叠报文,则去除所述TCP报文与所述方向按序接收到TCP报文的序号的重叠部分;
判断所述方向的乱序报文链表中是否存在与去除重叠部分后的所述TCP报文的序号匹配的链表节点;
若存在,将该链表节点和所述去除重叠部分后的所述TCP报文加入到所述方向的顺序报文链表;
否则,将所述去除重叠部分后的所述TCP报文加入所述方向的顺序报文链表。
14.根据权利要求8-11任一项所述的装置,其特征在于,
所述处理单元,还用于按照顺序报文链表中各链表节点对应的TCP序号从小到大的顺序,依次对各链表节点进行处理。
CN201510705482.5A 2015-10-26 2015-10-26 一种tcp报文重组方法和装置 Active CN105939297B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510705482.5A CN105939297B (zh) 2015-10-26 2015-10-26 一种tcp报文重组方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510705482.5A CN105939297B (zh) 2015-10-26 2015-10-26 一种tcp报文重组方法和装置

Publications (2)

Publication Number Publication Date
CN105939297A true CN105939297A (zh) 2016-09-14
CN105939297B CN105939297B (zh) 2019-03-15

Family

ID=57153196

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510705482.5A Active CN105939297B (zh) 2015-10-26 2015-10-26 一种tcp报文重组方法和装置

Country Status (1)

Country Link
CN (1) CN105939297B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106911644A (zh) * 2015-12-23 2017-06-30 中国移动通信集团广西有限公司 一种报文重组方法和设备
CN107743102A (zh) * 2017-10-31 2018-02-27 北京亚鸿世纪科技发展有限公司 一种高效的tcp会话重组方法
CN107835138A (zh) * 2017-09-15 2018-03-23 南京安讯科技有限责任公司 一种tcp通讯连接中报文排序方法
CN108134751A (zh) * 2017-12-12 2018-06-08 杭州迪普科技股份有限公司 一种tcp分段报文待检测文本重组方法及装置
CN110505039A (zh) * 2019-09-26 2019-11-26 北京达佳互联信息技术有限公司 一种数据传输控制方法、装置、设备及介质
CN110839060A (zh) * 2019-10-16 2020-02-25 武汉绿色网络信息服务有限责任公司 一种DPI场景中http多会话的文件还原方法和装置
CN111083075A (zh) * 2019-12-20 2020-04-28 盛科网络(苏州)有限公司 多核SoC处理报文的方法及应用其的SoC
CN112165457A (zh) * 2020-09-04 2021-01-01 苏州浪潮智能科技有限公司 一种文件重排的方法、系统、设备及可读存储介质
CN114143268A (zh) * 2021-10-25 2022-03-04 航天恒星科技有限公司 基于tcp的报文接收方法及装置、电子设备及存储介质
CN116896536A (zh) * 2023-09-11 2023-10-17 北京大禹智芯科技有限公司 一种基于mtcp接收乱序处理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101841545A (zh) * 2010-05-14 2010-09-22 中国科学院计算技术研究所 一种tcp流重组拼包方法和装置
CN101917472A (zh) * 2010-08-12 2010-12-15 北京星网锐捷网络技术有限公司 一种多链路报文的重组方法、装置及设备
CN103117948A (zh) * 2013-02-22 2013-05-22 桂林电子科技大学 基于fpga的分级并行高速网络tcp流重组方法
US20130329595A1 (en) * 2011-02-22 2013-12-12 Voipfuture Gmbh Voip quality measurement enhancements using the internet control message protocol
CN103888449A (zh) * 2014-03-05 2014-06-25 亿赞普(北京)科技有限公司 一种报文重组方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101841545A (zh) * 2010-05-14 2010-09-22 中国科学院计算技术研究所 一种tcp流重组拼包方法和装置
CN101917472A (zh) * 2010-08-12 2010-12-15 北京星网锐捷网络技术有限公司 一种多链路报文的重组方法、装置及设备
US20130329595A1 (en) * 2011-02-22 2013-12-12 Voipfuture Gmbh Voip quality measurement enhancements using the internet control message protocol
CN103117948A (zh) * 2013-02-22 2013-05-22 桂林电子科技大学 基于fpga的分级并行高速网络tcp流重组方法
CN103888449A (zh) * 2014-03-05 2014-06-25 亿赞普(北京)科技有限公司 一种报文重组方法和装置

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106911644A (zh) * 2015-12-23 2017-06-30 中国移动通信集团广西有限公司 一种报文重组方法和设备
CN107835138A (zh) * 2017-09-15 2018-03-23 南京安讯科技有限责任公司 一种tcp通讯连接中报文排序方法
CN107743102B (zh) * 2017-10-31 2020-01-31 北京亚鸿世纪科技发展有限公司 一种高效的tcp会话重组方法
CN107743102A (zh) * 2017-10-31 2018-02-27 北京亚鸿世纪科技发展有限公司 一种高效的tcp会话重组方法
CN108134751A (zh) * 2017-12-12 2018-06-08 杭州迪普科技股份有限公司 一种tcp分段报文待检测文本重组方法及装置
CN110505039B (zh) * 2019-09-26 2022-04-01 北京达佳互联信息技术有限公司 一种数据传输控制方法、装置、设备及介质
CN110505039A (zh) * 2019-09-26 2019-11-26 北京达佳互联信息技术有限公司 一种数据传输控制方法、装置、设备及介质
CN110839060A (zh) * 2019-10-16 2020-02-25 武汉绿色网络信息服务有限责任公司 一种DPI场景中http多会话的文件还原方法和装置
CN110839060B (zh) * 2019-10-16 2022-02-01 武汉绿色网络信息服务有限责任公司 一种DPI场景中http多会话的文件还原方法和装置
CN111083075A (zh) * 2019-12-20 2020-04-28 盛科网络(苏州)有限公司 多核SoC处理报文的方法及应用其的SoC
CN111083075B (zh) * 2019-12-20 2022-01-11 苏州盛科通信股份有限公司 多核SoC处理报文的方法及应用其的SoC
CN112165457A (zh) * 2020-09-04 2021-01-01 苏州浪潮智能科技有限公司 一种文件重排的方法、系统、设备及可读存储介质
CN114143268A (zh) * 2021-10-25 2022-03-04 航天恒星科技有限公司 基于tcp的报文接收方法及装置、电子设备及存储介质
CN114143268B (zh) * 2021-10-25 2024-02-06 航天恒星科技有限公司 基于tcp的报文接收方法及装置、电子设备及存储介质
CN116896536A (zh) * 2023-09-11 2023-10-17 北京大禹智芯科技有限公司 一种基于mtcp接收乱序处理方法
CN116896536B (zh) * 2023-09-11 2023-11-24 北京大禹智芯科技有限公司 一种基于mtcp接收乱序处理方法

Also Published As

Publication number Publication date
CN105939297B (zh) 2019-03-15

Similar Documents

Publication Publication Date Title
CN105939297A (zh) 一种tcp报文重组方法和装置
CN106656801B (zh) 业务流的转发路径的重定向方法、装置和业务流转发系统
CN105553880B (zh) 一种软件定义网络中的数据处理方法及装置
US6765889B1 (en) Communication method and system
EP3720075B1 (en) Data transmission method and virtual switch
CN101848171B (zh) 一种基于gre隧道的数据传输方法、设备和系统
CN104067581B (zh) 多网关装置、复用线路通信系统以及复用线路通信方法
CN105610632A (zh) 一种虚拟网络设备及相关方法
CN105227466B (zh) 通信处理方法和装置
US20230042747A1 (en) Message Processing Method and Device, Storage Medium, and Electronic Device
CN109729009A (zh) 用于实现组播业务的方法和装置
CN107026790B (zh) 一种转发控制方法及设备
CN108551425A (zh) 基于工业以太网的数据传输系统、方法和通信设备
CN106411778A (zh) 数据转发的方法及装置
CN106375139A (zh) 复制请求的方法、装置和系统
CN106534048A (zh) 一种防范sdn拒绝服务攻击的方法、交换机和系统
CN106105098A (zh) 交换机及业务请求报文的处理方法
CN102201996B (zh) 网络地址转换环境中报文转发的方法及设备
CN106656760B (zh) 一种基于消息队列的消息传递方法及系统
CN104469822A (zh) 一种测试方法、基站及系统
CN107579792A (zh) 多型号在轨卫星工程参数并行解析方法
CN105933235B (zh) 数据通信方法及装置
CN107508828A (zh) 一种超远程数据交互系统及方法
CN110417687A (zh) 一种报文发送与接收方法及装置
CN104184729B (zh) 一种报文处理方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building

Applicant after: Hangzhou Dipu Polytron Technologies Inc

Address before: Binjiang District and Hangzhou city in Zhejiang Province Road 310051 No. 68 in the 6 storey building

Applicant before: Hangzhou Dipu Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant