CN111404964B - 对ip数据报进行汇聚分流的方法、装置、设备及介质 - Google Patents
对ip数据报进行汇聚分流的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN111404964B CN111404964B CN202010234954.4A CN202010234954A CN111404964B CN 111404964 B CN111404964 B CN 111404964B CN 202010234954 A CN202010234954 A CN 202010234954A CN 111404964 B CN111404964 B CN 111404964B
- Authority
- CN
- China
- Prior art keywords
- gtp
- message
- data packet
- protocol
- convergence
- 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
Images
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/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
-
- 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)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开实施例公开了一种对IP数据报进行汇聚分流的方法、装置、设备及介质,方法包括:接收GTP‑U报文;获取协议栈中预置的与所述GTP‑U报文相对应的解包协议,采用所述解包协议对所述GTP‑U报文进行解析得到数据包;获取预置的数据包分流规则,根据所述分流规则对所述数据包进行汇聚分流。本公开实施例的技术方案能解决对GTP‑U报文进行过滤和分流,能够使芯片根据定制需求正确地解析GTP‑U数据报,从而实现对GTP‑U报文内层IP过滤功能使其满足现网需求。
Description
技术领域
本公开实施例涉及计算机网络技术领域,具体涉及一种对IP数据报进行汇聚分流的方法、装置、设备及介质。
背景技术
汇聚分流器把从网络接收到的数据报,进行复制、汇聚、过滤、通过协议转换把POS数据转换成万兆的LAN数据,按照特定的算法进行负载均衡输出,输出的同时保证同一个会话的所有数据包,或者同一IP用户的所有数据包从同一个接口输出。基于网络安全要求需要针对性地把不同的数据报放置到不同的数据分析器中进行数据分析,汇聚分流器是担任工作的首要之选,把接收的报文根据事先下好的匹配规则相对应,根据不同的规则过滤数据报并把数据转发到指定的端口送至不同的数据分析器中。
当前汇聚分流器受限于芯片只能解析芯片中已存在的协议,基于现网汇聚分流需求,当汇聚分流器接收到GTP-U报文且需要根据内层IP协议进行规则过滤转发到指定口或丢弃等动作,因为GTP-U协议类型不是芯片已存在的协议,所以无法正确解析GTP-U协议报文,故此不能根据GTP-U的内层IP数据来是实现过滤分流。
发明内容
有鉴于此,本公开实施例提供一种对IP数据报进行汇聚分流的方法、装置、设备及介质,以解决对GTP-U报文进行过滤和分流。
本公开实施例的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开实施例的实践而习得。
第一方面,本公开实施例提供了一种对IP数据报进行汇聚分流的方法,由汇聚分流器执行,所述方法包括:
接收GTP-U报文;
获取协议栈中预置的与所述GTP-U报文相对应的解包协议,采用所述解包协议对所述GTP-U报文进行解析得到数据包;
获取预置的数据包分流规则,根据所述分流规则对所述数据包进行汇聚分流。
于一实施例中,所述分流规则包括P4语言编写的P4表项和P4动作。
于一实施例中,所述汇聚分流器为基于barefoot的tofino芯片的汇聚分流器。
于一实施例中:
获取协议栈中预置的与所述GTP-U报文相对应的解包协议,采用所述解包协议对所述GTP-U报文进行解析得到数据包包括:
通过所述汇聚分流器的入口解码模块IngressParser获取协议栈中预置的与所述GTP-U报文相对应的解包协议,采用所述解包协议对所述GTP-U报文进行解析得到数据包;
获取预置的数据包分流规则,根据所述分流规则对所述数据包进行汇聚分流包括:
通过所述汇聚分流器的入口过滤模块Ingress获取预置的数据包分流规则,根据所述分流规则对所述数据包进行汇聚分流。
于一实施例中,所述根据所述分流规则对所述数据包进行汇聚分流包括:
根据所述分流规则将所述数据包丢弃、转发到指定口、进行哈希运算后下发到指定口、或以复制的方式下发到指定口。
第二方面,本公开实施例还提供了一种对IP数据报进行汇聚分流的装置,配置于汇聚分流器中,所述装置包括:
报文接收单元,用于接收GTP-U报文;
报文解析单元,用于获取协议栈中预置的与所述GTP-U报文相对应的解包协议,采用所述解包协议对所述GTP-U报文进行解析得到数据包;
数据分流单元,用于获取预置的数据包分流规则,根据所述分流规则对所述数据包进行汇聚分流。
于一实施例中,所述分流规则包括P4语言编写的P4表项和P4动作。
于一实施例中,所述汇聚分流器为基于barefoot的tofino芯片的汇聚分流器。
于一实施例中:
所述报文解析单元用于:通过所述汇聚分流器的入口解码模块IngressParser获取协议栈中预置的与所述GTP-U报文相对应的解包协议,采用所述解包协议对所述GTP-U报文进行解析得到数据包;
所述数据分流单元用于:通过所述汇聚分流器的入口过滤模块Ingress获取预置的数据包分流规则,根据所述分流规则对所述数据包进行汇聚分流。
于一实施例中,所述数据分流单元用于:
根据所述分流规则将所述数据包丢弃、转发到指定口、进行哈希运算后下发到指定口、或以复制的方式下发到指定口。
第三方面,本公开实施例还提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面中任一项所述方法的指令。
第四方面,本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一项所述方法的步骤。
本公开实施例提出的技术方案的有益技术效果是:
本公开实施例通过汇聚分流器执行接收GTP-U报文;获取协议栈中预置的与所述GTP-U报文相对应的解包协议,采用所述解包协议对所述GTP-U报文进行解析得到数据包;获取预置的数据包分流规则,根据所述分流规则对所述数据包进行汇聚分流。能够使芯片根据定制需求正确地解析GTP-U数据报,从而实现对GTP-U报文内层IP过滤功能使其满足现网需求。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对本公开实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本公开实施例中的一部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本公开实施例的内容和这些附图获得其他的附图。
图1是本公开实施例提供的一种对IP数据报进行汇聚分流的方法的流程示意图;
图2是本公开实施例提供的另一种对IP数据报进行汇聚分流的方法的流程示意图;
图3是本公开实施例提供的一种对IP数据报进行汇聚分流的装置的结构示意图;
图4示出了适于用来实现本公开实施例的电子设备的结构示意图。
具体实施方式
为使本公开实施例解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本公开实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本公开实施例中的一部分实施例,而不是全部的实施例。基于本公开实施例中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开实施例保护的范围。
需要说明的是,本公开实施例中术语“系统”和“网络”在本文中常被可互换使用。本公开实施例中提到的“和/或”是指包括一个或更多个相关所列项目的任何和所有组合。本公开的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于限定特定顺序。
还需要说明是,本公开实施例中下述各个实施例可以单独执行,各个实施例之间也可以相互结合执行,本公开实施例对此不作具体限制。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面结合附图并通过具体实施方式来进一步说明本公开实施例的技术方案。
图1示出了本公开实施例提供的一种对IP数据报进行汇聚分流的方法的流程示意图,本实施例可适用于对GTP-U报文进行过滤和分流的情况,该方法可以由配置于汇聚分流器中的对IP数据报进行汇聚分流的装置来执行,所述汇聚分流器可为多种型号的可编程汇聚分流器,例如可为基于barefoot的tofino芯片的汇聚分流器。
当汇聚分流器接收到GTP-U数据报文时,可以根据提前定义解包流程完成对GTP-U报文的正确解析,从而实现正确的跳过GTP-U扩展报文头获取到内层IP数据,在根据事先下好的规则完成内层IP数据过滤转发。具体步骤如图1所示,本实施例所述的对IP数据报进行汇聚分流的方法包括:
在步骤S110中,接收GTP-U报文。
GTP-U是一种隧道协议:该协议在网络传输中十分普遍,该协议内携带IP数据,该目的IP决定整个会话数据报的最终目的地,对GTP-U数据报的内层IP信息进行汇聚过滤和分流,把数据送至不同的分析器中进行分析是网络安全必不可少的环节。
基于网络安全和现网需求,需要过滤现网GTP-U报文中内层的ip信息,为过滤GTP-U内层的ip必须要正确的解析GTP-U才能实现内层IP的过滤和分流。
在步骤S120中,获取协议栈中预置的与所述GTP-U报文相对应的解包协议,采用所述解包协议对所述GTP-U报文进行解析得到数据包。
在步骤S130中,获取预置的数据包分流规则,根据所述分流规则对所述数据包进行汇聚分流。
例如,所述分流规则可包括P4语言编写的P4表项和P4动作等信息。
例如,本步骤可根据所述分流规则将所述数据包丢弃、转发到指定口、进行哈希运算后下发到指定口、或以复制的方式下发到指定口。
以基于barefoot的tofino芯片的汇聚分流器为例,现网上汇聚分流器接收GTP-U数据报需要根据内层IP进行过滤,并以负载均衡的方式发送到指定的端口的应用场景下,获取协议栈中预置的与所述GTP-U报文相对应的解包协议,采用所述解包协议对所述GTP-U报文进行解析得到数据包的步骤,具体可通过所述汇聚分流器的入口解码模块IngressParser获取协议栈中预置的与所述GTP-U报文相对应的解包协议,采用所述解包协议对所述GTP-U报文进行解析得到数据包。
获取预置的数据包分流规则,根据所述分流规则对所述数据包进行汇聚分流的步骤,具体可通过所述汇聚分流器的入口过滤模块Ingress模块获取预置的数据包分流规则,根据所述分流规则对所述数据包进行汇聚分流。
本实施例通过汇聚分流器执行接收GTP-U报文;获取协议栈中预置的与所述GTP-U报文相对应的解包协议,采用所述解包协议对所述GTP-U报文进行解析得到数据包;获取预置的数据包分流规则,根据所述分流规则对所述数据包进行汇聚分流。能够使芯片根据定制需求正确地解析GTP-U数据报,从而实现对GTP-U报文内层IP过滤功能使其满足现网需求。
图2示出了本公开实施例提供的另一种对IP数据报进行汇聚分流的方法的流程示意图,本实施例以前述实施例为基础,进行了改进优化。
本实施例以基于barefoot的tofino芯片的汇聚分流器为列,方法通过P4语言实现。
基于barefoot的tofino架构为可编程芯片,芯片处理数据报分为六个模块,入口解码模块IngressParser,入口过滤模块Ingress,入口组包模块IngressDeparser,出口解码模块EgressParser,出口过滤模块Egress,以及出口组包模块EgressDeparser,本公开根据GTP-U报文协议使用P4语言在入口解码模块IngressParser定义解数据包的方式。在入口过滤模块Ingress定义转发表和表中支持的动作,同时需要使用加载p4程序后生成的bfshell去创建多播lag,和配置UGP-U的过滤规则。
其中,入口解码模块IngressParser用于:当汇聚分流器接收到GTP-U报文,该部分需要进行报文解码,并保存需求字段。
入口过滤模块Ingress用于:定制能够匹配到GTP-U内层数据段key的p4表和命中key后的对应动作。(动作可以是把该报文转发到指定的接口中,或者丢弃等)
入口组包模块IngressDeparser用于:把解码后的GTP-U数据报重新组包。
入口解码模块IngressParser用于:定制解析GTP-U协议报文的处理部分,具体包括:
(1)定制TCP和UPD目标端口号支持识别GTP-U协议类型。(GTP-U协议类型为2152);
(2)定制解析GTP-U数据类型,提取GTP-U,Flags,Message-type,Length,TEID的数据;
(3)定制GTP-U中flag有Next Extension Header present的解析部分;
(4)定制GTP-U中flag有Sequece Number present的解析部分;
(5)定制GTP-U中flag有N-PDU number present的解析部分;
(6)定制GTP-U中flag没有3),4),5)中描述的flag类型的解析部分;
(7)定制Next Extension Header present的解析部分时需要提取ExtensionHeader Length,根据Extension Header Length来判断需要跳过的报文字节数;
(8)定制GTP-U中T-PDU Data的解析部分,并提取内层IP的五元组数据。
入口过滤模块Ingress用于:定制GTP-U内层IP数据表的匹配字段和相应的动作,具体包括:
(1)定制P4表,该表中的KEY值为GTP-U内层IP的字段,可以为五元组也可以为二元组,定义该值较为灵活;
(2)定制P4表中命中key后的动作,该动作的参数为多播组ID值,动作内容是把入口解码模块IngressParser提取的五元组作为哈希key值和多播组ID赋值ingress_metadata_t的结构体中。
入口组包模块IngressDeparser用于:把解码后的GTP-U数据报重新组包。
在管理平面:包括向芯片加载定制的P4程序生成bfshell的命令行,根据事先定制过的表象和动作,添加UTP-U内层IP的过滤规则,于此同时使用原生命令创建一个多播lag,具体包括如下步骤:
(1)加载定制的p4程序,根据事先定制过的表象和动作,添加UTP-U内层IP过滤规则;
(2)添加数据来的端口和要出的端口并使能该端口;
(3)通过原生命令创建多播lag并向lag中添加出端口,该端口是命中规则后以负载均衡方式出的端口;
(4)通过原生命令创建多播Node并向多播node中添加lag的ID后获取node的handle值;
(5)通过原生命令创建多播组ID并获得一个多播组的handle值;
(6)通过原生命令把多播组的ID和多播node的handle关联到一个会话中;
(7)通过bfshell向生成的p4表添加过滤规则且命中规则后的动作是事先写好的负载均衡动作。需要命中的key值为事先写好的ip为key,或其他的key,但是动作中的参数为(5)中的多播组ID。
汇聚分流器下发配置命令到接收GTP-U报文时的具体处理过程如图2所示,如图2所示,包括:
在步骤S201中,添加并使能端口,执行步骤S202。
向汇聚分流器添加来流量的端口和出流量端口并使能这些端口。
在步骤S202中,创建多播lag,执行步骤S203。
创建多播lag并添加要负载均衡的端口,创建多播node,该node中添加创建的lag,创建多播组ID,把多播组和多播node关联到一个会话中。
其中,lag为管理链路聚合。负载均衡输出时,芯片底层会建立多张表,抽象起来称为lag,表中存放需要做负载均衡的ports,根据这几个ports做哈希;
在步骤S203中,配置GTP-U内存过滤规则,执行步骤S204。
根据事先写好的P4表,配置GTP-U内层过滤规则,key为内层IP,动作中的参数为多播组ID。
在步骤S204中,接收现网数据报,执行步骤S205。
在步骤S205中,判断数据报是否为GTP-U协议,若是则执行步骤S207,否则执行步骤S206。
确定解析接收到的数据报中UPD或TCP中的目标端口号是否为GTP-U协议号。
在步骤S206中,其他处理流程,结束。
在步骤S207中,提取GTP-U的flag,执行步骤S208。
在步骤S208中,提取GTP-U的Message_Type,执行步骤S209。
在步骤S209中,提取GTP-U的TEID,执行步骤S210。
在步骤S210中,判断GTP-U的flag后三位是否有值,若是则执行步骤S211,否则执行步骤S215。
根据步骤S207提取到的GTP-U的Flag字段判断GTP-U中flag字段的后三bit是否有值。
在步骤S211中,提取Next_Extension_Header_Type,执行步骤S212。
提取GTP-U的Next_Extension_Header_Type字段。
在步骤S212中,判断GTP-U的flag是否有扩展包头,若是则执行步骤S213,否则执行步骤S215。
根据步骤S207提取到的GTP-U的Flag字段判断GTP-U中Flag是否支持扩展包头数据段。
在步骤S213中,提取Extension_Length,执行步骤S214。
在步骤S214中,根据Extension数据长度跳至P_DATA数据段,执行步骤S215。在步骤S215中,解析P_DATA数据段,执行步骤S216。
在步骤S216中,提取的IP数据命中key,若是则执行步骤S218,否则执行步骤S217。
判断提取的IP是否命中p4表中的Key值,未命中不处理该GTP-U报文。
在步骤S217中,不处理该报文,结束。
在步骤S218中,ingress_metadata_t获取多播组ID和哈希值,执行步骤S219。
若提取的IP命中p4表中的Key值,则把动作参数的多播组ID和提取的内层IP数据五元组作为哈希key保存到ingress_metadata_t结构体中。
其中,多播组ID,可用mg_id表示,将所有的node挂到mg_id下就形成了一个多播树,流量发往多播树时,会被复制到多播树下所有的rid中。
其中,rid在建立多播树时用到,一个rid下可以挂多个port,也可以挂多个lag。rid和其下边挂的所有lag或者是port称为一个node。
本公开中这种挂树方式抽象成多播组ID和node进行关联。
在步骤S219中,报文以负载均衡方式转出,结束。
芯片根据ingress_metadata_t中的数据信息以及创建好的多播lag向对应,把GTP-U报文以负载均衡方式转出到事先在lag中添加的端口。
本实施例根据barefoot的tofino芯片架构使用p4语言定制GTP-U报文,并定制与GTP-U报文向对应的P4表和动作。汇聚分流器加载事先写好的p4程序,程序启动后再创建GTP-U对应的匹配规则,使汇聚分流器接收GTP-U报文后可以正确解析该报文,从而实现GTP-U的内层IP过滤送至不同数据分析器满足网络安全需求。
作为上述各图所示方法的实现,本申请提供了一种对IP数据报进行汇聚分流的装置的一个实施例,图3示出了本实施例提供的一种对IP数据报进行汇聚分流的装置的结构示意图,该装置实施例与图1和图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。如图3所示,本实施例所述的对IP数据报进行汇聚分流的装置配置于汇聚分流器中,所述装置包括报文接收单元310、报文解析单元320和数据分流单元330。
所述报文接收单元310被配置为,用于接收GTP-U报文。
所述报文解析单元320被配置为,用于获取协议栈中预置的与所述GTP-U报文相对应的解包协议,采用所述解包协议对所述GTP-U报文进行解析得到数据包。
所述数据分流单元330被配置为,用于获取预置的数据包分流规则,根据所述分流规则对所述数据包进行汇聚分流。
于一实施例中,所述分流规则包括P4语言编写的P4表项和P4动作。
于一实施例中,所述汇聚分流器为基于barefoot的tofino芯片的汇聚分流器。
于一实施例中:所述报文解析单元320被配置为,还用于通过所述汇聚分流器的入口解码模块IngressParser获取协议栈中预置的与所述GTP-U报文相对应的解包协议,采用所述解包协议对所述GTP-U报文进行解析得到数据包;
所述数据分流单元330被配置为,还用于通过所述汇聚分流器的入口过滤模块Ingress获取预置的数据包分流规则,根据所述分流规则对所述数据包进行汇聚分流。
于一实施例中,所述数据分流单元330被配置为,还用于:
根据所述分流规则将所述数据包丢弃、转发到指定口、进行哈希运算后下发到指定口、或以复制的方式下发到指定口。
本实施例提供的对IP数据报进行汇聚分流的装置可执行本公开方法实施例所提供的对IP数据报进行汇聚分流的方法,具备执行方法相应的功能模块和有益效果。
下面参考图4,其示出了适于用来实现本公开实施例的电子设备400的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开实施例的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开实施例的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从ROM 402被安装。在该计算机程序被处理装置401执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开实施例上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
接收GTP-U报文;
获取协议栈中预置的与所述GTP-U报文相对应的解包协议,采用所述解包协议对所述GTP-U报文进行解析得到数据包;
获取预置的数据包分流规则,根据所述分流规则对所述数据包进行汇聚分流。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开实施例各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
以上描述仅为本公开实施例的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开实施例中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (6)
1.一种对IP数据报进行汇聚分流的方法,其特征在于,由汇聚分流器执行,所述方法包括:
接收GTP-U(用户层面的GPRS隧道协议)报文;
获取协议栈中预置的与所述GTP-U报文相对应的解包协议,采用所述解包协议对所述GTP-U报文进行解析得到数据包;
所述汇聚分流器为基于barefoot的tofino芯片的汇聚分流器;
获取协议栈中预置的与所述GTP-U报文相对应的解包协议,采用所述解包协议对所述GTP-U报文进行解析得到数据包包括:
通过所述汇聚分流器的入口解码模块IngressParser获取协议栈中预置的与所述GTP-U报文相对应的解包协议,采用所述解包协议对所述GTP-U报文进行解析得到数据包;
获取预置的数据包分流规则,根据所述分流规则对所述数据包进行汇聚分流;
获取预置的数据包分流规则,根据所述分流规则对所述数据包进行汇聚分流包括:
通过所述汇聚分流器的入口过滤模块Ingress获取预置的数据包分流规则,根据所述分流规则对所述数据包进行汇聚分流。
2.根据权利要求1所述的方法,其特征在于,所述分流规则包括P4语言编写的P4表项和P4动作。
3.根据权利要求1所述的方法,其特征在于,所述根据所述分流规则对所述数据包进行汇聚分流包括:
根据所述分流规则将所述数据包丢弃、转发到指定口、进行哈希运算后下发到指定口、或以复制的方式下发到指定口。
4.一种对IP数据报进行汇聚分流的装置,其特征在于,配置于汇聚分流器中,所述装置包括:报文接收单元,用于接收GTP-U(用户层面的GPRS隧道协议)报文;
报文解析单元,用于获取协议栈中预置的与所述GTP-U报文相对应的解包协议,采用所述解包协议对所述GTP-U报文进行解析得到数据包;
所述汇聚分流器为基于barefoot的tofino芯片的汇聚分流器;
所述报文解析单元用于:通过所述汇聚分流器的入口解码模块IngressParser获取协议栈中预置的与所述GTP-U报文相对应的解包协议,采用所述解包协议对所述GTP-U报文进行解析得到数据包;
数据分流单元,用于获取预置的数据包分流规则,根据所述分流规则对所述数据包进行汇聚分流;
所述数据分流单元用于:通过所述汇聚分流器的入口过滤模块Ingress获取预置的数据包分流规则,根据所述分流规则对所述数据包进行汇聚分流。
5.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-3中任一项所述方法的指令。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-3任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010234954.4A CN111404964B (zh) | 2020-03-30 | 2020-03-30 | 对ip数据报进行汇聚分流的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010234954.4A CN111404964B (zh) | 2020-03-30 | 2020-03-30 | 对ip数据报进行汇聚分流的方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111404964A CN111404964A (zh) | 2020-07-10 |
CN111404964B true CN111404964B (zh) | 2022-05-24 |
Family
ID=71429301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010234954.4A Active CN111404964B (zh) | 2020-03-30 | 2020-03-30 | 对ip数据报进行汇聚分流的方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111404964B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112600844A (zh) * | 2020-12-15 | 2021-04-02 | 北京天融信网络安全技术有限公司 | 一种数据的安全检测方法、装置、存储介质及电子设备 |
CN113422735B (zh) * | 2021-06-22 | 2022-08-05 | 恒安嘉新(北京)科技股份公司 | 负载均衡配置方法、汇聚分流器及介质 |
CN113489652A (zh) * | 2021-07-08 | 2021-10-08 | 恒安嘉新(北京)科技股份公司 | 一种数据流放大方法、装置、汇聚分流器以及存储介质 |
CN113596813B (zh) * | 2021-08-09 | 2024-04-05 | 北京恒安嘉新安全技术有限公司 | 一种流量分流方法、装置、电子设备及存储介质 |
CN113872958B (zh) * | 2021-09-24 | 2023-07-28 | 中能融合智慧科技有限公司 | 一种基于工控安全态势感知的智能网络识别工具 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015180046A1 (zh) * | 2014-05-28 | 2015-12-03 | 华为技术有限公司 | 一种协议栈适配方法及装置 |
CN108337163A (zh) * | 2018-02-07 | 2018-07-27 | 北京百度网讯科技有限公司 | 用于汇聚链路的方法和装置 |
CN109495509A (zh) * | 2018-12-27 | 2019-03-19 | 北京奇安信科技有限公司 | 网闸的数据传输方法、设备、系统和介质 |
CN109547580A (zh) * | 2019-01-22 | 2019-03-29 | 网宿科技股份有限公司 | 一种处理数据报文的方法和装置 |
-
2020
- 2020-03-30 CN CN202010234954.4A patent/CN111404964B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015180046A1 (zh) * | 2014-05-28 | 2015-12-03 | 华为技术有限公司 | 一种协议栈适配方法及装置 |
CN108337163A (zh) * | 2018-02-07 | 2018-07-27 | 北京百度网讯科技有限公司 | 用于汇聚链路的方法和装置 |
CN109495509A (zh) * | 2018-12-27 | 2019-03-19 | 北京奇安信科技有限公司 | 网闸的数据传输方法、设备、系统和介质 |
CN109547580A (zh) * | 2019-01-22 | 2019-03-29 | 网宿科技股份有限公司 | 一种处理数据报文的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111404964A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111404964B (zh) | 对ip数据报进行汇聚分流的方法、装置、设备及介质 | |
CN110708393B (zh) | 用于传输数据的方法、装置和系统 | |
US20200007445A1 (en) | Enhanced service function chain | |
US20090165076A1 (en) | Method, system, and computer program product for data security policy enforcement | |
CN110719215B (zh) | 虚拟网络的流信息采集方法及装置 | |
KR20010030638A (ko) | 실행가능한 오브젝트의 확인과 억제의 방법 및 시스템 | |
CN110177047B (zh) | 报文发送方法、装置、电子设备和计算机可读存储介质 | |
CN112738791A (zh) | 基于5g核心网的用户信息关联回填方法、装置、设备和介质 | |
CN109889521B (zh) | 存储器、通信通道复用实现方法、装置和设备 | |
US11496599B1 (en) | Efficient flow management utilizing control packets | |
CN113489652A (zh) | 一种数据流放大方法、装置、汇聚分流器以及存储介质 | |
CN113595927A (zh) | 一种旁路模式下镜像流量的处理方法和装置 | |
CN115174123A (zh) | 一种面向sa 5g网络的用户溯源关联方法与系统 | |
CN110489474B (zh) | 一种数据处理的方法、装置、介质和电子设备 | |
CN114828140A (zh) | 业务流量报文转发方法及装置、存储介质及电子设备 | |
CN110545230B (zh) | 用于转发vxlan报文的方法和装置 | |
CN113162836B (zh) | 虚拟局域网联通方法、装置、云服务器、介质和电子设备 | |
CN113992559A (zh) | 消息处理方法、装置、设备及计算机可读存储介质 | |
CN116389070A (zh) | 基于虚拟防火墙的报文信息处理方法、装置及存储介质 | |
WO2023082605A1 (zh) | Http报文的提取方法、装置、介质及设备 | |
US20230032441A1 (en) | Efficient flow management utilizing unified logging | |
US11089141B2 (en) | Method and system for data prioritization communication | |
JP2022007690A (ja) | ネットワークサービスシステム、ネットワーク管理方法およびコンピュータプログラム | |
CN112069438B (zh) | 消息合并方法、消息处理方法和装置、设备和介质 | |
US20040237089A1 (en) | Separation of data and instruction for improving system performance in a multiple process environment |
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 |