(计算机软件与理论专业论文)基于网络处理器的防火墙系统设计与实现.pdf_第1页
(计算机软件与理论专业论文)基于网络处理器的防火墙系统设计与实现.pdf_第2页
(计算机软件与理论专业论文)基于网络处理器的防火墙系统设计与实现.pdf_第3页
(计算机软件与理论专业论文)基于网络处理器的防火墙系统设计与实现.pdf_第4页
(计算机软件与理论专业论文)基于网络处理器的防火墙系统设计与实现.pdf_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 随着近年来全球网络带宽的飞速增长,对网络设备尤其是边界接入设备的性能要求 越来越高,与此同时,日新月异的网络应用又对网络设备功能上的灵活性、可维护性提 出了更高的要求。防火墙技术发展至今,同样面临这两方面的问题。传统设计模式中, 基于x 8 6 的软件防火墙可以解决功能与协议快速支持的问题,基于a s i c 的硬件防火墙 则能够解决性能及可扩展性上的问题,然而两者无法兼顾现今性能与功能两方面的要 求。网络处理器的出现为防火墙设计提供了新的思路,基于网络处理器的防火墙系统同 时具备采用a s i c 纯硬解决方案的高性能和通用c p u 软件解决方案的高灵活性。 论文对i n t e l 网络处理器硬件和软件体系结构进行了研究,给出了一个基于i x p 2 4 0 0 网络处理器的防火墙系统整体设计方案,该设计充分利用了网络处理器硬件的微引擎多 线程并行处理能力,并且构造出层次型、模块化的软件实施框架。此外,论文完成了对 微引擎数据层面的路由转发、包过滤和网络地址转换三个核心功能微块的设计和实现, 相关章节先从包分类的角度进行理论分析,再结合i x p 2 4 0 0 网络处理器的特性设计辅助 数据结构及查找算法,最后通过在各自的极端条件下进行测试验证了各模块的设计方 案,并证明了系统能够达到线速的包处理性能。 【关键词】:网络安全,防火墙,网络处理器,i x p 2 4 0 0 ,路由转发,包过滤,网络地址 转换 a b s t r a c t a l o n gw i t ht h er a p i d 擎o v 曲o fg l o b a ln e t w o r kb a n d w i d t hi nr e c e n ty e a r s ,t h es p e e d r e q u i r e m e n to fn e t w o r kd e v i c e se s p e c i a l l ye d g e a c c e s sd e v i c e sg e t sh i g h e r a tt h es 锄et i m e , q u i c k l yd e v e l o p i n gn e t w o r k 印p l i c a t i o n sc a uf o rd e v i c e sw i t hm o r en e x i b i l i t ya n d1 0 w e rc o s t o fc h a n g e n o w a d a y sn r e w a l lt e c h n o l o g ya l s of a c e st h ed i l e m m ac o n c e r i n gs p e e da i l d f l e x i b i l i t y d e s i g n e do nt r a d i t i o n a lp l a t f o r m s ,s o r w a r e6 r e w a uo nx 8 6a r c h i t e c t u r es o l v e d n e wa p p l i c a t i o na j l dp r o t o c o ls u p p o n i n gp r o b l e m ,w h i l eh a r d w a u r ef i r e w a l lb a s e do na s i c m e tt h en e e df o rs p e e da n ds c a l a b i l i t y h o w e v e r ,n e i m e ro ft h e mc o u l da c h i e v ea d v a l l t a g e si n b o t hs p e e da n df l e x i b i l i 够t h ee m e 玛e n c eo fn e t w o r kp r o c e s s o rb r i n g sab r a l l dn e ws o l u t i o n f i r e w a us y s t e mb a s e do nn e t w o r kp r o c e s s o rc o m b i n e st h es p e e do fa s i cw i t ht h en e x i b i l i t y p r o v i d e db yt h ec o m m o n c p u t h ep a p e r sr e s e a r c hw o r ki n c l u d e sm es t u d yo fh a u r d w a r ea j l ds o r w a r ea r c h i t e c t u r eo f i n t e li x p 2 4 0 0n e t w o r k p r o c e s s o r b yu t i l i z i n g h a r d w a r e p a m l l e l i s m o fm u l t i - t h r e a d m i c r o e n g i n e s ,a sw e ua sc o n s t m c t i n g1 a y e r e d a 1 1 dm o d u l 撕z e ds o r w a r e 行a m e w o r k ,a n a r c h i t e c t u r ed e s i g no ft 1 1 ef i r e w a l ls y s t e mb a s e do ni x p 2 4 0 0i si n 仃o d u c e d f u n l l e n n o r e ,t l l r e e c o r e 允n c t i o n f o a r d e r ,f i l t e ra 1 1 dn a tm i c r o b l o c ki nm em i c r o e n g i n ed a t a - p l a n ea r e d e s i g n e da n di m p l e m e n t e d a r e rt h e o r e t i c a la 1 1 a l y s i su s i n gp a c k e tc l a s s i f i c a t i o np e r s p e c t i v e a j l dc o n s i d e r i n ga d v a n t a g e sb r o u g h tb yt 1 1 eh a r d w a r ep l a t f o m ,a s s i s t a n td a t as 仉l c t u r ef o r e a c hm i c r o b l o c ka 1 1 di t sl o o k u pn o w c h a r ta r ei n t r o d u c e d 7 r h ed e s i g ni sv a l i d a t e db yt e s t s u n d e rc r i t i c a lc i r c u m s t a n c er e s p e c t i v e l yt oe a c hm o d u l e i ta l s op r o v e sm a tt l l es y s t e mc o u l d g e n e r a l l ym nw e l li nt h el i n er a t e k q 唧o r d :n e t w o r ks e c u r i t y ,f i r e w a l l ,n e t w o r kp r o c e s s o r ,i x p 2 4 0 0 ,r o u t i n g & f o n a r d i n g , p a c k e tf i l t e r i n g ,n e t w o r ka d d r e s s7 i 、r a i l s l a t i o n i i i 图表目录 图1 1 按照应用划分的网络带宽增长示意图l 图1 2 防火墙三大体系结构性能和成本示意图3 图1 3 网络处理器市场规模统计及预测3 图1 42 0 0 4 年度网络处理器产品市场份额4 图1 5s i m f i l t e r 系统结构图6 图l 一6 过滤规则表单条目的数据结构6 图1 7 线性查找系统性能随规则数变化的示意图7 图1 8 线性查找在不同流量构成下的系统性能示意图7 图1 9 基于i x p 2 4 0 0 的防火墙系统模块图8 图2 1 i n t e li x p 系列网络处理器1 2 图2 2i n t e l i x p 2 4 0 0 芯片结构图1 4 图2 3i n t e lm i c r o e n g i n ev 2 硬件结构图1 5 图2 4 微引擎线程状态转换图一1 7 图2 5 典型的网络应用功能层次划分2 3 图2 6i n t e l i x a 可移植框架2 3 图3 1 基于i x p 2 4 0 0 的防火墙系统设计框图一2 7 图3 2 包处理流水线示意图3 0 图3 3 使用3 个微引擎执行包处理的s i m f i l t e r 结构图3 2 图3 4 线性查找系统性能随规则数变化示意图( 1 微引擎v s 3 微引擎) 3 2 图4 1 路由查找相关操作在系统中的位置3 8 图4 2t r i e 树实例3 9 图4 3 路由查找t r i et a b l e 的数据结构4 0 图4 4 包含2 条路由信息的t r i et a b l e 实例4 1 图4 5n e x t h o pt a b l e 单条目的数据结构4 1 图4 6n e x t h o p1 1 a b l e 的表结构4 2 图4 7l 2t a b l e 单条目的数据结构4 3 图4 8l 2t a b l e 的表结构4 4 图4 9 路由查找d u a l l o o k u p 算法流程图4 5 图4 1ot r i et a b l e 实例2 4 6 图4 1 1 路由查找算法在不同流量构成下的系统性能示意图4 8 图5 1 最长前缀匹配t r i et a b l e 实例51 图5 2 包过滤五级t r i e 树结构一5 2 图5 3 某主干网路由器i p 前缀长度分布统计图5 3 图5 4 经过内存优化改进的包过滤双确e 树结构5 4 图5 5 包过滤t r i et a b l e 的数据结构5 6 图5 6d al i s t 单条目的数据结构5 7 图5 7d a “s t 的表结构5 8 图5 8 包过滤t r i et a b l e 实例5 9 图5 9f i l t e rt a b l e 的表结构6 0 图5 1 0 包过滤算法流程图6 3 图5 1 1 包过滤t r i e 树查找系统性能随匹配规则条数变化的示意图( 1 个微引擎) 6 6 i x 图5 1 2 包过滤t r i e 树查找在不同流量构成下的系统性能示意图( 1 个微引擎,4 条匹配规则) 6 6 图5 1 3 包过滤t r i e 树查找系统性能随匹配规则条数变化的示意图( 3 个微引擎) 6 7 图5 1 4 包过滤t r i e 树查找在不同流量构成下的系统性能示意图( 3 个微引擎,6 条匹配规则) 6 7 图6 1 带有哈希索引的n a p t 转换表的查找流程示意图一7 1 图6 2i n p u u t p u th a s ht a b l e 的数据结构7 3 图6 3n a p tt a b l e 单条目的数据结构一7 3 图6 4n a p tt a b l e 的表结构7 4 图6 5i n p u t o u t p u th a s ht a b l e 和n a p tt a b l e 实例7 4 图6 6 哈希值的计算7 5 图6 7i n p u tn a t 转换表查找流程图7 6 图6 8 网络地址端口转换在不同流量构成下的系统性能示意图( 使用h a s hu n i t ) 7 8 图6 9 网络地址端口转换在不同流量构成下的系统性能示意图( 使用c r cu n i t ) 7 8 图7 1 主动式安全防范系统逻辑图一7 9 图7 2 基于i x p 2 4 0 0 的防火墙系统部署环境拓扑图一8 0 图7 3 路由转发配置工具r c o n 鲰的列表功能演示8 1 图7 4 路由转发配置工具1 2 c o n f i g 的列表功能演示8 2 图7 5 包过滤配置工具f c o n 埏的列表功能演示8 2 表2 1i x p l 2 0 0 、i x p 2 4 0 0 和i x p 2 8 0 0 参数比较1 2 表2 2i x p 2 4 0 0 支持的存储器种类2 2 表3 1 包分类实例分析和比较3 6 表4 1n e x t h o pt l b l e 中f l a g s 域的说明4 2 表4 2l 21 a b l e 中f l a g s 域的说明4 3 表4 3 路由查找算法分析4 8 表5 1f o 九a r df i l t e rt a b l e 实例5 0 表5 2 包过滤算法的分析一6 5 表6 1 私有i p 地址空间分配表6 9 表6 2n a p t 转换表实例7 1 表6 3 网络地址端口转换哈希表查找算法的分析7 7 x 东南大学学位论文 独创性声明及使用授权说明 一、学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他入已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 己在论文中作了明确的说明并表示了谢意。 二、关于学位论文使用授权说明 签名:日期:2d p 6 孑 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位 论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人 电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论 文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包 括刊登) 授权东南大学研究生院办理。 签名: 翻奄 j 聊繇舟州略 1 1 研究背景 第1 章引言 随着i n t e m e t 的迅速普及,全球范围内的计算机网络病毒、操作系统漏洞、垃圾邮 件等网络安全问题层出不穷,网络安全产品和解决方案越来越成为各类网络用户和厂商 们的聚焦点,在众多的安全产品中,防火墙产品无疑是保障网络安全的第一道防线。 防火墙作为网络系统在安全领域的分支,和网桥、路由器等传统的网络设备一样, 在设计上经历了以下的几个阶段【l j :第一代网络系统建立在通用计算机系统之上,通过 软件完成包处理功能。然而,随着传输技术的飞速发展,限制网络速度的瓶颈由线路变 为处理单元,纯软件的处理方式已经无法胜任。第二代网络系统在第一代的基础上加入 了快速数据通路,并且网络接口卡具有更强的功能,为c p u 分担了处理底层数据包的 工作。第三代网络系统通过为每个网络接口加入嵌入式处理器扩展第二代的体系结构, 嵌入式处理器可以执行更高层的协议,并能处理那些不能由快速通道转发的包,为了获 得最高的处理速度,还可以采用定制硅片a s i c 。 截至2 0 0 5 年的统计数据,全球网络带宽仍维持约2 倍的年增长率( 如图1 1 所示) 。 防火墙作为访问控制设备,如果不能适应带宽的飞速增长必将成为整个网络的性能瓶 颈,因此,高性能无疑是现在防火墙设计的首要目标。同时,日益繁多的n e m e t 应用 对网络设备的灵活性提出了更高的要求:能够短时间、低成本地集成尽可能多的功能, 并且可以根据应用的变化灵活地进行修改和调整,成为下一代网络设备的另一设计目 标。 一v 0 1 c e 镳一i n t e r n e t 黛卜n o n i n t e r n e td a t a 7_ ;卜0 a t a c as t ln g :! 。 ,j 徽“ 妒妻。耄等。乏?: 1 9 9 92 0 0 02 0 0 12 0 0 22 0 0 32 0 0 42 0 0 5 图1 - 1 按照应用划分的网络带宽增长示意图( 来源:d c i t a ,a u s t r a i i ag o v e m m e n t ) 东南大学硕士学位论文 然而高性能和高灵活性不易兼得。传统设计中,网络系统要么由常规硬件加处理软 件组成,要么完全由专用硬件实现。两种方案各有优势:软件解决方案具备高灵活性, 能够通过低开销的修改来适应应用在未来一定程度内的变动,此外,单纯底层硬件速度 的提升不需要重写原有的软件;而硬件解决方案提供最高的处理速度,专用硬件可以为 每个功能而构建,避免了常规c p u 成为性能瓶颈的问题。两者的劣势恰恰是对方的优 势:软件方案的性能低;硬件方案通用性差、难以修改而且成本较高。 因此,一种折中的设计网络处理器( n e t w o r kp r o c e s s o r ,简称n p ) 被提出。感 性认识是:同常规c p u 一样,网络处理器是可编程的;但与常规c p u 不同,网络处理 器已经对包处理进行了优化。d o u g l a se c o m e r 【1 j 定义网络处理器是一种专用的、可编 程的硬件设备,它结合r s i c 处理器的低成本、灵活性以及a s i c 芯片的高速度和可扩 展性。由于同时具备了灵活的功能和高速的性能,网络处理器正成为构建第四代网络系 统的基本组件,也为我们设计和实施一个高性能、高灵活性的防火墙系统提供了全新的 平台。 1 2 国内外研究现状 1 2 1 防火墙体系结构现状 从体系结构设计的角度,目前的防火墙可以分为基于x 8 6 架构、基于a s i c 架构和 基于n p 架构三种类型。 x 8 6 架构一度是防火墙开发的主要平台。在硬件上,采用通用的c p u 和主板进行设 计,也称为工控机防火墙,防火墙的功能主要由运行在经过裁剪的操作系统上的软件来 实现。由于其具有开发、设计门槛低,技术成熟等优点,国内相当数量的防火墙产品都 属于这一类型。在国际上,c h e c l ( p o i n t 【2 】是软件防火墙厂商的代表。借助软件方式所带 来的灵活性,c h e c l ( p o i n t 还组织和倡导了o p s e c 【3 j ( 0 p e np l a t f o mf o rs e c u r i t y ) ,使用 户通过一个开放的、可扩展的集成框架来管理不同的网络安全产品。x 8 6 架构的缺点主 要在于性能:普通操作系统采用的c p u 中断的处理方式会造成极大的开销,反而采用 轮询方式在网络数据流的处理上会有更高的效率;3 2 位3 3 m h z 的p c i 总线也极大地制 约着包转发的速度;此外,大量的包处理工作要求c p u 的介入,使得通用c p u 成为整 个系统的最大瓶颈。 基于a s i c ( a p p l i c a t i o ns p e c i f i ci n t e g r a t e dc i r c u i t ) 架构的硬件防火墙是高端应用的 首选。它通过把防火墙应用相关指令和计算逻辑固化到特定的芯片中,从而获得极高的 处理能力,能够胜任千兆级的骨干网络环境。此技术的代表厂商是n e t s c r e e n l 4 j ( 2 0 0 4 年被j 吼i p e r 收购) ,其产品主要面向大、中型企业用户。a s i c 架构的缺点是灵活性差, 修改、维护不易,此外,开发成本高、周期长。 网络处理器( n p ) 为防火墙系统提供了全新的开发平台。它具备高速的包转发和包 7 第】章引言 处理能力、完全的可编程性、高效的编程模式、开放的编程接口以及良好的第三方支持, 可以通过软件完成各种协议的处理工作,对第三层及第三层以下的包处理更有着非常高 的效率。所有这些特性都表明网络处理器适用于防火墙系统的开发。目前,采用n p 架 构设计的防火墙在性能上和传统的x 8 6 架构防火墙相比有了很大的提高,但仍然逊色于 基丁二a s 】c 架构的纯硬件防火墙( 如图1 2 所示) 。在新功能的开发时间上,按照、世界的 经验数字,n p 二新功能的开发周期一般为6 个月甚至更短,而用a s i c 实现通常需要2 3 年的时间。因此,从成本尤其是初始的开发成本上看,采用n p 架构的防火墙要远远 廉价于采用a s i c 架构。目前还不能断言n p 可以替代a s i c ,在需要细粒度访问控制, 且线路速度适中的网络环境下,n p 技术将会得到认同;而在性能上要求绝对高速,功 能e 不进行深层数据包处理的网络应用中,a s i c 技术可以很好地适应。从全球著名的 半导体研究和分析机构i n s t a t 的公布的数据p 1 看( 如图l 一3 ) ,截至2 0 0 4 年底全球网络 处理器市场规模已超过1 亿美元,网络处理器在保持以巾端应用为主的势头下je _ 一步步 进入高端网络设备。相信随着时间的推移、技术的成熟,采用网络处理器的设计方式将 在性能上越来越接近于纯硬件方式,而在成本上更加低廉。 图1 2 防火墙三大体系结构性能和成本示意图 图1 3 网络处理器市场规模统计及预测 东南大学硕士学位论文 在网络处理器芯片生产和制造领域,比较知名的厂商有i n t e l ( i x p 系列) 、a m c c 、 t e s s e 、h i f n ( 收购i b mp o w e r n p ) 、m o t o r o l a ( c p o i r t ) 、a g e r e ( p a v l o a d p l u s ) 、c i s c 0 ( p x f ) 等。从近几年的统计数据来看,市场份额最大的一直是a m c c 和i n t e l 两家( 2 0 0 4 年度i n s t a t 的调查数据【5 j 如图1 4 所示) 。其中i n t e l 公司的i x p ( i n t e m e te x c h a l l g e p r o c e s s o r ) 系列【6 】因为其颇具代表性的体系结构作为研究平台被学术界广泛使用。 图1 - 42 0 0 4 年度网络处理器产品市场份额 1 2 2n p 防火墙技术现状 在n p 架构防火墙产品的研发上,国内厂商显示出了极大的热情。从2 0 0 3 年开始, 许多大中型安全技术厂商纷纷发布基于n p 架构的高端防火墙产品,如方正的方御 f g 8 0 0 0 - n p ,华为q u i d 、a ye u d e m o n1 0 0 0 ,联想的网御超五s u p e r v 系列,中科网威 n p f w 一1 0 0 0 ,瑞星的全功能n p 防火墙i u w s m e ( 使用i n t e l i x p 网络处理器) 等。值 得一提的是,截至2 0 0 4 年末占据国内防火墙市场最大份额的东软,在当年1 0 月宣布把 旗下n e t e y e 防火墙销量最大的一条产品线全部转移到自主研发的n p 架构下,主流型号 为4 0 3 2 的产品线全部改用n p 架构。东软网络安全事业部给出的2 0 0 5 年东软防火墙产 品线下自主n p 平台产品所占的比例为9 0 。与国内厂商相比,以c h e c l ( p o i n t 、n e t s c r e e n 、 c i s c o 、w a t c h g u a r d 、s y m a n t e c 等为代表的国外安全厂商在n p 架构防火墙产品的推出上 显得比较谨慎,不过许多公司、高校都针对网络处理器设立研发部门,在研究上倾注了 很大的精力。国内厂商热衷于n p 千兆防火墙的主要原因有三点:一是n p 成本相对较 低,开发周期短,投资回报快;二是n p 架构易于实现防火墙系统的各种功能模块;三 是n p 自身发展迅猛,处理速度上升很快。 网络处理器芯片选型是系统设计的第一步,从现有资料来看,本文设计所采用的 4 第1 覃引言 i n t e li x p 2 4 0 0 网络处理器处于国内相关产品中的中高档位置。i x p 2 4 0 0 标称o c 4 8 ( 2 4 g b p s ) 的性能,也就是说采用单i x p 2 4 0 0 芯片的全双工系统将拥有理论最大为 1 2 g b p s 的纯转发能力。对实现一个防火墙系统而言,所要做的就是在i x p 2 4 0 0 网络处 理器上增加如包过滤等包处理功能,从技术角度通常可以采用以下两种方式。第一种是 定制专用的协处理器芯片,n p 防火墙o e m 有时会针对某些功能需求直接选择市场上比 较成熟的协处理器,利用i x p 2 4 0 0 的硬件开放接口集成在其产品中,其优点是缩短了产 品的研发时间且该功能不占用网络处理器的自身资源,缺点是开发成本的增加。现有产 品中采用这种形式较多的是虚拟专用网( v p n ) 功能中的加解密模块,出于性能考虑相 当多的n p 防火墙o e m 选择了增加专用的协处理器芯片来承载这部分任务。第二种方 式是在i x p 2 4 0 0 网络处理器上软件实现各种包处理功能,采用该方式面临两大挑战:首 先,给i x p 2 4 0 0 增加任何除转发外的包处理功能都将有可能降低系统性能,至于程度则 取决于包处理功能本身的复杂性以及实现中使用的算法和数据结构;其次,i x p 2 4 0 0 具 有专用的指令集,即便是使用现有算法也需要重新编程,再加上网络处理器相对于通用 处理器偏弱的计算能力、有限的指令存储空间,给算法设计和实现者提出了很高的要求, 简单地将一些应用于传统平台的经典算法移植到i x p 网络处理器上未必能够达到理想 的效果。在本文的后续章节中会介绍,许多包处理功能都可以看作是包分类技术的应用 实例,从能够得到的国内外相关产品的资料中获知,经典包分类算法中查找速度较快的 i u c ( r e c u r s i v ef l o wc 1 a s s i f i c a t i o n ) 算法已经在i x p 系列网络处理器上得以实现,但如 果将其应用在本文所设计的系统中却有两个主要问题:首先,i 强c 算法计算逻辑复杂, 在不添置计算协处理器的情况下完全依赖网络处理器软件实现将耗费相当多的资源,影 响系统承载更多的功能;其次,i 汀c 算法适用于静态规则集,预处理时间较长,当规则 集变动较为频繁时算法性能退化严重,而规则集的动态性恰恰是本文所设计的系统在实 际应用中所需要面对的。除了r f c 算法之外,嘶e 树及其衍生算法也是许多n p 防火墙 产品和研究经常涉及的,其优点是不需要很复杂的计算,适合在网络处理器这样计算能 力偏弱的平台上实现,但是内存消耗却很大,如果不加以改进将无法应用于实际平台。 本文所要设计和实现的防火墙系统将采用不添加额外协处理器的方式在p 2 4 0 0 上软 件实现,在包处理算法的设计上不直接移植现有算法,而是充分考虑i x p 2 4 0 0 网络处理 器的特性指令集计算能力、微引擎多线程并行处理和多级存储器结构等,同时满足 背景项目的实际需求,设计出高效且适用包处理算法,最大限度地减少功能添加所带来 的性能损失,在具有自主知识产权的前提下达到或超过同档次相关产品的能力。 1 3 已有成果 本文的研究背景为江苏省科委科技计划项目高技术研究( 工业部分) 课题“主动式 安全防范系统的研究”( 2 0 0 4 年7 月至2 0 0 6 年6 ,月,课题编号b g 2 0 0 4 0 3 6 ) 。关于n p 防火墙部分,在先期研究中郝宁同学已经完成了一个基于i x p 2 4 0 0 网络处理器的简单包 5 东南大学硕士学位论文 过滤防火墙s i m f i l t e r 【7 】,而韩志耕同学则设计和实现了s t a c kd r i v e r 协议栈驱动核心组 件。 1 3 1 基于脚2 4 0 0 的简单包过滤防火墙甾m f i l t e r x s c a l ec o r e m i c r o e n g i n e s r x r 1 t e r m 哐o :1 r i n g f i l t e r + t x r i n g 图1 - 5s i m f t e r 系统结构图 s i m f i l t e r 系统结构如图1 5 所示。从宏观上看,s i m f i l t e r 是一个透明的过滤式防火 墙,通过直接串入需要进行访问控制的链路来达到依据管理员制定的规则转发或丢弃特 定报文的目标。s i m f i l t e r 本身不具备i p 地址,两端的网络存在直接的报文交换。从微 观上看,s i m f i l t e r 在数据层面( 有关i n t e l 网络处理器体系结构的介绍详见第2 章) 使 用了3 个微引擎,分别完成接收、过滤和发送的工作。其中过滤模块采用8 线程流水线 的组织方式提高性能,包过滤规则表置于s r a m 中,数据结构如图1 。6 所示。 , 川l u i ju u u - u o o6 1 u u 1 b i t3 1 ,1 6 ,8 ,o o s o u r c ea d d r e s s 1d e s t i l l a t i o na d d r e s s 矿2 s r c p o r td s t p o n 3r u l es e q n u ma c t i o np r o t o c o l 4s r ca d d r m a s k 5d s t a d d r m a s k 6s r c p o r t m a s kd s t p o r t m a s k 7 ( n e x t ) r u l ei l l d e x r e s e r v e dp r o t o c o lt a g 图1 6 过滤规则表单条目的数据结构 图中数据结构可以看出,s i m f i l t e r 采用线性查找的算法实现过滤功能,其时间复 杂度为o ( n ) ,n 为规则表条目数。最坏时间复杂度出现在报文不与任何表项匹配,即需 要遍历整个规则表的情况下。现构造最坏情况下的两组测试( 测试环境参见附录b ,下 同) ,所得数据如图1 7 、图1 8 所示。 6 第1 章引言 图1 7 线性查找系统性能随规则数变化的示意图 l z w l o 拖2l 0 0 2 。7 仓1 0 0 0 厶 羞 龟 8 0 0 j 囊垂囊* g i z i j j i | 蕊蔫蔫黼 羹 蔫j 辨菇 茹l 口口 6 0 0 i赫赫囊舞誉 d 口 纛i 毫薹:l 簟 萎4 0 0 j ; l 麴懑i囊 鬻藤 1 躐2 0 0 琏黼 i 群糍懋# l 篓i i 嚣蘩纛勰 v 4 65 7 61 5 0 07 4 :1 流量构成( b y t e ) 图1 - 8 线性查找在不同流量构成下的系统性能示意图 图1 7 为全4 6 b y t e 短包( i p 包长度为4 6 b ) ,t e ,相应的以太帧长6 4 b y t e ) 1 g b p s 流 量压力下,系统性能随规则表条目数增长的变化趋势,可以看出采用线性查找方式随着 n 的增大将严重影响系统的整体性能。图1 8 为规则表条目数固定为5 0 条,流量分别为 全4 6 b y t e 短包、全5 7 6 b ”e 包( 以太帧长5 9 4 b y t e ) 、全1 5 0 0 b y t e 长包( 以太帧长1 5 18 b y t e ) 和近似真实比例( 4 6 :5 7 6 :1 5 0 0 = 7 :4 :1 ) 压力均为1 g b p s 条件下的系统性能对比,选取上 述典型流量构成进行测试的依据来源于对数据包长度统计分布的研究【8 儿引。可以看到, 在过滤7 :4 :1 混合的仿真实比例数据流时,系统输出为8 0 0 m b p s ,如果压力维持将会出 现丢包。 s i m f i l t e r 是项目组早期开发的原型系统,虽然实用性不高,但使我们积累了在 i x p 2 4 0 0 网络处理器上的开发经验。同时,由于其经典的系统结构:包接收一包处理一 包发送,可以简单地将线性过滤模块替换为其它的包处理模块,构造各种极限条件进行 清晰的单模块性能测试,使其成为理想的实验床。 1 3 2n p 防火墙中的协议栈驱动模块s 切c kd r i v e r 和s i m f i l t e r 仅仅作为实验床程序不同,s t a c kd r i v e r 是最终的防火墙系统中一个不 7 东南大学硕士学位论文 可或缺的支撑模块,系统中各模块组织如图1 9 所示。虽然不直接涉及防火墙对外功能, 但s t a c kd r i v e r 协议栈驱动核心组件打通了网络处理器工程和m o n t a v i s t al i n u x 操作系 统本地协议栈之间的通路,可以使用本地协议栈来处理一些发往本地的报文,如a r p 、 i c m p 等,并且使运行在x s c a l e 用户空间下的应用程序得以获取从微引擎层面转发的报 文。 n a t f o n v a f d e r q u e u eo m p u t f i l t e r m a j l a g e r n a t 图1 9 基于l x p 2 4 0 0 的防火墙系统模块图 1 4 论文研究内容及组织结构 本文以在i n t e li x p 2 4 0 0 网络处理器上设计和实现一个高性能防火墙系统为目标,研 究内容包括:对i n t e l 网络处理器硬件和软件体系结构的研究;防火墙系统的模块化整 体设计;包处理微引擎线程流水线的设计;以及微引擎层面核心的三个功能模块路 由转发、包过滤和网络地址转换模块的设计与实现( 见图1 9 ) 。在理论上,用包分类的 概念描述和分析这三个模块的异同,并且分别为它们设计相应的辅助数据结构和查找算 法;实践上,通过单模块性能测试验证和评价了设计的有效性。 本文的组织结构如下: 第1 章作为引言,给出了基于网络处理器的防火墙系统出现的背景,并且介绍了国 内外相关的研究及产品现状,最后对项目组已有成果简单包过滤防火墙进行介绍和 第l 章引言 分析。 第2 章着重予i n t e l i x p 2 4 0 0 网络处理器硬件和软件体系结构的研究,旨在为后续章 节的设计和实现内容做好铺垫。硬件方面通过对i x p 2 4 0 0 芯片各部件的介绍,分析其为 网络数据包的高速处理和转发功能所提供的硬件特性;软件方面介绍了i n t e l 提出的互 联网交换架构可移植框架,为下一章模块化的系统整体设计提供理论依据。 第3 章将给出基于i x p 2 4 0 0 网络处理器的防火墙系统的整体设计方案。此后,对系 统设计中的两个核心技术:微引擎线程流水线组织和包分类技术进行概述。 第4 章介绍路由转发功能模块的设计与实现,为达到高速处理的目标,在设计上使 用啊e 树作为辅助数据结构,并给出相应的查找算法,最后通过性能测试验证了该设计。 第5 章介绍包过滤模块的改进设计与实现。面对使用顺序表和线性查找算法无法达 到高速过滤的事实,本章将建立复杂的嘶e 树辅助结构并且重新设计查找算法,在进行 了详细的理论分析和性能测试之后客观地评价了新方法所带来的改进。 第6 章介绍网络地址转换功能模块的设计与实现。本章采用外发数据报时初始化转 换表及端口映射n a t 的形式,结合i x p 2 4 0 0 网络处理器自身的硬件哈希功能,设计出 高效的数据结构和查找算法,最后通过性能测试完成对该模块的验证。 第7 章介绍基于i x p 2 4 0 0 网络处理器的防火墙系统在实际环境中的应用情况,通过 对其应用部署和用户界面的介绍描述了该系统的主要功能。 第8 章作为全文的总结,对论文的研究工作从理论和实践方面进行小结,并且对进 一步的工作进行了分析和展望。 9 第2 章i n t e l 网络处理器体系结构的研究l 在一般的程序设计中,由于有底层操作系统的强大支持,编程者往往可以不用考虑 线程调度,存储器、寄存器的数量和容量等细节问题,而在网络处理器程序设计中,忽 略这些因素就不能编写出优化的程序。在进行网络处理器,尤其是微引擎编程之前,需 要仔细了解网络处理器的系统结构和硬件平台。由于网络处理器特殊的体系结构,它的 软件编程模型比一般嵌入式开发模型更为复杂。本章将对i n t e l 网络处理器的硬件和软 件体系结构进行介绍,旨在为后续章节的设计和实现内容做好铺垫。 2 1i n t e li x a 架构及脚系列网络处理器 i x a 【1 0 j 是互联网交换架构( i n t e m e te x c h a n g ea r c h i t e c t u r e ) 的缩写。i n t e l i x a 架构 既包含了i n t e l 网络处理器的硬件体系结构,也包含了相应的软件体系结构,主要由以 下三部分组成: 微引擎( m i c r o e n g i n e ) 技术 微引擎是一种s c 逻辑器件,软件可编程,并且支持硬件多线程。一片网络处理 器通常含有多个可以并行工作的微引擎,这些微引擎构成了网络处理器中的“高速数据 通道”,执行绝大多数网络报文的处理工作。 x s c a l e 嵌入式处理器技术 i n t e lx s c a l e 是基于a r m 的嵌入式微处理器,它位于网络处理器的核心。x s c a l e 在 网路处理器中起控制和管理作用,包括:对系统初始化;提供系统时钟;建立并管理各 种存储器数据结构;提供一个对应于网络处理器寄存器、存储器和外部存储器的地址映 射表等。x s c a l e 在系统启动时,从b o o t r o m 开始执行引导程序,对整个系统进行初始 化。x s c a l e 可以接收经过微引擎转发的网络包,通常这是一部分流量不大但处理过程较 为复杂的报文,因此x s c a l e 上存在数据处理的“慢速通道”。 由此可见,微引擎承载了主要的包处理任务,x s c a l e 则控制着整个网络处理器的功 能。因此将微引擎层面称为网络处理器的“数据平面”;x s c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论