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

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

Info

Publication number
CN103281257B
CN103281257B CN201310225326.XA CN201310225326A CN103281257B CN 103281257 B CN103281257 B CN 103281257B CN 201310225326 A CN201310225326 A CN 201310225326A CN 103281257 B CN103281257 B CN 103281257B
Authority
CN
China
Prior art keywords
protocol
message
feature
protocol message
packet
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
Application number
CN201310225326.XA
Other languages
English (en)
Other versions
CN103281257A (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

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

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

Claims (8)

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

Families Citing this family (8)

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

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 南京邮电大学 基于支持向量机与深层包检测的对等网络流量识别方法

Also Published As

Publication number Publication date
CN103281257A (zh) 2013-09-04

Similar Documents

Publication Publication Date Title
CN103281257B (zh) 一种协议报文处理方法和设备
US10659342B2 (en) Flow entry configuration method, apparatus, and system
JP6938766B2 (ja) パケット制御方法およびネットワーク装置
US10135636B2 (en) Method for generating forwarding information, controller, and service forwarding entity
US9497661B2 (en) Implementing EPC in a cloud computer with openflow data plane
US8762501B2 (en) Implementing a 3G packet core in a cloud computer with openflow data and control planes
CN109889443B (zh) 云计算系统和在云计算系统中实现演进分组核心(epc)的控制平面的方法
JP5846221B2 (ja) ネットワークシステム、及びトポロジー管理方法
CN110557342B (zh) 用于分析和减轻丢弃的分组的设备
US9350665B2 (en) Congestion mitigation and avoidance
CN106656857B (zh) 一种报文限速的方法和装置
WO2014000399A1 (zh) 链路选择方法和装置
US11032196B2 (en) Per path and per link traffic accounting
JP2022532731A (ja) スライスベースネットワークにおける輻輳回避
US20110022721A1 (en) Method and system for packetizing data for servicing traffic end-to-end
WO2016000170A1 (zh) 网络装置执行的数据处理方法和相关设备
CN107566293B (zh) 一种用于报文限速的方法及装置
WO2015196923A1 (zh) 一种发送信息的方法和网络装置
EP3534571A1 (en) Service packet transmission method, and node apparatus
JP5673057B2 (ja) 輻輳制御プログラム、情報処理装置および輻輳制御方法
US10567284B1 (en) Transport batching technique for network communications
US10498591B1 (en) Isolating service faults using loopbacks
US20180006944A1 (en) Processing data flows based on information provided via beacons
US20170155543A1 (en) Control apparatus, communication system, and control method

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