CN103281257A - 一种协议报文处理方法和设备 - Google Patents

一种协议报文处理方法和设备 Download PDF

Info

Publication number
CN103281257A
CN103281257A CN201310225326XA CN201310225326A CN103281257A CN 103281257 A CN103281257 A CN 103281257A CN 201310225326X A CN201310225326X A CN 201310225326XA CN 201310225326 A CN201310225326 A CN 201310225326A CN 103281257 A CN103281257 A CN 103281257A
Authority
CN
China
Prior art keywords
protocol
feature
protocol massages
network equipment
massages
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
CN201310225326XA
Other languages
English (en)
Other versions
CN103281257B (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.)
New H3C Information Technologies Co Ltd
Original Assignee
Hangzhou H3C 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 H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201310225326.XA priority Critical patent/CN103281257B/zh
Publication of CN103281257A publication Critical patent/CN103281257A/zh
Application granted granted Critical
Publication of CN103281257B publication Critical patent/CN103281257B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种协议报文处理方法和设备,该方法包括:网络设备在检测到本网络设备的出端口发生链路拥塞时,利用协议类型特征从数据缓冲区中提取协议报文,将提取的协议报文上送CPU进行处理,在特征库中记录提取的协议报文的特征;所述网络设备在收到协议报文之后,利用所述协议报文中的特征信息查询所述特征库;如果所述特征库中有所述特征信息对应的记录,则将所述协议报文上送CPU进行处理;如果所述特征库中没有所述特征信息对应的记录,则将所述协议报文存储到所述数据缓冲区中。本发明实施例中,可以避免TRILL hello报文发生丢包现象。

Description

一种协议报文处理方法和设备
技术领域
本发明涉及通信技术领域,尤其是涉及一种协议报文处理方法和设备。
背景技术
在TRILL(TRansparent Interconnection of Lots of Links,多链路透明互联)网络中,一种网络拓扑结构如图1所示,其中包括RB(Routing Bridge,路由桥)ingress(入口)1、RB ingress2、RB egress(出口)和不支持TRILL协议的网络设备;其中,RB ingress1在图中为RB2,RB ingress2在图中为RB1,RB egress在图中为RB3,网络设备在图中为DUT1;此外,RB1、RB2、RB3的E1/1端口均使能TRILL协议,网络设备需要透传TRILL协议报文。
当L1的链路带宽与L2的链路带宽之和大于L3的链路带宽时,可能会导致网络设备的E1/3端口发生链路拥塞。当网络设备的E1/3端口发生链路拥塞时,由于该网络设备不支持TRILL协议,因此,网络设备在透传TRILL协议报文时,会和数据报文一起透传TRILL协议报文,这样就可能造成TRILL协议报文因为端口拥塞而被丢弃,从而导致TRILL数据流量中断、TRILL邻居建立失败、单播路由表项混乱等现象。例如,当用于维护TRILL邻居信息的TRILL hello报文在网络设备的E1/3端口上无法得到优先调度,导致TRILL hello报文发生丢包现象,继而导致TRILL邻居建立失败。
发明内容
本发明实施例提供一种协议报文处理方法和设备,以避免TRILL hello报文发生丢包现象,继而可以避免TRILL邻居建立失败。
为了达到上述目的,本发明实施例提供一种协议报文处理方法,该方法包括以下步骤:
网络设备在检测到本网络设备的出端口发生链路拥塞时,利用协议类型特征从数据缓冲区中提取协议报文,将提取的协议报文上送中央处理器CPU进行处理,并在特征库中记录提取的协议报文的特征;其中,所述特征库用于记录协议报文特征,且利用报文中的特征信息匹配到所述特征库中记录的内容后,需要将报文上送CPU进行处理;
所述网络设备在收到协议报文之后,利用所述协议报文中的特征信息查询所述特征库;如果所述特征库中有所述特征信息对应的记录,则将所述协议报文上送CPU进行处理;如果所述特征库中没有所述特征信息对应的记录,则将所述协议报文存储到所述数据缓冲区中。
所述网络设备利用协议类型特征从数据缓冲区中提取协议报文,具体包括:当所述协议类型特征包括指定类型协议报文采用的组播目的介质访问控制MAC以及指定类型协议报文的协议类型时,所述网络设备从所述数据缓冲区中提取对应于所述组播目的MAC和所述协议类型的协议报文;或者,
当所述协议类型特征为报文中包含的能够区分协议报文和数据报文的五元组特征时,所述网络设备利用报文的五元组特征从所述数据缓冲区中提取协议报文;其中,五元组特征包括源IP地址、目的IP地址、源MAC地址、目的MAC地址、协议类型。
所述指定类型协议报文具体包括:基于多链路透明互联TRILL协议的hello报文。
所述特征库具体包括:包套接字PACKET Socket特征库,且所述PACKETSocket特征库中的每条表项用于记录协议报文的各个特征字段;
所述PACKET Socket特征库中包括网络设备支持协议的协议族以及网络设备不支持协议的协议族,所述网络设备上具有用于处理网络设备不支持协议的协议报文的应用模块以及PACKET Socket模块,且所述PACKET Socket模块支持应用程序对应的模块通过PACKET Socket接口向本PACKET Socket模块注册协议报文的特征;
所述网络设备在特征库中记录提取的协议报文的特征,具体包括:
所述应用模块通过所述PACKET Socket接口向所述PACKET Socket模块注册所述提取的协议报文的特征;
所述PACKET Socket模块在所述PACKET Socket特征库的网络设备不支持协议的协议族中记录所述提取的协议报文的特征。
所述方法进一步包括:
网络设备在检测到本网络设备的出端口发生链路拥塞时,开启协议报文提取功能,且在开启协议报文提取功能后,网络设备需要利用协议类型特征从数据缓冲区中提取协议报文;
网络设备在检测到本网络设备的出端口未发生链路拥塞时,如果当前开启了协议报文提取功能,则关闭协议报文提取功能,且在关闭协议报文提取功能后,网络设备不需要利用协议类型特征从数据缓冲区中提取协议报文。
本发明实施例提供一种网络设备,所述网络设备具体包括:
检测模块,用于检测本网络设备的出端口是否发生链路拥塞;
第一处理模块,用于在检测到发生链路拥塞时,利用协议类型特征从数据缓冲区中提取协议报文,将提取的协议报文上送中央处理器CPU进行处理,并在特征库中记录提取的协议报文的特征;其中,所述特征库用于记录协议报文特征,且利用报文中的特征信息匹配到所述特征库中记录的内容后,需要将报文上送CPU进行处理;
查询模块,用于在接收到协议报文之后,利用所述协议报文中的特征信息查询所述特征库;
第二处理模块,用于在所述特征库中有所述特征信息对应的记录时,将所述协议报文上送CPU进行处理;当所述特征库中没有所述特征信息对应的记录时,将所述协议报文存储到所述数据缓冲区中。
所述第一处理模块,具体用于当所述协议类型特征为指定类型协议报文采用的组播目的介质访问控制MAC和指定类型协议报文的协议类型时,从所述数据缓冲区中提取对应于所述组播目的MAC和所述协议类型的协议报文;或者,
当所述协议类型特征为报文中包含的能够区分协议报文和数据报文的五元组特征时,利用报文的五元组特征从所述数据缓冲区中提取协议报文;其中,五元组特征包括源IP地址、目的IP地址、源MAC地址、目的MAC地址、协议类型。
所述指定类型协议报文具体包括:基于多链路透明互联TRILL协议的hello报文。
所述特征库具体包括:包套接字PACKET Socket特征库,且所述PACKETSocket特征库中的每条表项用于记录协议报文的各个特征字段;
所述PACKET Socket特征库中包括网络设备支持协议的协议族以及网络设备不支持协议的协议族,所述网络设备的第一处理模块中具有用于处理网络设备不支持协议的协议报文的应用子模块以及PACKET Socket子模块,且所述PACKET Socket子模块支持应用程序对应的模块通过PACKET Socket接口向本PACKET Socket子模块注册协议报文的特征;
所述应用子模块,用于通过所述PACKET Socket接口向所述PACKETSocket子模块注册所述提取的协议报文的特征;
所述PACKET Socket子模块,用于在所述PACKET Socket特征库的网络设备不支持协议的协议族中记录所述提取的协议报文的特征。
所述检测模块,进一步用于在检测到本网络设备的出端口发生链路拥塞时,开启协议报文提取功能,且在开启协议报文提取功能后,需要利用协议类型特征从数据缓冲区中提取协议报文;
在检测到本网络设备的出端口未发生链路拥塞时,如果当前开启了协议报文提取功能,则关闭协议报文提取功能,且在关闭协议报文提取功能后,不需要利用协议类型特征从数据缓冲区中提取协议报文。
与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,通过在特征库,例如PACKET Socket(包套接字)特征库,中记录各协议报文的特征,从而保证各协议报文均能够上送CPU(Central Processing Unit,中央处理器)进行优先处理,以避免TRILL hello报文发生丢包现象,继而可以避免TRILL邻居建立失败;即避免网络设备由于不能优先调度TRILL hello,致使网络拥塞时TRILL hello报文被丢弃,TRILL邻居建立失败等情况。
附图说明
图1是现有技术中TRILL网络拓扑结构示意图;
图2是本发明实施例提供的一种协议报文处理方法流程示意图;
图3是本发明实施例中提出的PACKET Socket特征库的位置关系示意图;
图4是本发明实施例提供的一种网络设备的结构示意图。
具体实施方式
针对现有技术中存在的问题,本发明实施例提供一种协议报文处理方法,该方法的应用场景包括但不限于图1所示的TRILL网络,只要网络设备上会存在链路拥塞的场景均可以使用本发明实施例提供的技术方案;如:Internet分组交换网下,由于当前可供给链路资源小于正常转发需要链路资源所导致的链路拥塞场景;当前网络遭受大量异常报文攻击时,异常报文耗尽大量的链路资源所导致的链路拥塞场景等。如图2所示,该方法包括以下步骤:
步骤201,网络设备检测到本网络设备的出端口发生链路拥塞。
网络设备在收到自身能够识别的协议报文(如何确定协议报文是否为网络设备能够识别的协议报文将在后续过程阐述)时,将协议报文上送CPU进行处理,网络设备在收到自身不能够识别的协议报文(即需要直接透传的协议报文)或者数据报文时,需要将收到的不能够识别的协议报文或者数据报文存储到数据缓冲区(即缓冲器buffer)中进行缓存;当数据缓冲区已满时,后续需要存储到数据缓冲区的协议报文和数据报文将会被网络设备丢弃,从而导致需要直接透传的协议报文无法及时发送给下游网络设备。
本发明实施例中,网络设备检测本网络设备的出端口是否发生链路拥塞的方式,具体包括但不限于如下方式:
方式一、网络设备通过检测本网络设备的数据缓冲区中的数据量来判断本网络设备的出端口是否发生链路拥塞。具体的,当网络设备的数据缓冲区中的数据量在预设时间(可以根据实际经验值设置)内均大于预设缓冲门限(可以根据实际经验值设置)时,则说明网络设备的出端口发生链路拥塞,且网络设备可以依据数据缓冲区中的数据量大小来判断拥塞程度。否则,说明网络设备的出端口未发生链路拥塞。
方式二、当在数据缓冲区中基于端口队列来存储协议报文和数据报文时,网络设备通过检测本网络设备的端口队列中的当前队列使用率来判断本网络设备的出端口是否发生链路拥塞。具体的,当网络设备的端口队列中的当前队列使用率在预设时间(可以根据实际经验值设置)内均大于预设使用率门限(可以根据实际经验值设置,如30%)时,则说明网络设备的出端口发生链路拥塞;否则,说明网络设备的出端口未发生链路拥塞。
步骤202,网络设备在检测到本网络设备的出端口发生链路拥塞时,利用协议类型特征从数据缓冲区中提取协议报文。其中,如果网络设备在数据缓冲区中基于端口队列存储协议报文和数据报文,则网络设备从数据缓冲区中提取协议报文包括:网络设备从数据缓冲区的端口队列中提取协议报文。
本发明实施例中,网络设备在检测到本网络设备的出端口发生链路拥塞时,需要开启协议报文提取功能,以使网络设备从数据缓冲区中提取协议报文;此外,为避免CPU负担过重,网络设备在检测到本网络设备的出端口未发生链路拥塞时,如果当前开启了协议报文提取功能,则需要关闭协议报文提取功能,此时网络设备不需要从数据缓冲区中提取协议报文,以释放CPU。
在本发明实施例的一种优选实施方式中,协议类型特征可以为预先配置的能够识别出相应协议报文的特征。例如:协议类型特征可以通过二维数组[DMAC,TYPE]来匹配和表示,该DMAC(目的MAC)表示协议报文采用的组播目的MAC(Media Access Control,介质访问控制),该TYPE(类型)表示协议报文的协议类型,且网络设备能够通过该二维数组[DMAC,TYPE]区分出不同协议类型的协议报文。其中,通过预先配置能够识别出相应协议报文的特征,使得网络设备能够区分出协议报文和数据报文,且只需要配置一次能够识别出相应协议报文的特征,配置工作量较小。
基于此,本发明实施例中,网络设备利用协议类型特征从数据缓冲区中提取协议报文,具体包括但不限于:当协议类型特征包括指定类型协议报文采用的组播目的MAC以及指定类型协议报文的协议类型时,网络设备从数据缓冲区中提取对应于该组播目的MAC和该协议类型的协议报文。
本发明实施例的一种优选实施方式中,该指定类型协议报文具体包括:基于TRILL协议的hello报文。基于此,协议类型特征包括基于TRILL协议的hello报文采用的组播目的MAC以及对应的协议类型;如:基于TRILL协议的hello报文采用的组播目的MAC为0180-C200-0041,基于TRILL协议的hello报文的协议类型为22f4时,则基于TRILL协议的hello报文的协议类型特征通过二维数组[0180-C200-0041,22f4]来识别和区分,即网络设备从数据缓冲区中提取对应于二维数组[0180-C200-0041,22f4]的协议报文。
其中,网络设备在从数据缓冲区中提取对应于二维数组[0180-C200-0041,22f4]的协议报文时,还可以进一步将二维数组[0180-C200-0041,22f4]下发到ACL(Access Control List,访问控制列表)中,并由网络设备基于ACL从数据缓冲区中提取对应于二维数组[0180-C200-0041,22f4]的协议报文。
在本发明实施例的另一种实施方式中,协议类型特征还可以为报文中包含的能够区分协议报文和数据报文的特征。例如:协议类型特征可以为报文中的五元组信息,该五元组信息为源IP地址、目的IP地址、源MAC地址、目的MAC地址、协议类型;基于报文中的五元组信息,网络设备能够区分协议报文和数据报文,继而能够从数据缓冲区中提取协议报文。在该实施方式下,不需要预先配置协议报文的特征,从而可以节省配置的工作量。
步骤203,网络设备将提取的协议报文(如基于TRILL协议的hello报文)上送CPU进行处理,并在特征库中记录提取的协议报文的特征。
其中,该特征库用于记录协议报文特征,且利用报文中的特征信息匹配到该特征库中记录的内容后,需要将报文上送CPU进行处理。
其中,网络设备在利用协议类型特征从数据缓冲区中提取协议报文之后,可以直接将提取的协议报文上送CPU进行优先处理,从而使得该协议报文不需要在数据缓冲区中等待发送;对于基于TRILL协议的hello报文来说,上述方式使得基于TRILL协议的hello报文能够上送CPU进行优先处理,以避免TRILL hello报文发生丢包现象,继而可以避免TRILL邻居建立失败。
其中,该特征库中记录的协议报文特征可以为协议报文的源IP地址、源MAC地址、目的IP地址、目的MAC地址、协议类型等。
在本发明实施例的一种优选实施方式中,该特征库具体包括但不限于:PACKET Socket特征库,该PACKET Socket特征库由一系列的表项组成,且该PACKET Socket特征库中的每条表项用于记录协议报文的各个特征字段。例如,该PACKET Socket特征库中的每条表项用于记录协议报文的源IP地址、源MAC地址、目的IP地址、目的MAC地址、协议类型等五元组信息。
对于PACKET Socket特征库来说,网络设备会将自身能够识别的协议报文(即本网络设备支持协议的协议报文)的特征(如源IP地址、源MAC地址、目的IP地址、目的MAC地址、协议类型)记录在PACKET Socket特征库中;在此基础上,本发明实施例中,网络设备会在PACKET Socket特征库中记录本网络设备从数据缓冲区中提取的协议报文(如基于TRILL协议的hello报文)的特征(如源IP地址、源MAC地址、目的IP地址、目的MAC地址、协议类型),以对PACKET Socket特征库进行动态更新,使得网络设备能够将自身不识别的协议报文(即本网络设备不支持协议的协议报文)的特征记录在PACKET Socket特征库中,即网络设备按照PACKET Socket特征库的表项形式在PACKET Socket特征库中记录自身不识别协议报文的特征。
其中,PACKET Socket特征库处在链路层中,如图3所示,为PACKETSocket特征库的位置关系的示意图,该PACKET Socket特征库包括自身支持协议的协议族,如图3中的ETH协议族、PPP(Point to Point Protocol,点对点协议)协议族、FR(Frame Relay,帧中继)协议族等;在此基础上,本发明实施例中对PACKET Socket特征库进行了扩展,使得PACKET Socket特征库还包括自身不支持协议的协议族,如图3中的其它协议族。
此外,内核态的PACKET Socket模块支持应用程序对应的模块通过用户态的PACKET Socket接口向本PACKET Socket模块注册协议报文的特征。
例如,以太网应用程序对应的以太网模块通过PACKET Socket接口向本PACKET Socket模块注册以太网类型的协议报文的特征,由PACKET Socket模块在PACKET Socket特征库的ETH协议族中记录以太网类型的协议报文的特征;又例如,PPP应用程序对应的PPP通过PACKET Socket接口模块向本PACKET Socket模块注册PPP类型的协议报文的特征,由PACKET Socket模块在PACKET Socket特征库的PPP协议族中记录PPP类型的协议报文的特征;又例如,FR应用程序对应的FR模块通过PACKET Socket接口向本PACKETSocket模块注册FR类型的协议报文的特征,由PACKET Socket模块在PACKET Socket特征库的FR协议族中记录FR类型的协议报文的特征。
在此基础上,本发明实施例中,网络设备上提供用于处理本网络设备不支持协议的协议报文的应用模块,由该应用模块通过PACKET Socket接口向本PACKET Socket模块注册从数据缓冲区中提取的协议报文(如基于TRILL协议的hello报文)的特征,由该PACKET Socket模块在PACKET Socket特征库的其它协议族中记录该协议报文的特征。
基于上述过程维护的特征库,针对网络设备检测到本网络设备的出端口发生链路拥塞或者未发生链路拥塞的场景,该方法还可以包括以下步骤:
步骤204,网络设备在收到协议报文之后,利用协议报文中的特征信息查询特征库(如PACKET Socket特征库);如果特征库中有特征信息对应的记录,则执行步骤205;如果特征库中没有特征信息对应的记录,则执行步骤206。
步骤205,网络设备将协议报文上送CPU进行处理。
步骤206,网络设备将协议报文存储到数据缓冲区中。
其中,如果网络设备在数据缓冲区中基于端口队列存储协议报文和数据报文,则网络设备将协议报文存储到数据缓冲区中,具体包括:网络设备将该协议报文存储到数据缓冲区的端口队列中。
本发明实施例中,对于网络设备自身能够识别的协议报文,在PACKETSocket特征库中将记录有该协议报文的特征,即网络设备会将该协议报文上送CPU进行处理;对于网络设备自身不能够识别的协议报文(如基于TRILL协议的hello报文),基于上述处理后,在PACKET Socket特征库中也将记录有该协议报文的特征,即网络设备会将该协议报文上送CPU进行处理。
因此,在本网络设备的出端口发生链路拥塞时,网络设备能够将各协议报文(如基于TRILL协议的hello报文)上送CPU进行优先处理,实现QoS(Quality of Service,服务质量)软转发,避免给网络设备增加负担。进一步的,上述方式还可以避免TRILL hello报文发生丢包现象,继而可以避免TRILL邻居建立失败,即避免网络设备由于不能优先调度TRILL hello,致使网络拥塞时TRILL hello报文被丢弃,TRILL邻居建立失败等情况。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种网络设备,如图4所示,所述网络设备具体包括:
检测模块11,用于检测本网络设备的出端口是否发生链路拥塞;
第一处理模块12,用于在检测到发生链路拥塞时,利用协议类型特征从数据缓冲区中提取协议报文,将提取的协议报文上送中央处理器CPU进行处理,并在特征库中记录提取的协议报文的特征;其中,所述特征库用于记录协议报文特征,且利用报文中的特征信息匹配到所述特征库中记录的内容后,需要将报文上送CPU进行处理;
查询模块13,用于在接收到协议报文之后,利用所述协议报文中的特征信息查询所述特征库;
第二处理模块14,用于在所述特征库中有所述特征信息对应的记录时,将所述协议报文上送CPU进行处理;当所述特征库中没有所述特征信息对应的记录时,将所述协议报文存储到所述数据缓冲区中。
本发明实施例中,所述第一处理模块12,具体用于当所述协议类型特征为指定类型协议报文采用的组播目的介质访问控制MAC和指定类型协议报文的协议类型时,从所述数据缓冲区中提取对应于所述组播目的MAC和所述协议类型的协议报文;或者,当所述协议类型特征为报文中包含的能够区分协议报文和数据报文的五元组特征时,利用报文的五元组特征从所述数据缓冲区中提取协议报文;其中,五元组特征包括源IP地址、目的IP地址、源MAC地址、目的MAC地址、协议类型。
本发明实施例中,所述指定类型协议报文具体包括:基于多链路透明互联TRILL协议的hello报文。
本发明实施例中,所述特征库具体包括:包套接字PACKET Socket特征库,且所述PACKET Socket特征库中的每条表项用于记录协议报文的各个特征字段;
所述PACKET Socket特征库中包括网络设备支持协议的协议族以及网络设备不支持协议的协议族,所述网络设备的第一处理模块12中具有用于处理网络设备不支持协议的协议报文的应用子模块以及PACKET Socket子模块,且所述PACKET Socket子模块支持应用程序对应的模块通过PACKET Socket接口向本PACKET Socket子模块注册协议报文的特征;
所述应用子模块,用于通过所述PACKET Socket接口向所述PACKETSocket子模块注册所述提取的协议报文的特征;
所述PACKET Socket子模块,用于在所述PACKET Socket特征库的网络设备不支持协议的协议族中记录所述提取的协议报文的特征。
所述检测模块11,进一步用于在检测到本网络设备的出端口发生链路拥塞时,开启协议报文提取功能,且在开启协议报文提取功能后,需要利用协议类型特征从数据缓冲区中提取协议报文;
在检测到本网络设备的出端口未发生链路拥塞时,如果当前开启了协议报文提取功能,则关闭协议报文提取功能,且在关闭协议报文提取功能后,不需要利用协议类型特征从数据缓冲区中提取协议报文。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (10)

1.一种协议报文处理方法,其特征在于,该方法包括以下步骤:
网络设备在检测到本网络设备的出端口发生链路拥塞时,利用协议类型特征从数据缓冲区中提取协议报文,将提取的协议报文上送中央处理器CPU进行处理,并在特征库中记录提取的协议报文的特征;其中,所述特征库用于记录协议报文特征,且利用报文中的特征信息匹配到所述特征库中记录的内容后,需要将报文上送CPU进行处理;
所述网络设备在收到协议报文之后,利用所述协议报文中的特征信息查询所述特征库;如果所述特征库中有所述特征信息对应的记录,则将所述协议报文上送CPU进行处理;如果所述特征库中没有所述特征信息对应的记录,则将所述协议报文存储到所述数据缓冲区中。
2.如权利要求1所述的方法,其特征在于,所述网络设备利用协议类型特征从数据缓冲区中提取协议报文,具体包括:
当所述协议类型特征包括指定类型协议报文采用的组播目的介质访问控制MAC以及指定类型协议报文的协议类型时,所述网络设备从所述数据缓冲区中提取对应于所述组播目的MAC和所述协议类型的协议报文;或者,
当所述协议类型特征为报文中包含的能够区分协议报文和数据报文的五元组特征时,所述网络设备利用报文的五元组特征从所述数据缓冲区中提取协议报文;其中,五元组特征包括源IP地址、目的IP地址、源MAC地址、目的MAC地址、协议类型。
3.如权利要求2所述的方法,其特征在于,所述指定类型协议报文具体包括:基于多链路透明互联TRILL协议的hello报文。
4.如权利要求1所述的方法,其特征在于,
所述特征库具体包括:包套接字PACKET Socket特征库,且所述PACKETSocket特征库中的每条表项用于记录协议报文的各个特征字段;
所述PACKET Socket特征库中包括网络设备支持协议的协议族以及网络设备不支持协议的协议族,所述网络设备上具有用于处理网络设备不支持协议的协议报文的应用模块以及PACKET Socket模块,且所述PACKET Socket模块支持应用程序对应的模块通过PACKET Socket接口向本PACKET Socket模块注册协议报文的特征;
所述网络设备在特征库中记录提取的协议报文的特征,具体包括:
所述应用模块通过所述PACKET Socket接口向所述PACKET Socket模块注册所述提取的协议报文的特征;
所述PACKET Socket模块在所述PACKET Socket特征库的网络设备不支持协议的协议族中记录所述提取的协议报文的特征。
5.如权利要求1或2所述的方法,其特征在于,所述方法进一步包括:
网络设备在检测到本网络设备的出端口发生链路拥塞时,开启协议报文提取功能,且在开启协议报文提取功能后,网络设备需要利用协议类型特征从数据缓冲区中提取协议报文;
网络设备在检测到本网络设备的出端口未发生链路拥塞时,如果当前开启了协议报文提取功能,则关闭协议报文提取功能,且在关闭协议报文提取功能后,网络设备不需要利用协议类型特征从数据缓冲区中提取协议报文。
6.一种网络设备,其特征在于,所述网络设备具体包括:
检测模块,用于检测本网络设备的出端口是否发生链路拥塞;
第一处理模块,用于在检测到发生链路拥塞时,利用协议类型特征从数据缓冲区中提取协议报文,将提取的协议报文上送中央处理器CPU进行处理,并在特征库中记录提取的协议报文的特征;其中,所述特征库用于记录协议报文特征,且利用报文中的特征信息匹配到所述特征库中记录的内容后,需要将报文上送CPU进行处理;
查询模块,用于在接收到协议报文之后,利用所述协议报文中的特征信息查询所述特征库;
第二处理模块,用于在所述特征库中有所述特征信息对应的记录时,将所述协议报文上送CPU进行处理;当所述特征库中没有所述特征信息对应的记录时,将所述协议报文存储到所述数据缓冲区中。
7.如权利要求6所述的网络设备,其特征在于,
所述第一处理模块,具体用于当所述协议类型特征为指定类型协议报文采用的组播目的介质访问控制MAC和指定类型协议报文的协议类型时,从所述数据缓冲区中提取对应于所述组播目的MAC和所述协议类型的协议报文;或者,
当所述协议类型特征为报文中包含的能够区分协议报文和数据报文的五元组特征时,利用报文的五元组特征从所述数据缓冲区中提取协议报文;其中,五元组特征包括源IP地址、目的IP地址、源MAC地址、目的MAC地址、协议类型。
8.如权利要求7所述的网络设备,其特征在于,所述指定类型协议报文具体包括:基于多链路透明互联TRILL协议的hello报文。
9.如权利要求7所述的网络设备,其特征在于,
所述特征库具体包括:包套接字PACKET Socket特征库,且所述PACKETSocket特征库中的每条表项用于记录协议报文的各个特征字段;
所述PACKET Socket特征库中包括网络设备支持协议的协议族以及网络设备不支持协议的协议族,所述网络设备的第一处理模块中具有用于处理网络设备不支持协议的协议报文的应用子模块以及PACKET Socket子模块,且所述PACKET Socket子模块支持应用程序对应的模块通过PACKET Socket接口向本PACKET Socket子模块注册协议报文的特征;
所述应用子模块,用于通过所述PACKET Socket接口向所述PACKETSocket子模块注册所述提取的协议报文的特征;
所述PACKET Socket子模块,用于在所述PACKET Socket特征库的网络设备不支持协议的协议族中记录所述提取的协议报文的特征。
10.如权利要求6或7所述的网络设备,其特征在于,
所述检测模块,进一步用于在检测到本网络设备的出端口发生链路拥塞时,开启协议报文提取功能,且在开启协议报文提取功能后,需要利用协议类型特征从数据缓冲区中提取协议报文;
在检测到本网络设备的出端口未发生链路拥塞时,如果当前开启了协议报文提取功能,则关闭协议报文提取功能,且在关闭协议报文提取功能后,不需要利用协议类型特征从数据缓冲区中提取协议报文。
CN201310225326.XA 2013-06-05 2013-06-05 一种协议报文处理方法和设备 Active CN103281257B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310225326.XA CN103281257B (zh) 2013-06-05 2013-06-05 一种协议报文处理方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310225326.XA CN103281257B (zh) 2013-06-05 2013-06-05 一种协议报文处理方法和设备

Publications (2)

Publication Number Publication Date
CN103281257A true CN103281257A (zh) 2013-09-04
CN103281257B CN103281257B (zh) 2016-06-08

Family

ID=49063710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310225326.XA Active CN103281257B (zh) 2013-06-05 2013-06-05 一种协议报文处理方法和设备

Country Status (1)

Country Link
CN (1) CN103281257B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105337890A (zh) * 2014-07-16 2016-02-17 杭州迪普科技有限公司 一种控制策略生成方法以及装置
CN105991449A (zh) * 2015-05-27 2016-10-05 杭州迪普科技有限公司 一种保活优化方法及装置
CN106059820A (zh) * 2016-06-27 2016-10-26 安徽科成信息科技有限公司 一种网络监控方法
CN106161434A (zh) * 2016-06-27 2016-11-23 安徽科成信息科技有限公司 一种监控方法
CN106209501A (zh) * 2016-06-27 2016-12-07 安徽科成信息科技有限公司 一种班班通网络监控方法
CN111030943A (zh) * 2019-12-13 2020-04-17 迈普通信技术股份有限公司 一种报文的处理方法、装置、转发设备及存储介质
CN112511527A (zh) * 2020-11-26 2021-03-16 杭州迪普科技股份有限公司 报文传输方法及装置
CN113595919A (zh) * 2020-04-30 2021-11-02 华为技术有限公司 一种负载分担的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801778A (zh) * 2005-12-29 2006-07-12 中山大学 一种网络数据流的多维队列调度与管理系统
CN101841440A (zh) * 2010-04-30 2010-09-22 南京邮电大学 基于支持向量机与深层包检测的对等网络流量识别方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801778A (zh) * 2005-12-29 2006-07-12 中山大学 一种网络数据流的多维队列调度与管理系统
CN101841440A (zh) * 2010-04-30 2010-09-22 南京邮电大学 基于支持向量机与深层包检测的对等网络流量识别方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105337890A (zh) * 2014-07-16 2016-02-17 杭州迪普科技有限公司 一种控制策略生成方法以及装置
CN105337890B (zh) * 2014-07-16 2019-03-15 杭州迪普科技股份有限公司 一种控制策略生成方法以及装置
CN105991449A (zh) * 2015-05-27 2016-10-05 杭州迪普科技有限公司 一种保活优化方法及装置
CN105991449B (zh) * 2015-05-27 2019-09-06 杭州迪普科技股份有限公司 一种保活优化方法及装置
CN106059820A (zh) * 2016-06-27 2016-10-26 安徽科成信息科技有限公司 一种网络监控方法
CN106161434A (zh) * 2016-06-27 2016-11-23 安徽科成信息科技有限公司 一种监控方法
CN106209501A (zh) * 2016-06-27 2016-12-07 安徽科成信息科技有限公司 一种班班通网络监控方法
CN111030943A (zh) * 2019-12-13 2020-04-17 迈普通信技术股份有限公司 一种报文的处理方法、装置、转发设备及存储介质
CN113595919A (zh) * 2020-04-30 2021-11-02 华为技术有限公司 一种负载分担的方法及装置
CN112511527A (zh) * 2020-11-26 2021-03-16 杭州迪普科技股份有限公司 报文传输方法及装置

Also Published As

Publication number Publication date
CN103281257B (zh) 2016-06-08

Similar Documents

Publication Publication Date Title
CN103281257A (zh) 一种协议报文处理方法和设备
US10425328B2 (en) Load distribution architecture for processing tunnelled internet protocol traffic
US11032205B2 (en) Flow control method and switching device
US8837288B2 (en) Flow-based network switching system
CN109889443B (zh) 云计算系统和在云计算系统中实现演进分组核心(epc)的控制平面的方法
CN102685177B (zh) 资源的透明代理缓存方法、网络设备及系统
CN111769998B (zh) 一种网络时延状态的探测方法及装置
US9059922B2 (en) Network traffic distribution
US9015822B2 (en) Automatic invocation of DTN bundle protocol
CN110557342B (zh) 用于分析和减轻丢弃的分组的设备
EP2920931B1 (en) Content based overload protection
US11102133B2 (en) Service packet processing method, apparatus, and system
US10178017B2 (en) Method and control node for handling data packets
CN111801911B (zh) 业务功能链拥塞跟踪
WO2016062067A1 (zh) 一种用户报文的转发控制方法以及处理节点
KR101284584B1 (ko) 시그널링 트래픽 관리 시스템 및 그 방법
JP2015164295A (ja) 情報伝送システム、情報通信装置、情報伝送装置、及びプログラム
CN112511438A (zh) 一种利用流表转发报文的方法、装置及计算机设备
US10284426B2 (en) Method and apparatus for processing service node ability, service classifier and service controller
JP2012147435A (ja) パケットシーケンス番号のトラッキング
CN108337181B (zh) 一种交换网拥塞管理方法和装置
WO2022152230A1 (zh) 信息流识别方法、网络芯片及网络设备
CN106027405B (zh) 数据流的分流方法及装置
CN103428295A (zh) 一种对等网络应用的监控方法与系统
JP4835934B2 (ja) 高速処理装置、高速処理方法、及びプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20230615

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right