论文部分内容阅读
随着3G的社会化推广,3G和GPRS系统的核心网安全越显重要,如果不采取安全机制,会给网络带来安全隐患,IP网络中最简单的有效的措施就是防火墙保护机制。本课题正是在这样的背景下对基于GTP协议的3G防火墙进行研究。通过研究目前网络处理器的架构和应用研究情况,选择了具有性能高、灵活性好、扩展性强的IXP高端网络处理器--IXP 2850作为研究的平台。
根据网络处理器的硬件结构和IXA可移植架构进行了研究,结合包分类算法的分析,指出了IXP 2850提供的硬件加速处理的优势以及适合的算法,同时指出了在快速处理资源少等方面的不足以及受到限制的算法。通过以上分析,针对3G防火墙中的APN过滤和IMSI过滤,进行了包分类算法的研究。
通过APN过滤进行研究,指出了在网络处理器上实现APN过滤中匹配的难点。通过对哈希包分类算法的研究,结合网络处理器HASH单元的特点,采用位向量编码索引值的方法,提出了一种两级Bloom filter匹配方法(TLBF),第一级完成通配符后第一段字符匹配,匹配后再通过第二级Bloom filter进行不等长匹配。通过实验分析,该算法充分发挥了网络处理器的优点,有着较好的处理速度。
由于IMSI过滤包含前缀匹配,另外,由于IMSI的部分字段是不定长的,因此,存在着不等长带来的存储和查找的困难。针对IMSI由数字组成的特点,讨论了十进制Trie算法与十六进制Trie算法在存储方面的区别,提出了应用于IMSI过滤的十进制多比特Trie算法(Decimal Multi-Bits Trie,DMB Trie)。DMB Trie采用多比特分层Trie的查找方法,该方法可以精确匹配IMSI和IMSI前缀,而且可以较快的判断非规则包,主要缺点是需要较大的存储空间。为了能够提高IMSI过滤效率和节省空间,提出了一种基于向量编码的Bloom filter(VCBF)方法,该方法针对不等长的应用,对前缀进行位向量编码查找,同时,并行采用Bloom filter匹配,具有稳定快速的处理速度。实验表明,VCBF算法通过参数调整可以满足指标要求,并且由于采用并行运算,可以有较快的查找速度和节省快速存储资源,而DMB Trie在处理大量不符合IMSI规则的GTP包时候有较好的性能。
由于GTP不提供鉴权,因此在鉴权和授权方面存在着威胁,状态检测是3G防火墙中重要的一个功能。通过分析GTP隧道建立和删除过程,讨论了确定GTP隧道的状态变化的标识。根据隧道中TEID的变化不同,对控制TEID提出了基于Trie分类算法的CTEID Trie算法,并给出了一套在微引擎中分配和管理存储空间的方法;对数据TEID提出了基于Bloom filter的DTEID BF算法,该算法有较快的处理速度。最后通过GTP协议仿真软件OpenGGSN实验证明两种算法在实现GTP状态检测中的有效性。最后,介绍了基于网络处理器架构下的防火墙硬件组成,分析了快速通道微引擎和慢通道Xscale上的对应模块结构,概述了3G防火墙的管理系统的实现并且给出了本课题的研究开发环境。通过实验发现,本课题的3G防火墙在吞吐率等一些指标上接近和达到国外同类防火墙水平。