CN114866488A - 信息流识别方法、网络芯片及网络设备 - Google Patents
信息流识别方法、网络芯片及网络设备 Download PDFInfo
- Publication number
- CN114866488A CN114866488A CN202110062885.8A CN202110062885A CN114866488A CN 114866488 A CN114866488 A CN 114866488A CN 202110062885 A CN202110062885 A CN 202110062885A CN 114866488 A CN114866488 A CN 114866488A
- Authority
- CN
- China
- Prior art keywords
- flow
- information
- chip
- chip memory
- table information
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012216 screening Methods 0.000 claims description 40
- 238000013507 mapping Methods 0.000 claims description 25
- 238000009825 accumulation Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 13
- 230000008901 benefit Effects 0.000 abstract description 16
- 241000406668 Loxodonta cyclotis Species 0.000 description 98
- 238000004891 communication Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 8
- 239000003550 marker Substances 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 240000007594 Oryza sativa Species 0.000 description 1
- 235000007164 Oryza sativa Nutrition 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 235000009566 rice Nutrition 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
-
- 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/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请实施例提供一种信息流识别方法、网络芯片及网络设备。在本申请实施例中,利用片内存储器与片外存储器结合的方式对信息流进行识别,首先借助片内存储器访问带宽较大的优势进行潜在流的识别,可提高识别潜在流的速度,其次,借助片外存储器存储空间较大的优势仅针对潜在流做进一步识别,而不是对全部信息流都借助于片外存储器做进一步识别,可减少访问片外存储器的次数,有利于提高识别目标流的效率和准确率。
Description
技术领域
本申请涉及网络通信技术领域,尤其涉及一种信息流识别方法、网络芯片及网络设备。
背景技术
在数据中心网络中,会存在很多条信息流,在一些场景中可能需要对某些信息流进行识别。例如,对于大象流(Elephant Flow),为了提高对大象流的处理效率,通常会将大象流的流表放到片内的高速缓存中,以降低对片外缓存的访问次数,这就需要识别大象流。
在现有技术中,可将接收到的各条信息流的流表信息暂存于片外缓存中,之后从片外缓存中读取每条信息流的流表信息,根据所读取的流表信息对每条信息流做精确统计,进而从中识别出大象流。但是,片外缓存的访问带宽往往较低,造成识别速度缓慢,效率低下。
发明内容
本申请的多个方面提供一种信息流识别方法、网络芯片及网络设备,用以提高信息流识别的效率。
本申请实施例提供一种网络芯片,包括:主控芯片和片外存储器,主控芯片包括:片内存储器、流分类模块、流识别模块以及流筛选模块;片内存储器,用于缓存进入网络芯片的报文;流分类模块,用于将片内存储器中的报文映射到至少一条流表信息中,一条流表信息对应一条信息流;流识别模块,用于根据至少一条流表信息,识别所述信息流中可能是目标流的潜在流,并将潜在流对应的流表信息输出至片外存储器进行累积;流筛选模块,用于在设定的触发条件被满足时,读取片外存储器中已累积的潜在流对应的流表信息,并基于所读取的流表信息,识别出潜在流中的目标流。
本申请实施例还提供一种信息流识别方法,适用于网络芯片中的主控芯片,该方法包括:将进入网络芯片的报文缓存至网络芯片的片内存储器中,并将片内存储器中的报文映射到至少一条流表信息中,一条流表信息对应一条信息流;根据至少一条流表信息,识别所述信息流中可能是目标流的潜在流;将潜在流对应的流表信息输出至网络芯片的片外存储器中进行累积;以及在设定的触发条件被满足时,读取片外存储器中已累积的潜在流对应的流表信息,并根据所读取的流表信息,识别出潜在流中的目标流。
本申请实施例还提供一种网络设备,包括:存储器、处理器以及网络芯片;存储器,用于存储计算机程序;处理器,与存储器耦合,用于执行计算机程序,以用于:向网络芯片发送报文和/或接收网络芯片上报的目标流的标识信息;网络芯片包括:主控芯片和片外存储器,主控芯片包括:片内存储器、流分类模块、流识别模块以及流筛选模块;片内存储器,用于缓存进入网络芯片的报文;流分类模块,用于将片内存储器中的报文映射到至少一条流表信息中,一条流表信息对应一条信息流;流识别模块,用于根据至少一条流表信息,识别所述信息流中可能是目标流的潜在流,并将潜在流对应的流表信息输出至片外存储器进行累积;流筛选模块,用于在设定的触发条件被满足时,读取片外存储器中已累积的潜在流对应的流表信息,并基于所读取的流表信息,识别出潜在流中的目标流。
在本申请实施例中,利用片内存储器与片外存储器结合的方式对信息流进行识别,首先,进入网络芯片的报文被缓存至片内存储器,在片内将报文映射到至少一条流表信息中,并据此识别信息流中可能是目标流的潜在流,之后将潜在流对应的流表信息缓存至片外存储器进行累积,直至设定的触发条件被满足时,读取片外存储器中已累积的潜在流的流表信息并据此准确识别潜在流中的目标流。其中,首先借助片内存储器访问带宽较大的优势进行潜在流的识别,可提高识别潜在流的速度,其次,借助片外存储器存储空间较大的优势仅针对潜在流做进一步识别,而不是对全部信息流都借助于片外存储器做进一步识别,可减少访问片外存储器的次数,有利于提高识别目标流的效率和准确率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1a为本申请示例性实施例提供的一种网络芯片的结构示意图;
图1b为本申请示例性实施例提供的另一种网络芯片的结构示意图;
图2为本申请示例性实施例提供的一种数据中心系统的结构示意图;
图3为本申请示例性实施例提供的一种云计算系统的结构示意图;
图4为本申请示例性实施例提供的一种信息流识别过程的示意图;
图5为本申请示例性实施例提供的一种信息流识别方法的流程示意图;
图6为本申请示例性实施例提供的一种网络设备的流程示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有技术中,信息流识别效率较低的问题,本申请实施例提供一种解决方案,基本思路是:利用片内存储器与片外存储器结合的方式对信息流进行识别,首先,进入网络芯片的报文被缓存至片内存储器,在片内将报文映射到至少一条流表信息中,并据此识别信息流中可能是目标流的潜在流,之后,将潜在流的流表信息缓存至片外存储器进行累积,直至设定的触发条件被满足时,读取片外存储器中已累积的潜在信息流的流表信息并据此准确识别潜在流中的目标流。其中,首先借助片内存储器访问带宽较大的优势进行潜在流的识别,可提高识别潜在流的速度;其次,借助片外存储器存储空间较大的优势仅针对潜在流做进一步识别,而不是对全部信息流都借助于片外存储器做进一步识别,可减少访问片外存储器的次数,有利于提高识别目标流的效率和准确率。
以下结合附图,详细说明本申请各实施例提供的技术方案。
在本申请各实施例中,将网络芯片在同一时间段内经过同一网络,且具有某种共同特征或属性的数据,称为一条信息流。例如,可以将在一定时间内具有相同四元组、五元组或七元组的数据视为一条信息流,或者,也可以将在一段时间内来自同一IP地址的数据视为一条信息流,还可以将在一段时间内访问同一IP地址的数据视为一条信息流。在各种网络系统中,通常会包含有服务器、交换机、路由器或者集线器等各种网络设备,这些网络设备上通常会包含网络芯片,该网络芯片可以实现数据收发、数据封装与解封、链路管理以及数据编码与译码等功能。除此之外,在一些应用场景中,还需要网络芯片对信息流进行识别。
例如,网络系统中的信息流可以分为大象流和老鼠流(Mice Flow),大象流是通过网络链路进行大量的、持续的传递数据的过程,例如,虚机的迁移或者数据的迁移等属于大象流;老鼠流是通过网络链路进行少量的、短时间的数据传递过程,例如,发邮件、浏览网页以及发送即时通信消息等属于老鼠流。研究发现在网络交换机出口端的队列中一旦老鼠流出现在大象流后面,就会造成长时间的队列延迟,为了优化或保证老鼠流的传输性能,改善延迟,对大象流的识别是十分重要的。
又例如,云计算场景中,云上租户可能对一些场景的流量感兴趣或比较关注,例如,云上租户为在线教育服务商,在云上部署了包括英语、数学、语文等多学科的在线教育服务,并且对在线教育服务中英语科目的在线流量比较关注,在该情况下,需要对云上租户指定的英语科目涉及的信息流进行识别,并对识别到的信息流进行流量统计。
在本实施例中,为了实现各种场景或各种需求下的信息流识别,提高识别信息流的效率和准确率,提供了一种网络芯片,该网络芯片可以利用片内存储器与片外存储器结合的方式对信息流进行识别,满足各种场景或需求下的信息流识别目的。该网络芯片为硬件结构,可以基于现场可编程门阵列FPGA(Field Programmable Gate Array)、复杂可编程逻辑器件CPLD(Complex Programmable Logic Device)或者单片机等集成电路芯片来实现。在本实施例中,并不对网络芯片的内部实现结构进行限定。图1a为本申请示例性实施例提供的一种网络芯片的结构示意图,如图1a所示,该网络芯片100至少包括:主控芯片101以及设置于主控芯片101外部的片外存储器102。主控芯片101上包括:片内存储器101a、流分类模块101b、流识别模块101c以及流筛选模块101d。可选地,片内存储器101a可以是片内缓存,片外存储器102可以是片外缓存。
其中,片内存储器101a位于主控芯片101上,片外存储器102位于主控芯片101外部,相对来说,片内存储器101a的访问带宽要高于片外存储器102的访问带宽。但是,片外存储器102的存储容量可以做的较大,而片内存储器101a的容量相对较小,鉴于此,片内存储器101a主要用于暂时缓存主控芯片101将要处理的一些信息,片外存储器102主要用于缓存不需要立马处理的信息。对于存储在片外存储器102中的信息,主控芯片101需要处理时首先会将信息从片外存储器102中加载至片内存储器101a中。
在实际应用中,主控芯片101需要对进入网络芯片100的报文进行各种处理,这些处理中包括对报文所在的信息流进行识别,但不限于此,本申请实施例重点描述主控芯片101进行信息流识别的过程。例如,在流量控制应用场景下,可对大象流进行识别,以便能够及时对大象流进行限速或丢包等限速处理,解决拥堵问题。又例如,在云计算场景下可以对云上租户指定感兴趣的信息流进行识别,以便云上租户针对指定信息流进行后续处理或操作。在信息流识别的场景中,网络芯片100收到报文之后,首先将报文缓存至片内存储器101a中,借助于片内存储器101a的访问带宽较大的优势,由流分类模块101b和流识别模块101c相互配合完成初步的流识别。
具体地,流分类模块101b可以从片内存储器101a中读取缓存的报文并将报文映射到至少一条流表信息中,其中一条流表信息对应一条信息流,不同流表信息对应不同信息流。其中,并不限定流分类模块101b从片内存储器101a中读取报文的实施方式。例如,可以是当片内存储器101a缓存新报文时,流分类模块101b从片内存储器101a中读取该新报文,并将该新报文映射到一条流表信息中;也可以是流分类模块101b周期性地读取片内存储器101a缓存的报文,并将读取到的报文分别映射到对应的流表信息中,例如,读取周期可以是1s、2s或者5s等,对此不做限定。
在本实施例中,流分类模块101b不仅可以将片内存储器101a中缓存的报文映射到至少一条流表信息中,还可以向流识别模块101c提供至少一条流表信息。可选地,可以是流分类模块101b向流识别模块101c输出至少一条流表信息,也可以由流识别模块101c到流分类模块101b中读取至少一条流表信息。其中,每条信息流对应的流表信息主要包括一些与该信息流相关的信息,例如与该信息流相关的统计信息,该信息流的一些包头信息(如五元组等),该信息流对应的下一步操作(简称为该信息流的动作信息)等等。在本实施例中,重点关注与信息流相关的统计信息,而且该统计信息会因流识别需求的不同而有所不同。例如,若识别大象流,则流表信息中的统计信息可以包括但不限于:信息流中已出现报文的数量、报文的时间戳或者信息流的标识信息等。又例如,若识别用户指定的信息流(简称为指定流),则流表信息可以包括但不限于:信息流中的报文是否携带标记信息、报文的时间戳或者信息流的标识信息等。在本实施例中,标记信息用于区分报文是否为指定流中的报文,如果是指定流中的报文,则会带有标记信息,如果不是指定流中的报文,则不会带有标记信息。另外,如果报文中带有标记信息,该标记信息也会作为一种具体的流表信息,体现在报文所属信息流对应的流表信息中。为了便于描述,在本申请实施例中,将需要识别的信息流称为目标流,目标流可以是大象流,也可以是指定流,还可以同时包括大象流和指定流。
在本实施例中,流识别模块101c可以根据流分类模块101b提供的至少一条流表信息,从信息流中识别出可能是目标流的潜在流。潜在流是指可能是目标流的信息流。在本实施例中,为了提高识别效率,节约片内存储器101a的存储空间,以及能够保证对进入网络芯片的各条信息流都能够进行识别,在初步识别过程中,可以基于较少数量的报文得到的流表信息对信息流进行初步识别,例如对于每条信息流,可以获取1s内到来的报文或者指定数量(如20个)的报文对应的流表信息(主要是指统计信息),由流识别模块101c根据这些流表信息,对信息流进行粗略识别。
对于由流识别模块101c识别出的可能是目标流的潜在流,可结合更多数量的报文得到的流表信息(主要是指统计信息)对潜在流做进一步识别,提高识别结果的准确度。为了便于累积潜在流对应的流表信息,在识别出潜在流之后,可以将片内存储器101a中缓存的潜在流对应的流表信息输出至片外存储器102进行累积,借助于片外存储器102的存储空间较大的优势,继续累积潜在流对应的流表信息,以使流表信息更加丰富。可选地,对于未被识别为潜在流的其它信息流,可以将这些信息流对应的流表信息从片内存储器101a删除,这样,可以释放片内存储器101a的存储空间,提高片内存储器101a的空间利用率。
在本实施例中,流筛选模块101d负责根据由更多报文统计得到的流表信息对流识别模块101c识别出的潜在流做进一步精确识别,以判断潜在流是否为目标流。其中,可以为流筛选模块101d设定触发条件,在设定的触发条件被满足时,流筛选模块101d读取片外存储器102中已累积的潜在流对应的流表信息,并基于所读取的流表信息,识别出潜在流中的目标流。需要说明的是,对于潜在流,流筛选模块101d从片外存储器102中读取的流表信息,与从片内存储器101a中输出的流表信息通常是不同的,片外存储器102中的流表信息是基于更多数量的报文统计得到的,而片内存储器101a中的流表信息是基于相对较少数量的报文统计得到的。相比于片内存储器101a输出的流表信息,流筛选模块101d从片外存储器102中读取的流表信息更为丰富和准确。当然,在一些特殊情况下,信息流中有可能在很长一段时间内没有报文,因此这两种流表信息也有可能是相同的。
其中,设定的触发条件可以是片外存储器102中缓存的流表信息中统计的报文数量超过设定的数量阈值,这样在片外存储器102中缓存的流表信息中统计的报文数量超过设定的数据阈值时,流筛选模块101d会读取片外存储器102中已累积的潜在流对应的流表信息。或者,流识别模块101c维护上述数量阈值,并将每次输出的流表信息中统计出的报文数量进行累加,当累加的报文数量超过设定的数量阈值时,向流筛选模块101d发送触发信号,流筛选模块101d收到流识别模块101c发送的触发信号时,读取片外存储器102中已累积的潜在流对应的流表信息。或者,还可以设定定时周期,将定时周期到达作为设定的触发条件,这样流筛选模块101d可以在每个定时周期到达时,读取片外存储器102中已累积的潜在流对应的流表信息。
例如,假设流识别模块101c基于1秒(s)时间(即第一时长)内到达的报文得到的流表信息识别潜在流,而流筛选模块101d可以基于3秒时间(即第二时长)内到达的报文得到的流表信息对潜在流做进一步精确识别。这样,若流识别模块101c每次从片内存储器101a中输出至片外存储器102的流表信息是根据1秒(s)时间内到达的报文得到的,则随着流识别模块101c不断将流表信息输出至片外存储器102进行累积,片外存储器102中累积的潜在流对应的流表信息将会越来越丰富,这样当3s定时周期到达时,流筛选模块101d可以从片外存储器中读取根据在3s时间内到达的报文统计得到的流表信息。由于流筛选模块101d可以基于由更多报文统计得到的流表信息对潜在流进行识别,其进行流识别所依据的信息更为丰富,更具有代表性,有利于提高识别结果的准确度,可以准确地从潜在流中识别出目标流。其中,第一时长小于第二时长,第一时长为1秒,第二时长为3秒仅为一种取值示例,并不限于此。
在本申请实施例中,利用片内存储器与片外存储器结合的方式对信息流进行识别,首先,将进入网络芯片的报文缓存至片内存储器,在片上(即主控芯片101)将报文映射到至少一条流表信息中,据此识别信息流中可能是目标流的潜在流,将潜在流对应的流表信息输出至片外存储器进行累积,直至设定的触发条件被满足时,读取缓存于片外存储器中的潜在流对应的流表信息并据此识别潜在流中的目标流。其中,首先借助片内存储器访问带宽较大的优势进行潜在流的识别,可提高识别潜在流的速度,其次,借助片外存储器存储空间较大的优势仅针对潜在流对应的流表信息做进一步累积,进而对潜在流做进一步识别,而不是对全部信息流都借助于片外存储器做进一步识别,可减少访问片外存储器的次数,有利于提高识别目标流的效率和准确率。
在本实施中,目标流可以是大象流,也可以是指定信息流。根据目标流的不同,网络芯片100识别目标流的详细过程也有所不同。下面分情况进行说明。
情况A1:目标流是大象流。
在本实施例中,进入网络芯片100中的报文首先被送入主控芯片101上的片内存储器101a进行缓存;在主控芯片101上,流分类模块101b将片内存储器101a中缓存的报文映射到至少一条流表信息中。在本实施例中,并不限定流分类模块101b将片内存储器101a中缓存的报文映射到至少一条流表信息中的实施方式。下面举例说明。
在一可选实施例中,流分类模块101b可以根据报文的特征信息,将片内存储器101a中缓存的报文映射到至少一条流表信息中。报文的特征信息可以是报文的四元组、五元组或者七元组,四元组中包括:源IP地址、目的IP地址、源端口以及目的端口,五元组中包括:源IP地址、目的IP地址、协议号、源端口以及目的端口,七元组中包括:源IP地址、目的IP地址、协议号、源端口、目的端口,服务类型以及接口索引。例如,可以将四元组相同的报文映射到一条流表信息中,或者,可以将五元组相同的报文映射到一条流表信息中,对此不做限定。
在又一可选实施例中,可以通过散列(Hash)函数将片内存储器101a中缓存的报文映射到至少一条流表信息中。具体地,在片内存储器101a中维护一张散列表中,该散列表包括一定数量的表项,每个表项对应一条信息流,一方面负责记录该信息流对应的流表信息,一方面记录对信息流的散列结果,不同散列结果代表不同信息流,换句话说,一条表项中记录有该表项对应的信息流的散列结果和流表信息。对于片内存储器101a中缓存的报文,流分类模块101b利用散列函数将片内存储器101a中缓存的报文映射到片内存储器101a中的散列表中,具体可映射到该散列表中的一个表项中。
进一步可选地,每当片内存储器101a缓存新报文时,流分类模块101b可以从片内存储器101a中读取该新报文,并提取该新报文的特征信息,利用散列函数对该新报文的特征信息进行散列处理,得到新报文的散列结果。例如,若新报文的特征信息为报文中的源IP地址和源端口,可以将新报文中的源IP地址和源端口按顺序排列组成一串数字,对该串数字进行散列处理得到新报文的散列结果。其中,对于具有相同源IP地址和源端口的报文会对应相同的散列结果,即会被映射到同一条表项中。在得到新报文的散列结果之后,可将该散列结果在散列表中进行匹配;若散列表中存在与该散列结果对应的目标表项,说明散列表中已记录有该新报文所属的信息流,则将新报文映射到目标表项,并更新目标表项中的流表信息,例如可以将报文数量加1,并记录新报文的时间戳;若散列表中不存在与该散列结果对应的目标表项,说明该新报文所属信息流是最新出现的信息流,散列表中尚未记录该信息流,则从散列表中获取一个空闲表项,将新报文映射到空闲表项,具体是指在空闲表项中记录新报文所属信息流的流表信息,例如将报文数量记为1,并记录新报文的时间戳以及信息流标识。
进一步可选地,散列表中的表项数量是有限的,例如10个、20个或25个表项。在从散列表中获取空闲表项时,可分为两种情况:一种是散列表中存在空闲表项,则可以直接从空闲表项中选择一个,将新报文映射到所选择的空闲表项中;另一种是散列表中不存在空闲表项,则可以将散列表中符合输出条件的表项中的流表信息输出至流识别模块101c,该表项中的流表信息被输出至流识别模块101c之后会被删除,这样就得到了空白表项。其中,输出条件可以是报文的数量超过设定的阈值,则从报文的数量超过设定的阈值的表项中,随机选择一个表项并输出该表项中的流表信息至流识别模块101c,从而得到空白表项。或者,输出条件可以是将散列表中对应报文数量最多的表项中的流表信息输出给流识别模块101c;输出条件也可以是表项中报文时间戳的最大差值超过设定的阈值,则从报文时间戳的最大差值超过设定的阈值的表项中,随机选择一个表项并输出该表项中的流表信息至流识别模块101c,对此不做限定。
在本实施例中,在上述散列表的基础上,流识别模块101c和流分类模块101b可以采用流水作业方式,即流识别模块101c等待流分类模块101b向其输出流表信息,每当接收到流分类模块101b输出的流表信息时,根据接收到的流表信息,统计接收到的流表信息对应的信息流是否为潜在流。在目标流为大象流的情况下,流识别模块101c计算与接收到的流表信息对应的信息流的带宽,并在带宽大于设定的带宽阈值的情况下,将该信息流识别为潜在流。具体地,可以计算流表信息中包含的时间戳的差值,进一步计算流表信息中报文数量与时间戳差值的比值,即为该信息流的带宽。例如,可以设定大象流的带宽阈值,若该信息流的带宽大于设定大象流的带宽阈值,则认为该信息流是潜在大象流。
在本实施例中,考虑到流识别模块101c依据由较少数量的报文统计得到的流表信息识别信息流是否属于大象流,对于一些短时有突发流量的信息流,有可能被错误识别为大象流,也就是说流识别模块101c识别到的大象流中可能存在部分实际上是短时突发流量的老鼠流,因此,将流识别模块101c识别到的大象流称为潜在大象流,这意味着需要对潜在大象流做进一步的筛选,以得到真正意义上的大象流。基于此,在识别到潜在大象流之后,可将片内存储器101a中缓存的潜在大象流对应的流表信息输出至片外存储器102中进行累积,以借助于片外存储器102的空间优势累积更加丰富的流表信息;与此配合的是,在主控芯片101上设有流筛选模块101d,流筛选模块101d负责在设定的触发条件被满足时,读取片外存储器202中已累积的潜在大象流对应的流表信息,并基于所读取流表信息,进一步对潜在大象流进行识别,以识别出潜在大象流中真正意义上的大象流,剔除非真正意义上的大象流。其中,潜在大象流的数量可能是一条,也可能是多条。
在本实施例中,并不限定流筛选模块101d基于所读取的潜在大象流对应的流表信息,识别出潜在大象流中的目标流的实施方式。例如,流筛选模块101d可以根据所读取的潜在大象流对应的流表信息,统计该潜在大象流的带宽,将该带宽超过设定大象流带宽阈值的潜在大象流识别为真正意义上的大象流;将带宽未超过设定大象流带宽阈值的潜在大象流识别为老鼠流。又例如,可以计算每个潜在大象流的带宽,并按照带宽从大到小对潜在大象流进行排序,识别出占用了80%~100%的网络带宽的前N条潜在大象流,将前N条潜在大象流识别为真正意义上的大象流,将其余潜在大象流识别为老鼠流。
情况A2:目标流是指定流。
在本实施例中,如图1b所示,主控芯片还设有流标记模块101e。流标记模块101e负责在将进入网络芯片100的报文缓存至片内存储器101a之前,根据报文的特征信息判断进入网络芯片100的报文是否为指定流中的报文,若是,则在报文中添加标记信息,该标记信息用于标识报文是否属于指定流,并且该标记信息可作为一种具体的流表信息,可被记录到指定流的流表信息中。其中,标记信息可以是数字,也可以是字符串,还可以是数字和字符串的组合,对此不做限定。
在本实施例中,上层应用可以预先将指定流中报文的特征信息下发到流标记模块101e中,或者,也可以由相关操作人员将指定流中报文的特征信息配置到流标记模块101e中。这样,流标记模块101e在接收到报文时,可以从报文中提取特征信息,将从报文中提取的特征信息与本地保存的指定流中报文的特征信息进行比对;若两者相同,确定该报文属于指定流,在该报文中添加标记信息,之后将添加标记信息后的报文送入片内存储器101a中进行缓存;若两者不相同,则直接将报文送入片内存储器101a中进行缓存。例如,指定流中报文的源IP地址为IP1、源端口M,则可以判断报文的特征信息中源IP地址是否为IP1且源端口是否为M,若是,则认为该报文是指定流中的报文,为该报文添加指定流对应的标记信息;若否,则认为该报文不是指定流中的报文。
在本实施例中,流分类模块101b可以将片内存储器中缓存的报文映射到至少一条流表信息中,并向流识别模块101c输出至少一条流表信息。其中,流分类模块101b在识别到报文中带有标记信息时,会将该标记信息作为一种具体的流表信息记录到该信息流对应的流表信息中。也就是说,流表信息中包含报文的数量、时间戳以及是否带有流标记模块101e添加的标记信息;对于指定流,其流表信息中包含有标记信息,对于非指定流,其流表信息中不包含标记信息。关于流分类模块101b将片内存储器中缓存的报文映射到至少一条流表信息中的实施方式,可参见前述实施例,在此不再赘述。
在目标流为指定流的情况下,流识别模块101d在接收到流识别模块101c输出的流表信息后,可以判断该流表信息中是否包含标记信息,并将与包含标记信息的流表信息对应的信息流识别为潜在流,并将潜在流对应的流表信息输出至片外存储器102进行累积,以缓存更多、更丰富的流表信息。
在本实施例中,流筛选模块101d可以在设定的触发条件被满足时,读取片外存储器102中已累积的潜在流对应的流表信息,并基于所读取的流表信息,对潜在流做进一步识别,识别出潜在流中的指定流。关于设定的触发条件的相关描述,可参见前述实施例,在此不再赘述。例如,流筛选模块101d可以判断带有标记信息的流表信息中统计出的报文数量是否大于设定的数量阈值;若大于,则确定潜在流属于指定流;若不大于,则确定潜在流并非指定流,而是误判的信息流。
在此说明,在主控芯片101包含流标记模块101e的基础上,主控芯片101不仅可以识别指定流,也可以识别大象流,甚至可以在识别大象流的过程中同时识别指定流。其中,主控芯片101同时识别大象流和指定流的过程可参见下面情况A3。
情况A3:目标流同时包括大象流和指定流。
在本实施例中,进入网络芯片100的信息流首先进入流标记模块101e,由流标记模块101e根据报文的特征信息判断报文是否为指定流中的报文,若是,则在报文中添加标记信息并将添加标记信息后的报文送入片内存储器101a中进行缓存;若否,直接将报文送入片内存储器101a中进行缓存。关于流标记模块101e为报文添加标记信息的详细内容可参见情况A2中的描述,在此不再赘述。
在本实施中,进入网络芯片100的报文,无论是否被流标记模块101e添加标记信息,都会被缓存至片内存储器101a中。在主控芯片101上,流分类模块101b可将片内存储器101a中缓存的报文映射到至少一条流表信息中,并可在满足输出条件的情况下向流识别模块101c输出至少一条流表信息,其中,流表信息包括:报文的数量、时间戳以及是否包含流标记模块101e添加的标记信息。关于流分类模块101b可将片内存储器101a中缓存的报文映射到至少一条流表信息中的实施方式,可参见情况A1的内容,在此不再赘述。
在本实施例中,流识别模块101c根据至少一条流表信息,识别信息流中可能是目标流的潜在流,并将片内存储器中缓存的潜在流对应的流表信息输出至片外存储器进行累积。在本实施例中,在目标流同时包含大象流和指定流的情况下,流识别模块101c识别到的潜在流可能包含潜在大象流和/或潜在指定流。其中,对于流分类模块101b输出的一条流表信息,流识别模块101c可以先识别该流表信息对应的信息流是否为潜在大象流,再识别该信息流是否为潜在的指定流;也可以先识别该流表信息对应的信息流是否为潜在的指定流,再识别该信息流是否为潜在大象流;还可以同时识别该流表信息对应的信息流是否为潜在大象流和潜在的指定流,对此不做限定。
以流识别模块101c先识别该流表信息对应的信息流是否为潜在大象流,再识别该信息流是否为潜在的指定流为例,具体地,每当流识别模块101c接收到流分类模块101b输出的流表信息时,根据接收到的流表信息,计算与接收到的流表信息对应的信息流的带宽,并在带宽大于设定的阈值的情况下,将信息流识别为潜在大象流,并将潜在大象流对应的流表信息输出至片外存储器102进行累积;在带宽小于后等于设定的阈值的情况下,可进一步判断接收到的流表信息中是否包含有标记信息,若包含有标记信息,则将该流表信息对应的信息流对应的信息流识别为潜在的指定流,将潜在指定流对应的流表信息输出至片外存储器102。对于未被识别为潜在流的其它信息流,可将其对应的流表信息从片内存储器101a中删除,以节省片内存储器101a的带宽。
流筛选模块101d在设定的触发条件被满足时,读取片外存储器102中已累积的潜在流对应的流表信息。流筛选模块101d可以根据读取到的流表信息中是否包含标记信息来区分读取到的是潜在大象流对应的流表信息还是潜在的指定流对应的流表信息;对于潜在的指定流,流筛选模块101d可以根据从片外存储器102中读取到的包含有标记信息的流表信息,进一步判断该信息流是否为指定流;对于潜在大象流,流筛选模块101d可以根据从片外存储器102中读取到的未包含有标记信息的流表信息,进一步判断该信息流是否为大象流。关于进一步识别出大象流和指定流的实施方式,可参见情况A1和A2中的描述,在此不再赘述。
在一可选实施例中,如图1b所示,主控芯片101上还设有处理器101f,流筛选模块201d在识别出目标流的情况下,可以将目标流的标识信息上报给处理器。其中,标识信息是指可以唯一标识一条信息流的信息,例如可以是信息流的源IP地址、目的IP地址或者端口号等,对此不做限定。
在本实施例中,处理器101f接收到目标流的标识信息之后,可基于该标识信息进行多种操作。在一可选实施例中,处理器10f可根据目标流的标识信息对目标流进行流量控制。例如,若目标流为大象流,处理器检测到自身使用率超过设定的阈值,例如是否超过90%,若处理器101f的使用率超过设定的阈值,则为了保证处理器101f的稳定性,处理器101f可以对大象流进行限流处理。在又一可选实施例中,无论大象流还是老鼠流都会占用一条流表信息,该流表信息是信息流转发的依据,在流表信息的表项中整合了网络中各个层次的网络配置信息,从而在进行数据转发时可以使用更丰富的规则。通常情况下,流表信息存储在片外存储器102中,当有信息流到来时,处理器访问片外存储器102,读取信息流的流表信息,从而进行相应的操作,但是,对于大象流来说,处理器101f需要频繁的访问片外存储器102以读取流表信息,片外存储器102访问带宽较低,效率低下。基于此,处理器101f可根据目标流的标识信息,将目标流的流表信息从片外存储器102中加载至片内存储器101a,片内存储器101a的访问带宽高于片外存储器102,因此,可以提供处理器101f的效率。在又一可选实施例中,处理器101f接收到目标流的标识信息之后,可基于目标流的标识信息,对目标流进行精确统计,例如,统计目标流的带宽等,或者还可以对目标流进行拦截、风险控制或者做特殊处理等。
在本申请一些实施例中,网络芯片100可以实现为网卡,可应用在任何网络系统中的交换机、路由器或者服务器上,以实现信息流收发、识别等处理,下面介绍在数据中心系统以及云计算系统中基于网卡的信息流识别过程。
图2为本申请示例性实施例提供一种数据中心系统的结构示意图,如图2所示,该数据中心系统200包括:多台服务器201和多台网络交换设备202。其中,服务器201主要负责执行各种计算任务,可认为是端侧设备,服务器201仅是端侧设备的一种示例,并不限于此;网络交换设备202主要作用是实现服务器201之间的互联,可认为是网络侧设备。多台服务器201之间通过多台网络交换设备202进行互联,服务器201之间的网络数据(例如各种报文)可经过网络交换设备202进行转发。
如图2所示,一台服务器201可以直接与一台、两台或两台以上的网络交换设备202通信连接,也可以直接与其他服务器201通信连接,并将其他服务器201作为中继,间接与一台、两台或两台以上的网络交换设备202通信连接。这里的通信连接可以是有线连接,也可以是无线连接。
需要说明的是,在数据中心系统中,除了包括服务器201和网络交换设备202之外,还包括一些光电线路,用于实现服务器201与网络交换设备202之间的互联。在本实施例中,并不限定服务器201和网络交换设备202的数量,可由数据中心系统的规模决定。例如,在一些规模较大的数据中心系统中,单个集群可能包含上千台网络交换设备,上万台服务器,以及上十万台光电线路。
在本实施例中,并不限定网络交换设备202的实现形态,可以是任何具有设备互联和数据交换、转发等功能的设备,例如可以包括路由器、交换机或集线器等。例如,在图2所示的数据中心系统中,网络交换设备202包括交换机和路由器,但并不限于此。
在本实施例中,如图2所示,服务器F1上安装有应用程序,该应用程序可以产生数据,应用程序产生的数据经各层处理之后可到达服务器F1上的网卡W1,该网络芯片将该数据封装成报文,经其与交换机F2之间的光电链路将该报文发送给交换机F2;交换机F2也具有网卡W2,该网卡W2接收报文后识别出需要转发至服务器F4,则可将该数据包经由路由器F3及其上网卡W3转发至服务器F4;服务器F4上的网卡W4接收到报文之后,将报文提供给服务器F4的处理器,由处理器从软件层面对该报文做进一步处理。
在本实施例中,为了实现负载均衡、拥塞控制、网络异常检测等功能,服务器在传输信息流时,需要对大象流进行识别,识别出大象流后,可以对大象流进行流量控制或者将大象流的流表信息由片外存储器加载到片内存储器,以提高数据中心系统的效率。其中,服务器201和网络交换设备202上均包含网络芯片,关于网络芯片的内部结构可参见前述实施例,在此不再赘述,下面详细介绍,服务器F4上的网卡W4为例,对识别大象流的过程进行详细描述。
网卡W4接收网络链路上的报文之后,将报文暂时缓存在片内存储器中,每当有新报文缓存至片内存储器时,网卡W4中的流分类模块利用散列函数对新报文的特征信息进行散列处理,得到新报文的散列结果V;若散列表中存在与散列结果V对应的目标表项,则新报文映射到目标表项中,并将目标表项中流表信息中的报文的个数加1,并记录报文的时间戳;若散列表中不存在与散列结果V对应的目标表项,则从散列表中获取一个空闲表项,将新报文映射到空闲表项,并将空闲表项中报文的个数加1,并记录报文的时间戳;若散列表中不存在空闲表项,则将散列表中报文数量最多的表项中记录的报文数量和报文时间戳输出给网卡W4中的流识别模块,以得到空白表项。其中,表项中记录的报文数量和报文时间戳属于信息流对应的流表信息,可以是全部的流表信息,也可以是一部分,对此不做限定。
流识别模块每当接收到流分类模块输出的报文数量和报文时间戳时,根据接收到的报文数量和报文时间戳差值的比值计算相应信息流的带宽,并在带宽大于设定大象流阈值的情况下,将信息流识别为潜在大象流,并将片内存储器中缓存的潜在信息流对应的报文数量和时间戳等流表信息输出至片外存储器进行累积。
随着时间的推移,片外存储器中的潜在流对应的流表信息越来越多,流筛选模块可以每隔一段时间,读取片外存储器中存储的潜在大象流对应的流表信息,计算潜在流的带宽,若潜在流的带宽超过设定大象流的带宽阈值,则认为该潜在流为大象流。
流筛选模块识别出大象流之后,可以将该大象流的标识信息提供给处理器,处理器可以基于该标识信息,将标识信息对应的大象流的流表信息从片外存储器加载至片内存储器,并监测处理器的使用率,在处理器的使用率超过90%的情况下,对大象流进行限流处理,以防止网络拥堵。
图3为本申请示例性实施例提供的一种云计算系统的结构示意图,如图3所示,该云计算系统300包括:中心管控设备301、至少一个边缘云节点302以及终端303。每个边缘云节点302包括一系列的边缘基础设施,这些边缘基础设施包括但不限于:分布式数据中心(DC)、无线机房或集群,运营商的通信网络、核心网设备、基站、边缘网关、家庭网关、计算设备和/或存储设备等边缘设备及对应的网络环境等等。在此说明,不同边缘云节点302的位置、能力以及包含的基础设施可以相同,也可以不相同。对边缘云节点302来说,其可以对外提供各种资源,例如CPU、GPU等计算资源,内存、硬盘等存储资源,带宽等网络资源等。
在本实施例中,云计算系统为例实现负载均衡流量控制等,可能会存在虚机、云计算服务或者数据的迁移,整个过程中,会产生大象流,而研究发现在网络交换机出口端的队列中老鼠流经常在大象流后面,从而造成长时间的队列延迟,为了优化或保证性能,改善延迟,对大象流的识别是十分重要的。
另外,云上租户可以通过中心管控设备301提供的人机交互界面,向中心管控设备301提交部署云计算服务的请求,云计算服务可以是短视频服务、在线教育服务、在线直播服务或者游戏服务等,中心管控设备301为云上租户选择合适的边缘云节点302,在边缘云节点302上为云上租户部署云计算服务,终端303可以就近使用边缘云节点302上部署的云计算服务。在图3中,以云上租户是在线教育服务商为例,在边缘云节点302上部署语文、数学、英语等多个科目的在线教育服务为例,在线教育服务商希望重点关注英语科目的流量带宽。
具体地,云上租户希望获取英语科目的流量带宽,云上租户可以向中心管控设备301发送获取英语科目流量带宽的请求,中心管控设备301根据英语科目在边缘云节点302上的部署情况,将英语科目的信息流的特征信息下发给边缘云节点302中部署有英语科目在线教育服务的服务器,该服务器包含网络芯片,英语科目的信息流的特征信息具体被下发至该网络芯片中。英语科目在线教育服务根据终端用户的请求,经该网络芯片向终端用户提供英语科目的教学内容,具体地,网络芯片接收英语科目在线教育服务提供的报文,基于英语科目对应信息流的特征信息,识别出该报文是否属于英语科目对应的信息流,若是,则在报文中添加标记信息Y,如图4所示。其中,该标记信息Y可唯一标记英语科目对应的信息流。具体地,流标记模块在接收到报文时,可以从报文中提取特征信息,将从报文中提取的特征信息与本地保存的指定流中报文的特征信息进行比对;若两者相同,确定该报文属于指定流,在该报文中添加标记信息,之后将添加标记信息后的报文送入片内存储器中进行缓存;若两者不相同,则直接将报文送入片内存储器中进行缓存。
如图4所示,每当有新报文缓存至片内存储器时,流分类模块利用散列函数对新报文的特征信息进行散列处理,得到新报文的散列结果X;判断散列表是否存在与散列结果X对应的目标表项,若散列表中存在与散列结果X对应的目标表项,则将新报文映射到目标表项中,并将目标表项中流表信息中的报文的数量加1;若散列表中不存在与散列结果X对应的目标表项,则判断散列表中是否存在空余表项,若散列表中存在空余表项,则从散列表中获取一个空闲表项,将新报文映射到空闲表项,并在空闲表项中插入流表信息,并将报文的数量置1;若散列表中不存在空闲表项,则将散列表中报文数量最多的表项中记录的流表信息输出给流识别模块,以得到空白表项,其中,流表信息包括:报文的数量、报文的时间戳和报文是否带有标记信息,其中,英语科目对应信息流的流表信息中包括标记信息Y,非英语科目对应信息流的流表信息中不包括标记信息Y。
如图4所示,流识别模块每当接收到流分类模块输出的流表信息时,根据接收到的流表信息中的报文数量和报文时间戳差值的比值计算相应信息流的带宽,并判断计算得到的带宽是否大于设定大象流带宽阈值,若带宽大于设定大象流带宽阈值,则将信息流识别为潜在大象流,并将片内存储器中缓存的潜在大象流对应的流表信息输出至片外存储器进行累积;若带宽小于或等于设定大象流带宽阈值,则进一步,判断该流表信息中是否包含标记信息,若包含标记信息,则认为该流表信息对应的信息流为英语科目的指定流,若流表信息中不包含标记信息,则将片内存储器中,该流表信息对应的流表信息删除。
随着时间的推移,片外存储器中的潜在流对应的流表信息越来越多,流筛选模块可以每隔一段时间,读取片外存储器中存储的潜在流对应的流表信息,并从中识别出真正的大象流和指定流。流筛选模块识别出真正的大象流和指定流之后,可以将该大象流和指定流的标识信息提供给处理器。一方面,处理器可以基于接收到的标识信息,将标识信息对应的大象流的流表信息从片外存储器加载至片内存储器,并监测处理器的使用率,在处理器的使用率超过90%的情况下,对大象流进行限流处理,以防止网络拥塞。另一方面,处理器还可以对指定的英语科目流量带宽进行精确统计;进一步,处理器将英语科目的流量带宽,经由边缘云节点与中心管控设备之间的网络连接,提供给中心管控设备,中心管控设备对多个边缘云节点的流量带宽进行汇总,将汇总结果返回给在线教育服务商。
在本实施例中,除了提供一种网络芯片之外,还提供一种信息流识别方法,该方法适用于网络芯片中的主控芯片,如图5所示,该方法包括:
S501、将进入网络芯片的报文缓存至网络芯片的片内存储器中,并将片内存储器中的报文映射到至少一条流表信息中,一条流表信息对应一条信息流;
S502、根据至少一条流表信息,识别信息流中可能是目标流的潜在流;
S503、将潜在流对应的流表信息输出至网络芯片的片外存储器中进行累积;
S504、在设定的触发条件被满足时,读取片外存储器中已累积的潜在流对应的流表信息,并根据所读取的流表信息,识别出潜在流中的目标流。
在一可选实施例中,本实施例提供的方法还包括:在识别出目标流的情况下,根据目标流的标识信息,对目标流进行精确统计,或者,对目标流进行流量控制,或者,将目标流的流表信息从片外存储器中加载至片内存储器。
在一可选实施例中,将片内存储器中的报文映射到至少一条流表信息中,包括:利用散列函数将片内存储器中的报文映射到片内存储器中的一张散列表中,散列表中的一个表项对应一条信息流,且该表项中记录有对应的流表信息。
在一可选实施例中,利用散列函数将片内存储器中的报文映射到片内存储器中的一张散列表中,包括:每当片内存储器缓存新报文时,利用散列函数对新报文的特征信息进行散列处理,得到新报文的散列结果;若散列表中存在与散列结果对应的目标表项,则将新报文映射到目标表项,并更新目标表项中的流表信息;若散列表中不存在与散列结果对应的目标表项,则从散列表中获取一个空闲表项,将新报文映射到空闲表项,并在空闲表项中记录新报文所属信息流的流表信息。
在一可选实施例中,本实施例提供的方法还包括:若散列表中不存在空闲表项,则获取散列表中符合输出条件的表项中的流表信息,并在输出该表项信息后删除该流表信息,以得到空白表项。
在一可选实施例中,获取散列表中符合输出条件的表项中的流表信息,包括:获取散列表中报文数量最多的表项中的流表信息。
在一可选实施例中,根据至少一条流表信息,识别信息流中可能是目标流的潜在流,包括:根据获取到的流表信息,计算与获取到的流表信息对应的信息流的带宽,并在带宽大于设定的阈值的情况下,将信息流识别为潜在流。
在一可选实施例中,在将进入网络芯片的报文缓存至片内存储器之前,根据报文的特征信息判断报文是否为指定流中的报文,若是,则在报文中添加标记信息;相应地,根据至少一条流表信息,识别信息流中可能是目标流的潜在流,包括:判断至少一条流表信息中是否包含标记信息,并将与包含标记信息的流表信息对应的信息流识别为潜在流。
在本申请实施例中,利用片内存储器与片外存储器结合的方式对信息流进行识别,首先,进入网络芯片的报文被缓存至片内存储器,在片内将缓存的报文映射到至少一条流表信息中,识别信息流中可能是目标流的潜在流,之后将潜在流对应的流表信息缓存至片外存储器进行累积,直至设定的触发条件被满足时,读取缓存于片外存储器中的潜在流对应的流表信息并据此准确识别潜在流中的目标流。其中,首先借助片内存储器访问带宽较大的优势进行潜在流的识别,可提高识别潜在流的速度,其次,借助片外存储器存储空间较大的优势仅针对潜在流的流表信息进行累积进而对潜在流做进一步识别,而不是对全部信息流都借助于片外存储器做进一步识别,可减少访问片外存储器的次数,有利于提高识别目标流的效率和准确率。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤S501至步骤S503的执行主体可以为设备A;又比如,步骤S501和S502的执行主体可以为设备A,步骤S503的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如S501、S502等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图6为本申请示例性实施例提供的一种网络设备的结构示意图。如图6所示,该网络设备包括:网络芯片601、存储器602以及第一处理器603;其中,网络芯片601包括:主控芯片601a和片外存储器601b,主控芯片601a包括:片内存储器6001、流分类模块6002、流识别模块6003以及流筛选模块6004。进一步可选地,如图6所示,主控芯片601a还包括:第二处理器6005和流标记模块6006。其中,第一处理器603是指网络设备的处理器,可视为设备处理器;第二处理器6005是指网络芯片601中主控芯片601a上的处理器,可视为片上存储器。
存储器602,用于存储计算机程序,并可被配置为存储其它各种数据以支持在网络设备上的操作。这些数据的示例包括用于在网络设备上操作的任何应用程序或方法的指令。
存储器602可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
第一处理器603,与存储器602耦合,用于执行存储器602中的计算机程序,以用于:向网络芯片601发送报文和/或接收网络芯片601上报的目标流的信息。片内存储器6001,用于缓存进入网络芯片的报文;流分类模块6002,用于将片内存储器中的报文映射到至少一条流表信息中,并向流识别模块提供至少一条流表信息;流识别模块6003,用于根据至少一条流表信息,识别信息流中可能是目标流的潜在流,并将片内存储器中缓存的潜在流对应的流表信息输出至片外存储器进行累积;流筛选模块6004,用于在设定的触发条件被满足时,读取片外存储器中已累积的潜在流对应的流表信息,并基于所读取的流表信息,识别出潜在流中的目标流。
在一可选实施例中,流筛选模块6004还用于:在识别出目标流的情况下,将目标流的标识信息上报给第二处理器6005;第二处理器6005用于:根据目标流的标识信息,对目标流进行精确统计,或者,对目标流进行流量控制,或者,将目标流的流表信息从片外存储器中加载至片内存储器。
在一可选实施例中,流分类模块6002在将片内存储器中的报文映射到至少一条流表信息中时,具体用于:利用散列函数将片内存储器中缓存的报文映射到片内存储器中的一张散列表中,散列表中的一个表项对应一条信息流,且该表项中记录有对应信息流的流表信息。
在一可选实施例中,流分类模块6002在利用散列函数将片内存储器中的报文映射到片内存储器中的一张散列表中时,具体用于:每当片内存储器缓存新报文时,利用散列函数对新报文的特征信息进行散列处理,得到新报文的散列结果;若散列表中存在与散列结果对应的目标表项,则将新报文映射到目标表项,并更新目标表项中的流表信息;若散列表中不存在与散列结果对应的目标表项,则从散列表中获取一个空闲表项,将新报文映射到空闲表项,并在空闲表项中记录新报文所属信息流的流表信息。
在一可选实施例中,流分类模块6002在向流识别模块输出至少一条流表信息时,具体用于:若散列表中不存在空闲表项,则将散列表中符合输出条件的表项中的流表信息输出至流识别模块6003,以得到空白表项。
在一可选实施例中,流分类模块6002在将散列表中符合输出条件的表项中的流表信息输出至流识别模块时,具体用于:将散列表中对应报文数量最多的表项中的流表信息输出给流识别模块。
在一可选实施例中,流识别模块6003在根据至少一条流表信息,识别信息流中可能是目标流的潜在流时,具体用于:每当接收到流分类模块输出的流表信息时,根据接收到的流表信息,计算与接收到的流表信息对应的信息流的带宽,并在带宽大于设定的阈值的情况下,将信息流识别为潜在流。
在一可选实施例中,流标记模块6006,用于在将进入网络芯片的报文缓存至片内存储器之前,根据报文的特征信息判断报文是否为指定流中的报文,若是,则在报文中添加标记信息,该标记信息是流表信息中的一种信息;流识别模块6003在根据至少一条流表信息,识别信息流中可能是目标流的潜在流时,具体用于:判断至少一条流表信息中是否包含标记信息,并将流表信息中包含标记信息的信息流识别为潜在流。
在一可选实施例中,网络芯片601为网卡。
本申请实施例提供的网络设备,利用片内存储器与片外存储器结合的方式对信息流进行识别,首先,进入网络芯片的报文被缓存至片内存储器,在片内将报文映射到至少一条流表信息中,并据此识别信息流中可能是目标流的潜在流,之后将潜在流对应的流表信息缓存至片外存储器进行累积,直至设定的触发条件被满足时,读取片外存储器中已累积的潜在流的流表信息并据此准确识别潜在流中的目标流。其中,首先借助片内存储器访问带宽较大的优势进行潜在流的识别,可提高识别潜在流的速度,其次,借助片外存储器存储空间较大的优势仅针对潜在流做进一步识别,而不是对全部信息流都借助于片外存储器做进一步识别,可减少访问片外存储器的次数,有利于提高识别目标流的效率和准确率。
进一步,如图6所示,该网络设备还包括:通信组件606、显示器607、电源组件608、音频组件609等其它组件。图6中仅示意性给出部分组件,并不意味着网络设备只包括图6所示组件。需要说明的是,图6中虚线框内的组件为可选组件,而非必选组件,具体可视网络设备的产品形态而定。
上述图6中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
上述图6中的显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
上述图6中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述图6中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (11)
1.一种网络芯片,其特征在于,包括:主控芯片和片外存储器,所述主控芯片包括:片内存储器、流分类模块、流识别模块以及流筛选模块;
所述片内存储器,用于缓存进入所述网络芯片的报文;
所述流分类模块,用于将所述片内存储器中的报文映射到至少一条流表信息中,一条流表信息对应一条信息流;
所述流识别模块,用于根据所述至少一条流表信息,识别所述信息流中可能是目标流的潜在流,并将所述潜在流对应的流表信息输出至所述片外存储器进行累积;
所述流筛选模块,用于在设定的触发条件被满足时,读取所述片外存储器中已累积的所述潜在流对应的流表信息,并基于所读取的流表信息,识别出所述潜在流中的目标流。
2.根据权利要求1所述的网络芯片,其特征在于,所述主控芯片上还设有处理器;
所述流筛选模块还用于:在识别出所述目标流的情况下,将所述目标流的标识信息上报给所述处理器;
所述处理器用于:根据所述目标流的标识信息,对所述目标流进行精确统计,或者,对所述目标流进行流量控制,或者,将所述目标流的流表信息从所述片外存储器中加载至所述片内存储器。
3.根据权利要求1所述的网络芯片,其特征在于,所述流分类模块具体用于:
利用散列函数将所述片内存储器中的报文映射到所述片内存储器中的一张散列表中,所述散列表中的一个表项记录有对应信息流的流表信息。
4.根据权利要求3所述的网络芯片,其特征在于,所述流分类模块具体用于:
每当所述片内存储器缓存新报文时,利用散列函数对所述新报文的特征信息进行散列处理,得到所述新报文的散列结果;
若所述散列表中存在与所述散列结果对应的目标表项,则将所述新报文映射到所述目标表项,并更新所述目标表项中的流表信息;
若所述散列表中不存在与所述散列结果对应的目标表项,则从所述散列表中获取一个空闲表项,将所述新报文映射到所述空闲表项,并在所述空闲表项中记录所述新报文所属信息流的流表信息。
5.根据权利要求4所述的网络芯片,其特征在于,所述流分类模块具体用于:
若所述散列表中不存在空闲表项,则将所述散列表中符合输出条件的表项中的流表信息输出至所述流识别模块,以得到空白表项。
6.根据权利要求5所述的网络芯片,其特征在于,所述流分类模块具体用于:
将所述散列表中对应报文数量最多的表项中的流表信息输出给所述流识别模块。
7.根据权利要求5所述的网络芯片,其特征在于,所述流识别模块具体用于:
每当接收到所述流分类模块输出的流表信息时,根据接收到的流表信息,计算与接收到的流表信息对应的信息流的带宽,并在所述带宽大于设定的阈值的情况下,将所述信息流识别为潜在流。
8.根据权利要求1-7任一项所述的网络芯片,其特征在于,所述主控芯片上还设有流标记模块;
所述流标记模块,用于在将进入所述网络芯片的报文缓存至所述片内存储器之前,根据所述报文的特征信息判断所述报文是否为指定流中的报文,若是,则在所述报文中添加标记信息,所述标记信息是流表信息中的一种信息;
所述流识别模块具体用于:判断所述至少一条流表信息中是否包含标记信息,并将与包含标记信息的流表信息对应的信息流识别为潜在流。
9.根据权利要求1-7任一项所述的网络芯片,其特征在于,所述网络芯片为网卡。
10.一种信息流识别方法,适用于网络芯片中的主控芯片,其特征在于,所述方法包括:
将进入所述网络芯片的报文缓存至所述网络芯片的片内存储器中,并将所述片内存储器中的报文映射到至少一条流表信息中,一条流表信息对应一条信息流;
根据所述至少一条流表信息,识别所述信息流中可能是目标流的潜在流;
将所述潜在流对应的流表信息输出至所述网络芯片的片外存储器中进行累积;以及
在设定的触发条件被满足时,读取所述片外存储器中已累积的所述潜在流对应的流表信息,并根据所读取的流表信息,识别出所述潜在流中的目标流。
11.一种网络设备,其特征在于,包括:存储器、处理器以及网络芯片;
所述存储器,用于存储计算机程序;所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:向所述网络芯片发送报文和/或接收所述网络芯片上报的目标流的标识信息;
所述网络芯片包括:主控芯片和片外存储器,所述主控芯片包括:片内存储器、流分类模块、流识别模块以及流筛选模块;
所述片内存储器,用于缓存进入所述网络芯片的报文;
所述流分类模块,用于将所述片内存储器中的报文映射到至少一条流表信息中,一条流表信息对应一条信息流;
所述流识别模块,用于根据所述至少一条流表信息,识别所述信息流中可能是目标流的潜在流,并将所述潜在流对应的流表信息输出至所述片外存储器进行累积;
所述流筛选模块,用于在设定的触发条件被满足时,读取所述片外存储器中已累积的所述潜在流对应的流表信息,并基于所读取的流表信息,识别出所述潜在流中的目标流。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110062885.8A CN114866488B (zh) | 2021-01-18 | 2021-01-18 | 信息流识别方法、网络芯片及网络设备 |
EP22739106.7A EP4280561A4 (en) | 2021-01-18 | 2022-01-14 | INFORMATION FLOW IDENTIFICATION METHOD, NETWORK CHIP AND NETWORK DEVICE |
PCT/CN2022/071915 WO2022152230A1 (zh) | 2021-01-18 | 2022-01-14 | 信息流识别方法、网络芯片及网络设备 |
US18/352,830 US20240022507A1 (en) | 2021-01-18 | 2023-07-14 | Information flow recognition method, network chip, and network device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110062885.8A CN114866488B (zh) | 2021-01-18 | 2021-01-18 | 信息流识别方法、网络芯片及网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114866488A true CN114866488A (zh) | 2022-08-05 |
CN114866488B CN114866488B (zh) | 2024-08-06 |
Family
ID=82447974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110062885.8A Active CN114866488B (zh) | 2021-01-18 | 2021-01-18 | 信息流识别方法、网络芯片及网络设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240022507A1 (zh) |
EP (1) | EP4280561A4 (zh) |
CN (1) | CN114866488B (zh) |
WO (1) | WO2022152230A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115396373A (zh) * | 2022-10-27 | 2022-11-25 | 阿里云计算有限公司 | 基于云服务器的信息处理方法、系统及电子设备 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1426666A (zh) * | 2000-04-28 | 2003-06-25 | 转换中心股份公司 | 用于管理交换机内分组队列的方法与装置 |
JP2005020214A (ja) * | 2003-06-25 | 2005-01-20 | Hitachi Ltd | ネットワークQoS計測システム、およびネットワーク計測装置 |
US20050044252A1 (en) * | 2002-12-19 | 2005-02-24 | Floyd Geoffrey E. | Packet classifier |
CN1674558A (zh) * | 2004-03-25 | 2005-09-28 | 株式会社日立制作所 | 信息中继装置和数据流统计信息收集方法 |
US20140237118A1 (en) * | 2013-02-19 | 2014-08-21 | Broadcom Corporation | Application Aware Elephant Flow Management |
US20140233421A1 (en) * | 2013-02-19 | 2014-08-21 | Broadcom Corporation | Application Aware Elephant Flow Identification |
US20150124825A1 (en) * | 2013-11-05 | 2015-05-07 | Cisco Technology, Inc. | System and method for identification of large-data flows |
US20160105343A1 (en) * | 2014-10-09 | 2016-04-14 | Dell Products L.P. | System and method for detection of elephant flows |
CN106100997A (zh) * | 2016-06-03 | 2016-11-09 | 杭州华三通信技术有限公司 | 一种网络流量信息处理方法及装置 |
CN106453129A (zh) * | 2016-09-30 | 2017-02-22 | 杭州电子科技大学 | 一种大象流两级识别系统及方法 |
CN106453130A (zh) * | 2016-09-30 | 2017-02-22 | 杭州电子科技大学 | 一种基于大象流精确识别的流量调度系统及方法 |
CN109873768A (zh) * | 2017-12-01 | 2019-06-11 | 华为技术有限公司 | 更新转发表的方法、硬件加速器、ovs和服务器 |
CN110035019A (zh) * | 2019-03-28 | 2019-07-19 | 盛科网络(苏州)有限公司 | 一种提高时延敏感流量转发性能的方法及装置 |
CN111970211A (zh) * | 2020-08-13 | 2020-11-20 | 苏州盛科科技有限公司 | 一种基于ipfix的大象流处理方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10193771B2 (en) * | 2013-12-09 | 2019-01-29 | Nicira, Inc. | Detecting and handling elephant flows |
US10419370B2 (en) * | 2015-07-04 | 2019-09-17 | Avago Technologies International Sales Pte. Limited | Hierarchical packet buffer system |
CN109240965B (zh) * | 2018-08-01 | 2021-02-12 | 清华大学 | Fpga逻辑捕获处理显示套件及其使用方法 |
CN110808910B (zh) * | 2019-10-29 | 2021-09-21 | 长沙理工大学 | 一种支持QoS的OpenFlow流表节能存储架构及其方法 |
-
2021
- 2021-01-18 CN CN202110062885.8A patent/CN114866488B/zh active Active
-
2022
- 2022-01-14 EP EP22739106.7A patent/EP4280561A4/en active Pending
- 2022-01-14 WO PCT/CN2022/071915 patent/WO2022152230A1/zh active Application Filing
-
2023
- 2023-07-14 US US18/352,830 patent/US20240022507A1/en active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1426666A (zh) * | 2000-04-28 | 2003-06-25 | 转换中心股份公司 | 用于管理交换机内分组队列的方法与装置 |
US20050044252A1 (en) * | 2002-12-19 | 2005-02-24 | Floyd Geoffrey E. | Packet classifier |
JP2005020214A (ja) * | 2003-06-25 | 2005-01-20 | Hitachi Ltd | ネットワークQoS計測システム、およびネットワーク計測装置 |
CN1674558A (zh) * | 2004-03-25 | 2005-09-28 | 株式会社日立制作所 | 信息中继装置和数据流统计信息收集方法 |
US20050213504A1 (en) * | 2004-03-25 | 2005-09-29 | Hiroshi Enomoto | Information relay apparatus and method for collecting flow statistic information |
US20140233421A1 (en) * | 2013-02-19 | 2014-08-21 | Broadcom Corporation | Application Aware Elephant Flow Identification |
US20140237118A1 (en) * | 2013-02-19 | 2014-08-21 | Broadcom Corporation | Application Aware Elephant Flow Management |
US20150124825A1 (en) * | 2013-11-05 | 2015-05-07 | Cisco Technology, Inc. | System and method for identification of large-data flows |
US20160105343A1 (en) * | 2014-10-09 | 2016-04-14 | Dell Products L.P. | System and method for detection of elephant flows |
CN106100997A (zh) * | 2016-06-03 | 2016-11-09 | 杭州华三通信技术有限公司 | 一种网络流量信息处理方法及装置 |
CN106453129A (zh) * | 2016-09-30 | 2017-02-22 | 杭州电子科技大学 | 一种大象流两级识别系统及方法 |
CN106453130A (zh) * | 2016-09-30 | 2017-02-22 | 杭州电子科技大学 | 一种基于大象流精确识别的流量调度系统及方法 |
CN109873768A (zh) * | 2017-12-01 | 2019-06-11 | 华为技术有限公司 | 更新转发表的方法、硬件加速器、ovs和服务器 |
CN110035019A (zh) * | 2019-03-28 | 2019-07-19 | 盛科网络(苏州)有限公司 | 一种提高时延敏感流量转发性能的方法及装置 |
CN111970211A (zh) * | 2020-08-13 | 2020-11-20 | 苏州盛科科技有限公司 | 一种基于ipfix的大象流处理方法及装置 |
Non-Patent Citations (4)
Title |
---|
TIAN PAN等: "Tracking millions of flows in high speed networks for application identification", 2012 PROCEEDINGS IEEE INFOCOM, 10 May 2012 (2012-05-10) * |
严军荣;叶景畅;潘鹏;: "一种大象流两级识别方法", 电信科学, no. 03, 20 March 2017 (2017-03-20) * |
王宏;龚正虎;: "Hits和Holds:识别大象流的两种算法", 软件学报, no. 06, 15 June 2010 (2010-06-15) * |
郭潇宇;潘恬;张晨晖;刘斌;: "基于两级存储流跟踪管理器的业务识别系统", 计算机工程与设计, no. 11, 16 November 2013 (2013-11-16) * |
Also Published As
Publication number | Publication date |
---|---|
CN114866488B (zh) | 2024-08-06 |
EP4280561A1 (en) | 2023-11-22 |
US20240022507A1 (en) | 2024-01-18 |
WO2022152230A1 (zh) | 2022-07-21 |
EP4280561A4 (en) | 2024-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9332546B2 (en) | Radio resource optimizing method, apparatus, and system | |
CN108900374B (zh) | 一种应用于dpi设备的数据处理方法和装置 | |
CN105684382A (zh) | 报文的控制方法、交换机及控制器 | |
CN113328902B (zh) | 网络性能检测方法、装置及网络设备 | |
CN112039796B (zh) | 数据包传输方法和装置、存储介质和电子设备 | |
CN111130946B (zh) | 一种深度报文识别的加速方法、装置和存储介质 | |
EP3979577B1 (en) | Queue congestion control method, device and storage medium | |
CN113115120B (zh) | 视频切片方法、装置、电子设备及存储介质 | |
CN108574627B (zh) | 一种sdn网络多控制域协同管理方法和系统 | |
CN111726414A (zh) | 一种车辆上报数据的处理方法和车辆数据上报系统 | |
WO2016169121A1 (zh) | 一种链路分析的方法、设备及系统 | |
US20240022507A1 (en) | Information flow recognition method, network chip, and network device | |
CN110677327A (zh) | 一种基于芯片的rtp流量故障实时检测方法 | |
CN117793583A (zh) | 报文转发方法、装置、电子设备及计算机可读存储介质 | |
CN112688924A (zh) | 网络协议分析系统 | |
WO2023134574A1 (zh) | 流统计方法、装置及系统 | |
CN115277504B (zh) | 一种网络流量监控方法、装置和系统 | |
CN115002808B (zh) | 一种信息转发方法、装置、设备及存储介质 | |
CN114095383B (zh) | 网络流量采样方法、系统和电子设备 | |
CN112954667B (zh) | 热点移动终端的检测方法、装置、计算机设备和存储介质 | |
CN116192761A (zh) | 报文转发方法、转发层设备、系统、电子设备及存储介质 | |
CN111988271B (zh) | 一种通信流处理方法及装置 | |
WO2017193814A1 (zh) | 一种业务链生成方法及系统 | |
CN115988574B (zh) | 基于流表的数据处理方法、系统、设备和存储介质 | |
CN114785396B (zh) | 逻辑端口配置、查找映射及流量管理方法、系统及终端 |
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 |