CN105847078B - 一种基于dpi自学习机制的http流量精细化识别方法 - Google Patents
一种基于dpi自学习机制的http流量精细化识别方法 Download PDFInfo
- Publication number
- CN105847078B CN105847078B CN201610152742.5A CN201610152742A CN105847078B CN 105847078 B CN105847078 B CN 105847078B CN 201610152742 A CN201610152742 A CN 201610152742A CN 105847078 B CN105847078 B CN 105847078B
- Authority
- CN
- China
- Prior art keywords
- flow
- packet
- dpi
- identification
- data
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明属于网络信息处理领域,尤其涉及一种基于DPI自学习机制的HTTP流量精细化识别方法。本发明包括如下步骤:流管理:IP+包长预识别;负载精确识别。为了更好地满足高速骨干网络的在线流量快速识别,本发明方法提出了{IP+包长}预识别机制,还采用了DPI技术对请求数据报文中的Host和URI域进行多模式串精确匹配,从而能够准确地对流量进行应用级分类。与已有的、基于单纯DPI的方法相比,本方法只需对数据流的前数个数据报文就能完成判断,具有更好的实时性和更好的流量识别准确性。
Description
技术领域
本发明属于网络信息处理领域,尤其涉及一种基于DPI自学习机制的HTTP流量精细化识别方法。
背景技术
网络业务流量识别对网络内容监管和网络带宽的控制有着重要意义。从流量识别概念提出至今,国内外众多研究学者提出各种识别技术方法。从最初的基于端口识别,到后来基于主机行为,基于数据报文负载以及引入机器学习知识。主要从这四个角度去出发设计和提出各种识别方法。
Moore和Papagiannak通过对IANA列表中的注册熟知端口号采用基于端口的识别,这种方法算法实现简单但准确率较低,识别率低于70%。刘元勋等人根据端口和关键字识别联合机制,提出基于应用协议识别的入侵检测技术。TsChoi提出了一种基于“内容感知”的应用层流量测试分析,识别率能够达到90%,但其中采用的ARCL是基于精确串匹配技术,这种识别方法通过特征库去匹配准确性高,但需要有很好的模式匹配算法且还需要更新特征库。2007年,ZhuLi利用支持向量机技术(SupportVectorMachine,SVM)选择9种流特征作为特征值然后对网络流量进行分类,准确率达到95%以上。Erman等人采用K-means方法以平均包长,流持续时间,和平均包长间隔作为特征对流量进行识别,准确率可以达到95%。但是该方法大量的线下训练样本进行标记,且算法复杂,不太适用于线上实时分析的应用场景。
综上所述,目前关于流量识别的研究,主要是从协议大类的角度识别出发,且大多是从仿真实验角度出发。而对于真实骨干网络环境的线上流量识别技术,尤其是对协议的精细化识别还不多。
本发明主要是基于DPI技术对目前80端口被大量复用情况下的HTTP流量的精细化识别。
发明内容
本发明的目的在于提供一种满足骨干高速网络中线上流量识别的实时性和准确性的基于DPI自学习机制的HTTP流量精细化识别方法。
本发明的目的是这样实现的:
本发明包括如下步骤:
(1)流管理:
(2)IP+包长预识别;
(3)负载精确识别;
所述的流管理包括:
当底层网卡交付上来网络数据包之后,需要对其进行IP分片重组和TCP流重组,才能将其交付到上层应用分析插件中;在流重组阶段,通过设计一个双重哈希表来解决四元组哈希出现的哈希碰撞问题;并采用头节点***和尾节点删除的办法来维护哈希表。
所述的IP+包长预识别包括,
对于完成TCP流重组之后交付上来的应用层数据和流信息,在根据HTTP请求方法判断出数据流方向之后,提取服务端的IP和数据包长信息,与IP+包长缓冲区里面的IP进行搜索对比,检测是否能够匹配上;通过包长特征进行确认;根据前期分析发现关于HTTP承载的业务,加入包长特征去确认;如果能够匹配成功,则直接标记此流;否则,进行下一步的DPI精确识别。
所述的负载精确识别包括:
提取HTTP请求头部中HOST域、URI域的字段值以及请求方法,与特征库里面的模式串集合进行多模式串匹配;如果匹配成功,则给此流进行标记,并实时更新IP+包长缓冲区中信息;如果匹配失败,则标记此流为无法识别。
本发明的有益效果在于:
为了更好地满足高速骨干网络的在线流量快速识别,本发明方法提出了{IP+包长}预识别机制,还采用了DPI技术对请求数据报文中的Host和URI域进行多模式串精确匹配,从而能够准确地对流量进行应用级分类。与已有的、基于单纯DPI的方法相比,本方法只需对数据流的前数个数据报文就能完成判断,具有更好的实时性和更好的流量识别准确性。
附图说明
图1是本发明的流管理哈希表结构;
图2是本发明的***工作流程图;
图3是本发明的{负载特征}识别模块流程图;
图4是本发明特征库设计图;
图5是本发明几种80端口应用业务识别率图;
图6是本发明线上单包识别时间消耗图;
图7是本发明***吞吐情况图。
具体实施方式
下面结合附图对本发明做进一步描述。
本发明提供一种用于对HTTP承载业务的精细化识别方法。本方法主要是针对目前协议识别精细化识别角度出发,针对目前网络流量中80端口被复用情况,给流量识别和网络监管带来巨大挑战。本方法提出了一种基于DPI自学习机制的HTTP流量精细化识别方法。本方法主要包括两个特征库,分别是{IP+包长}特征库和{协议负载特征库}。其中{IP+包长}特征库是对网络流量的预判断,如果能够在此特征库进行匹配,则直接输出匹配结果。否则进入{协议负载特征库},匹配成功输出匹配结果;否则标记为无法识别。并实时的对{IP+包长}和{协议负载}特征库进行更新。
本发明针对现有网络流量识别方法主要从网络协议大类识别出发、且大多在实验仿真情况下提出各种识别方法,以及没有针对HTTP大类的精细化具体应用业务识别的不足,提出了一种基于DPI自学习机制的HTTP流量精细化识别方法。本方法旨在解决对HTTP应用业务的识别达到应用级分类,且满足骨干高速网络中线上流量识别的实时性和准确性。
本发明的目的是提供一种基于DPI自学习机制的HTTP流量精细化识别方法。主要包括以下几个的步骤;
A.流管理。
B.{IP+包长}预识别。
C.{负载特征}识别。
本发明的一种基于DPI自学习机制的HTTP流量精细化识别方法具体实施方法为:
(1)首先对网络中的数据包进行重组,其中包括IP分片重组和TCP流重组。这里用到TCP/IP协议栈中的Hash算法和流重组数据结构(步骤A)。
(2)对完成流重组的数据报文先进行{IP+包长}识别(步骤B)。
(3)如果{IP+包长}识别成功,直接输出流量识别结果,否则进行数据报文应用层{负载特征}识别(步骤C)。
所述步骤A的方法由下面几步完成:
A1.本方法采用双重链式存储解决TCP流重组中的冲突。针对每一条TCP流对其四元组进行哈希hash(tuple4)之后,如果此节点未与已有数据流节点冲突,则直接进行数据报文连接***,且按照时间戳顺序进行链式***;如果发现哈希冲突,即此节点已有别的数据流节点占用,则进行头节点***新的数据流节点信息。
A2.对于数据流节点的删除操作,我们根据哈希表节点是否溢出情况,进行尾节点删除。
A3.采用异或移位的哈希算法具体如下。
其中sip1(x)表示sip(x)的前16bit,sip2(x)表示sip(x)的后16bit,dip1(x)表示dip(x)的前16bit,dip2(x)表示dip(x)的后16bit,h,h1为16bit无符号整数,N表示哈希表大小。出现的符号含义如下。
<<:左移运算
>>:右移运算
⊕:异或运算
%:取余运算
所属步骤B的方法包括如下步骤:
B1.针对完成重组之后的数据报文,考虑到TCP通信交互过程中客户端和服务端方向的实时交互性,本方法提取HTTP交互过程中客户端向服务端的第一个请求数据报文的服务端IP,与{IP+包长}特征库中的IP进行匹配。匹配成功则跳入步骤B2,否则进入步骤C。
B2.在IP匹配成功之后,本方法继续对其数据报文的长度进行确认。这是为了防止一个服务端IP同时承载多个业务而出现误识别。引入包长确认机制是为了提高识别的准确性。如果包长确认成功,则直接输出匹配结果,否则进入步骤C。
步骤C的方法主要由以下几步完成:
C1.提取负载部分HTTP请求头部中的Host域字符串,和URI字符串,构成文本串集合|L|,L={l1,l2...ln}。
C2.对提取的文本串集合与模式串集合|T|进行匹配,采用AC多模式匹配算法。如果匹配成功,则跳到C3,并更新{IP+包长}特征库。如果匹配失败,则标记为无法识别,并跳到C3。
C3.输出匹配结果。
本发明的目的是提供一种基于DPI自学习机制的HTTP流量精细化识别方法。主要包括以下三个步骤;
①流管理。
②{IP+包长}预识别。
③{负载特征}识别。
本发明的一种基于DPI自学习机制的HTTP流量精细化识别方法,其工作流程如图2,具体实施方法为:
(1)对网络中的数据包先进行包重组,其中包括IP分片重组和TCP流重组。这里用到TCP/IP协议栈中流重组采用的Hash算法和流重组数据结构(步骤110)。
(2)对完成流重组的数据报文先进行{IP+包长}识别(步骤120)。
(3)如果{IP+包长}识别成功,直接输出识别结果,否则进行数据报文应用层{负载特征}识别(步骤130)。
1.步骤110。
本发明的目的还可以通过以下措施来达到。当从网卡上获取数据报文之后,先经过步骤110,其详细实施过程如下。
A11.首先判断此数据报文是否是IP分片数据报文,若是则进入步骤A12,否则直接进入步骤A13。
A12.进行IP分片重组。具体实施步骤由以下9步。
Step1.获得IP数据报。
Step2.根据IP数据报头部的源IP、目的IP和标识判断是否是新的数据报数据到达,如果是,跳转到Step3;否则,跳转到Step6。
Step3.当前数据报为一个新的数据报,如果IP头部中标志字段的MF=0,跳转到Step4,否则跳转到Step5。
Step4.若片偏移为0,则当前IP数据报是一个完整的数据报,IP分片重组完毕,结束;若片偏移大于0,当前数据包为最后一个分片,缓存当前IP数据报,跳转到Step1。
Step5.若片偏移为0,当前IP数据报是一个分片包,并且是数据报中的第一个分片,缓存当前分片,跳转到Step1;若片偏移大于0,当前IP数据报是一个分片,并且不是数据报中的第一个分片,也不是最后一个分片,缓存当前分片,跳转到Step1。
Step6.当前数据报不是一个新的数据报,如果IP头部中标志字段的MF=0,跳转到Step7,否则跳转到Step8。
Step7.若片偏移为0,说明是一个完整的数据包,矛盾,跳转到Step1;若片偏移大于0,当前数据包为最后一个分片,缓存当前分片,跳转到Step9。
Step8.若片偏移为0,当前IP数据报是数据报中的第一个分片,缓存当前分片,跳转到Step9;若片偏移大于0,则当前IP数据报是一个分片,并且不是数据报中的第一个分片,也不是最后一个分片,缓存当前分片,跳转到Step9。
Step9.如果全部分片都已经缓存,执行分片重组,结束;否则跳转到Step1。
A13.TCP流重组。具体实施步骤由如下9步。
Step1.获得荷载TCP报文段的完整IP数据报。
Step2.解析TCP报文段首部,如果SYN字段为1,跳转至Step3;如果FIN字段为1,跳转至Step4;如果RST字段为1,跳转至Step5;如果荷载数据长度等于0,跳转至Step6;否则,跳转至Step7。
Step3.当前TCP报文段要建立TCP连接,根据TCP连接的四元组判断是否存在当前连接的流信息,如果不存在,填加新的流信息,包括四元组、握手时间、已重组的最后一个字节的序号和期望序号等,跳转至Step1;否则,更新流信息中的握手时间,跳转至Step1。
Step4.当前TCP报文段要关闭TCP连接,根据TCP连接的四元组判断是否存在当前连接的流信息,如果存在,将未提交给应用层的数据提交给应用层,然后删除当前连接的流信息,结束;如果不存在,发生错误,结束。
Step5.当前TCP报文段要重置TCP连接,根据TCP连接的四元组判断是否存在当前连接的流信息,如果存在,删除当前连接的流信息,结束;如果不存在,发生错误,结束。
Step6.当前TCP报文段为单纯的确认TCP报文段,根据TCP连接的四元组判断是否存在当前连接的流信息,如果存在,更新流信息中期望序号,跳转至Step1;如果不存在,发生错误,结束。
Step7.当前TCP报文段为荷载应用层数据的TCP报文段,根据TCP连接的四元组判断是否存在当前连接的流信息,如果存在,跳转到Step8;如果不存在,发生错误,结束。
Step8.如果当前包的序号小于对应流信息的期望序号,则这个是一个重传包,跳转到Step1;如果当前包的序号大于对应流信息的期望序号,此数据包不能被重组,则缓存数据包,跳转到Step1;如果当前包的序号等于对应流信息的期望序号,跳转到Step9。
Step9.那么就用当前TCP报文段重组TCP流,如果当前流存在已被缓存的TCP报文段,那么就把所有能够被重组的TCP报文段重组,跳转到Step1。
对于TCP的流重组为了解决碰撞我们采用的数据结构为双重链式存储。针对每一条TCP流我们对其四元组进行哈希hash(tuple4)之后,如果此节点尚无其他数据流节点,则直接进行数据报文连接***,且按照时间戳顺序进行链式***;如果发现哈西冲突,即此节点已有别的数据流节点占用,则进行头节点***新的数据流节点信息。如图1。对于数据流节点的删除操作,我们根据哈希表节点是否溢出情况,进行尾节点删除。具体采用异或移位的哈希算法。
其中sip1(x)表示sip(x)的前16bit,sip2(x)表示sip(x)的后16bit,dip1(x)表示dip(x)的前16bit,dip2(x)表示dip(x)的后16bit,h,h1为16bit无符号整数,N表示哈希表大小。<<:左移运算;>>:右移运算;⊕:异或运算;%:取余运算。
2.步骤120。
在完成TCP流重组时,若发现TCP数据报文的有效载荷大于0,则提取相应的TCP载荷数据和TCP流信息交付到上层应用层插件分析,经由步骤120实施。具体步骤如下。
B21.程序初始化时,加载服务端IP缓存文件IP_cache.txt。
B22.对于完成重组之后交付上来的数据报文,考虑到TCP通信交互过程中客户端和服务端方向的实时交互性,我们提取HTTP交互过程中客户端向服务端的第一个请求数据报文的服务端IP,检测其是否与服务端IP缓存文件中的IP库匹配。若匹配成功则跳入步骤B23,否则进入步骤130。
B23.在IP匹配成功之后,我们继续对其数据报文的长度进行确认。提取数据报文有效载荷长度,并与对应的{IP+包长}特征库中的包长信息进行比对。如果包长比对确认成功,则进入步骤B4,否则进入步骤130。
B4.输出匹配成功结果。
3.步骤130。
C31.程序启动初始化时,加载负载特征库文件FeaLib.cfg。
C32.提取数据报文负载部分请求头部中的Host域字符串,和URI字符串,构成文本串集合|L|,L={l1,l2...ln}。
C33.对提取的文本串集合|L|与模式串集合|T|进行匹配,采用AC多模式匹配算法,具体特征库设计如图4。如果匹配成功,则跳到C34。如果匹配失败,则标记为无法识别,并跳到C35。
C34.标记此数据报文所属的具体应用类型,标记此数据流所属的具体应用类型。并更新{IP+包长}特征库信息。输出匹配成功结果,形成日志文件。匹配结束。
C35.标记此数据报文和此数据流为无法识别,输出匹配失败结果,形成日志文件,匹配结束。
具体实施流程图如图3。
Claims (1)
1.一种基于DPI自学习机制的HTTP流量精细化识别方法,其特征在于,包括如下步骤:
(1)流管理:
(2)IP+包长预识别;
(3)负载精确识别;
所述的流管理包括:
当底层网卡交付上来网络数据包之后,需要对其进行IP分片重组和TCP流重组,才能将其交付到上层应用分析插件中;在流重组阶段,通过设计一个双重哈希表来解决四元组哈希出现的哈希碰撞问题;并采用头节点***和尾节点删除的办法来维护哈希表;
所述的IP+包长预识别包括,
对于完成TCP流重组之后交付上来的应用层数据和流信息,在根据HTTP请求方法判断出数据流方向之后,提取服务端的IP和数据包长信息,与IP+包长缓冲区里面的IP进行搜索对比,检测是否能够匹配上;通过包长特征进行确认;根据前期分析发现关于HTTP承载的业务,加入包长特征去确认;如果能够匹配成功,则直接标记此流;否则,进行下一步的DPI精确识别;
所述的负载精确识别包括:
提取HTTP请求头部中HOST域、URI域的字段值以及请求方法,与特征库里面的模式串集合进行多模式串匹配;如果匹配成功,则给此流进行标记,并实时更新IP+包长缓冲区中信息;如果匹配失败,则标记此流为无法识别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610152742.5A CN105847078B (zh) | 2016-03-17 | 2016-03-17 | 一种基于dpi自学习机制的http流量精细化识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610152742.5A CN105847078B (zh) | 2016-03-17 | 2016-03-17 | 一种基于dpi自学习机制的http流量精细化识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105847078A CN105847078A (zh) | 2016-08-10 |
CN105847078B true CN105847078B (zh) | 2018-12-25 |
Family
ID=56588288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610152742.5A Active CN105847078B (zh) | 2016-03-17 | 2016-03-17 | 一种基于dpi自学习机制的http流量精细化识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105847078B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106452953A (zh) * | 2016-09-30 | 2017-02-22 | 苏州迈科网络安全技术股份有限公司 | 基于dpi技术的综合数据特征分析方法及*** |
CN106452954B (zh) * | 2016-09-30 | 2019-08-27 | 苏州迈科网络安全技术股份有限公司 | Http数据特征分析方法及*** |
CN109450735A (zh) * | 2018-12-04 | 2019-03-08 | 成都知道创宇信息技术有限公司 | 一种基于上行流量的识别tcp正常请求的方法 |
CN111314270B (zh) * | 2018-12-12 | 2022-09-30 | 上海领甲数据科技有限公司 | 一种基于有效期均匀分布对称算法的数据加密和解密方法 |
CN109729017B (zh) * | 2019-03-14 | 2023-02-14 | 哈尔滨工程大学 | 一种基于dpi预测的负载均衡方法 |
CN110839060B (zh) * | 2019-10-16 | 2022-02-01 | 武汉绿色网络信息服务有限责任公司 | 一种DPI场景中http多会话的文件还原方法和装置 |
CN112099867A (zh) * | 2020-08-17 | 2020-12-18 | 北京天元特通科技有限公司 | 一种支持在线动态更新的app识别框架 |
CN112468410B (zh) * | 2020-11-05 | 2021-10-22 | 武汉绿色网络信息服务有限责任公司 | 一种增强网络流量特征准确率的方法和装置 |
CN112383489A (zh) * | 2020-11-16 | 2021-02-19 | 中国信息通信研究院 | 一种网络数据流量转发方法和装置 |
CN114629970B (zh) * | 2022-01-14 | 2023-07-21 | 华信咨询设计研究院有限公司 | 一种tcp/ip流量还原方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488960A (zh) * | 2009-03-04 | 2009-07-22 | 哈尔滨工程大学 | 基于并行处理的tcp协议及其数据还原装置及方法 |
US20140173094A1 (en) * | 2012-12-18 | 2014-06-19 | Ixia | Methods, systems, and computer readable media for classifying application traffic received at a network traffic emulation device that emulates multiple application servers |
CN104253712A (zh) * | 2013-06-26 | 2014-12-31 | 北京思普崚技术有限公司 | 一种利用深度包检测技术进行p2p网络识别的方法 |
-
2016
- 2016-03-17 CN CN201610152742.5A patent/CN105847078B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101488960A (zh) * | 2009-03-04 | 2009-07-22 | 哈尔滨工程大学 | 基于并行处理的tcp协议及其数据还原装置及方法 |
US20140173094A1 (en) * | 2012-12-18 | 2014-06-19 | Ixia | Methods, systems, and computer readable media for classifying application traffic received at a network traffic emulation device that emulates multiple application servers |
CN104253712A (zh) * | 2013-06-26 | 2014-12-31 | 北京思普崚技术有限公司 | 一种利用深度包检测技术进行p2p网络识别的方法 |
Non-Patent Citations (1)
Title |
---|
《基于流过滤的防火墙关键技术研究》;刘彦龙;《万方在线出版》;20150817;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105847078A (zh) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105847078B (zh) | 一种基于dpi自学习机制的http流量精细化识别方法 | |
CN104320304B (zh) | 一种易扩展的多方式融合的核心网用户流量应用识别方法 | |
CN104348716B (zh) | 一种报文处理方法及设备 | |
Aceto et al. | PortLoad: taking the best of two worlds in traffic classification | |
TWI683587B (zh) | 用於唯一枚舉解析樹中的路徑的裝置和方法 | |
KR102052520B1 (ko) | 컨텐츠 중심 네트워크에서 컨텐츠의 이동성을 지원하기 위한 노드의 통신 방법 및 노드 | |
CN102307123B (zh) | 基于传输层流量特征的nat流量识别方法 | |
US8797901B2 (en) | Method and its devices of network TCP traffic online identification using features in the head of the data flow | |
CN105162626B (zh) | 基于众核处理器的网络流量深度识别***及识别方法 | |
US11729300B2 (en) | Generating programmatically defined fields of metadata for network packets | |
US20120099597A1 (en) | Method and device for detecting a packet | |
AU2012200642B2 (en) | A method and apparatus for communications analysis | |
CN102724317A (zh) | 一种网络数据流量分类方法和装置 | |
CN103139315A (zh) | 一种适用于家庭网关的应用层协议解析方法 | |
CN101938415A (zh) | 网络转发设备的快速转发方法 | |
CN102710504A (zh) | 应用识别方法和装置 | |
CN101184000A (zh) | 基于报文采样和应用签名的互联网应用流量识别方法 | |
CN103685058B (zh) | 控制流数据的服务质量的方法和OpenFlow控制器 | |
CN108173705A (zh) | 流量引流的首包识别方法、装置、设备及介质 | |
CN105516173A (zh) | 一种网络应用层协议识别的方法和*** | |
CN104333483A (zh) | 互联网应用流量识别方法、***及识别装置 | |
CN105227348A (zh) | 一种基于ip五元组的哈希存储方法 | |
CN103765821B (zh) | 从ip网络流过的数据流中提取数据的方法和设备 | |
Johnson et al. | Monitoring regular expressions on out-of-order streams | |
CN103095718B (zh) | 一种基于Hadoop的应用层协议特征提取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |