




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 一= = = # = = = = = = ;= = ;= = ;= 。= = = = ;= = = = = = = = 摘要 在简要分析英特尔奔腾处理器和l i n u x2 4 1 8 核心对对称多处理器结构支持的 基础上,结合常用的防火墙设计方法,设计了一个对称多处理器防火墙模型。该模 型具备包过滤、状态检测和应用代理功能。分析了规则表和连接状态表的读写锁使 用状况,同时设计了一些动态规则,它们是防火墙与入侵检测系统的互动接口。 采用连接预分配的机制,将连接状态表的内存管理从系统内存管理中分离出来, 单独进行分配和释放。同时还增强了防火墙模型的状态检测功能,采用了l r u 算法 对未完成连接链表进行管理,来提高系统的抗攻击能力。采用内核级代理来实现防 火墙的应用代理功能,减少了进程的上下文切换,提高了该模型的性能。 结合l i n u x 系统的缓冲区管理和任务队列机制,设计了一种新型的保存内核出 错信息的方法。直接使用系统的写缓冲功能,将错误信息保存到文件中,并增加了 自动记录报警日志的功能,提高了模型的可维护性。 从整体的网络环境和防火墙结构的观点出发,提出了相应的改进措旖。对单处 理器的防火墙和双处理器的防火墙进行了流量测试,表明了在高负荷的情况下,使 用多处理器可以加速防火墙的数据包处理能力。建立了防火墙模型的随机p e t r i 网模 型,分析读写锁对对称多处理器防火墙的吞吐率及响应时间的影响,并提出了在实 现中应该注意读写锁的设计等问题。 关键词:防火墙,对称多处理器,状态检测 华中科技大学硕士学位论文 a b s t r a c t w i t ht h eb r i e fa n a l y s i so ft h e s u p p o r t f o r s y m m e t r i c a lm u l t i p r o c e s s o r o fi n t e l p e n t i u mp r o c e s s o ra n dl i n u x2 4 18k e r n e l ,ap r o t o t y p eo ff i r e w a l lb a s e do ns y m m e t r i c a l m u l t i p r o c e s s o ri sp r o p o s e db ys o m ep o p u l a rm e t h o d s t h i sp r o t o t y p eh a sf u n c t i o n so f p a c k e tf i l t e r i n g ,s t a t ei n s p e c t i o na n dp r o x yf o ra p p l i c a t i o nl a y e r r e a d w r i t el o c k so f a c c e s sr u l e sa n dc o n n e c t i o ns t a t et a b l e sa r ea n a l y z e d d y n a m i cr u l e sa r ed e v i s e da st h e i n t e r f a c eb e t w e e nf i r e w a l la n di d s p r e a l l o c a t i n gs e p a r a t e st h em a n a g e m e n to fc o n n e c t i o ns t a t et a b l e s m e m o r yf r o m s y s t e mm e m o r ym a n a g e m e n t ,a l l o c a t i n ga n df r e e i n gi n d i v i d u a l l y n o to n l ye n h a n c i n g p r o t o t y p e ss t a t ei n s p e c t i o nb u ta l s oo p e r a t i n gu n f i n i s h e dl i n kb yl r ua l g o r i t h mc o u l d i m p r o v et h ea n t i - a t t a c ko fs y s t e m p r o x yf o ra p p l i c a t i o nl a y e ri si m p l e m e n t e di nt h e k e r n e lt or a i s et h ep e r f o r m a n c eo fp r o t o t y p eb yd e c r e a s i n gt i m eo f p r o c e s s i n gc o n t e x t s w i t c h i n g an e wm e t h o dt os t o r ek e r n e le r r o rm e s s a g e si s b r o u g h tf o r w a r d c o m b i n e dw i t h b u f f e rm a n a g e m e n ta n dt a s kq u e u eo fl i n u x i tw r i t e se r r o rm e s s a g e st of i l e b yt h e f u n c t i o no f s y s t e mw r i t i n gb u f f e r a n di tc a nr e c o r dt h ea l a r ml o ga u t o m a t i c a l l y t h u s m a i n t a i n a b i l i t yo f p r o t o t y p e i si n c r e a s e d i nv i e wo ft h ew h o l en e t w o r ke n v i r o n m e n ta n dt h ea r c h i t e c t u r eo f f i m w a l l ,s o m e c o r r e s p o n d i n gm e a s u r e sa l ep r o p o s e d e x p e r i m e n ts h o w st h a tm u l t i p r o c e s s o rf i r e w a l lc a n g e tm o r et h r o u g h p u to fp a c k e tu n d e ro v e r l o a dt h a ns i n g l ep r o c e s s o rf i r e w a l l ap e t r i - n e t m o d e lo ff i r e w a l li sp r o p o s e dt oa n a l y z et h ei n f l u e n c eo f r e a d w r i t el o c kt ot h r o u g h o u t a n dr e s p o n s et i m eo fs m pf i r e w a l l ,a n dt h e ns o m ea d v i c e i n c l u d i n gt h ed e s i g no f r e a d w r i t el o c kw h e n i m p l e m e n t e di sp r o v i d e d k e yw o r d s :f i r e w a l l ,s y m m e t r i c a l m u l t i p r o c e s s o r , s t a t ei n s p e c t i o n i i 华中科技大学硕士学位论文 1 绪论 1 1 课题背景 如今,因特网已经成为信息化社会发展的重要基础。它已深入到国家的政治、 经济、文教等诸多领域。t c p i p 协议是i n t e r n e t 的基础协议。最初的设计没有考 虑安全问题,因而造成了协议自身的安全脆弱性,使得网络容易遭受攻击i l 。5 】。因此 我们研制出各种网络安全防卫技术,而防火墙技术就是其中的一项基本技术。以往 在没有防火墙时,网络内部的每个节点都直接暴露给i n t e r n e t 上的其它主机,此时 局域网的安全要由每个节点的坚固程度来决定。而防火墙技术将局域网的安全性统 一到它本身,网络的安全性在防火墙系统上得到加固,而不是分布在内部网络的所 有节点上,这就简化了局域网的安全管理。 从最初的基于路由器的防火墙到现在的高性能多功能的防火墙,防火墙技术得 到了飞速的发展。包过滤技术,代理技术,地址转换技术,状态检测技术,乃至用 户认证和加密技术的出现,使得防火墙的功能变得越来越强大。随着防火墙功能的 增加,必然会使系统的性能有所下降。 传统意义上的防火墙拥有单一的接入点,它从物理上将网络划分为内部网络和 外部网络,这个唯一的接入点对内部网络和外部网络之间的信息传递进行控制。它 要检测所有流经它的数据包的安全性,从性能的角度来说,防火墙极易成为网络流 量的瓶颈,从安全性的角度考虑,防火墙极易成为被攻击的对象。尤其随着千兆以 太网以及新代i p 协议越来越多的应用,这些都要求防火墙向着更高的性能、更强 稳定性的方向发展,以避免成为网络瓶颈。 防火墙的硬件配置是决定防火墙性能最基本的因素,因此,提高防火墙硬件配 置也是提高防火墙性能最直接的方法。国外有些厂家干脆将防火墙的处理模块全部 用高性能的a s i c 芯片实现,这样就可以显著的提高防火墙的性能。但是由于造价 及技术等方面的原因,国内的产品基本上都没有采用a s i c 芯片。 目前国内的防火墙多用在中、小型网络中,在高端市场不具有竞争力。为了改 善这种局面,国内的防火墙产家也积极的进行着多种尝试。而采用对称多处理器结 构构建防火墙,就是我们性价比较高的选择之一。在对称多处理器上构建防火墙, 华中科技大学硕士学位论文 对防火墙原有系统的改动不大,同时也能够提高系统的并发能力。 1 2 国内外概况 由于网络安全的需求迫切,防火墙技术发展很快。国内外都有一些著名的安全 厂商从事防火墙产品【6 罐1 的生产,厂商之间的竞争也推动了防火墙技术的发展和防火 墙产品功能的增强。我们就从产品的角度来分析一下防火墙的技术现状【引。 1 2 1 国外产品 目前国外产品中比较有代表性的产品有:c h e c k p o i n t 的f i r e w a l l - 1 【l ,n e t s c r e e n 的n e t s c r e e n 5 0 0 0 系列和c i s c o 的p i x 5 2 0 。 c h e c k p o i n t 作为一个老牌的防火墙公司,其产品在网络防火墙市场上持续保持 着领先的地位。它创新性地提出了状态检测技术。该项技术能够检测和分析o s i 网 络通信模型中所有7 层协议的内容,动态更新状态和上下文数据,并为无连接的协 议( 如r p c 和u d p 应用) 提供虚拟的会话信息,通过累积的通信及应用状态信息 配合网络配置和安全策略规则实现对数据通信的有效控制。其产品f i r e w a l l - 1 以软 件包的形式发布,支持w i n d o w s n t 2 0 0 0 、s u ns o l a r i s 、l i n u x 这些主流操作系统。 f i r e w a l l 1 提供强大的访问控制、身份验证、内容安全等功能,集成安全管理、 v p n 、n a t 、q o s 等模块,允许安全策略的集中化管理和自动部署,图形化的l o g v i e w e r 为f i r e w a l l 1 执行点记录的所有连接提供实时的可视化跟踪、监控和统计信 息,使用o p s e c ( o p e n p l a t f o r mf o rs e c u r ee n t e r p r i s ec o n n e c t i v i t y ) 技术,能够有效 的集成第三方的安全产品。f i r e w a l l 1 还使用了一种将密集的安全操作分散到硬件加 速器或优化的软件的开放式接口s e c u r e x l a p i ,来提高系统的整体性能。 f i r e w a l l 1 的主要不足是由于其不是运行在专有的安全平台上,网络性能受运行 平台的影响比其它运行予专有平台的防火墙产品要略显大一些。另外它在做网络地 址转换的时候性能会有所下降。但是它可以通过对多种操作系统进行支持,运行在 高档工作站上,从而达到提高硬件配置的目的。 n e t s c r e e n 作为典型的硬件防火墙产商,其最新产品n e t s c r e e n - 5 0 0 0 系列采用了 n e t s c r e e n 的第三代a s i c 安全芯片g i g a s c r e e n i i ,该芯片可被视为一个完备的封包 处理器,在高达千兆位传输速率下,仍能提供多项先进功能,包括:封包分析、分 华中科技大学硕士学位论文 类、加密、解密、网络地址转换及会话配对功能等,同时采用了专有的操作系统来 驱动整个系统,所以其处理性能较软件防火墙要高。但是硬件防火墙除了成本高之 外,其访问控制能力也稍弱,并且升级维护也不方便。 c i s c o 是著名的路由器生产厂商,凭借其路由器产品在网络设备领域的良好声 誉,它也推出了一款防火墙产品p i x 5 2 0 【i ”。 p i x 5 2 0 继承了c i s c o 产品一贯的优点:采用专有的操作系统提供非同寻常的性 能。其吞吐率能够高达1 5 0 m b p s ,并且在做n a t 的情况下性能也不会下降。其网络 接入也十分方便。 但p i x 5 2 0 的访问控制能力较弱,甚至不能对f t p 的命令进行控制。另外它的 配置管理界面也继承了其路由器产品的特点,主要是通过控制口的命令行管理,提 供的w e b 界面管理功能也很弱,这对防火墙产品来说是很大的不足。 p i x 5 2 0 的日志和监视功能也比其它产品逊色。它能够占有相当的市场比率主要 是得益于其低廉的价格和c i s c o 公司的其它产品占有的市场。 1 2 2 国内产品 由于防火墙是一个涉及到国家敏感信息的产品,所以,国内也在大力发展本土 的防火墙产品【12 1 ,其中比较优秀的产品有:天融信公司的n g f w 3 0 0 0 、东大阿尔派 的n e t e y e 3 2 等。 国内防火墙产品除了功能比较齐全以外,还具有各自的特色。例如:天融信的 n g f w 3 0 0 0 除了提供访问控制服务外,还能够集成v p n 模块提供通信安全服务, 采用硬件加密卡来加快加解密的速度,另外其提出的t o p s e c ( t a l e n to p e n p r o t o c o l o fs e c u r i t y ) 专利技术能够将其防火墙产品与其它安全产品如i d s 、病毒检测等有 机的结合起来协同工作;东大阿尔派的n e t e y e 3 2 则提出了基于状态包过滤的流过 滤构架,并为管理员提供了较为强大的监测功能。国内的防火墙的最大优势就是提 供了中文化的管理界面和本土化的服务。 虽然都号称硬件防火墙,国内产品和国外产品还是存在着巨大区别。硬件防火 墙需要在硬件和软件两方面同时下功夫,国外产品的通常做法是软件运算硬件化, 其所设计或选用的运行平台本身的性能可能并不高,但它将主要的运算程序做成芯 华中科技大学硕士学位论文 片,以减少主机处理器的运算压力。国内的防火墙硬件平台基本上采用通用p c 系 统或工业p c 架构,除了换处理器,加内存之外,在提高硬件性能方面所能做的工 作并不多。在软件性能方面,国外的一些产品采用专用的操作系统,自行设计防火 墙。面国内所有厂家操作系统都是基于通用的l i n u x 。因此,国内的防火墙产品不 仅要提供更好的服务,还要提高系统的性能,增强系统的稳定性。 总的而言,当前的防火墙产品中主要使用的访问控制和安全技术包括报文过滤、 应用代理、状态检测、n a t 等等 1 3 - 1 9 】。 报文过滤技术:是最简单的防火墙技术,工作在网络层,它通过对报文进行模 式匹配决定是否丢弃报文,原理简单,实现容易。但用于过滤的信息仅为报文头部 信息,对报文内容无法过滤。另外它将同一个连接中的每个报文作为单独的控制单 元而不是作为一个有机的整体,缺乏前后信息的关联。 应用代理技术:是安全级别最高、控制粒度最细的技术,工作在网络协议的最 高层应用层,接收客户机的访问请求并代理客户机向服务器发起访问,对访问的内 容进行检查和过滤。它的缺点必须针对特定的应用编写代理程序,另外效率也比报 文过滤要低。 状态检测技术:吸收了应用代理中内容过滤的思想,在报文过滤的基础上扩展 的一种新的过滤技术。它在网络层将报文的上层封装打开,从而实现网络层的内容 过滤。它将连接作为有机整体看待,在连接建立时为其建立并维护状态表。它能检 查应用层命令,对使用动态端口的协议能够较好的支持。状态检测是结合了报文过 滤和应用代理二者优点的比较平衡的技术,具有较高的效率和安全性,控制力度也 较细。但也必须对特定的动态端口协议专门进行处理。 n a t 技术:它不是一种访问控制技术,而是访问控制的辅助技术。它对报文的 地址进行转换,用以解决全局网络地址不足的问题,并能够隐藏内部网络的结构信 息。 目前还有一种主动式防火墙,它是主动网络技术和防火墙技术的结合体 2 0 - 2 3 。 主动网技术是在1 9 9 4 年关于网络系统未来发展方向的研讨会上提出来的。其主要研 究目的旨在解决传统i n t e m e t 标准化进程缓慢、分层协议处理冗余和引入新型服务 困难等问题。主动网络由一组称为主动结点的网络结点构成,每个主动结点可以是 华中科技大学硕士学位论文 路由器或交换机,这些主动结点共同构成了主动网络的执行环境。主动报文是复用 传输设施的基本单位,内嵌主动代码,当其流经主动结点时,报文中的主动代码被 激活执行,从而改变报文自身的内容或改变主动结点的环境状态,实现报文处理和 网络服务的配置。网络服务是由各个网络结点的行为定义的。 这种具有主动性的网络基础设施可以作为安全防御系统的基础,利用特定的主 动分组,可以对可能的入侵及时采取响应的措施,如调整对可能的攻击分组的处理, 追踪攻击源等主动响应措施,并能够在攻击停止后自动去除不必要的响应措施,减 小对正常通信的影响,该项技术对于对抗d d o s 攻击起到了良好的效果。但是该项 技术还处于实验阶段,没有成型的产品推出。 防火墙还有一个趋势就是向着分布式的方向发展f 2 4 - 2 6 1 。防火墙的分布式结构是 指将每个客户端安装在内部网络的每个节点上,包括个人计算机和网络服务器,以 全面防护整个内部网。它将一些处理化整为零,把任务分散到各个节点上分别处理, 可得到较小粒度的访问控制。这样不仅可以得到高的处理速度,还提高了整个系统 的安全性。 分布式防火墙仍然由中心定义策略,但由各个分布在网络中的端点实施这些制 定的策略。它依赖于三个主要的概念:说明哪一类连接可以被允许或禁止的策略语 言,一种系统管理工具和i p 安全协议。策略语言有很多种,其实只要选用的语言能 够方便地表达需要的策略就可,具体采用哪种语言并不重要,真正重要的是如何标 志内部的主机。系统管理工具用于将形成的策略文件分发给被防火墙保护的所有主 机,应该注意的是这里所指的防火墙并不是传统意义上的防火墙,而是逻辑上的分 布式防火墙。i p 安全协议是一种对t c p i p 协议族的网络层进行加密保护的机制。 分布式防火墙作为一种新的技术,很多地方还不成熟,尤其是在管理配置方面, 现在还无法取代传统的边界防火墙的地位,更多的是配合传统防火墙的使用。 目前,还有一种功能分离结构的防火墙。该结构使用多台防火墙来分担原来单 一防火墙的功能,从而提高防火墙的并发度。这样的防火墙具有几个明显的缺点: 首先,成本较高,并且它的单个部分还不能起到一个完整的防火墙的作用。其次, 各个部分之间的通讯比较复杂,实现较困难,各部分间的通讯也会有较大的消耗。 华中科技大学硕士学位论文 1 3 课题主要研究工作 本课题的主要研究工作包括: 首先,使用防火墙的设计方法,在对称多处理器结构上设计具有基本功能的防 火墙模型,增加系统的并发度,同时还要为入侵检测系统提供互动接口。 在该模型的基础上,改进防火墙的连接管理技术,以提高防火墙的性能和抗攻 击能力,设计高性能的内核级应用代理。还从产品的角度考虑,实施改进该模型的 可维护性方案。并通过简单的单、双处理器防火墙的吞吐量测试,证明模型的实用 性。 最后,建立该防火墙模型的随机p e t r i 网数学模型,分析在具体实现时应该注意 的若干问题。 6 华中科技大学硕士学位论文 2 在s m p 上构建防火墙原型的设计 在长期的研究中,人们先后开发了几种重要的多处理机系统结构模型,对称多 处理机s m p ( s y m m e t r i c a lm u l t i p r o c e s s o r ) 结构就是其中一种,这是一种比较简单 的多处理器系统结构。对称多处理机是一种通用的系统结构,无论是作为企业级服 务器还是用来进行高性能计算都越来越受重视,所以我们提出设计基于该结构的防 火墙系统,以期望得到更高的性能。在本章中,将利用传统的防火墙设计方法1 2 ”, 并结合对称多处理机的特点,设计出基于对称多处理器的防火墙模型。 2 1 防火墙的设计方法 2 i 1 设计流程 安全政策的定义:网络安全政策的定义是先决条件。一个网络安全政策的定义 包括对如下问题的回答: l 哪些是必须受到保护的网络边界; 2 哪些基于网络的服务将对外部网络实体开放; 3 哪些外部网络实体的哪些网络服务可以对内部用户开放; 4 对系统服务和系统行为存在哪些约定,例如:对内部用户是否认为可信。 安全政策的表示,分析,管理将由管理者提出。因为它关系到我们所设计的防 火墙的功能。 高层设计:高层设计的目的在于非详细的定义防火墙的整体模型结构和组织。 一旦高层设计完成后,设计者就可以选择不同的功能要素来构建防火墙。 详细设计和验证:在防火墙的高层设计里构建的要素将被细化,需要定义可选 择的过程和网络构建方式。 回顾和测试:一旦防火墙已经开发,它就需要确定是否正确的强化了网络安全 政策。在这一阶段不仅需要回顾防火墙系统也需要回顾安全政策。 2 1 2 设计方法 下面粗略的介绍所使用的防火墙的设计方法 华中科技大学硕士学位论文 1 防火墙设计的参考模型:安全模型的作用在于分析和解释系统中和安全相关 联的部分。参考模型并不是要产生一个可以操作的具体实现,而是给出将要实现的 防火墙的功能描述,以有利于理解网络访问控制各个部分的关系和它们之间是如何 作用的。参考模型在某种程度上可以给出局部网络可实施的功能。参考模型的给出 便于理解如下部分: ( 1 ) 防火墙系统中应该包括哪些功能: ( 2 ) 这些功能如何得以实施; ( 3 ) 这些功能如何在概念层次上相互作用: ( 4 ) 它们如何分布以产生规模优势; ( 5 ) 它们如何应用到不同的协议层; ( 6 ) 它们如何组成一个完整的防火墙安全体系结构。 2 防火墙功能要素的评价:这一方式产生对防火墙不同功能要素的评价,但评 价需要经验和时间,这种评价可以根据下面原则进行: 产品标识,文档和用户培训、功能、可操作性和可维护性,功能耗费。上面的 每一种评价方式包括一组问题,标准或实验,当然其中有可能应用或不能应用于产 品中。通过系统的应用这些标准对于防火墙的检查,我们可以得到对于防火墙产品 的一个全面理解: 3 防火墙功能的验证:防火墙功能的验证是为了用已确立的实验和过程来验证 防火墙产品。验证方法是通过虚拟真实的网络危险来测定防火墙所保护的网络及证 明防火墙是否达到或超过所声明的保障。关于验证的例子可见t h en a t i o n a l c o m p u t e rs e c u r i t ya s s o c i a t i o n ( n c s a ) 的相应验证程序。在防火墙已经完成了所有 的功能后,对防火墙的检查仍然十分重要。包括: ( 1 ) 损坏控制:如果防火墙遭到损害,对内部网将造成多大的威胁;如果防火 墙遭到破坏,对内部网将造成多大的威胁: ( 2 ) 区域的危险性:在通常的操作中,有多大的区域是危险区域? 一种判定方 法是有多少主机和路由器可以被外面的主机探测到: ( 3 ) 错误模式:如果防火墙被非法闯入,是否容易被探测到;如果被破坏,是 否容易被探测到;在通常的状态下,有多少的保留信息可以用来探测攻击行为的发 华中科技大学硕士学位论文 生; ( 4 ) 易用性:重置防火墙是否容易; ( 5 ) 缺省方式:它基于防火墙的缺省安全政策是“没有明确允许就拒绝”或 “没有明确拒绝就允许”。 4 防火墙构件的比较:防火墙的构件比较的一般方法是将采用矩阵,防火墙的 构件列在一个轴上,而将评价标准列在另一个轴上。矩阵的方块大小给出了将评价 标准应用在功能构件上的结果。该矩阵给出了功能模型和评价的概要。 可应用的防火墙设计工具:存在一种新的防火墙设计工具是基于形式化的作色 p e t r i 网。这一方法给出了一个对防火墙功能机制的探测方式。它通过用相同的形 式组合防火墙部件实时地设计一个功能完备的防火墙。被设计系统的行为和特征可 以通过实时模拟而检测出来。此外p e t r i 网的理论可以用来检测模型系统的理论特 征; 5 设计的防火墙测试:r a n u m 提出了一种称为面向设计的防火墙测试方法。它 是人工和自动的测试的组合。它首先检查防火墙高层然后自顶向下的更加详细的检 查到低层。它的处理流程包括如下几步: ( 1 ) 比较已实现的防火墙和将要实现的防火墙的差别; ( 2 ) 通过管理界面来检查配置; ( 3 ) 操作测试防火墙。检测者使用网络工具来探测防火墙及内部网,测定暴 露的服务来验证访问控制是否执行了它声明的服务; ( 4 ) 检查已经允许的网络服务看是否所有的网络漏洞已打了补丁; ( 5 ) 采用相同的过程重复上面的过程。 上述的测试过程将对如下几点进行检查:安全政策回顾;技术实现回顾,包括 允许的防火墙配置及结果;对服务的评价,包括允许服务及配置;回顾周期。这种 方法对防火墙的实现中是可行的。但它不能对防火墙的设计,选择和构建进行指导。 2 2 硬件平台的选取 防火墙原型在设计时选用了英特尔的奔腾对称多处理器系统,这是目前性价比 最高的对称多处理结构之一。它含有两路到三十二路对称的处理器节点,通过共享 9 华中科技大学硕士学位论文 = ;= = = = ;= = # ;= = = = ;= = # z = = = = # = = = = = = = 存储器来进行通信,因此其传输速率高。并且每个处理器都拥有自己的缓存,且带 宽高于内存总线的缓存总线,所以该类型的对称多处理器可以获得很高的并行计算 性能。在对称多处理的结构中,每个处理器节点在运行时都是平等的,所有的处理 器共享可用的全部资源,包括总线、内存、输入输出系统和操作系统,每个处理器 节点都在独立地、异步地执行指令。后面所讲到的对称多处理器结构如果没有特别 说明,就是专指英特尔奔腾对称多处理器系统。 2 2 1 对称多处理器的中断机制 防火墙对包的处理大都是在系统的中断处理中完成的,我们就应该先了解一下 对称多处理器的中断机$ 1 j 2 8 , 2 9 l 。传统的i 3 8 6 处理器都采用8 2 5 9 a 中断控制器,而 8 2 5 9 a 只能与处理器节点一对一的连接,达不到动态分配中断请求的目的。因此英 特尔设计了一种更为通用的中断控制器,称为“高级可编程中断控制器”( a d v a n c e d p r o g r a m a b l ei n t e r r u p tc o n t r o l l o r ) ,缩写成a p i c 。在对称多处理器结构中除了每个处 理器芯片内部集成的本地高级可编程中断控制器之外,还有一个外部的、全局的高 级可编程中断控制器。外部的高级可编程中断控制器可以把来自外部设备的中断请 求提交系统中的各个处理器,每个处理器也可以通过本地的高级可编程中断控制器 向其它的处理器发出中断请求。整体结构如图2 1 所示: 本 图2 is m p 结构中的中断控制机构 2 2 2 对称多处理器中的若千问题 对称多处理系统与单处理系统最大的不同就是对称多处理器对数据的互斥和同 i o 华中科技大学硕士学位论文 步要求更高了,很多在单处理器中是互斥的操作在多处理器系统中就可能不再互斥 了。一般而言,在对称多处理器系统中只要能保证对临界资源操作的原子性,就可 以保证系统的互斥性。为了保证一些操作的原子性,i 3 8 6 提供了在指令执行期间对 共享总线加锁的手段。其芯片上有一条锁引线,把该引线的电位拉低后就将共享总 线锁住,这样同一共享总线上的其它处理器就不能通过该总线访问内存了。对于现 代的处理器系统,不同处理器对临界资源操作的互斥性和次序上的正确性主要是靠 硬件解决的,软件往往只起到了辅助性的作用。 为了提高处理器对内存的访问速度,每块处理器都集成了一定大小的高速缓存 ( c a c h e ) ,每次需要刷新高速缓存时,就会从内存中将目标所在的- j , 块数据,称 为一条缓冲线( c a c h el i n e ) ,以较高的速度装入。处理器有专门的硬件监视系统总 线上对内存的操作,一旦发现其它的处理器对自己的高速缓冲区所缓冲的目标进行 了写操作,就自动把相应的缓冲线废弃,这样就保证了高速缓存和内存的数据一致 性。 2 3 构建防火墙操作系统的选取 设计中选择了l i n u x2 4 1 8 核心的红帽子l i n u x7 3 作为防火墙的开发环境【3 。 实现防火墙必须截包并对网络数据包的内容进行修改,这就要求必须对t c p i p 协 议栈进行修改。现有的操作系统一般提供了t c p i p 的接口,如s u ns o l a r i s 的 s t r e a m s ,w i n 3 2 的网络驱动接口规范,但实现方式复杂且效率不高,而且无法了 解源码不利于保证安全性。l i n u x 作为自由软件,有开放的源码,以及性能可靠, 高效的t c p i p 协议栈:有内核防火墙可以作为实现自己的防火墙的接口;在应用 层也有g l i b c 这样功能强大的标准函数库可供使用,所以是实现防火墙的首选操作 系统平台。 之所以选择2 4 1 8 核心,主要是出于以下的考虑:2 4 1 8 核心是l i n u x 核心的最 新的稳定版本,它提供了很多老核心所不具备的特性。它提供了对i a 6 4 服务器端 产品的支持,提供对6 4 位p c i 系统的支持:对支持对称多处理结构进行了改进, 尤其是在网络事务处理方面;支持千兆以太网,提供了千兆网卡的驱动。所有的这 些特点都方便了我们在高性能的硬件上构建能够投入实际使用的高性能防火墙。而 华中科技大学硕士学位论文 一= := = ;= = = = = = = ;= = = = = = 2 = = = = = = = ; 2 0 核心不支持千兆以太网,2 2 核心虽然支持千兆以太网,但不支持6 4 位p c i 等 系统,不利于构建高性能防火墙。同时它还在内核开放了简单方便的防火墙接口。 下面我们先分析一下l i n u x 哪些特点对于我们在对称多处理器上构建高效防火墙有 帮助。 2 3 1l i n u x 的读写锁 为了在对称多处理器内核中进行同步,l i n u x 引入了读写自旋锁【3 ”。对读写自 旋锁的申请在处理器上是循环执行的,直到成功的申请到该锁为止,这样就节省了 上下文切换的时间,减小系统的负载。读写自旋锁允许多个内核控制路径同时读取 同一数据结构临界区。如果一个内核控制路径想对这个结构进行写操作,那么它必 须首先获得读写锁的写锁。同样的,如果想对这个临界区进行读操作,就必须先获 得读锁。在对称多处理器上构建防火墙时,实现互斥的手段主要就是使用读写自旋 锁。一般情况下,我们对于某个特定的共享临界区,都会声明一个单独的读写锁来 保证该区域的同步和互斥。一旦对该资源上了写锁,则其它的读写操作都不能进入 这个临界区,直到该写锁被释放后,其它的操作才能重新竞争该锁。上读锁的情况 有点不同,当某个操作取得了读锁后,此时申请写锁的操作是不能进入这个临界区 的,但是其它的读锁操作仍然可以进入这个临界区,从而增加的系统的并发度。 2 3 2l i n u x 的软中断 在现代操作系统中,几乎每一个中断处理操作都被分成了两部分,即中断处理 程序( i s r ) 和下半部分处理程序( b o t t l eh a l f h a n d l e r ) 。两者之间的区别是:在中断 处理的上半部分,中断是被禁止的,精确的说是至少有一个中断( 当前中断) 在一 个处理器上( 当前处理器) 是被禁止的:而在中断处理的下半部分,系统中的中断 都是允许的,新的中断可以随时抢占下半部分处理程序。通过将中断处理划分为两 部分,并且让上半部分处理函数只做最少最快的工作,例如将数据从设备缓冲区拷 贝到内存,而将后续的更耗时间的工作留给下半部分处理程序去执行,有效的减少 了中断阻塞的时间,从而提高了系统的中断处理效率。 l i n u x 中的网络处理的下半部是通过软中断机制( s o f t i r q ) 来实现的。每个软中 断在内核中由一个s o f l i r qa c t i o n 的结构来表示,该结构中包含该软中断的实际处理 2 华中科技大学硕士学位论文 函数和参数。系统定义了一个包含3 2 个s o f t i r q _ a c t i o n 元素的数组来保存所有的软 中断,也就是说,系统中最多可以允许3 2 个软中断的存在。软中断在不同处理器上 是完全并行的执行的,并且软中断一定与激活自己的代码在同一个处理器上执行。 网络数据的接收和发送都是使用软中断来实现的,本设计中的模型就是利用了这样 的机制来提高对称多处理器的网络数据包并行处理能力。 2 3 3n e t f i l t e r 框架 n e t f i l t e r 是l i n u x2 4 提供内核处理数据包的框架结构,我们主要利用它以下的 两个特性【3 2 】: 1 每一种协议的数据包在这个协议栈中都要经过一个处理的流程,n e t f i l t e r 在 包经过的流程中的某些确定的点定义了挂载点。对于i p v 4 有5 个挂载点。在每一个 挂载点上,协议栈都要根据数据包头信息以及挂载的序号调用n e t f i l t e r 的处理函数: 2 除了核心挂载的处理函数外,我们也可以自己编写挂载函数并挂载到相应的 挂载点上,同核心的挂载处理函数一样,我们的函数也可以使用不同的返回值来决 定对数据包的处理方式,挂载函数的返回值有如下几种: n fa c c e p t :允许包通过; n fd r o p :将包丢弃: n fs t o l e n :表示该包不用再被处理; n fr e p e a t :荐次调用这个挂载函数: n fq u e u e :将数据包排队,般是等候应用层处理a 下面我们就介绍n e f f i l t e r 对于i p v 4 的挂载点的结构,如图2 2 所示: 二= = = l :p r e = = = 型 【r a u t e c = = :参3 :f f f ) c = = = = d 5 :f o s i = = = = = = 令 且可 2 :i n r r o o r e 0口 钞4 :o u t 口 图2 2n e t f i l t e r 的挂载点 华中科技大学硕士学位论文 = := = = = = = = ;= = ;= = = = = = = = ;= = ;= = ;= = ;一 图2 2 中给出了i p v 4 的网络数据包在协议栈中所走的路径,以及n e t f i l t e r 的5 个挂载点。网络数据包在进入协议栈,查找路由之前,有一个挂载点l 。在路由选 择之后,网络数据包的走向有两种可能:一种是这个网络数据包是发往本机的,于 是该网络数据包将被发往本机上层继续处理:一种是这个网络数据包需要转发。 n e t f i l t e r 针对这两个走向各有一个挂载点,分别是图中2 2 的2 和3 。对于本机所产 生的网络数据包,n e t f i l t e r 也有一个挂载点,即图2 2 中的4 。本机发送的网络数据 包在查找路由之后,连同需要转发的网络数据包一起,再经过一个共同的挂载点5 。 为了能把自己的处理函数挂载到相应的挂载点上,需要定义n e t f i l t e r 框架所提 供的n fh o o ko p s 结构,且使用n e t f i l t e r 提供的注册函数进行注册。一个挂载点可 以挂载若干个处理函数,根据函数在注册时的优先级确定处理函数执行的先后顺序。 n fh o o k 结构的定义如下:_ops s r u c tn f _ h o o k _ o p s s t r u c tl i s th e a dl i s t ;p 双向链表的指针,通常初始化为 n u l l n u l l + n fh o o k f n * h o o k ; p 函数指针,也即用户需要注册的挂载 函数+ i n t 武p 协议族,对于i p v 4 初始化为p f _ i n e t + i n th o o k n u m ; i n tp d o f i 锣; p 挂载号,也就是图中某一个挂载点的 编号 产优先级,表示在同一个挂载点的 执行先后顺序+ ) ; 其中,n f h o o k f n + 函数指针所定义的函数形式如下: t y p e d e fu n s i g n e di n tr f f _ h o o k f n ( u n s i g n e di mh o o k n u m ,s t r u c ts kb u f f + s k b ,e o n s t s t r u c tn e t _ d e v i c e + i n ,c o n s ts t r u c tn e td e v i c e + o u t ,i n t ( + o k f n ) ( s t r u c ts k b u f f + ) ) ; n e t f i l t e r 还提供了注册和注销n f _ h 0 0 k _ o p s 结构的函数n f _ r e g i s t e r h o o k ( s t r u c t 1 4 华中科技大学硕士学位论文 n fh o o k _ o p s + ) 和r f f _ u n r e g i s t e r h o o k ( s t r u c tn f _ h o o k _ o p s + ) 。 我们实现的防火墙对数据包的处理函数,也需要定义成上面的形式,并通过 r f fh o o k _ o p s 结构挂载在指定的挂载点上。 2 4 基于s m p 防火墙的总体结构与设计 2 4 1 总体结构图 我们实现的防火墙模型的体系结构如图2 3 所示。我们列出了主要的模块,并 给出核心中的模块在n e t - f i l t e r 中所处的位置。 图2 3 防火墙模型的总体结构 图2 _ 3 给出了防火墙原型中的各个主要模块,以及它们之间的相互关系。其中, 规则匹配和状态检测模块,以及地址转换和应用代理先后挂载到挂载点l 上:带宽 管理模块挂载在挂载点4 。规则匹配和状态检测模块完成规则匹配,对于已经存在 连接的数据包,则进行状态检测。地址转换的功能是执行数据包地址转换,也即把 原来的地址改为防火墙的转换地址;应用代理需要将客户端的出去包的源地址进行 转换,同时还要将服务器返回包的目的地址改为内网客户的地址。 华中科技大学硕士学位论文 显然,规则匹配和状态检测模块必须挂载到挂载点1 ,且优先级最高,地址转 换和应用代理必须挂载到挂载点1 ,这是因为它们的处理必须在路由之前。 该结构主要有以下特点: 1 对操作系统改动较小。由于规则匹配和地址转换模块都是挂载到i p v 4 协议 栈上,因而不需要改动操作系统源代码。克服了采用2 0 和2 2 核心时,为了实现 地址转换功能需要大量改动内核源代码的缺点; 2 具有较好的可伸缩性和扩展性。由于地址转换模块都是以挂载函数实现的, 所以可以方便的加载和卸载,当不需要地址转换功能时,可以方便地将它卸载。当 需要在防火墙中添加其他功能,例如网络地址与m a c 地址绑定时,由于一个挂载 点可以挂载多个处理函数,所以只需要将网络地址与m a c 地址绑定的处理模块挂 载到规则匹配模块之前就可以了,不需要在i p 协议栈的下层对网络地址与m a c 地 址绑定进行处理。 2 4 2 防火墙对包的处理 对于t c p 连接包,防火墙先查询连接状态表,如果找到,就按照指定的操作进 行后续处理。在没有找到的情况下,如果不是s y n 包,就进行丢弃,如果是s y n 包,就查找规则表,如果允许通过,就建立一条新的连接状态表项,并进行后续处 理,否则就丢弃。对于u d p 包和i c m p 包的处理流程大致如下:先查连接状态表, 找到就进行后续处理,没找到就查规则表,允许通过就建新的连接状态表项,并进 行后续处理,否则就丢弃。 为了保证系统的安全性,每一条连接状态表项都有一个生存期,在生存期内每 到达一个包就将生存期重新刷新,如果在规定的生存期内没有包到达,防火墙将删 除这个连接表项。 在对称多处理器要保证系统的并行,某些共享资源的处理必须进行互斥和同步, 其基本工具就是读写锁。在防火墙中最基本的两个共享资源就是规则表和连接状态 表。当配置程序创建规则表,或者重新配置时,需要申请写锁。规则表在创建后, 如果用户中途不进行修改,它始终
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025房地产公司客户服务人员劳动合同范本
- 2025年二手车销售与保养一体化服务合同
- 2025年环保产业园循环经济模式中的废弃物处理与资源化利用技术创新报告
- 2025年建筑施工安全管理信息化在施工现场安全管理中的应用前景分析报告
- 数字化展示技术在文化遗产保护与传播中的创新应用研究报告
- 工业互联网平台建设与数据驱动的运维方案
- 沼气处理技术在2025年新能源产业链融合的智能化能源创新应用案例分析
- 移动应用开发全流程指南
- 低功耗硬件设计与AI推理结合-洞察及研究
- 自考专业(金融)模拟题库附参考答案详解(研优卷)
- 2025年注册测绘师测绘综合能力的真题卷(附答案)
- 项目城市轨道交通风险管理与安全评估刘连珂
- 道路施工机械设备安全知识培训
- AI在护理查房中的应用
- 证券行业智能化投资组合管理方案
- 银行员工消保知识培训
- 地理与劳动教育
- 第5课 甲午中日战争与列强瓜分中国狂潮 公开课一等奖创新教学设计
- 初中数学新人教版七年级上册第二章《有理数的运算》教案(2024秋)
- 人教版(2025新版)七年级下册数学第七章 相交线与平行线 单元测试卷(含答案)
- 厂房消防应急预案
评论
0/150
提交评论