一种基于UDF识别未知隧道报文的方法技术

技术编号:23152971 阅读:31 留言:0更新日期:2020-01-18 14:55
本发明专利技术揭示了一种基于UDF识别未知隧道报文的方法,包括:根据报文的外层信息类型字段,查找UDF cam表,来匹配未知隧道报文,若匹配到,则再通过查找UDF cam表取出所述报文任意位置的数据。本发明专利技术不依赖于CPU、FPGA来识别未知隧道报文,降低了设备成本。

A method of identifying unknown tunnel message based on UDF

【技术实现步骤摘要】
一种基于UDF识别未知隧道报文的方法
本专利技术属于隧道报文识别
,具体涉及一种基于UDF识别未知隧道报文的方法。
技术介绍
随着互联网业务高速发展,运营商在互联网骨干网上广泛采用了网络行为分析系统,其业务模块主要分为:网络游戏分析、在线视频分析、VOIP(VoiceoverInternetProtocol,一种由IP网络传送话音的技术服务)监测分析、P2P(点对点)监测分析以及邮件检测分析等。另外随着金融网络规模的日益剧增,基于网络旁路部署的安全设备及流量分析设备也在逐渐增多。在同时部署两个或以上的旁路监听设备之时不仅增加了核心交换机的性能开销,且不能满足各种安全设备灵活部署的需求。此外后端分析设备DPI(深度报文解析技术)还希望对捕获的流量进行裁剪,只关心部分流量,从而提高后端分析效率,这些信息的采集需要采用分流设备TAP来实现。TAP设备需要支持隧道剥离、基于隧道内层信息负载分担、同源同宿、报文截断等功能。区别于格式相对固定的IP报文,GTP(GeneralDataTransferPlatform,通用数据传输平台)、PPPoE(PPPoverEthernet,以太网上的点对点协议)等未知隧道报文格式存在较大差异。一般的网络芯片并不能原生的识别解析出这类报文,这也是目前TAP应用的痛点。以GTP报文为例,TAP应用中需要识别GTP报文,解析GTP报文信息,识别出控制报文、数据报文。TAP设备还要取出GTP隧道内层的数据信息,需要支持基于内层TEID(隧道端点标识符)字段做限速;需要支持ACL(访问控制列表)基于内层IP等字段信息做过滤;需要支持基于TEID、内层IP等字段做负载分担。现有ASIC通信芯片不支持解析未知隧道报文内层信息,一般通过ACL访问列表过滤出未知隧道报文重定向到CPU,通过CPU解析未知隧道的内层信息,再做进一步的处理。但是,由于TAP网络中需要处理的未知隧道报文较多,会冲击CPU,导致CPU占用率太高,影响其他业务。另外CPU本身处理未知隧道报文的性能不高,远低于ASIC的速率,无法实现线速处理。现有有通过在TAP设备上额外加FPGA(Field-ProgrammableGateArray,现场可编程门阵列)来解析未知隧道报文,但是额外加一个FPGA,会导致整个TAP设备成本增加。因此,针对上述技术问题,有必要提供一种基于UDF识别未知隧道报文的方法。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种基于UDF识别未知隧道报文的方法。为了实现上述目的,本专利技术一实施例提供的技术方案如下:一种基于UDF识别未知隧道报文的方法,所述方法包括:根据报文的外层信息类型字段,查找UDFcam表,来匹配未知隧道报文,若匹配到,则再通过查找UDFcam表取出所述报文任意位置的数据。一实施例中,预先在ASIC芯片中配置多条用于匹配未知隧道报文的所述UDFcam表。一实施例中,若匹配到,所述UDF取出报文的多段数据,每段数据位于报文的任意位置。一实施例中,所述数据作为ACL的关键字过滤报文。一实施例中,所述数据参与链路聚合的哈希选路算法做负载分担。一实施例中,所述数据支持掩码配置。一实施例中,所述未知隧道报文包括GTP报文。一实施例中,根据UDP端口号查找UDFcam表,来匹配GTP报文。一实施例中,设置多段偏移量从GTP报文中相应取出多段数据。一实施例中,通过ACL再匹配所述多段数据,将GTP报文定向到一个链路聚合组,同时配置使用所述多段数据参与哈希算法选择链路聚合出口成员。本专利技术具有以下有益效果:通过利用UDF功能匹配未知隧道报文,实现报文的灵活处理,且还可以利用UDF取出的字段做负载分担、ACL过滤报文等,不依赖于CPU、FPGA,降低成本。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术方法的流程示意图;图2是本专利技术实施例的原理示意图。具体实施方式为了使本
的人员更好地理解本专利技术中的技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。本专利技术所揭示的一种基于UDF识别未知隧道报文的方法,主要应用于对网络数据进行流量监控、安全分析要求较高的TAP环境,如对未知隧道GTP报文分析的应用场景。如图1所示,本专利技术所揭示的一种基于UDF识别未知隧道报文的方法,包括以下步骤:S1,根据报文的外层信息类型字段,查找UDFcam表,来匹配未知隧道报文。具体地,本实施例中,考虑到实际应用需求,预先在ASIC中放置了32条UDFcam表,用于匹配未知隧道报文。即报文进入ASIC芯片后,根据报文的外层信息类型字段,查找UDFcam表,通过UDF关键字来匹配未知隧道报文。S2,若匹配到,再通过查找UDFcam表取出所述报文任意位置的数据。具体地,利用UDF设置多个偏移量,根据每个偏移量,从未知隧道报文中取出相应位置的数据,每个数据可以是报文的任意位置处的。如利用UDF设置4个偏移量,分别是偏移0:32bits,偏移1:32bits,偏移2:32bits,偏移3:32bits,即从报文的四个位置处分别取一段数据,每段数据长度为32bits,共128bits,每段32bits数据可以是报文的任意位置。被取出来的数据可以作为ACL的关键字过滤报文,也可以参与LinkAggHASH(链路聚合哈希)选路算法做链路负载分担等。另外,优选的,这4段32bits数据支持掩码配置。结合图2所示,下面以一具体实施例来说明本专利技术的具体工作原理:GTP协议报文通过UDP(UserDatagramProtocol,用户数据报协议)或者TCP(TransmissionControlProtocol,传输控制协议)承载,目前有两个版本,本实施例以version1为例,即以未知隧道报文GTPV1报文为例:GTP可以分解成三种独立的协议,GTP-C、GTP-U及GTP',这三种协议可以通过UDP端口号来区分不同的GTP报文类型。其中,GTP-C报文的UDP端口号是2123,GTP-U报文的UDP端口号是2152,GTP'登记的UDP/TCP端口号是3386。UDF根据UDP端口号来匹配GTP报文,设置4段偏移量取出的TEID或者内层的IP等信息。通过ACL再匹配4段偏移量信息,把GTP报文重定向到一个LinkAgg组,同时配置使用这4段偏移量本文档来自技高网
...

【技术保护点】
1.一种基于UDF识别未知隧道报文的方法,其特征在于,所述方法包括:根据报文的外层信息类型字段,查找UDF cam表,来匹配未知隧道报文,若匹配到,则再通过查找UDF cam表取出所述报文任意位置的数据。/n

【技术特征摘要】
1.一种基于UDF识别未知隧道报文的方法,其特征在于,所述方法包括:根据报文的外层信息类型字段,查找UDFcam表,来匹配未知隧道报文,若匹配到,则再通过查找UDFcam表取出所述报文任意位置的数据。


2.根据权利要求1所述的一种基于UDF识别未知隧道报文的方法,其特征在于,预先在ASIC芯片中配置多条用于匹配未知隧道报文的所述UDFcam表。


3.根据权利要求1所述的一种基于UDF识别未知隧道报文的方法,其特征在于,若匹配到,UDF取出报文的多段数据,每段数据位于报文的任意位置。


4.根据权利要求1所述的一种基于UDF识别未知隧道报文的方法,其特征在于,所述数据作为ACL的关键字过滤报文。


5.根据权利要求1所述的一种基于UDF识别未知隧道报文的方法,其特征在于,所述数据参与链路聚合的哈希...

【专利技术属性】
技术研发人员:胥平春孟忠伟
申请(专利权)人:盛科网络苏州有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1