CN114827044B - 一种报文处理方法、装置及网络设备 - Google Patents
一种报文处理方法、装置及网络设备 Download PDFInfo
- Publication number
- CN114827044B CN114827044B CN202210454424.XA CN202210454424A CN114827044B CN 114827044 B CN114827044 B CN 114827044B CN 202210454424 A CN202210454424 A CN 202210454424A CN 114827044 B CN114827044 B CN 114827044B
- Authority
- CN
- China
- Prior art keywords
- message
- session table
- network
- network message
- application
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 29
- 238000012545 processing Methods 0.000 claims abstract description 76
- 238000000034 method Methods 0.000 claims description 55
- 238000011217 control strategy Methods 0.000 claims description 11
- 239000000758 substrate Substances 0.000 claims 1
- 230000009471 action Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 239000000284 extract Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种报文处理方法、装置及网络设备,该网络设备包括CPU和转发芯片。CPU接收所述转发芯片发送的数据流的网络报文;根据所述网络报文中数据对所述数据流进行应用识别处理;若基于所述网络报文识别出所述数据流存在对应的应用时,则根据所述网络报文的报文特征生成会话表项;将所述会话表项下发给所述转发芯片,以使所述转发芯片接收到新的网络报文后,根据所述会话表项,转发所述新的网络报文。由此,在进行应用识别后,不需要将所有的报文都上送给CPU处理,直接由转发芯片转发,从而提升了网络设备中报文的转发速度,同时也能够有效识别出应用及提升网络设备的处理性能。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种报文处理方法、装置及网络设备。
背景技术
随着互联网技术的不断发展,新时代网络对网络安全有了新的需求,基于用户和应用的流量转发控制。针对新时代网络的特点,防火墙越来越需要用户与应用的识别能力,以确保流量的控制更精细、更可视。传统的网络应用等于端口,想要实现基于应用的流量控制,直接允许或者禁用端口就可以实现。而新时代网络中,大多数应用集中在少数端口,应用程序越来越web化,通过简单的端口已无法识别具体应用。因此,基于流量内容来识别应用的需求越来越迫切。网关设备对报文进行转发时,包括软件转发和硬件转发两种方式,在进行软件转发时,CPU(中央处理器,Central Processing Unit)可以针对流量做精细化处理,以实现更丰富的功能;而基于硬件转发时,由FPGA(现场可编程逻辑门阵列,FieldProgrammable Gate Array)或ASIC(专用集成电路,Application Specific IntegratedCircuit)等硬件逻辑芯片(也称转发芯片)对报文进行处理和转发,具有更高的转发速度,但是硬件逻辑芯片无法对报文做进一步识别。因此,要实现基于流量内容识别应用的功能,就必须把每条数据流的报文上送至CPU,由CPU对报文内容做进一步识别,然而一旦该条数据流被上送CPU后,后续都需要进行软件转发,导致网关设备的性能大大降低。
因此,如何在进行应用识别时,提升网络设备中报文的转发速度,同时有效识别出应用及提升网络设备的处理性能是值得考虑的技术问题之一。
发明内容
有鉴于此,本申请提供一种报文处理方法、装置及网络设备,用以在进行应用识别时,提升网络设备中报文的转发速度,同时有效识别出应用及提升网络设备的处理性能。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提供一种报文处理方法,应用于网络设备中的CPU中,所述网络设备还包括转发芯片;所述方法,包括:
接收所述转发芯片发送的数据流的网络报文;
根据所述网络报文中数据对所述数据流进行应用识别处理;
若基于所述网络报文识别出所述数据流存在对应的应用时,则根据所述网络报文的报文特征生成会话表项;
将所述会话表项下发给所述转发芯片,以使所述转发芯片接收到新的网络报文后,根据所述会话表项,转发所述新的网络报文。
根据本申请的第二方面,提供一种报文处理方法,应用于网络设备中的转发芯片中,所述网络设备还包括CPU;
将接收到的数据流的网络报文发送给所述CPU;
接收所述CPU下发的会话表项,所述会话表项为所述CPU在基于所述网络报文识别出所述数据流存在对应的应用时,根据所述网络报文的报文特征生成的;
接收所述数据流的新的网络报文;
根据所述会话表项,转发所述新的网络报文。
根据本申请的第三方面,提供一种报文处理装置,设置于网络设备中的中央处理器CPU中,所述网络设备还包括转发芯片;所述装置,包括:
接收模块,用于接收所述转发芯片发送的数据流的网络报文;
识别模块,用于根据所述网络报文中数据对所述数据流进行应用识别处理;
生成模块,用于若所述识别模块基于所述网络报文识别出所述数据流存在对应的应用时,则根据所述网络报文的报文特征生成会话表项;
发送模块,用于将所述会话表项下发给所述转发芯片,以使所述转发芯片接收到新的网络报文后,根据所述会话表项,转发所述新的网络报文。
根据本申请的第四方面,提供一种报文处理装置,设置于网络设备中的转发芯片中,所述网络设备还包括中央处理器CPU,所述装置,包括:
第一接收模块,用于接收数据流的网络报文;
发送模块,用于将所述网络报文发送给所述CPU;
第二接收模块,用于接收所述CPU下发的会话表项,所述会话表项为所述CPU在基于所述网络报文识别出所述数据流存在对应的应用时,根据所述网络报文的报文特征生成的;
所述第一接收模块,用于接收所述数据流的新的网络报文;
转发模块,用于根据所述会话表项,转发所述新的网络报文。
根据本申请的第五方面,提供一种网络设备,包括中央处理器CPU和转发芯片,所述CPU用于执行第一方面所提供的报文处理方法,所述转发芯片用于执行第二方面所提供的报文处理方法。
根据本申请的第六方面,提供一种机器可读存储介质,机器可读存储介质存储有计算机程序,在被中央处理器CPU调用和执行时,计算机程序促使处理器执行本申请实施例第一方面所提供的方法。
本申请实施例的有益效果:
本申请实施例提供的报文处理方法、装置及网络设备中,CPU在接收到转发芯片发送的数据流的网络报文后,会根据网络报文中数据对数据流进行应用识别处理;当基于网络报文识别出所述数据流存在对应的应用时,则根据网络报文的报文特征生成会话表项;然后将会话表项下发给转发芯片,这样,转发芯片接收到新的网络报文后,就可以根据该会话表项,转发新的网络报文。这样一来,转发芯片就不需要将数据流的所有网络报文一一上送到CPU进行应用识别处理,只需要转发芯片在接收到会话表项后,直接基于会话表项对后续接收到的新的网络报文执行报文转发操作,从而在识别出应用的基础上,大大提升了报文的转发速率,同时也提高了网络设备的处理性能。
附图说明
图1是本申请实施例提供的一种报文处理方法的流程示意图;
图2是本申请实施例提供的另一种报文处理方法的流程示意图;
图3是本申请实施例提供的一种报文处理装置的结构示意图;
图4是本申请实施例提供的另一种报文处理装置的结构示意图;
图5是本申请实施例提供的一种实施报文处理方法的网络设备的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面对本申请提供的报文处理方法进行详细地说明。
参见图1,图1是本申请提供的一种报文处理方法的流程图,该方法应用于网络设备中的CPU中,该网络设备还包括转发芯片。网络设备中的CPU实施上述报文处理方法时,可包括如下所示步骤:
S101、接收转发芯片发送的数据流的网络报文。
本步骤中,由于转发芯片本身不具有应用识别的能力,因此,为了能够识别出接收到的数据量是否存在应用,转发芯片需要将接收到的每一数据流的网络报文上送给CPU,以由CPU基于接收到的网络报文进行应用识别。
S102、根据所述网络报文中数据对所述数据流进行应用识别处理。
本步骤中,为了避免同一条数据流的所有报文都上传到CPU所造成的CPU处理压力大,且由于CPU对收到的每个报文都要进行应用识别所造成的影响报文的转发性能的问题,本申请提出,转发芯片从外部接收到每条数据流后,在CPU未下发会话表项之前,会持续将该数据流的网络报文上送至CPU,这样,CPU接收到网络报文后,会根据网络报文中的数据进行应用识别处理。在进行应用识别时,具体匹配方式可以采用目前所提供的应用识别方式进行,例如上述网络报文中的数据可以但不限于为域名等,在此基于上,CPU可以识别网络报文中的域名是否为预先配置的应用的应用域名,当为预先配置的应用的应用域名时,则确认识别出应用,即该网络报文所属数据流存在对应的应用。例如,客户端与服务器交互的网络报文里,除去TCP的三次握手报文外,第一个进行SSL协商的clienthello类型的网络报文里就会携带要访问的应用的应用域名,如www.***.com,此时当接收到该网络报文时,就可以识别出该网络报文携带的域名为百度域名,进而就可以确定出该网络报文所属的数据流对应的应用为百度。
S103、若基于所述网络报文识别出所述数据流存在对应的应用时,则根据所述网络报文的报文特征生成会话表项。
本步骤中,当基于本次接收到的网络报文识别出数据流存在对应的应用时,表明已识别出应用,进而表明不需要CPU对前述后续的网络报文逐一进行识别而影响报文的转发速率,为了达到这一目的,本申请提出,CPU会根据网络报文的报文特征生成会话表项。具体来说,可以将网络报文中报文特征写入到会话表项中。
S104、将所述会话表项下发给所述转发芯片,以使所述转发芯片接收到新的网络报文后,根据所述会话表项,转发所述新的网络报文。
本步骤中,为了实现每条数据流的网络报文的正常转发且提升转发性能,CPU会将生成的会话表项发送给转发芯片。这样,转发芯片在接收到新的网络报文时,就可以根据该会话表项实现对新的网络报文的报文转发。
通过实施本申请提供的报文处理方法,CPU在接收到转发芯片发送的数据流的网络报文后,会根据网络报文中数据对数据流进行应用识别处理;当基于网络报文识别出所述数据流存在对应的应用时,则根据网络报文的报文特征生成会话表项;然后将会话表项下发给转发芯片,这样,转发芯片接收到新的网络报文后,就可以根据该会话表项,转发新的网络报文。这样一来,转发芯片就不需要将数据流的所有网络报文一一上送到CPU进行应用识别处理,只需要转发芯片在接收到会话表项后,直接基于会话表项对后续接收到的新的网络报文执行报文转发操作,从而在识别出应用的基础上,大大提升了报文的转发速率,同时也提高了网络设备的处理性能。
可选地,在根据所述网络报文的报文特征生成会话表项之前,还包括:查询所述对应的应用的应用控制策略;确认所述应用控制策略为允许放行所述应用对应的数据流。
在此基础上,本实施例提供的报文处理方法,还包括:在确认允许放行所述应用对应的数据流时,转发网络报文。
具体地,在基于步骤S103识别出应用时,然后可以查询识别出的应用对应的应用控制策略,然后确认该应用控制策略是否为同意放行访问该应用的数据流,当该应用控制策略的执行动作为允许放行时,则对外转发该网络报文。而当该应用控制策略为禁止转发,则丢弃该网络报文。
需要说明的是,网络设备会预先存储各应用的应用控制策略,且每个应用的应用控制策略可动态更新。
在此基础上,该会话表项仅包括该网络报文的报文特征,而该报文特征与该数据流后续的网络报文的报文特征相同,因此,转发芯片后续接收到新的网络报文后,会利用该新的网络报文中的报文特征匹配会话表项,当成功匹配上会话表项时,表明该新的网络报文命中该会话表项,则转发芯片直接对外转发该新的网络报文,而不再上报给CPU进行应用识别处理,由此也就提升了网络报文的报文转发速度。
可选地,本实施例提供的报文处理方法,还包括:若基于上述网络报文未识别出上述数据流存在应用,且对上述数据流进行识别所使用的网络报文的数量达到上述网络报文的报文协议对应的设定数量时,则丢弃上述数据流的网络报文。
具体地,当基于本次接收到的网络报文未识别出应用,则可以确定基于该数据流下CPU累计接收到的网络报文的数量,也即确定对该数据流进行应用识别时累计所使用的网络报文的数量,然后判断上述数量是否达到该网络报文所使用的报文协议对应的设定数量,当达到时,则表明该数据流不存在对应的应用,则后续的报文无需进行应用识别处理。此时,CPU可以丢弃该网络报文。进一步地,以客户端通过安全设备访问服务器为例进行说明,在客户端与服务器交互过程中,客户端一般通过接收ack消息来确认对方收到报文,有鉴于此,当CPU丢弃网络报文后,客户端会收不到ack消息,则客户端自动会终止该数据流的报文发送,从而转发芯片也就接收不到该数据流的网络报文,这样也在一定程度上了提升了报文转发速度。
此外,若基于上述网络报文未识别出数据流存在应用,且对所述数据流进行识别所使用的网络报文的数量未达到所述网络报文的报文协议对应的设定数量时,则等待接收转发芯片发送该数据流的网络报文。
具体地,当基于本次接收到的网络报文未识别出数据流存在应用时,则可以判断对数据流进行应用识别所使用的网络报文的数据是否达到网络报文协议对应的设定数量,当未达到设定数量时,则表明当前用于识别应用的网络报文的数量比较少,此时还可以继续等待从转发芯片接收该数据流的下一网络报文。从而在一定程度上提升应用识别的准确度,而且由于此时用于应用识别的报文数量比较少,所以暂时不会影响报文的转发速度。
需要说明的是,不同的报文协议对应的设定数量不同,例如,如果接收到的网络报文所属的协议属于http或https协议,则上述设定数量可以但不限于为5,即,一般情况下,CPU利用5个网络报文识别不出来数据流存在应用,就能表征该数据流不存在上层应用,属于纯http或https流量;而网络报文的报文协议属于tcp或udp协议时,则上述设定数量可以但不限于为48~50个,即CPU利用48个网络报文也识别不出来所属数据流存在应用,就能够确定该数据流不存在上层应用,该数据流属于纯tcp或udp流量。进而也就说明,当超过设定数量后,依然未识别出数据流存在应用时,就可以确认无需对报文进行深度识别以识别应用了,也就可以确认后续的网络报文就不需要上送CPU做软件处理了,可以直接由转发芯片利用硬件逻辑转发;同理,当识别出应用时,一旦确认应用不会再发生变化了,后续的网络报文也就不需要上送CPU做软件处理了,直接由转发芯片可以走硬件逻辑转发,无需上送软件做处理了,尤其适用于视频流比较多的场景,可以大大提升视频流的报文的转发性能。
可选地,基于上述实施例,本实施例中,还可以按照下述方法执行步骤S103中的根据网络报文的报文特征生成会话表项:查询所述对应的应用的应用控制策略;根据所述报文特征和所述应用控制策略,生成所述会话表项。
在此基础上,本实施例提供的报文转发方法,还包括:当确认所述应用控制策略为允许放行所述应用对应的数据流,则转发所述网络报文。
具体地,当网络设备识别出的应用的应用控制策略的执行动作为允许放行时,则CPU可以直接对外转发该网络报文;若识别出的应用的应用控制策略为禁止放行,则CPU可以直接丢弃该网络报文。
具体地,当识别出对应的应用后,可以根据预先配置的各应用的应用控制策略,查询识别出的应用对应的应用控制策略,然后在生成会话表项时,根据网络报文的报文特征及查询到的应用控制策略生成会话表项,即,将该网络报文的报文特征及查询到的应用控制策略写入会话表项中,然后将该会话表项发送给转发芯片。这样,转发芯片在接收到该会话表项时,当后续接收到新的网络报文,则会提取出新的网络报文中的报文特征,然后利用该报文特征匹配会话表项,当匹配成功时,从会话表项中提取出应用控制策略,然后基于该应用控制策略执行该新的网络报文的转发操作,例如,该应用控制策略包括的执行动作为放行,则转发芯片可以直接对外转发该新的网络报文,不再发送给CPU执行应用识别处理流程;若该应用控制策略包括的执行动作为禁止放行,则转发芯片可以直接丢弃该新的网络报文,既不需要上报CPU也不需要转发处理,从而节省了网络报文的转发速度。
可选地,上述报文特征可以但不限于包括五元组信息,在此基础上,可以按照下述方法执行步骤S102:根据所述五元组信息生成所述会话表项。
具体地,同一数据流的网络报文之间包括的五元组信息是一致的,因此,基于五元组信息生成的会话表项下发给转发芯片后,转发芯片可以更快且准确地匹配后续接收到的新的网络报文能否命中会话表项,并基于会话表项执行转发处理。
可选地,上述报文特征可以但不限于包括五元组信息等等。上述五元组信息可以但不限于包括入接口、出接口、源IP地址和目的IP地址等,
基于上述任一实施例,本实施例中,可以按照下述过程执行步骤S104:通过驱动接口将所述会话表项下发给所述转发芯片。具体地,转发芯片与CPU之间可以通过驱动接口通信,这样,CPU在向转发芯片发送会话表项时,可以通过该驱动接口转发。
基于同一发明构思,本实施例还提供了一种报文处理方法,应用于网络设备中的转发芯片中,该网络设备还包括CPU,前述转发芯片可以按照图2所示的流程执行上述报文处理方法,包括以下步骤:
S201、将接收到的数据流的网络报文发送给CPU。
本步骤中,由于转发芯片本身不具有软件识别功能,因此需要将接收到的数据流的网络报文转发给能够进行应用识别的CPU,以由CPU对从转发芯片接收到的网络报文进行应用识别处理。
S202、接收所述CPU下发的会话表项,所述会话表项为所述CPU在基于所述网络报文识别出所述数据流存在对应的应用时,根据所述网络报文的报文特征生成的。
本步骤中,当CPU识别出数据流存在对应的应用时,则会根据该网络报文生成会话表项并下发给转发芯片,由此转发芯片就会接收到CPU下发的会话表项。
需要说明的是,CPU基于网络报文识别数据流是否存在应用的流程及生成会话表项的流程可以参考前述CPU对应的执行过程,此处不再一一详细说明。
值得注意的是,转发芯片可以通过其与转发芯片之间的驱动接口接收CPU下发的会话表项,该会话表项包括转发芯片上送至CPU的网络报文的报文特征。
S203、接收所述数据流的新的网络报文。
S204、根据所述会话表项,转发所述新的网络报文。
本步骤中,转发芯片会连续不断的接收到新的网络报文,当接收到新的网络报文时,会从新的网络报文中提取出报文特征,然后利用提取到的报文特征来匹配会话表项,当匹配成功时,则可以根据会话表项执行该新的网络报文的转发操作。
通过实施转发芯片侧的报文处理方法,转发芯片将接收到的数据流的网络报文发送给所述CPU;接收所述CPU下发的会话表项,所述会话表项为所述CPU在基于所述网络报文识别出所述数据流存在对应的应用时,根据所述网络报文的报文特征生成的;接收所述数据流的新的网络报文;根据所述会话表项,转发所述新的网络报文。这样,转发芯片也就不需要将每条数据流的网络报文逐一上送给CPU进行应用识别处理,网络设备中的CPU也就不需要对每条数据流中的所有报文均执行逐一识别匹配工作,由此,大大降低了CPU的报文处理压力,同时也提升了报文的转发速率。
需要说明的是,转发芯片可能会同时收到多条数据流,相应地,转发芯片会将各条数据流的网络报文分别发送给CPU,相应地,CPU在识别出多个数据流存在对应的应用时,相应也会下发对应数量的会话表项,转发芯片可以将接收到的会话表项均存储在会话表项列表中,这样,转发芯片接收到网络报文后,可以利用网络报文中的报文特征去匹配该会话表项列表,然后按照匹配到的会话表项对该网络报文执行转发处理。
需要说明的是,本实施例提供的报文处理方法,还包括:针对每条数据流,当转发芯片按照图2所示的流程处理完该数据流最后一个网络报文后,删除本地该数据流对应的会话表项。例如,可以从上述会话表项列表中删除该数据流的报文特征对应的会话表项。
一种实施例中,当会话表项为CPU在确认所述对应的应用的应用控制策略为允许放行所述应用对应的数据流时生成的;则可以按照下述过程执行步骤S204:若所述新的网络报文命中所述会话表项,则转发所述新的网络报文;若所述新的网络报文未命中所述会话表项,则丢弃所述新的网络报文。
具体地,当CPU识别出网络报文所属的数据流存在对应的应用,且确认该对应的应用的应用控制策略的执行动作为允许放行该数据流时,则才会根据该网络报文的报文特征生成会话表项,若未识别出应用则不会生成会话表项。因此,转发芯片在接收到会话表项后,若后续接收到新的网络报文,则会利用新的网络报文中的报文特征去匹配会话表项,当匹配成功时,则表明命中该会话表项,则此时转发芯片可以直接对外转发该新的网络报文,也就不需要上送至CPU进行应用识别处理,从而提升了网络报文的转发处理。
而当未匹配上会话表项,而且也没有匹配到其他会话表项,则此时可以进一步判断,若该数据流不属于新的数据流,且预先已经将其网络报文上送至CPU处理,则此时可以继续将该数据流的网络报文上送至CPU处理,以执行图1所示的流程;若该数据流为新的数据流,同样需要将该数据流的网络报文上送至CPU处理,以执行图1所示的流程。
另一种实施例中,上述会话表项包括所述对应的应用的应用控制策略;在此基础上,可以按照下述过程执行步骤S204:若所述新的网络报文命中所述会话表项,则若所述应用控制策略为允许放行所述应用对应的数据流,则转发所述新的网络报文;若所述应用控制策略为不允许放行所述应用对应的数据流,则丢弃所述新的网络报文。
具体地,当网络设备接收到新的网络报文后,可以从新的网络报文中提取报文特征,然后利用该报文特征来匹配会话表项,当匹配成功时,则基于该会话表项中的应用控制策略执行该新的网络报文的转发操作。例如,若会话表项中的应用控制策略的执行动作为允许放行,则网络设备可以直接对外转发该新的网络报文,而不需要再上送至CPU,由此提升了报文的转发速度;而当该应用控制策略的执行动作为禁止放行,则此时网络设备可以丢弃该新的网络报文,由此也提升了CPU处理网络报文的处理性能。
可选地,上述报文特征包括五元组信息;在此基础上,可以按照下述方法确认所述新的网络报文命中所述会话表项:若所述新的网络报文的五元组信息与所述会话表项中的五元组信息一致,则确认所述新的网络报文命中所述会话表项。
为了更好地理解本申请任一实施例提供的报文处理方法,以发送至网络设备的数据流为http数据流为例进行说明,则转发芯片收到http数据流的第1个~第4个网络报文时,会分别上报给CPU,CPU此时可能无法基于接收到的这几个网络报文识别出应用,则当转发芯片向CPU上送http数据流的第5个网络报文后,CPU基于第5个网络报文中的数据识别出该数据流属于http数据流,则此时CPU会根据该网络报文的报文特征生成会话表项,并发送给转发芯片。这样,转发芯片在接收到新的网络报文时,会从该新的网络报文中提取出报文特征,若该报文特征命中该会话表项,则转发芯片直接向外转发该新的网络报文,从而也就不需要上送至CPU进行应用识别处理,进而提升了报文的转发速度。
这样,通过基于转发芯片(硬件逻辑芯片)和CPU的软件协同处理,大大提高了报文的转发性能及网络设备的业务处理性能,使网络设备在识别出应用时性能大大提升,满足了大型网络出口的高吞吐低时延部署要求。
需要说明的是,上述网络设备可以但不限于为网络安全设备等等,该网络安全设备可以但不限于为防火墙、安全网关等等。
基于同一发明构思,本申请还提供了与上述CPU侧的报文处理方法对应的报文处理装置。该报文处理装置的实施具体可以参考上述CPU对报文处理方法的描述,此处不再一一论述。
参见图3,图3是本申请一示例性实施例提供的一种报文处理装置,设置于网络设备中的中央处理器CPU中,所述网络设备还包括转发芯片;所述装置,包括:
接收模块301,用于接收所述转发芯片发送的数据流的网络报文;
识别模块302,用于根据所述网络报文中数据对所述数据流进行应用识别处理;
生成模块303,用于若所述识别模块基于所述网络报文识别出所述数据流存在对应的应用时,则根据所述网络报文的报文特征生成会话表项;
发送模块304,用于将所述会话表项下发给所述转发芯片,以使所述转发芯片接收到新的网络报文后,根据所述会话表项,转发所述新的网络报文。
可选地,基于上述实施例,本实施例提供的报文处理装置,还包括:
丢弃模块(图中未示出),用于若基于所述网络报文未识别出所述数据流存在应用,且对所述数据流进行识别所使用的网络报文的数量达到所述网络报文的报文协议对应的设定数量时,则丢弃所述数据流的网络报文。
可选地,基于上述任一实施例,本实施例提供的报文处理装置,还包括:
查询模块(图中未示出),用于在所述生成模块303根据所述网络报文的报文特征生成会话表项之前,查询所述对应的应用的应用控制策略;
确定模块(图中未示出),用于确认所述应用控制策略为允许放行所述应用对应的数据流;
在此基础上,本实施例提供的报文处理装置,还包括:
转发模块(图中未示出),用于在所述确定模块确认允许放行所述应用对应的数据流时,转发所述网络报文。
可选地,上述生成模块303,还用于查询所述对应的应用的应用控制策略;根据所述报文特征和所述应用控制策略,生成所述会话表项;
在此基础上,本实施例提供的报文处理装置,还包括:
转发模块(图中未示出),用于当确认所述应用控制策略为允许放行所述应用对应的数据流,则转发所述网络报文。
可选地,上述报文特征包括五元组信息;则上述生成模块303,具体用于根据所述五元组信息生成所述会话表项。
基于同一发明构思,本申请还提供了与上述转发芯片侧的报文处理方法对应的报文处理装置。该报文处理装置的实施具体可以参考上述转发芯片对报文处理方法的描述,此处不再一一论述。
参见图4,图4是本申请一示例性实施例提供的一种报文处理装置,设置于网络设备中的转发芯片中,所述网络设备还包括中央处理器CPU,所述装置,包括:
第一接收模块401,用于接收数据流的网络报文;
发送模块402,用于将所述网络报文发送给所述CPU;
第二接收模块403,用于接收所述CPU下发的会话表项,所述会话表项为所述CPU在基于所述网络报文识别出所述数据流存在对应的应用时,根据所述网络报文的报文特征生成的;
所述第一接收模块401,用于接收所述数据流的新的网络报文;
转发模块404,用于根据所述会话表项,转发所述新的网络报文。
可选地,上述会话表项为所述CPU在确认所述对应的应用的应用控制策略为允许放行所述应用对应的数据流时生成的;则上述转发模块404,具体用于若所述新的网络报文命中所述会话表项,则转发所述新的网络报文;若所述新的网络报文未命中所述会话表项,则丢弃所述新的网络报文。
可选地,上述会话表项包括所述对应的应用的应用控制策略;则上述转发模块404,具体用于若所述新的网络报文命中所述会话表项,则若所述应用控制策略为允许放行所述应用对应的数据流,则转发所述新的网络报文;若所述应用控制策略为不允许放行所述应用对应的数据流,则丢弃所述新的网络报文。
可选地,上述报文特征包括五元组信息;则所述转发模块404,具体用于按照下述方法确认所述新的网络报文命中所述会话表项:若所述新的网络报文的五元组信息与所述会话表项中的五元组信息一致,则确认所述新的网络报文命中所述会话表项。
基于同一发明构思,本申请实施例提供了一种网络设备,如图5所示,该网络设备包括中央处理器(CPU)500、转发芯片501和机器可读存储介质502,机器可读存储介质502存储有能够被CPU 500执行的计算机程序,CPU 500被计算机程序促使执行本申请CPU侧任一实施例所提供的报文处理方法,上述转发芯片501用于执行本申请转发芯片侧任一实施例所提供的报文处理方法。此外,该网络设备还包括通信接口503和通信总线504,其中,CPU500,转发芯片501,通信接口503,机器可读存储介质502通过通信总线504完成相互间的通信。
上述网络设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述网络设备与其他设备之间的通信。
上述机器可读存储介质502可以为存储器,该存储器可以包括随机存取存储器(Random Access Memory,RAM)、DDR SRAM(Double Data Rate Synchronous DynamicRandom Access Memory,双倍速率同步动态随机存储器),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述转发芯片可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
对于网络设备以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
上述装置中各个单元/模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元/模块可以是或者也可以不是物理上分开的,作为单元/模块显示的部件可以是或者也可以不是物理单元/模块,即可以位于一个地方,或者也可以分布到多个网络单元/模块上。可以根据实际的需要选择其中的部分或者全部单元/模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (12)
1.一种报文处理方法,其特征在于,应用于网络设备中的CPU中,所述网络设备还包括转发芯片;所述方法,包括:
接收所述转发芯片发送的数据流的网络报文;
根据所述网络报文中数据对所述数据流进行应用识别处理;
若基于所述网络报文识别出所述数据流存在对应的应用时,则根据所述网络报文的报文特征生成会话表项;
将所述会话表项下发给所述转发芯片,以使所述转发芯片接收到新的网络报文后,根据所述会话表项,转发所述新的网络报文。
2.根据权利要求1所述的方法,其特征在于,
若基于所述网络报文未识别出所述数据流存在应用,且对所述数据流进行识别所使用的网络报文的数量达到所述网络报文的报文协议对应的设定数量时,则丢弃所述数据流的网络报文。
3.根据权利要求1所述的方法,其特征在于,在根据所述网络报文的报文特征生成会话表项之前,还包括:
查询所述对应的应用的应用控制策略;
确认所述应用控制策略为允许放行所述应用对应的数据流;
所述方法,还包括:
在确认允许放行所述应用对应的数据流时,转发所述网络报文。
4.根据权利要求1所述的方法,其特征在于,根据所述网络报文的报文特征生成会话表项,包括:
查询所述对应的应用的应用控制策略;
根据所述报文特征和所述应用控制策略,生成所述会话表项;
所述方法,还包括:
当确认所述应用控制策略为允许放行所述应用对应的数据流,则转发所述网络报文。
5.根据权利要求1所述的方法,其特征在于,所述报文特征包括五元组信息;
根据所述网络报文的报文特征生成会话表项,包括:
根据所述五元组信息生成所述会话表项。
6.一种报文处理方法,其特征在于,应用于网络设备中的转发芯片中,所述网络设备还包括CPU;所述方法,包括:
将接收到的数据流的网络报文发送给所述CPU;
接收所述CPU下发的会话表项,所述会话表项为所述CPU在基于所述网络报文识别出所述数据流存在对应的应用时,根据所述网络报文的报文特征生成的;
接收所述数据流的新的网络报文;
根据所述会话表项,转发所述新的网络报文。
7.根据权利要求6所述的方法,其特征在于,所述会话表项为所述CPU在确认所述对应的应用的应用控制策略为允许放行所述应用对应的数据流时生成的;
根据所述会话表项,转发所述新的网络报文,包括:
若所述新的网络报文命中所述会话表项,则转发所述新的网络报文;
若所述新的网络报文未命中所述会话表项,则丢弃所述新的网络报文。
8.根据权利要求6所述的方法,其特征在于,所述会话表项包括所述对应的应用的应用控制策略;
根据所述会话表项,转发所述新的网络报文,包括:
若所述新的网络报文命中所述会话表项,则若所述应用控制策略为允许放行所述应用对应的数据流,则转发所述新的网络报文;
若所述应用控制策略为不允许放行所述应用对应的数据流,则丢弃所述新的网络报文。
9.根据权利要求7或8所述的方法,其特征在于,所述报文特征包括五元组信息;
按照下述方法确认所述新的网络报文命中所述会话表项:
若所述新的网络报文的五元组信息与所述会话表项中的五元组信息一致,则确认所述新的网络报文命中所述会话表项。
10.一种报文处理装置,其特征在于,设置于网络设备中的中央处理器CPU中,所述网络设备还包括转发芯片;所述装置,包括:
接收模块,用于接收所述转发芯片发送的数据流的网络报文;
识别模块,用于根据所述网络报文中数据对所述数据流进行应用识别处理;
生成模块,用于若所述识别模块基于所述网络报文识别出所述数据流存在对应的应用时,则根据所述网络报文的报文特征生成会话表项;
发送模块,用于将所述会话表项下发给所述转发芯片,以使所述转发芯片接收到新的网络报文后,根据所述会话表项,转发所述新的网络报文。
11.一种报文处理装置,其特征在于,设置于网络设备中的转发芯片中,所述网络设备还包括中央处理器CPU,所述装置,包括:
第一接收模块,用于接收数据流的网络报文;
发送模块,用于将所述网络报文发送给所述CPU;
第二接收模块,用于接收所述CPU下发的会话表项,所述会话表项为所述CPU在基于所述网络报文识别出所述数据流存在对应的应用时,根据所述网络报文的报文特征生成的;
所述第一接收模块,用于接收所述数据流的新的网络报文;
转发模块,用于根据所述会话表项,转发所述新的网络报文。
12.一种网络设备,其特征在于,包括中央处理器CPU和转发芯片,所述CPU用于执行权利要求1~5任一所述的报文处理方法,所述转发芯片用于执行权利要求6~9任一所述的报文处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210454424.XA CN114827044B (zh) | 2022-04-27 | 2022-04-27 | 一种报文处理方法、装置及网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210454424.XA CN114827044B (zh) | 2022-04-27 | 2022-04-27 | 一种报文处理方法、装置及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114827044A CN114827044A (zh) | 2022-07-29 |
CN114827044B true CN114827044B (zh) | 2023-12-26 |
Family
ID=82508826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210454424.XA Active CN114827044B (zh) | 2022-04-27 | 2022-04-27 | 一种报文处理方法、装置及网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114827044B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014177097A1 (zh) * | 2013-08-16 | 2014-11-06 | 中兴通讯股份有限公司 | 一种流表条目生成方法及相应设备 |
CN104717101A (zh) * | 2013-12-13 | 2015-06-17 | 中国电信股份有限公司 | 深度包检测方法和*** |
CN105939397A (zh) * | 2015-08-13 | 2016-09-14 | 杭州迪普科技有限公司 | 一种报文的传输方法和装置 |
CN108234323A (zh) * | 2017-12-08 | 2018-06-29 | 中国电子科技集团公司第三十研究所 | 一种安全可控性能可达线速的网络处理及转发方法 |
CN111131539A (zh) * | 2019-12-23 | 2020-05-08 | 杭州迪普科技股份有限公司 | 报文转发方法及装置 |
CN112333097A (zh) * | 2020-09-29 | 2021-02-05 | 新华三信息安全技术有限公司 | 一种报文转发方法、装置及网关设备 |
CN112737914A (zh) * | 2020-12-28 | 2021-04-30 | 北京天融信网络安全技术有限公司 | 报文处理方法、装置、网络设备及可读存储介质 |
CN114189905A (zh) * | 2020-09-15 | 2022-03-15 | 华为技术有限公司 | 一种报文处理方法及相关设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140173709A1 (en) * | 2011-12-16 | 2014-06-19 | Avigdor Eldar | Secure user attestation and authentication to a remote server |
-
2022
- 2022-04-27 CN CN202210454424.XA patent/CN114827044B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014177097A1 (zh) * | 2013-08-16 | 2014-11-06 | 中兴通讯股份有限公司 | 一种流表条目生成方法及相应设备 |
CN104717101A (zh) * | 2013-12-13 | 2015-06-17 | 中国电信股份有限公司 | 深度包检测方法和*** |
CN105939397A (zh) * | 2015-08-13 | 2016-09-14 | 杭州迪普科技有限公司 | 一种报文的传输方法和装置 |
CN108234323A (zh) * | 2017-12-08 | 2018-06-29 | 中国电子科技集团公司第三十研究所 | 一种安全可控性能可达线速的网络处理及转发方法 |
CN111131539A (zh) * | 2019-12-23 | 2020-05-08 | 杭州迪普科技股份有限公司 | 报文转发方法及装置 |
CN114189905A (zh) * | 2020-09-15 | 2022-03-15 | 华为技术有限公司 | 一种报文处理方法及相关设备 |
CN112333097A (zh) * | 2020-09-29 | 2021-02-05 | 新华三信息安全技术有限公司 | 一种报文转发方法、装置及网关设备 |
CN112737914A (zh) * | 2020-12-28 | 2021-04-30 | 北京天融信网络安全技术有限公司 | 报文处理方法、装置、网络设备及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
M. Reza HoseinyFarahabady ; Ali Jannesari ; Zahir Tari ; Javid Taheri ; Albert Y. Zomaya.Dynamic Control of CPU Cap Allocations in Stream Processing and Data-Flow Platforms.《2019 IEEE 18th International Symposium on Network Computing and Applications (NCA)》.2019,全文. * |
基于国产龙芯CPU的高性能防火墙转发性能的研究与实现;陈绍黔;王湘新;幸雪初;肖晨阳;梁剑;;《电脑知识与技术》(20);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114827044A (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7636305B1 (en) | Method and apparatus for monitoring network traffic | |
CN109617931B (zh) | 一种SDN控制器的DDoS攻击防御方法及防御*** | |
US9787589B2 (en) | Filtering of unsolicited incoming packets to electronic devices | |
WO2017004947A1 (zh) | 防止域名劫持的方法和装置 | |
WO2014187238A1 (zh) | 应用类型识别方法及网络设备 | |
US11496403B2 (en) | Modifying the congestion control algorithm applied to a connection based on request characteristics | |
WO2014101758A1 (zh) | 一种检测邮件攻击的方法、装置及设备 | |
CN110519265B (zh) | 一种防御攻击的方法及装置 | |
US8320249B2 (en) | Method and system for controlling network access on a per-flow basis | |
WO2018121742A1 (zh) | 一种流数据的传输方法和装置 | |
US11223568B2 (en) | Packet processing method and apparatus | |
US11509749B2 (en) | Data processing method and apparatus, and computer | |
WO2015014196A1 (zh) | 确定内容获取路径、请求处理的方法、装置和*** | |
WO2017162117A1 (zh) | 一种集群精确限速方法和装置 | |
WO2024060408A1 (zh) | 网络攻击检测方法和装置、设备及存储介质 | |
CN107682267B (zh) | Linux设备的网络数据转发方法及*** | |
WO2007045144A1 (fr) | Procedes pour l'identification de messages d'application entre homologues et de realisation d'operations et leurs dispositifs correspondants | |
US9680739B2 (en) | Information transmission system, information communication apparatus, and information transmission apparatus | |
US9942161B1 (en) | Methods and systems for configuring and updating session-based quality of service for multimedia traffic in a local area network | |
WO2005004410A1 (fr) | Procede pour controler la retransmission d'un message de donnees dans un dispositif d'acheminement | |
CN110224932B (zh) | 一种数据快速转发的方法及*** | |
CN114827044B (zh) | 一种报文处理方法、装置及网络设备 | |
CN114793199B (zh) | 一种报文处理方法、装置及网络设备 | |
WO2012122832A1 (zh) | 网络地址转换表项的热备份方法及装置 | |
CN106961393B (zh) | 网络会话中udp报文的检测方法及装置 |
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 |