基于网络处理器的gtp状态检测防火墙及其检测方法

文档序号:7684657阅读:262来源:国知局
专利名称:基于网络处理器的gtp状态检测防火墙及其检测方法
技术领域
本发明涉及通信技术和防火墙安全技术领域,特别涉及基于网络处理器的 GTP (GPRS Tunnel Protocol,通用无线分组业务隧道协议)状态检测防火墙及 其检测方法。
背景技术
在GPRS (General Packet Radio Service,通用分组无线业务)系统的GSN (GPRS Support Node, GRPS节点),包括SGSN (Serving GPRS Support Node, 服务GSN)和GGSN (Gateway GPRS Support Node,网关GSN)之间采用GTP 协议,GTP协议又可分为GTP-U和GTP-C协议。
由于GTP本身对SGSN和GGSN不提供鉴权,鉴权和授权方面存在着威胁, 如果非法入侵者伪装成合法用户,建立自己伪装的SGSN,发送GTP隧道给 GGSN,这将提供非法的互联网接入。同样非法入侵者也可以用自己的SGSN发 送非法的PDP上下文更新给SGSN,这样可能截获合法用户的GTP信息,这些 安全隐患会对GPRS系统安全提出挑战。
传统的包过滤检测只是通过检测IP包头的相关信息来决定数据流的通过还 是拒绝,而状态检测技术采用的是一种基于连接的状态检测机制,将属于同一 连接的所有包作为一个整体的数据流看待,构成连接状态表,通过规则表与状 态表的共同配合,对表中的各个连接状态因素加以识别。这里动态连接状态表 中的记录可以是以前的通信信息,也可以是其他相关应用程序的信息,因此, 与传统包过滤防火墙的静态过滤规则表相比,具有更好的灵活性和安全性。
目前防火墙的硬件实现技术主要有三种X86架构、ASIC硬件加速技术和 网络处理器加速技术。由于X86的广泛应用,有大量的网络设备是基于该架构, 但是通用CPU的处理能力有限,设备自身的安全性较低,难于满足高速处理的 要求。采用ASIC专用硬件加速可以明显提升吞吐性能力,但对于升级维护的灵 活性和扩展性不够,而且开发费用高,开发周期长。
网络处理器(NetworkProcessor, NP)内部一般包含多个片内微处理器,构成多处理器系统。片内处理器按任务分工大致可分为核心和转发引擎两种类型。 前者用于系统维护和管理以及复杂数据处理,后者用于快速数据处理,提供分 类、调度等服务功能,多处理器的特性使网络处理器具有良好的并行高速处理 性能。
尽管网络处理器可以进行较高速度包过滤,但是如果要利用网络处理器进 行状态检测,就会多次的对状态记录表进行读写,而网络处理器的高速存储单 元非常有限,如果将需要多次读取的数据放在慢速存储单元中,多次对慢速存 储单元的操作会降低的包的处理速度。

发明内容
本发明的目的就是为了解决上述现有技术中存在的问题,提出了基于网络
处理器的GTP状态检测防火墙,其一方面可根据GTP隧道建立、使用和删除过 程中的TEID,建立对应的数据结构记录不同状态下标志,降低快速SRAM的资 源占用,减少访问慢速DRAM的读写次数;另一方面,根据GTP-C和GTP-U 对速度要求的不同,采用不同的査找算法匹配TEID,提高隧道查找速度,丢弃 非法隧道的数据包。
本发明的目的还在于提供上述基于网络处理器的GTP状态检测防火墙的检 测方法。
本发明的目的通过下述技术方案实现本基于网络处理器的GTP状态检测 防火墙,包括微引擎簇、Xsacale核心处理器、静态随机存储器(SRAM)、 SRAM 控制器、动态随机存储器(DRAM)、 DRAM控制器;多个所述微引擎簇依次连 接,且各个微引擎簇分别由多个微引擎依次连接组成;所述微引擎簇、Xsacale 核心处理器分别与PCI总线连接;多个SRAM、 DRAM相应通过SRAM控制器、 DRAM控制器分别与PCI总线连接。
为更好地实现本发明,每个微引擎内部分别设有多个硬件线程,采用多线 程技术进行任务处理,每个线程设有独立的程序计数器,承担了大部分的网络 数据包处理工作。
所述的Xsacale核心处理器主要是承担芯片的初始化和管理工作,亦可处理 高层的网络处理任务。
所述的SRAM控制器用于接口 SRAM存储设备,进行包含硬件逻辑支持队 列及循环队操作、原子运算以及位原子等操作。
所述的DRAM控制器用于大型数据结构的存储,要求较大的存储带宽,对访问延时要求不是很高。
根据GTP隧道建立和删除的过程和状态,上述基于网络处理器的GTP状态 检测防火墙的检测方法,该方法适用于GTP协议VI版本以及其后相同机制版 本的GTP协议防火墙处理,其包括以下步骤隧道建立请求状态处理、隧道建 立响应状态处理、GTP-U数据包处理、隧道拆除请求状态处理、隧道拆除响应 状态处理共5个状态的处理;具体如下
1、 隧道建立请求状态处理,是指由网络处理器的微引擎完成对Create PDP Context Request包的解析、数据表结构创建和状态记录,包括如下步骤
(1.1 )解析数据包中的TEID Data I和TEID Control Plane字段,由TEID Data I值得到Down Data TEID (即下行数据消息TEID),由TEID Control Plane值得 到Down CTL TEID (即下行控制消息TEID);
(1.2) 在CTL TEID TABLE中査找是否己经存在相同的Down CTL TEID, 检査该节点的隧道建立请求时间是否有效;
(1.3) 检查Down Data TEID是否存在,在SRAM的DATA TEID TABLE 中创建Down Data TEID节点;
(1.4) 在DRAM的CTL TEID TABLE中创建Down CTL TEID节点,记录 Down Data TEID存储地址和隧道建立请求时间;
2、 隧道建立响应状态处理,是指由网络处理器的微引擎完成对Create PDP Context Response的解析、状态检査和数据表结构创建,包括如下步骤
(2.1) 解析请求包中的TEID、 TEID Data I和TEID Control Plane字段,所 述TEID即为Down CTL TEID,由TEID Data I值得到UP Data TEID (即上行数 据消息TEID),由TEID Control Plane值得到UP CTL TEID (即上行控制消息 TEID);
(2.2) 在CTL TEID TABLE中査找Down CTL TEID,并检查请求时间的有
效性;
(2.3 )在CTL TEID TABLE中査找是否己经存在相同值的UP CTL TEID节
点;
(2.4 )在DATA TEID TABLE中查找是否已经存在相同值UP Data TEID节
点;
(2.5 )在DRAM的CTL TEID TABLE中创建UP CTL TEID节点; (2.6)在SRAM的DATA TEID TABLE中创建UP Data TEID节点;(2.7)在CTL TEID TABLE的Down CTL TEID节点中记录UP Data TEID 和UP CTL TEID存储地址;
3、 GTP-U数据包处理,是指由网络处理器的微引擎完成对GTP-U数据包 的解析和状态检査,包括如下步骤
(3.1)解析GTP-U包中TEID ,作为UP/DOWN DATA TEID;
(3.2 )在DATA TEID TABLE中査找UP/DOWN DATA TEID节点;
(3.3)记录该UP/DOWN DATA TEID的数据包数量;
4、 隧道拆除请求状态处理,是指由网络处理器的微引擎完成对Delete PDP Context Request包的解析、状态检査和记录,包括如下步骤
(4.1) 解析数据包中的TEID,作为UP CTL TEID;
(4.2) 在CTL TEID TABLE中查找含UP CTL TEID值的节点,检査隧道拆 除请求时间是否有效;
(4.3) 在UP CTL TEID节点中在隧道节点中记录隧道拆除请求时间;
5、 隧道拆除响应状态处理,是指由网络处理器的微引擎完成对Delete PDP Context Response的解析、状态检查和数据表结构删除,包括如下步骤
(5.1) 解析响应包中的TEID,作为DOWN CTL TEID;
(5.2) 在CTL TEID TABLE中查找含DOWN CTL TEID值的节点,根据 DOWN CTL TEID节点记录的UP CTL TEID节点地址找到UP CTL TEID节点, 检査隧道拆除请求时间是否有效;
(5.3) 在数据表中査找DOWN CTL TEID节点记录的Down Data TEID、 UP Data TEID和UP CTL TEID节点并删除;
(5.4) 删除DOWN CTL TEID节点。
上述方法中,所述Down CTL TEID、 UP CTL TEID都存储在DRAM空间的 CTL TEID TABLE数据表的Down CTL TEID节点和UP CTL TEID节点中。Down CTL TEID节点的数据结构为Down CTL TEID值、下行标志、隧道建立请求时 间、存储隧道的Down/UP Data TEID的节点地址、存储隧道的UP CTL TEID的 地址;所述UPCTLTEID节点的数据结构为UP CTL TEID值、上行标志和隧 道拆除请求时间。
所述UP Data TEID、 Down Data TEID都存储在SRAM空间的DATA TEID TABLE数据表的UP Data TEID节点和Down Data TEID节点中;所述UP Data TEID节点的数据结构包括UP Data TEID值和隧道中上行数据包数量,所述Down Data TEID节点的数据结构包括Down Data TEID值和包括隧道中上行数 据包数量。所述UP Data TEID节点包括隧道中上行数据包数量,所述Down Data TEID节点包括隧道中上行数据包数量。
由于SRAM具有较快的访问速度,但是容量较小,而DRAM容量空间较大, 但是访问速度较慢,本系统将DATA TEID TABLE和CTL TEID TABLE存储在 不同的空间中,并且根据不同的空间采用了不同的分段査找算法搜索TEID值, 在SRAM中査找DATA TEID TABLE时,对32bit的TEID采用16-4-4-4-4的分段 方法(即5层多比特Trie树算法)进行创建和匹配,在DRAM中査找CTL TEID TABLE时,对32bit的TEID采用16-8-8的分段方法(即3层多比特Trie树算 法)进行创建和匹配。
所述16-4-4-4-4的分段方法采用1个主索引表和4个辅表,主索引表取每个 DATA TEID的31 —16bit,第一辅表取15 — 12bit,第二辅表取11 一8bit,第三辅 表取7—4bit,第四辅表取3—0bit;创建所述DATA TEID TABLE,必须由Xscale 核心处理器向SRAM申请存储空间,并且获得主索引表的首地址值,将主索引 表中的全部值初始化为0;然后再创建各个DATA TEID节点。
所述16-4-4-4-4的分段方法中,创建一个DATA TEID节点的步骤如下
(1) 取出DATA TEID的31 —16bit作为一个16bit的偏移量,加上主索引 表的首地址,即可找到该DATA TEID的第一辅表的首地址;如果第一辅表入口 项不为0,则表明存在与该DATA TEID前16位相同DATA TEID,否则,创建 该TEID的第一辅表,获得该TEID的第一辅表的首地址,并初始化第一辅表的 全部字段为O;
(2) 取出DATA TEID的15 — 12bit作为一个4bit的偏移量,加上第一辅表 的首地址,即可找到该DATA TEID的第二辅表的首地址;如果第二辅表入口项 不为0,则表明存在与该DATA TEID前20位相同DATA TEID,否则,创建该 TEID的第二辅表,获得该TEID的第二辅表的首地址,并初始化第二辅表的全
部字段为O;
(3) 取出DATA TEID的11 一8bit作为一个4bit的偏移量,加上第二辅表 的首地址,即可找到该DATA TEID的第三辅表的首地址;如果第三辅表入口项 不为0,则表明存在与该DATA TEID前24位相同DATA TEID,否则,创建该 TEID的第四辅表,获得该TEID的第三辅表的首地址,并初始化第三辅表的全 部字段为0;(4) 取出DATATEID的7—4bit作为一个4bit的偏移量,加上第三辅表的 首地址,即可找到该DATATEID的第四辅表的首地址;如果第四辅表入口项不 为0,则表明存在与该DATATEID前28位相同DATATEID,否贝U,创建该TEID 的第四辅表,获得该TEID的第四辅表的首地址,并初始化第四辅表的全部字段为0;(5) 取出DATATEID的3_0bit作为一个4bit的偏移量,加上第四辅表的 首地址,即可找到该DATATEID节点,在该节点中记录DATA TEID值,并且 将流量值置为0。査找 -个DATATEID节点的步骤如下(1) 取出DATA TEID的31 —16bit作为一个16bit的偏移量,加上主索引 表的首地址,即可找到该DATA TEID的第一辅表的首地址;(2) 取出DATATEID的15 —12bit作为一个4bit的偏移量,加上第一辅表 入口地址,即可找到第二辅表的首地址;(3) 取出DATA TEID的11一8bit作为一个4bit的偏移量,加上第二辅表 入口地址,即可找到第三辅表的首地址;(4) 取出DATATEID的7—4bit作为一个4bit的偏移量,加上第三辅表入 口地址,即可找到第四辅表的首地址;(5) 取出DATATEID的3 —Obit作为一个4bit的偏移量,加上第四辅表入 口地址,即可找到DATATEID值对应的节点。删除一个DATATEID节点的步骤如下(1) 将DATA TEID节点的数据置为0;(2) 检查该DATATEID的第四辅表中的数据是否全部为O,如果为0,则 将第三辅表中的第四辅表入口置为O,否则,完成删除操作;(3) 检查该DATATEID的第三辅表中的数据是否全部为O,如果为0,则 将第二辅表中的第三辅表入口置为O,否则,完成删除操作;(4) 检査该DATATEID的第二辅表中的数据是否全部为O,如果为0,则 将第一辅表中的第二辅表入口置为O,否则,完成删除操作;(5) 检査该DATATEID的第一辅表中的数据是否全部为O,如果为0,则 将主索引表中的第一辅表入口置为O,否则,完成删除操作;以上是16-4-4-4-4方法创建、査找和删除DATA TEID节点的方法,用该方 法相对于DRAM中的16-8-8的方法多了两次对存储空间的操作,但是16-4-4-4-4方法可以节省一定的SRAM空间,同时由于对于SRAM的操作时间小于DRAM 的操作时间,所以在SRAM中采用这种方法,可以获得较快的査找速度,同时 减少对存储空间的使用。所述16-8-8的分段方法采用1个主索引表和2个辅表,主索引表取每个CTL TEID的31 — 16bit,第一辅表取15—8bit,第二辅表取7—0bit;创建所述CTL TEID TABLE必须由Xscale核心处理器向DRAM申请存储空间,并且获得主索 引表的首地址值,将主索引表中的全部值初始化为0;然后再创建各个CTL TEID 节点。所述16-8-8的分段方法中,创建一个CTL TEID节点的步骤如下(1) 取出CTLTEID的31 — 16bit作为一个16bit的偏移量,加上主索引表 的首地址,即可找到该CTL TEID的第一辅表的首地址;如果第一辅表入口项不 为0,则表明存在与该CTLTEID前16位相同CTLTEID,否则,创建该TEID 的第一辅表,获得该TEID的第一辅表的首地址,并初始化第一辅表的全部字段 为O;(2) 取出CTL TEID的15 —8bit作为一个8bit的偏移量,加上第一辅表的 首地址,即可找到该CTL TEID的第二辅表的首地址;如果第二辅表入口项不为 0,则表明存在与该CTLTEID前24位相同CTLTEID,否则,创建该TEID的 第二辅表,获得该TEID的第二辅表的首地址,并初始化第二辅表的全部字段为 0;(3) 取出CTL TEID的7—0bit作为一个4bit的偏移量,加上第四辅表的 首地址,即可找到该CTLTEID节点,在该节点中记录CTLTEID值,根据TEID 上下行状态在CTL TEID节点中记录TEID的标志;如果是下行CTL TEID,则 TEID标志记为DOWN,将UP/DOWN DATA TEID地址、UP CTL TEID地址和 隧道建立请求时间字段置为0。如果是上行CTL TEID,则TEID标志记为UP, 将DOWN CTL TEID地址和隧道拆除请求时间字段置为0。査找一个CTL TEID节点的步骤如下(1) 取出CTLTEID的31 —16bit作为一个16bit的偏移量,加上主索引表 的首地址,即可找到该CTL TEID的第一辅表的首地址;(2) 取出CTL TEID的15 — 8it作为一个4bit的偏移量,加上第一辅表入 口地址,即可找到第二辅表的首地址;(3) 取出CTL TEID的7—Obit作为一个4bit的偏移量,加上第二辅表入口地址,即可找到CTL TEID值对应的节点。 删除一个CTL TEID节点的步骤如下(1) 将CTL TEID节点的数据置为0;(2) 检査该CTLTEID的第二辅表中的数据是否全部为O,如果为0,则将 第三辅表中的第二辅表入口置为O,否则,完成删除操作;(3) 检査该CTLTEID的第一辅表中的数据是否全部为O,如果为0,则将 主索引表中的第一辅表入口置为O,否则,完成删除操作。以上是16-8-8方法创建、査找和删除CTL TEID节点的方法,由于DRAM 的操作时间比较长,因此应该尽量减少对DRAM的操作次数,16-8-8相对于 16-4-4—4—4方法减少了 2次读写操作。16-8-8方法只采用了 2级辅表,每 一级辅 表包含有256个节点,而16-4-4-4-4方法的每一级只含有16个节点的辅表,因 此16-8-8的存储容量会比较大,但是DRAM的空间相对与SRAM比较大,可 以存储较大的辅表结构,因此,通过增加辅表结构减少对DRAM的操作次数。本发明相对于现有技术具有以下优点(1) 由于GTP控制包较少,对传输延时要求比较宽松,所以CTL TEID和 DATA TEID值采用不同数据结构存储,在CTL TEID TABLE的CTL TEID节点 中尽量存储较多的与隧道状态相关的信息,便于防火墙对GTP的状态进行检测。(2) 由于GTP数据包的数据量比较大,DATA TEID TABLE中的DATA TEID 尽量存储较少的信息,减少内存操作对数据包的影响,使得防火墙能较快的完 成对数据的检测,保证以较高的速度处理GTP隧道中的合法数据包。(3 )针对网络处理器中SRAM和DRAM资源特点,将CTL TEID TABLE 和DATATEID TABLE分别存储在不同的空间中,SRAM存储数据结构简单的 DATA TEID TABLE, DRAM存储数据结构比较复杂的CTL TEID TABLE。合理 的利用了存储资源,节省了SRAM空间,为网络处理器的其他高速处理提供了 方便。(4) 根据CTL TEID和DATA TEID节点的数据结构和存储区域读写速度不 同,釆用了不同的查找方法。对存储在DRAM中的CTL TEID节点采用16-8-8 方法,尽管査找步长较大,但是由于对于DRAM的访问次数仅为3次,减少了 DRAM较慢读写速度的影响。对存储在SRAM中的DATA TEID节点采用 16-4-4-4-4方法,尽管该方法对SRAM的访问需要5次,但是考虑到SRAM的 读写速度比较高,而且该查找方法对应的数据结构也符合SRAM存储容量较少的特点。因此该方法对于GTP数据包的处理既能节省一定的SRAM空间又能获得较快的处理速度。


图1是本发明基于网络处理器的GTP状态检测防火墙的结构示意图;图2a—2b分别是本发明基于网络处理器的GTP状态检测防火墙的检测方法 中所采用的TEID TABLE结构以及查找算法示意图;图3a—3e分别是本发明基于网络处理器的GTP状态检测防火墙的检测方法 中相应GTP隧道各状态下的处理流程图。
具体实施方式
下面结合实施以及附图对本发明作进一步详细的描述,但本发明的实施方 式不限于此。如图1所示,本基于网络处理器的GTP状态检测防火墙,包括微引擎簇、 Xsacale核心处理器、静态随机存储器(SRAM)、 SRAM控制器、动态随机存储 器(DRAM)、 DRAM控制器;2个所述微引擎簇依次连接,且各个微引擎簇分 别由8个微引擎依次连接组成;所述微引擎簇、Xsacale核心处理器分别与PCI 总线连接;4个SRAM、 3个DRAM相应通过SRAM控制器、DRAM控制器分 别与PCI总线连接。如图1所示,每个微引擎内部有8个硬件线程,采用多线程技术,每个线 程有独立的程序计数器,微引擎承担了大部分的网络数据包处理工作。XSacale 核心处理器主要是承担芯片的初始化和管理工作,亦可处理高层的网络处理任 务。SRAM控制器用于接口 SRAM存储设备,包含硬件逻辑支持队列及循环队 操作、原子运算以及位原子操作。SRAM通过SRAM控制器与微引擎和Xscale 核心处理器相连。DRAM控制器用于大型数据结构的存储,要求较大的存储带 宽,对访问延时要求不是很高。DRAM通过DRAM控制器与微引擎和Xscale 核心处理器相连。考虑到SRAM具有较快的访问速度,但是容量较小,而DRAM具有较大的 容量空间,但是访问速度较慢,本系统将DATATEID TABLE和CTL TEID存储 在不同的空间中,并且采用了不同的查找算法。对于DATA TEID TABLE,存储在SRAM中,对32bit的TEID采用16-4-4-4-4的分段方法进行创建和匹配,如图2a中所示,该方法采用1个主索引表和4个 辅表,主索引表取每个DATA TEID的31 —16bit,第一辅表取15 —12bit,第二 辅表取ll一8bit,第三辅表取7—4bit,第四辅表取3—0bit。创建DATA TEID TABLE必须由Xscale向SRAM申请存储空间,并且获得 主索引表的首地址值,将主索引表中的全部值初始化为0。创建一个DATA TEID节点的步骤如下(1) 取出DATA TEID的31 —16bit作为一个16bit的偏移量,加上主索引 表的首地址,即可找到该DATA TEID的第一辅表的首地址;如果第一辅表入口 项不为O,则表明存在与该DATA TEID前16位相同DATA TEID,否则,创建 该TEID的第一辅表,获得该TEID的第一辅表的首地址,并初始化第一辅表的 全部字段为0;(2) 取出DATA TEID的15_12bit作为一个4bit的偏移量,加上第一辅表 的首地址,即可找到该DATA TEID的第二辅表的首地址;如果第二辅表入口项 不为O,则表明存在与该DATA TEID前20位相同DATA TEID,否则,创建该 TEID的第二辅表,获得该TEID的第二辅表的首地址,并初始化第二辅表的全 部字段为O;(3) 取出DATA TEID的11—8bit作为一个4bit的偏移量,加上第二辅表 的首地址,即可找到该DATA TEID的第三辅表的首地址;如果第三辅表入口项 不为O,则表明存在与该DATA TEID前24位相同DATA TEID,否则,创建该 TEID的第四辅表,获得该TEID的第三辅表的首地址,并初始化第三辅表的全 部字段为O;(4) 取出DATA TEID的7—4bit作为一个4bit的偏移量,加上第三辅表的 首地址,即可找到该DATA TEID的第四辅表的首地址;如果第四辅表入口项不 为0,则表明存在与该DATA TEID前28位相同DATATEID,否贝[J,创建该TEID 的第四辅表,获得该TEID的第四辅表的首地址,并初始化第四辅表的全部字段 为O;(5) 取出DATATEID的3—0bit作为一个4bit的偏移量,加上第四辅表的 首地址,即可找到该DATA TEID节点,在该节点中记录DATA TEID值,并且 将流量值置为0。査找一个DATATEID节点的步骤如下 (1)取出DATA TEID的31 —16bit作为一个16bit的偏移量,加上主索引表的首地址,即可找到该DATA TEID的第一辅表的首地址;
(2) 取出DATA TEID的15 —12bit作为一个4bit的偏移量,加上第一辅表 入口地址,即可找到第二辅表的首地址;
(3) 取出DATA TEID的11一8bit作为一个4bit的偏移量,加上第二辅表 入口地址,即可找到第三辅表的首地址;
(4) 取出DATA TEID的7—4bit作为一个4bit的偏移量,加上第三辅表入 口地址,即可找到第四辅表的首地址;
(5) 取出DATATEID的3—0bit作为一个4bit的偏移量,加上第四辅表入 口地址,即可找到DATATEID值对应的节点。
删除一个DATATEID节点的步骤如下
(1) 将DATATEID节点的数据置为0;
(2) 检査该DATATEID的第四辅表中的数据是否全部为O,如果为0,则 将第三辅表中的第四辅表入口置为O,否则,完成删除操作
(3) 检査该DATATEID的第三辅表中的数据是否全部为O,如果为0,则 将第二辅表中的第三辅表入口置为O,否则,完成删除操作;
(4) 检査该DATATEID的第二辅表中的数据是否全部为O,如果为0,则 将第一辅表中的第二辅表入口置为O,否则,完成删除操作;
(5) 检查该DATATEID的第一辅表中的数据是否全部为O,如果为0,则 将主索引表中的第一辅表入口置为O,否则,完成删除操作。
以上是16_4-4-4-4方法创建、査找和删除DATATEID节点的方法,用该方 法相对于DRAM中的16-8-8的方法多了两次对存储空间的操作,但是16-4-4-4-4 方法可以节省一定的SRAM空间,同时由于对于SRAM的操作时间小于DRAM 的操作时间,所以在SRAM中采用这种方法,可以获得较快的査找速度,同时 减少对存储空间的使用。
对于CTL TEID TABLE,存储在DRAM中,对32bit的TEID采用16-8-8 的分段方法进行创建和匹配,该方法采用1个主索引表和2个辅表,如图2b中 所示,主索引表取每个CTL TEID的31 —16bit,第一辅表取15 — 8bit,第二辅 表取7—0bit。
创建CTL TEID TABLE必须由Xscale向DRAM申请存储空间中,并且获 得主索引表的首地址值,将主索引表中的全部值初始化为0。 创建一个CTL TEID节点的步骤如下(1) 取出CTLTEID的31 —16bit作为一个16bit的偏移量,加上主索引表 的首地址,即可找到该CTLTEID的第一辅表的首地址;如果第一辅表入口项不 为0,则表明存在与该CTLTEID前16位相同CTLTEID,否则,创建该TEID
的第一辅表,获得该TEID的第一辅表的首地址,并初始化第一辅表的全部字段
为0;
(2) 取出CTLTEID的15 —8bit作为一个8bit的偏移量,加上第一辅表的 首地址,即可找到该CTLTEID的第二辅表的首地址;如果第二辅表入口项不为 0,则表明存在与该CTLTEID前24位相同CTLTEID,否则,创建该TEID的 第二辅表,获得该TEID的第二辅表的首地址,并初始化第二辅表的全部字段为
0;
(3) 取出CTL TEID的7 — 0bit作为一个4bit的偏移量,加上第四辅表的 首地址,即可找到该CTLTEID节点,在该节点中记录CTLTEID值,根据TEID 上下行状态在CTLTEID节点中记录TEID的标志;如果是下行CTL TEID,则 TEID标志记为DOWN,将UP/DOWN DATA TEID地址、UP CTL TEID地址和 隧道建立请求时间字段置为0。如果是上行CTL TEID,则TEID标志记为UP, 将DOWN CTL TEID地址和隧道拆除请求时间字段置为0。
查找一个CTL TEID节点的步骤如下
(1) 取出CTLTEID的31 — 16bit作为一个16bit的偏移量,加上主索引表 的首地址,即可找到该CTL TEID的第一辅表的首地址;
(2) 取出CTL TEID的15 — 8it作为一个4bit的偏移量,加上第一辅表入 口地址,即可找到第二辅表的首地址;
(3) 取出CTL TEID的7—Obit作为一个4bit的偏移量,加上第二辅表入 口地址,即可找到CTL TEID的值对应节点。
删除一个CTL TEID节点的步骤如下
(1) 将CTL TEID节点的数据置为0;
(2) 检査该CTLTEID的第二辅表中的数据是否全部为O,如果为0,则将 第三辅表中的第二辅表入口置为0,否则,完成删除操作;
(3) 检査该CTLTEID的第一辅表中的数据是否全部为O,如果为0,则将 主索引表中的第一辅表入口置为0,否则,完成删除操作;
以上是16-8-8方法创建、查找和删除CTL TEID节点的方法,由于DRAM 的操作时间比较长,因此应该尽量减少对DRAM的操作次数,16-8-8相对于16_4-4-4-4方法减少了 2次读写操作。16-8-8方法只采用了 2级辅表,每一级辅 表包含有256个节点,而16-4-4-4-4方法的每一级只含有16个节点的辅表,因 此16-8-8的存储容量会比较大,但是DRAM的空间相对与SRAM比较大,可 以存储较大的辅表结构,因此,通过增加辅表结构减少对DRAM的操作次数。 根据GTP隧道建立和删除的过程和状态,本基于网络处理器的GTP状态检 测防火墙的检测方法总共包括了隧道建立请求状态处理、隧道建立响应状态 处理、GTP-U数据包处理、隧道拆除请求状态处理、隧道拆除响应状态处理共 5个状态的处理,具体包括以下步骤
1、 隧道建立请求状态处理
隧道建立请求是由SGSN向GGSN发出,防火墙必须解析Create PDP Context Request包,通过存储TEID Data I、 TEID Control Plane字段和隧道建立 请求时间,记录隧道建立请求的状态,如图3a所示,其过程包括如下步骤
1.1微引擎收到Create PDP Context Request包后,对包的内容进行解析,取 出出TEID Data I和TEID Control Plane字段;
1.2将TEID Control Plane值记为Down CTL TEID,将TEID Data I值记为 Down Data TEID;
1.3在DRAM中用16-8-8方法査找CTL TEID Table是否巳经存含有相同值 的Down CTL TEID节点,如果存在执行14步,否则说明该隧道第一次申请建 立,执行15步;
1.4检査Down CTL TEID的隧道建立请求时间是否己经超时,如果没有超 时,则说明出现了异常的隧道建立请求,丢弃包,产生错误提示并退出,否则 执行第15步;
1.5检査Down DATA TEID中是否己经存在相同的Down Data TEID,如果 存在向用户和日志发出警告提示,执行16步;
1.6用16-4-4-4-4方法在SRAM的DATA TEID Table中创建Down Data TEID
节点,然后执行第17步;
1.7用16-8-8方法在DRAM的CTL TEID Table中创建Down CTL TEID节 点,然后执行第18步;
1.8在Down CTL TEID节点中记录Down Data TEID存储地址和隧道建立请 求时间,微引擎转发这个请求;
2、 隧道建立请求应答处GGSN收到SGSN的Create PDP Context Request包后,在规定的时间内向 SGSN发出隧道建立响应包Create PDP Context Response,当SGSN收到该包后, SGSN和GGSN之间的GTP隧道正式建立。防火墙一方面通过对请求节点的检 査从而判断是否该隧道是否进行过申请,避免恶意的隧道建立响应包的产生, 耗费SGSN和GGSN节点的资源;另一方面,通过比较申请的时间,从而判断 这次隧道的申请是否超时,为无效隧道建立响应,并且可以清除节点中不正常 的隧道建立状态。因此,防火墙通过对TEID和建立时间等方面记录检查隧道建 立过程中的状态,避免隧道建立过程中遇到非法的攻击。如图3b所示,其过程 包括如下步骤
2.1微引擎收到Create PDP Context Response包后,对包的内容进行解析, 取出TEID、 TEID Data I和TEID Control Plane字段,将TEID值记为Down CTL TEID, TEID Control Plane值记为UP CTL TEID,将TEID Data I值记为UP Data TEID;
2.2在DRAM中用16-8-8方法查找CTL TEID Table是否含有这个Down CTL TEID值的节点,如果存在执行23步。否则,说明该隧道建立响应为无效,丢 弃包,产生错误提示并退出;
2.3检査Down CTL TEID节点中的隧道建立请求时间是否己经超时,如果 超时,则说明隧道建立响应异常,丢弃包,产生错误提示并退出,否则执行第
24步;
2.4检查Down CTL TEID是否有Down Data TEID的存储地址,UP CTL TEID节点和UP Data TEID节点的存储地址是否为空,如果以上检査有异常,则 向用户和日志发出警告提示,执行25步;
2.5在DRAM中用16-8-8方法査找CTL TEID Table是否有UP CTL TEID, 如果已经有,向用户和日志发出警告提示,继续执行26步;
2.6在SRAM中用16-4-4-4-4方法査找DATA TEID Table是否有UP Data TEID,如果己经有,向用户和日志发出警告提示,继续执行27步;
2.7用16-4-4-4-4方法在SRAM的DATA TEID Table中创建UP Data TEID
节点,然后执行第28步;
2.8用16-8-8方法在DRAM的CTL TEID Table中创建UP CTL TEID节点,
然后执行第29步;
2.9在Down CTL TEID节点中记录隧道建立时间,并且存储UP CTL TEID和UPDataTEID,完成对隧道建立过程和状态的记录,微引擎转发这个响应。3、 GTP-U数据包处理当GTP-U数据包经过防火墙的时候,防火墙必须对GTP-U进行检査,如果 GTP-U数据是已经建立的隧道中的数据,则让其通过,并且记录数据流量,如 果不能在已经建立的隧道中找到GTP-U数据包对应的隧道,则认为GTP-U是非 法数据包,丢弃该数据包。通过对GTP-U数据包的隧道检査,完成对非法流量 和恶意攻击的防御,保证两端设备的正常流量。如图3c所示,其过程包括如下步骤3.1微引擎收到GTP-U数据包后,对包的内容进行解析,取出TEID字段, 将TEID值记为UP/DOWN DATA TEID;3.2用16-4-4-4-4方法在SRAM的DATA TEID Table中査找是否存在 UP/DOWNDATATEID值的节点,如果存在,说明该GTP-U数据包是已经建立 的隧道中的数据,否则,则认为出现非法数据包,丢弃数据包并且提示错误;3.3对隧道数据流量进行统计,UP/DOWN DATA TEID节点的数据包流量 计数器加l,微引擎转发这个数据包。4、 隧道拆除请求处理隧道拆除请求由SGSN向GGSN发出,防火墙必须解析Delete PDP Context Request包,在IP表和TEID表中査找相应的隧道节点,通过拆除申请时间,记 录删除隧道请求的状态,避免各种恶意攻击和隧道拆除,如图3d所示,其过程 包括如下步骤4.1微引擎收到Delete PDP Context Request数据包后,取出TEID字段,将 TEID值记为UP CTL TEID;4.2用16-4-4-4-4方法在DRAM的CTL TEID Table中査找含有UP CTL TEID值的节点,如果节点存在,则说明该隧道申请拆除,否则,该包为非法的 拆除请求包,丢弃数据包并且提示错误;4.3检查UPCTLTEID节点的隧道删除请求时间是否超时,如果超时,说 明上次请求己经无效,可以继续申请,执行第44步,否则,认为这个请求是非 法或者恶意的请求,丢弃数据包并且提示错误;4.4在UPCTLTEID节点中记录隧道拆除请求时间,微引擎转发这个请求。5、 隧道拆除处理GGSN收到隧道拆除请求之后,在规定的时间内向SGSN发出隧道拆除响应包Delete PDP Context Response ,当SGSN收到该包后,SGSN和GGSN之间 的GTP隧道正式拆除。防火墙通过检査隧道节点和拆除申请时间,判断GGSN 和SGSN之间是否己经提交过拆除请求,同时检査拆除请求是否超时,避免恶 意的隧道建立响应包的产生。如果以上条件全部合法,则认为GGSN和SGSN 之间的隧道需要正式拆除。防火墙转发Delete PDP Context Response包,同时删 除存储在CTL TEID Table和DATATEID Table上的节点。如图3e所示,其过程 包括如下步骤5.1微引擎收到Delete PDP Context Response后,取出TEID字段,将TEID 值记为DOWN CTL TEID;5.2用16-4-4-4-4方法在DRAM的CTL TEID Table中査找DOWN CTL TEID值的节点,如果节点存在,则说明要拆除的隧道存在,否则,该包为非法的拆 除响应包,丢弃数据包并且提示错误;5.3根据DOWN CTL TEID节点存储的UP CTL TEID地址,获得该隧道的 UP CTL TEID;54检查UPCTLTEID节点的隧道删除请求时间是否超时,如果超时,说明 请求已经无效,这个隧道拆除响应非法或为恶意攻击,丢弃包并且提示错误, 否则,执行第55步;5.5根据16-8-8中删除节点的方法,删除CTL TEID Table的UP CTL TEID 节点;5.6根据DOWN CTL TEID节点存储的Down Data TEID和UP Data TEID地 址,找到Down Data TEID和UP Data TEID节点,按照16-4-4-4-4中删除节点的 方法,在DATA TEID Table中删除Down Data TEID和UP Data TEID节点;5.7根据16-8-8中删除节点的方法,删除CTL TEID Table的Down CTL TEID节点,微引擎转发这个响应。按以上所述,则可以较好地完成对隧道建立、使用和拆除不同状态下的检 测,防止非法数据包和恶意攻击对两端节点的攻击。上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实 施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、 替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
权利要求
1、 基于网络处理器的GTP状态检测防火墙,其特征在于包括微引擎簇、Xsacale核心处理器、SRAM、SRAM控制器、DRAM、DRAM控制器;多个所述微引擎簇依次连接,且各个微引擎簇分别由多个微引擎依次连接组成;所述微引擎簇、Xsacale核心处理器分别与PCI总线连接;多个SRAM、DRAM相应通过SRAM控制器、DRAM控制器分别与PCI总线连接。
2、 根据权利要求1所述基于网络处理器的GTP状态检测防火墙,其特征在 于每个微引擎内部分别设有多个硬件线程。
3、 采用权利要求1或2所述基于网络处理器的GTP状态检测防火墙的基于 网络处理器的GTP状态检测方法,其特征在于包括隧道建立请求状态处理、隧 道建立响应状态处理、GTP-U数据包处理、隧道拆除请求状态处理、隧道拆除 响应状态处理共5个状态的处理,具体包括以下步骤(1 )隧道建立请求状态处理,是指由网络处理器的微引擎完成对Create PDP Context Request包的解析、数据表结构创建和状态记录,包括如下步骤(1.1 )解析数据包中的TEID Data I和TEID Control Plane字段,由TEID Data I值得到Down Data TEID,由TEID Control Plane值得到Down CTL TEID;(1.2) 在CTL TEID TABLE中査找是否已经存在相同的含Down CTL TEID 值的节点,检査该节点的隧道建立请求时间是否有效;(1.3) 检查Down Data TEID是否存在,在SRAM的DATA TEID TABLE 中创建Down Data TEID节点;(1.4) 在DRAM的CTL TEID TABLE中创建Down CTL TEID节点,记录 Down Data TEID存储地址和隧道建立请求时间;(2)隧道建立响应状态处理,是指由网络处理器的微引擎完成对Create PDP Context Response的解析、状态检査和数据表结构创建,包括如下步骤(2.1) 解析请求包中的TEID、 TEID Data I和TEID Control Plane字段,所 述TEID即为Down CTL TEID,由TEID Data I值得到UP Data TEID,由TEID Control Plane值得到UP CTL TEID;(2.2) 在CTL TEID TABLE中査找含Down CTL TEID值的节点,并检査 请求时间的有效性;(2.3 )在CTL TEID TABLE中査找是否己经存在相同的UP CTL TEID节点;(2.4 )在DATA TEID TABLE中查找是否已经存在相同的UP Data TEID节点;(2.5) 在DRAM的CTL TEID TABLE中创建UP CTL TEID节点;(2.6) 在SRAM的DATA TEID TABLE中创建UP Data TEID节点;(2.7 )在CTL TEID TABLE的Down CTL TEID中记录UP Data TEID和UP CTL TEID存储地址;(3) GTP-U数据包处理,是指由网络处理器的微引擎完成对GTP-U数据 包的解析和状态检査,包括如下步骤(3.1) 解析GTP-U包中TEID ,作为UP/DOWN DATA TEID;(3.2) 在DATA TEID TABLE中査找含UP/DOWN DATA TEID值的节点;(3.3) 记录该UP/DOWN DATA TEID的数据包数量;(4) 隧道拆除请求状态处理,是指由网络处理器的微引擎完成对Delete PDP Context Request包的解析、状态检査和记录,包括如下步骤(4.1) 解析数据包中的TEID,作为UP CTL TEID;(4.2) 在CTL TEID TABLE中查找含UP CTL TEID值的节点,检查隧道拆 除请求时间是否有效;(4.3) 在UP CTL TEID中在隧道节点中记录隧道拆除请求时间;(5) 隧道拆除响应状态处理,是指由网络处理器的微引擎完成对Delete PDP Context Response的解析、状态检查和数据表结构删除,包括如下步骤(5.1) 解析响应包中的TEID,作为DOWN CTL TEID;(5.2) 在CTL TEID TABLE中査找含DOWN CTL TEID值的节点,根据 DOWN CTL TEID记录的UP CTL TEID节点,检査隧道拆除请求时间是否有效;(5.3 )在数据表中査找DOWN CTL TEID记录的Down Data TEID、 UP Data TEID和UP CTL TEID节点并删除;(5.4) 删除DOWN CTL TEID节点。
4、根据权利要求3所述基于网络处理器的GTP状态检测方法,其特征在于 所述Down CTL TEID、 UP CTL TEID都存储在DRAM空间的CTL TEID TABLE 数据表Down CTL TEID节点和UP CTL TEID节点中;Down CTL TEID节点的 数据结构为Down CTL TEID值、下行标志、隧道建立请求时间、存储隧道的 Down/UP Data TEID的节点地址、存储隧道的UP CTL TEID的地址;所述UP CTL TEID节点的数据结构为UPCTLTEID值、上行标志和隧道拆除请求时间。
5、 根据权利要求3所述基于网络处理器的GTP状态检测方法,其特征在于所述UP Data TEID、 Down Data TEID都存储在SRAM空间的DATA TEID TABLE 数据表的UP Data TEID节点和Down Data TEID节点中;所述UP Data TEID节 点的数据结构包括UP Data TEID值和隧道中上行数据包数量,所述Down Data TEID节点的数据结构包括Down Data TEID值和包括隧道中上行数据包数量; 所述UP Data TEID节点包括隧道中上行数据包数量,所述Down Data TEID节 点包括隧道中上行数据包数量。
6、 根据权利要求3所述基于网络处理器的GTP状态检测方法,其特征在于 在SRAM中查找DATATEID TABLE时,对32bit的TEID采用16-4-4-4-4的分段 方法进行创建和匹配,在DRAM中査找CTL TEID TABLE日寸,对32bit的TEID 采用16-8-8的分段方法进行创建和匹配。
7、 根据权利要求6所述基于网络处理器的GTP状态检测方法,其特征在于 所述16-4-4-4-4的分段方法采用1个主索引表和4个辅表,主索引表取每个DATA TEID的31 — 16bit,第一辅表取15 — 12bit,第二辅表取11 一8bit,第三辅表取7 —4bit,第四辅表取3—0bit;创建所述DATATEID TABLE,必须由Xscale核心 处理器向SRAM申请存储空间,并且获得主索引表的首地址值,将主索引表中 的全部值初始化为0;然后再创建各个DATATEID节点;所述16-8-8的分段方法采用1个主索引表和2个辅表,主索引表取每个CTL TEID的31 —16bit,第一辅表取15 —8bit,第二辅表取7—Obit;创建所述CTL TEID TABLE必须由Xscale核心处理器向DRAM申请存储空间,并且获得主索 引表的首地址值,将主索引表中的全部值初始化为O;然后再创建各个CTL TEID 节点。
8、 根据权利要求7所述基于网络处理器的GTP状态检测方法,其特征在于 所述16-4-4-4-4的分段方法中,创建一个DATATEID节点的步骤如下(1) 取出DATA TEID的31 —16bit作为一个16bit的偏移量,加上主索引 表的首地址,即可找到该DATA TEID的第一辅表的首地址;如果第一辅表入口 项不为0,则表明存在与该DATA TEID前16位相同DATA TEID,否则,创建 该TEID的第一辅表,获得该TEID的第一辅表的首地址,并初始化第一辅表的全部字段为O;(2) 取出DATATEID的15—12bit作为一个4bit的偏移量,加上第一辅表 的首地址,即可找到该DATA TEID的第二辅表的首地址;如果第二辅表入口项1. 不为0,则表明存在与该DATA TEID前20位相同DATA TEID,否则,创建该 TEID的第二辅表,获得该TEID的第二辅表的首地址,并初始化第二辅表的全 部字段为0;(3) 取出DATA TEID的11 — 8bit作为一个4bit的偏移量,加上第二辅表 的首地址,即可找到该DATATEID的第三辅表的首地址;如果第三辅表入口项 不为0,则表明存在与该DATA TEID前24位相同DATA TEID,否则,创建该 TEID的第四辅表,获得该TEID的第三辅表的首地址,并初始化第三辅表的全 部字段为0;(4) 取出DATATEID的7—4bit作为一个4bit的偏移量,加上第三辅表的 首地址,即可找到该DATA TEID的第四辅表的首地址;如果第四辅表入口项不 为0,则表明存在与该DATATEID前28位相同DATATEID,否贝L创建该TEID 的第四辅表,获得该TEID的第四辅表的首地址,并初始化第四辅表的全部字段为O;(5) 取出DATATEID的3 — 0bit作为一个4bit的偏移量,加上第四辅表的 首地址,即可找到该DATA TEID节点,在该节点中记录DATA TEID值,并且 将流量值置为0;所述16-4-4-4-4的分段方法中,查找一个DATATEID节点的步骤如下(1) 取出DATA TEID的31 —16bit作为一个16bit的偏移量,加上主索引 表的首地址,即可找到该DATATEID的第一辅表的首地址;(2) 取出DATATEID的15—12bit作为一个4bit的偏移量,加上第一辅表 入口地址,即可找到第二辅表的首地址;(3) 取出DATA TEID的11 一8bit作为一个4bit的偏移量,加上第二辅表 入口地址,即可找到第三辅表的首地址;(4) 取出DATATEID的7—4bit作为一个4bit的偏移量,加上第三辅表入 口地址,即可找到第四辅表的首地址;(5) 取出DATATEID的3—0bit作为一个4bit的偏移量,加上第四辅表入 口地址,即可找到DATATEID值对应的节点;所述16-4-4-4-4的分段方法中,删除一个DATATEID节点的步骤如下(1) 将DATATEID节点的数据置为O;(2) 检査该DATATEID的第四辅表中的数据是否全部为O,如果为0,则 将第三辅表中的第四辅表入口置为O,否则,完成删除操作;(3) 检査该DATATEID的第三辅表中的数据是否全部为O,如果为0,则将第二辅表中的第三辅表入口置为O,否则,完成删除操作;(4) 检査该DATA TEID的第二辅表中的数据是否全部为O,如果为0,则 将第一辅表中的第二辅表入口置为O,否则,完成删除操作;(5) 检查该DATATEID的第一辅表中的数据是否全部为O,如果为0,则 将主索引表中的第一辅表入口置为O,否则,完成删除操作。
9、根据权利要求7所述基于网络处理器的GTP状态检测方法,其特征在于: 所述16-8-8的分段方法中,创建一个CTLTEID节点的步骤如下(1) 取出CTLTEID的31 —16bit作为一个16bit的偏移量,加上主索引表 的首地址,即可找到该CTLTEID的第一辅表的首地址;如果第一辅表入口项不 为0,则表明存在与该CTLTEID前16位相同CTLTEID,否则,创建该TEID 的第一辅表,获得该TEID的第一辅表的首地址,并初始化第一辅表的全部字段为0;(2) 取出CTLTEID的15 —8bit作为一个8bit的偏移量,加上第一辅表的 首地址,即可找到该CTLTEID的第二辅表的首地址;如果第二辅表入口项不为 0,则表明存在与该CTLTEID前24位相同CTLTEID,否则,创建该TEID的 第二辅表,获得该TEID的第二辅表的首地址,并初始化第二辅表的全部字段为0;(3) 取出CTL TEID的7—Obit作为一个4bit的偏移量,加上第四辅表的 首地址,即可找到该CTLTEID节点,在该节点中记录CTLTEID值,根据TEID 上下行状态在CTL TEID节点中记录TEID的标志;如果是下行CTL TEID,则 TEID标志记为DOWN,将UP/DOWN DATA TEID地址、UPCTLTEID地址和 隧道建立请求时间字段置为O。如果是上行CTLTEID,则TEID标志记为UP, 将DOWN CTL TEID地址和隧道拆除请求时间字段置为0;所述16-8-8的分段方法中,査找一个CTL TEID节点的步骤如下(1) 取出CTLTEID的31 —16bit作为一个16bit的偏移量,加上主索引表 的首地址,即可找到该CTL TEID的第一辅表的首地址;(2) 取出CTL TEID的15 — 8it作为一个4bit的偏移量,加上第一辅表入 口地址,即可找到第二辅表的首地址;(3) 取出CTL TEID的7—Obit作为一个4bit的偏移量,加上第二辅表入 口地址,即可找到CTLTEID值对应的节点;所述16-8-8的分段方法中,删除一个CTLTEID节点的步骤如下(1) 将CTL TEID节点的数据置为0;(2) 检査该CTLTEID的第二辅表中的数据是否全部为O,如果为0,则将 第三辅表中的第二辅表入口置为O,否则,完成删除操作;(3) 检査该CTLTEID的第一辅表中的数据是否全部为O,如果为0,则将 主索引表中的第一辅表入口置为O,否则,完成删除操作。
全文摘要
本发明公开了一种基于网络处理器的GTP状态检测防火墙及其检测方法,系统包括微引擎簇、Xsacale核心处理器、静态随机存储器(SRAM)和SRAM控制器、动态随机存储器(DRAM)和DRAM控制器。根据隧道建立,使用和删除过程中TEID的不同,在不同的存储区域建立了不同数据结构,合理的利用了存储空间;同时针对SRAM和DRAM的特点,对CTL TEID TABLE和DATATEID TABLE采用了不同的查找算法,减少状态检测对上下行数据的影响,既解决了网络处理器快速存储器容量有限的问题,又减少了查找次数,提高了GTP防火墙状态检测的处理速度。
文档编号H04L29/08GK101286851SQ20081002704
公开日2008年10月15日 申请日期2008年3月27日 优先权日2008年3月27日
发明者刘震宇, 谢胜利, 粤 赖 申请人:华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1