(控制理论与控制工程专业论文)高性能防火墙技术的研究与实现.pdf_第1页
(控制理论与控制工程专业论文)高性能防火墙技术的研究与实现.pdf_第2页
(控制理论与控制工程专业论文)高性能防火墙技术的研究与实现.pdf_第3页
(控制理论与控制工程专业论文)高性能防火墙技术的研究与实现.pdf_第4页
(控制理论与控制工程专业论文)高性能防火墙技术的研究与实现.pdf_第5页
已阅读5页,还剩88页未读 继续免费阅读

(控制理论与控制工程专业论文)高性能防火墙技术的研究与实现.pdf.pdf 免费下载

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

文档简介

高性能防火墙技术的研究与实现 摘要 i n t e r n e t 以惊人的速度在全球发展,正广泛渗透到人们生活的各个 领域。然而,随之而来的网络安全问题,使人们在享受网络便利的同 时,还要面对网络入侵的威胁。为了应对日益严峻的网络安全形势, 出现了各种各样的安全技术。防火墙技术是其中一种非常重要的防御 手段,正被广泛应用于各种网络环境中。 随着防火墙技术的发展,出现了各种实现技术。比较有代表性的 有传统包过滤技术、应用网关技术和状态包过滤技术。传统包过滤技 术具有较高的处理速度,但由于其缺乏对数据包高层信息的理解,导 致其安全性比较低。应用网关技术则恰恰相反,它能对数据包在高层 应用协议中的合法性进行检查,具有比较高的安全性,但却具有处理 速度比较低的弱点。而状态包过滤技术则很好的融合了传统包过滤和 代理网关的优点,既具有很高的处理转发速度,又具有较好的安全性, 是当今防火墙领域的主流实现技术。 状态包过滤是一种高性能的防火墙技术,状态检测机制作为其核 心,与它的性能息息相关,是本文研究的重点。本文的工作安排如下: 我们根据g u i d ov a nr o o i j 提出的利用t c p 数据包中序列号和确 认号的变化规律进行状态匹配的思想,设计了窗口跟踪机制。本文对 该机制的设计,是在对t c p 滑动窗口协议的工作原理及相关缓冲区 进行分析的基础上进行的,这使得推导过程更加直观。并且还弥补厂 原算法的不足,对各种可能出现的传输情况进行考虑,增加了相应的 处理机制,保证了状态检测机制的健壮性。 我们利用l i n u x 系统的n e t f i l t e r 防火墙框架,实现了基于窗口跟 踪机制的状态包过滤原型系统。 对原型系统和其他防火墙进行防火墙渗透测试实验。实验结果表 明原型系统能够防御非法伪造数据包的渗透攻击,验证了窗口跟踪机 制的有效性。 关键词:网络安全,防火墙,状态包过滤,窗口跟踪机制,l i n u x n e t f i l t e r ,防火墙渗透测试 s t u d y a n di m p l e m e n to f h i g h p e r f o r m a n c e f i r e w a l lt e c h n o l o g y a b s t r a c t w i t ht h e d r a s t i c a l l y w o r l d w i d e b o o m i n go ft h ei n t e m e t ,i t h a s p e n e t r a t e di n t oo u rl i f e n e v e r t h e l e s s ,i tg i v e sr i s et ot h en e t w o r ks e c u r i t y , w h i c hc a u s e sp e o p l et oc o n f r o n tt h et h r e a to fi n t r u s i o n sw h i l ee n j o y i n g t h ec o n v e n i e n c ef r o mi n t e r n e t av a r i e t yo fs e c u r i t yt e c h n o l o g i e sh a v e b e e nd e v e l o p e dt od e a l i n gw i t ht h ew o r s e n i n gn e t w o r ks i t u a t i o n f i r e w a l l i so n eo ft h em o s ti m p o r t a n td e f e n s i v em e a s u r e s ,w h i c hi su t i l i z e di n d i v e r s en e t w o r k t h ee v o l u t i o no ft h ef i r e w a l l g i v e s r i s et o m a n y r e a l i z a t i o n t e c h n o l o g i e s t h e t r a d i t i o n a l p a c k e tf i l t e r i n gp r o c e s s e sp a c k e t a t h i 曲 s p e e d ,b u ti t ss e c u r i t y i s p o o r t h et e c h n o l o g yo fa p p l i c a t i o ng a t e w a y i n s p e c t st h ev a l i d i t yo f p a c k e t s i nt h eh i g h e rp r o t o c o ll a y e r sv i c ev e r s a ,s o i ti sm o r e s e c u r e ,b u t w i t had r a w b a c ko fs l o w p r o c e s s i n gs p e e d c o m b i n i n gt h ea d v a n t a g e so ft h e m ,t h es t a t e f u lp a c k e tf i l t e r i n gw h i c h r e l a y sp a c k e t s a taq u i t e h i g hs p e e dw i t hs e c u r i t y ,b e c o m e st h em a i n r e a l i z a t i o nt e c h n o l o g yo ff i r e w a l ln o w s t a t e f u lp a c k e tf i l t e r i n gi sah i g hp e r f o r m a n c ef i r e w a l lt e c h n o l o g y a st h ec o r e ,t h es t a t e f u li n s p e c t i o nm e c h a n i s mi st h ef o c u so ft h i st h e s i s o u rw o r ki sa r r a n g e da sf o l l o w s f i r s to f a l l ,a c c o r d i n gt ot h ei d e ap r o p o s e db yg u i d o v a i lr o o i jt h a t u t i l i z e st h er e g u l a rv a r i m i o n so fs e q u e n c en u m b e ra n da c k n o w l e d g m e n t n u m b e ro ft c p d a t a g r a m t ou n d e r t a k es t a t e - m a t c h i n g ,t h et h e s i sd e s i g n s t h ew i n d o w - t r a c k i n gm e c h a n i s m i t sb a s e do nt h ep r i n c i p l e so ft c p s s l i d i n g w i n d o wp r o t o c o la n dt h e a n a l y s i s o fr e l a t e db u f f e r ,s om a k e i n d u c e m e n tm o r eo b v i o u s t h em e c h a n i s ma l s of i xt h ed i s a d v a n t a g eo f g u i d ov a nr o o i j sa l g o r i t h m ,i tt a k e se v e r yp o s s i b i l i t yo f t r a n s p o r t a t i o n i n t oa c c o u n t ,p r o v i d e sa d d i t i o n a lm e t h o d st og u a r a n t e et h er o b u s t n e s so f t h es t a t e f u li n s p e c t i o nm e c h a n i s m a f t e r w a r d s ,t h et h e s i sm a k e su s eo f t h en e t f i l t e rf r a m e w o r ki nl i n u x t oi m p l e m e n tt h ep r o t o t y p es y s t e mo fs t a t e f u lp a c k e tf i l t e r i n gb a s e do n t h ew i n d o w - t r a c k i n gm e c h a n i s m l a s tb u tn o tl e a s t ,af i r e w a l lp e n e t r a t i o nt e s ta g a i n s tt h ep r o t o t y p e s y s t e ma n do t h e rf i r e w a l l sh a sb e e nd o n e t h er e s u l td e m o n s t r a t e st h e i m m u n i t y o ft h e p r o t o t y p es y s t e m f r o ma t t a c k so ff o r g e d d a t a g r a m p e n e t r a t i o na n d v e r i f i e st h e v a l i d i t yo fw i n d o w t r a c k i n g m e c h a n i s m k e yw o r d s :n e t w o r ks e c u r i t y , f i r e w a l l ,s t a t e f u l p a c k e tf i l t e r i n g w i n d o w - t r a c k i n gm e c h a n i s m ,l i n u x ,n e t f i l t e r , f i r e w a i lp e n e t r a t i o n t e s t 附件一: 东华大学学位论文原创性声明 本人郑重声明:我恪守学术道德,崇尚严谨学风。所呈交的学位论文,是本 人在导师的指导下,独立进行研究工作所取得的成果。除文中已明确注明和引用 的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品及成果的 内容。论文为本人亲自撰写,我对所写的内容负责,并完全意识到本声明的法律 结果由本人承担。 学位论文作者签名:知鸭 日期:2 口哆年1 月z o 日 附件二: 东华大学学位论文版权使用授权书 学位论文作者完全了解学校有关保留、使捌学位论文的规定,同意学校保留 并向国家有关部门或机构送交论文的复印件和电子版允许论文被查阅或借阅。 本人授权东华犬学可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存和舡编本学位论文。 保密口,在年解密后适用本版权书。 本学位论文属于 不保密e “ 学位论文作者签名 檄 日期:2 0 0 锌1 月2 0 日 指导教师签名:甲辱节 已j 矩 日期:曲哆年月z d 日 第一章引言 1 1 研究背景 第一章引言 i n t e m e t 以惊人的速度在全球发展,广泛渗透到人们生活工作的各个领域。 然而,由此而带来的安全问题也变得曰益突出。根据c e r t 的统计,用户向其 报告的安全事故逐年增加:从1 9 8 4 年的1 3 2 件、1 9 9 5 年的2 4 1 2 件激增到2 0 0 1 年的5 2 6 5 8 件,而且,这些数字还仅仅是全球发生的计算机安全事故中的一部 分,还有大量的用户在发生安全事故后并没有向c e r t 报告。这些安全事故中 有些不只涉及到一个站点、一台计算机,甚至涉及到了成千上万的站点和计算 机,而且持续相当长时间,造成了严重的经济损失。 据美国f b i 的调查,美国每年因为网络安全造成的经济损失超过1 7 亿美 元。7 5 的公司报告财政损失是由于计算机系统的安全问题造成的。网络攻击 行为单单在去年就给美国企业和机构带来了2 6 6 亿美元的损失,是前三年的年 平均值的两倍多。1 9 9 8 年,一连串的网络非法入侵改变了中国网络安全犯罪的 历史空白。据公安部的资料,1 9 9 8 年中国共破获电脑黑客案件近百起,利用计 算机网络进行的各类违法行为在中国以每年3 0 的速度递增。 这一系列的统计数据都让人触目惊心,我们在充分享受现代网络互联所带 来便利的同时,不得不正视网络安全的威胁。随着计算机网络的不断发展,全 球信息化已经成为人类发展的趋势,维护网络安全已经迫在眉睫了。 为了应对日益严峻的网络安全问题,出现了各种各样的安全技术。防火墙 技术则是其中非常重要的一种防御手段。“防火墙”这个词实际上是从建筑上 种技术派生而来的,这种技术通过用一堵由防火材料建成的墙体来阻止或减缓 火势的蔓延。而在网络中,防火墙也发挥了类似的作用,只不过此时它阻止的 是网络攻击而不是火势。防火墙系统一般部署在网络边界上,是可信网络和不 可信网络之间的一个缓冲。它监测、限制和更改通过它的数据流,对外屏蔽内 部网的信息、结构和运行状况,以防止发生网络入侵或攻击,实现对内部网的 安全保护。 防火墙实质上就是一种隔离控制技术,从逻辑上看它既是一个分析器又是 一个限制器。它要求所有进出的网络数据流都应该通过它,并且所有穿过它的 数据流都必须符合安全策略。其工作原理是:按照事先规定好的配置和规则, 第一章引言 监测并过滤所有传向内部网或从内部网传出的数据,只允许授权的数据通过。 防火墙还应该能够记录有关连接的信息、服务器的通信量以及试图闯入者的任 何企图,以方便管理员的检测和跟踪。此外防火墙本身也必须具有比较高的抗 攻击性【1 1 。 防火墙技术种类繁多,比较有代表性的有包过滤技术、应用网关技术和状 态包过滤技术。包过滤由于只在网络层对数据包进行处理,并不将数据包传给 高层协议,因而具有较高的处理速度,但由于其不关心数据包的状态,缺乏对 数据包高层信息的理解,导致了其安全性比较低。而应用网关技术则相反,它 在网络协议栈的所有层次都对数据包进行处理,能对数据包在高层应用协议中 的合法性进行检查,具有比较高的安全性,但这也导致了其系统开销大,处理 速度比较慢。状态包过滤技术则是在包过滤的基础上进行改进的结果,它很好 的融合了包过滤和代理网关的优点,既具有较高的安全性,又具有很高的处理 转发速度,成为当今防火墙领域的主流技术。 而状态检测机制作为状态包过滤的核心,直接决定了防火墙的性能,因 而成为当前各个防火墙厂商的研究重点。如c i s c o 公司在其p i x 防火墙上应 用的自适应安全算法( a d a p t i v es e c u r i t y a 培o r i t h m ,a s a ) t 2 1 ,除了将源目的地址 信息作为状态匹配的标准,还增加了附加的t c p u d p 标志信息和维护一个会 话专用的随机t c p 顺序号,这些都使得状态检测模块的安全性得到增强。而 c h e c k p o i n t 公司f w - 1 防火墙采用的状态检测技术( s t a t e f u li n s p e c t i o n ) 3 1 ,则在 其核心使用了独特的已取得专利的i n s p e c t 引擎f 4 】,这种引擎能提取o s i 参 考模型的所有通信层中的信息进行检查,最大限度的对数据包的合法性进行审 查。本文对状态包过滤的研究重点也放在状态检测机制的设计和实现上。 1 2 论文的工作及意义 本文的内容是高性能防火墙技术的研究与实现,熏点放在状态包过滤技术 的状态检测机制的设计和实现上。围绕着这一重点,主要做了如下的工作: 1 本文借鉴了g u i d ov a np o o i j 提出的状态匹配算法【5 】,通过对t c p 滑动窗 口协议的工作原理及相关缓冲区进行分析,设计了用于网络数据包合法性判断 的窗口跟踪机制。该机制直接利用了t c p 协议中的本身固有字段,不需要其他 额外的复杂机制,是一种状态检测的轻量级实现。并且窗口跟踪机制对各种可 能出现的传输情况进行考虑,增加相应的处理机制,增强了系统的健壮性。 2 利用l i n u x 系统的n e t 矗l t e r 【6 】舫火墙框架,实现了状态包过滤原型系统。 第一章引言 该系统采用了窗口跟踪的状态检测机制,实现这个原型系统的目的是为状态检 测机制的验证提供可能。并且设计这个原型系统其目的是实现一个具有较好通 用性的防火墙原型系统,因此在功能上避免求大求全,尽可能实现一些必要的 机制,并在底层软件架构上使用具有扩展性的n e t f i l t e r 防火墙框架,正是这种 设计思想,使得对其他防火墙算法进行研究时可以重用该系统。 3 设计并进行防火墙渗透实验,对原型系统和其他防火墙模式进行测试和 评估,通过对实验数据的分析,证明了原型系统能有效抵御渗透攻击。 与当前防火墙研究侧重于提升硬件处理速度和增加附属安全机制相比较, 本论文所做工作的意义在于:通过挖掘网络协议本身的工作机理,利用网络协 议的实现细节,来设计安全性能更好的防火墙系统,为防火墙的研究提供新的 工作思路。 1 3 论文的内容组织 第一章是全文的引言部分。主要描述了当前防火墙技术的研究背景,以及 本论文所做工作的意义。 第二章对传统防火墒技术进行介绍。首先根据不同的应用情况,介绍了防 火墙在网络部署中的三种类型。然后对防火墙实现技术进行介绍,并根据安全 性和处理速度这两个指标,对各种实现技术进行比较和评价。 第三章是t c p 协议的相关技术部分。介绍了t c p 数据包格式、t c p 连接 的生命周期、滑动窗口协议以及相关缓冲区,为后续章节的分析做好准备。 第四章对状态包过滤技术进行具体分析。采用将状态包过滤和传统包过滤 进行比较的叙述方法,分别对两者的系统结构和工作原理进行说明,并从安全 性和处理速度两个方面对这两种实现技术进行性能分析,最后描述状态检测机 制的设计过程。 第五章是状态包过淀技术在原型系统上的实现部分。首先阐述了该原型系 统的设计目标和功能需求,并由此选择相应的开发平台和实现技术:接着对原 型系统的结构和整个系统的运作流程进行说明;并按照系统的组成,分别对内 核状态检测模块和用户控制模块的实现进行分析。最后通过对l i n u x 系统下的 防火墙i p t a b l e s 7 1 和状态包过滤原型系统分别进行入侵渗透实验,既验证了状态 包过滤原型系统的有效性,又对各种防火墙的安全特性进行了比较和评价。 第六章对全文的研究进行总结,并对网络安全的研究进行展望。 第一j 章传统防火墙技术 第二章传统防火墙技术 2 1 防火墙的分类 在介绍防火墙分类前,给出几个概念的定义 堡垒主机( b a s t i o nh o s t ) :堡垒主机是一种配置了安全防范措施的计算 机,它为内外网络的通信提供了一个唯一的出入点。从外部网络发出的数 据包只有经过堡垒主机的审查,满足其安全策略,才允许进入;同样内部 网络发出的数据包也要经过它的审查。因此堡垒主机在防火墙架构中,是 内外网络的枢纽,若其功能失效,则整个安全策略都将不复存在。为了实 现较高的安全性,堡垒主机般采用应用网关技术( 将在下文中介绍) 。 非军事区( d m z ) :d m z 是在受保护的内部网络和外部不可信网络之间 增加的一个缓冲网络,使用d m z 目的是为了提供一种多层次的安全。它 的名称来源于朝鲜战争遗留下来的南北朝鲜的分界地带。 在防火墙分类上,有三种典型结构【8 1 双宿主机架构 图21双宿主机架构( d u a l h o m e dh o s t ) 双宿主机( d u a l h o m e dh o s t ) 防火墙又称为双宿网关防火墙。它是一种拥有 两个连接到不同网络上的网络接口的防火墙,通常用一台装有两块网卡的堡垒 主机做防火墙,两块网卡分别与受保护内部网和不可信外部网相连,其体系结 d 第一j 荜传统防火墙技术 构图如图2 1 所示。这种防火墙的特点是主机的路由转发功能是被禁止的,两个 网络之间的通信通过应用层代理服务来完成。如果一旦黑客侵入堡垒主机并使 其具有路由功能,防火墙将失去作用。 2 屏蔽主机架构 屏蔽主机( s c r e e n e dh o s t ) 防火墙由包过滤路由器和堡垒主机组成,其配置 如图2 2 所示。在这种方式的防火墙中,堡垒主机安装在内部网络上,包过滤路 由器安装在内外网络的交接处。通过在路由器上设定过滤规则,并使堡垒主机 成为内外网络的枢纽( 即不允许内外网络直接进行通信,而必须通过堡垒主机的 检查,由堡垒主机进行中继传输) ,这确保了内部网络和外部网络之间不存在直 接的连接,降低了被攻击的可能性。 图2 2 屏蔽主机架构( s c r e e n e dh o s ta r c h i t e c t u r e l 屏蔽主机防火墙采用了包过滤和应用网关两种实现技术,保证了网络层和 应用层的安全,因而比单独的包过滤或应用网关代理更安全。在这一方式下, 过滤路由器是否配置正确是这种防火墙安全与否的关键,如果路由表遭到破 坏,堡垒主机就可能被越过,使内部网完全暴露。 3 屏蔽子网架构 屏蔽子网( s c r e e n e ds u b n e t ) 防火墙的配置如图2 3 所示,采用了两个包过滤 路由器和一个堡垒主机,在内外网络之间建立了一个被隔离的子网,也就是“非 军事区( d m z ,d e m i l i t a r i z e dz o n e ) ”网络。网络管理员将堡垒主机、w e b 服务 器、e m a i l 服务器、f t p 服务器等公用服务器放在非军事区网络中,内部网络 和外部网络均可访问该屏蔽子网,但禁止他们穿过屏蔽予网直接通信。和前面 两种防火墙结构一样,内外网络只能通过堡垒主机的代理中继进行通信。在这 第一j 草传统防火墙技术 一配置中,即使堡垒主彰l 被入侵者控制,内部嘲仍受到内部包过滤路由器的保 护,是三种防火墙结构中安全性最高的种部署。 图2 3 屏蔽子网架构( s c r e e n e ds u b n e ta r c h i t e c t u r e ) 2 2 防火墙实现技术 在分析实现技术之前,首先要明确衡量防火墙优劣的准则。我们知道,防 火墙是一个网络安全设备,“网络安全设备”有两重含义: 1 网络转发设备 由于防火墙一般处于网络的交界处,它的功能是根据系统静态路由和i p 地址及端口的设置,转发不同网段的数据包。因此防火墙是网段间的转发 枢纽,其对数据包进行处理和转发的效率往往会影响网络的性能,转发效 率低下的防火墙会成为网络传输的瓶颈。 2 安全检测设备 防火墙之所以不同于一般的转发网关就在于它的安全检测特性。在转发网 络数据包之前,防火墙根据预先部署的安全策略,检查数据包的合法性, 从而决定对其采取相应的动作( 允许通过、抛弃、日志记录) 。因而安全检 测能力的高低也是防火墙性能评价的重要指标。 防火墙的性能主要由处理速度和安全特性两个方面来决定,下面从这两个 方面对现有的防火墙实现技术进行讨论和分析。 一6 一 第:章传统防火墙技术 1 包过滤技术 包过滤技术是最早采用的防火墙技术,它一般整合在路由器中,以增强其 安全性。传统路由器的工作过程是:接收到i p 数据包,然后进行路由决策,一 旦在路由表中找到符合该l p 数据包的目的条目,则将该数据包转发到相应的 外出接口。而具有包过滤功能的路由器则在路由决策之后,转发之前,增加了 一个安全校验的步骤:从i p 数据包中提取出各种协议信息( i p 地址、协议端l _ j 号、协议类型等) ,然后和根据预先设定好的规则进行匹配,若符合安全策略, 则转发该数据包,否则就丢弃。 我们通过一个例子( 包过滤系统对由内网发往外网的数据包进行处理的流 程1 ,来显示包过滤系统的工作原理。如图2 4 所示,包过滤系统接收到内网的 数据包,将其传递到网络层中( 即拆除掉链路层的报头) ;从数据包中提取出各 种网络层信息,进行合法性校验;一旦数据包通过校验就将其传到低层的链路 层( 即进行封装链路层的报头) ,然后传送到物理线路上,发送给外网主机。 如川层 一 成丌 层 传输层传输层 网络屡网络层 一 网络层 链路层 链路层 链路屡 物弹屡 物弹屡 物理层 内部网丰机包过滤系统外掷网丰机 图2 4数据在包过滤系统中的流程 可以看出包过滤技术在处理速度上有很高的性能。因为在这种实现中,数 据包只在网络层进行处理,并不将数据包传给高层协议进行处理,因而系统开 销少,路由器的性能不会受到很大的影响。而且包过滤系统相对于用户是透明 的,即数据连接是发生在内外主机之间的,包过滤系统并不参与其中,它只是 在监控数据流,确保数据流的合法性。不过它在安全性方面,也有致命的弱 点:对于用户鉴别等高层协议的安全保证就无能为力了。 2 应用网关技术 和包过滤系统不同,应用网关参与内外主机的连接。它的功能和早期电话 7 第章传统防火墙技术 系统中接线员的作用相似,用户打了一个电话之后,接线员就会将这个电话请 求接入要连接的另一方的线路,这样就在双方建立了一次通话连接。应用网关 也是充当类似这样的角色,工作过程如图2 5 所示: 内部网 图2 5 应用嘲关的工作原理 外部网 首先,内网客户主机和网关建立连接,然后网关根据客户的请求信息,代 替客户主机向外网服务器发起连接。正如图中所示在整个通信过程中,共存在 两段连接:客户主机到网关的连接和网关到服务器的连接。应用网关在其中充 当了两个角色,相对于内网客户主机来说,它是服务器端;相对于外网服务器 来说,它是客户端,因而它是客户主机和服务器的中间人,在连接过程中一旦 发现和安全策略违背的数据包,它就切断连接拒绝非法数据的进入。 同样,我们通过一个例子( 应用网关对由内网发往外网的数据包进行处 理) ,来显示应用网关的工作原理。如图2 6 所示,和包过滤系统不同的是,数 据包在应用网关的协议栈中,是从低层的协议处理一直到最高层的应用层处 理,因而保证了用户身份鉴别等高层协议的安全。 可以看出应用网关技术的优点是具有很高的安全性,能提供用户级的身份 认证、日志记录和帐号管理等高层应用协议功能;能对应用层协议的命令进行 控制和过滤。但是由于在这种实现中,数据包要经过网络协议栈的各层处理, 这就导致了系统开销大,性能随着连接请求数的递增而迅速下降。此外对于任 何一种服务,应用网关都需要提供一个对应的应用代理,这就造成了应用网关 的扩展性和通用性较差。 通过以上的分析我们可以看到,包过滤技术速度快,但是安全性较弱;应 用网关技术安全性高,但是速度性能不好,而且系统的开销大。那么我们能不 第章传统防火墙技术 心川层 一 i 畦m 甚 一 挝i n 蠛 佶输层传箱层怙输层 网络层网络层网络层 链路屡链路屡链路层 物墨f | 层物 唑层物蝉层 内揶嘲丰机包过滤系统外啬仁网卡机 图2 6数据在应用 i = | | 关系统中的流程 能采用某种技术,在处理速度和安全性方面都能得到不错的效果,二者兼而 有之呢? 答案是肯定的,这就是本论文研究的主要内容:状态包过滤技术。 图2 7 显示了状态包过滤和其他两种技术的综合比较结果。 包过滤 状态包过滤 应刷刚关 低- i 高皇垒拦 图2 7三种防火墒实现技术的综合比较 从图中我们可以看到,状态包过滤技术很好的融合了包过滤和应用网关的 优点,在两者之中扬其长而避其短,既具有较高的安全性,又具有很高的处理 转发速度( 甚至超过传统包过滤) ,在第四章中将对状态包过滤技术进行具体分 析。接下来我们首先介绍t c p 协议的相关技术,为后续章节的分析做好准备。 锄翅裁挺 第三章t c p 吣议相关技术 第三章t c p 协议相关技术 在网络协议栈中,t c p ( t r a n s m i s s i o nc o n t r o lp r o t o c 0 1 ) 协议是工作在o s i ( o p e ns y s t e mi n t e r c o n n e c t i o n ,开放系统互连) 模型f 9 】的第四层传输层上。它和 下层的i p ( i n t e m e tp r o t o c 0 1 ) 协议相互配合,来完成传输任务。i p 协议通过路 由机制将数据包发放到正确的传输路径上,但是并不保证数据包可靠到达目的 地,以及数据包在被目的地接收时的有序性。而t c p 协议则为通信端点提供可 靠的、面向连接的、和基于有序字节流的传输服务。 3 1t c p 协议首部结构 t c p 数据被封装在一个i p 数据包中,如图3 1 所示。 图3 1t c p 数据在i p 数据包中的封装 图3 2 显示t c p 首都的数据格式,若不包括可选的选项字段,它通常 是2 0 个字节。 首先两个字段是源端口号( s r c p o r t ) 和目的端口号( d s $ o r t ) ,用于标示发送 端和接收端的应用进程。这两个值a n 上i p 首部中的源i p 地址( s r c l p a d d r ) 和目 的i p 地址( d s t i p a d d r ) ,唯一确定一个t c p 连接。 s r c p o r t ,s r c l p a d d r ,d s t p o r t ,d s t l p a d d r ) 即以上这个四元组( 也称为套接口对】,s o c k e t p a i r ) 可唯一确定网络中每个 t c p 连接的双方。 接下来的序_ 歹l j q ( s e q u e n c e n u m ) 、确认号( a c k n o w l e d g m e n t ) 和通告窗口( a d v e r t i s e d w i n d o w ) 字段都参与到t c p 滑动窗口流量控制协议中。因为t c p 是 一个面向字节流的协议,发送数据的每个字节都有一个序列号,序列号字段标 1 0 第三荜t c p 狮议相关技术 1 6 位源端u 号1 6 位h 的端口峙 3 2 位序列呼 3 2 协确认号 d 位曹 耩麟 1 6 位窗丌大小都长 保留( 6 位) 度 1 6 位校验和1 6 位紧急指刳 选项 数措 图3 ,2t c p 包首部格式 注了发送数据包所携带数据的第一个字节。而确认号字段和通告窗口字段则为 发送方提供了数据接收状况和接收方缓冲区的使用情况,以提供流量控制。 然后6 - b i t 的标志字段( f a l g s ) 被用于在t c p 连接双方携带控制信息。 s y n 用来发起建立连接的请求 f i n 用来发起终止连接的请求 a c k 当确认号字段有效时设置该位,以通告发送端数据接收的情况。 u r g 指示紧急指针( u r g e n tp o i n t e r ) 有效 p u s h 接收方应该尽快将这个报文段交给应用层。 r s t 表示接收端收到了它并不期望的数据,于是决定退出连接。 首部长度( h e a d e rl e n g t h ) 给出首部中3 2 一b i t 字( 即4 字g ) n 数目。需要这个 值是因为选项字段是可选的,因而通过这个字段可以确定t c p 首部的长度。这 第三章t c p 阱议相关技术 个字段占4b i t ,因此t c p 最多有6 0 个字节的首部。 检验和( c h e c k s u m ) 覆盖了整个t c p 报文段:t c p 首部和t c p 数据。这是 。个强制性的字段,一定是由发送端进行计算并存储,并由接收端进行验证。 紧急指针( u r g e n tp o i n t ) ,只有当u r g 标志置位时该指针才有效。它和序 列号字段中的值相加表示紧急数据最后一个字节的序号。t c p 的紧急方式是发 送端向接收端发送紧急数据的一种方式。 3 2t c p 连接的生命周期 在t c p 协议中,一个数据连接的存在过程可以划分为三个阶段,如图3 3 : 1 建立连接一创建一个全双工的基于字节的数据流。 2 数据传输一在数据流上进行单向或双向的数据传输。 3 关闭连接一销毁数据流,t c p 数据连接在此处结束。 第一阶段,为了建立一条t c p 连接,需要在连接双方进行三个数据包的交 换,这个过程也称为三次握手( t h r e e w a yh a n d s h a k e ) : l 请求端( 通常称为客户) 发送一个s y n 标志置位的t c p 初始连接包到打 算连接的服务器端口,该连接包的初始序号( i s n ,i n i t i a ls e q u e n c en u m b e r ) 为j ,告知服务器以后发送的数据是以j 为起点的,起到同步作用。 2 服务器的回应数据包包括两部分信息。一部分是通过a c k 标志置位,将 确认序号设为( j + 1 ) 以表示接收到客户的初始连接包;另一部分则是通过 s y n 标志置位,将i s n 序号为k 的信息传递给客户,告知客户以后发送 的数据是以k 为起点的,起到同步作用。 3 最后,客户端发送a c k 置位,确认序号设为( k + 1 ) 的数据包,表示接受 到服务器的回应及同步信息,至此t c p 连接建立成功。 第二阶段,双方开始数据传输。由于t c p 是可靠的、面向连接的传输层协 议,它使用了滑动窗口协议( s l i d i n g w i n d o w sp r o t o c 0 1 ) 来保证传输的质量。在 本章后面部分将详细的介绍滑窗协议的原理。 第三阶段,为了终止一个t c p 连接,和建立连接的过程类似,需要在连 接双方进行数据包的交换,这个过程常称为四次握手( f o u r - w a yh a n d s h a k e ) 。 一1 2 图3 - 3 t c p 连接的三个阶段 墓要差篆三攀篱霎篓兰耋禾霎蒿嚣耋萎?的序号为 z 勰髦掀瓣跪懒鹋蒿篇篡峨户 3 _ 当服务器发送完给客户的数据眉,也发送f j n 标志置位的下c p 连接终业 第三章t c p 伽议相关技术 包,序号为n ,以终止服务器发往客户方向的数据传输。 4 客户通过将a c k 标志置位,将确认序号设为( n + 1 ) 以表示接收到服务器 的终止连接包,至此t c p 连接终止成功。 值得注意的是终止连接和建立连接过程存在差异:连接建立过程中,发起 连接请求一般只是由客户端发起的,而服务器则在自己的服务端口上侦听,等 待客户端的连接请求;而在终止连接过程中,客户和服务器都可主动发起终止 连接请求( n 3 3 则是描述了客户端发起终止连接请求的情况,由服务器首先发起 终止请求也是完全可以的) 。 3 3 t c p 滑动窗口协议 在t c p 传输中使用滑动窗口协议可以实现以下目标: 1 保证数据的可靠和有序传输 2 在发送端和接收端之间实施流量控制 为什么要使用滑动窗l i 机制呢? 可以通过个例子回答这个问题。我们知 道网络中的各个通信主机的性能差别很大,假设一个发送速率很高的主机和一 个接收速率比较慢的主机通信。由于发送速率大于接收速率,使得接收端的缓 冲区被不断的塞满,而读数据的进程来不及将接收到的数据清空。这就造成了 发送端发过来的数据因为接收端没有空闲的缓冲区,而被接收端丢弃,造成了 发送端继续重发这些数据,而接收端继续丢弃。这种情况会严重浪费网络带 宽,降低通信效率,因而在t c p 协议的实现中,加入了滑动窗口机制,用来进 行流量控制。 滑动窗口的大体思想是:发送端发送数据并不能“随心所欲”,而是根据 接收端当前的缓冲使用情况来决定。在t c p 的首部提供了通告窗口字段( a d v e r t i s e dw i n d o w ) ,这个字段表示本通信端的接收缓冲区空闲空间大小,发送 端根据这个信息使发送数据量不大于通告窗口,这样接收端的接收缓冲就不会 被过载塞满。接收双方通过滑动窗1 2 1 机制进行互相协调,使网络带宽得到合理 利用,保证了高效的通信效率。 1 4 第三章t c p 协议相关技术 3 4t c p 数据缓冲区分析 通过分析接收端和发送端的缓冲使用 1 2 1 ,可以明确t c p 首部字段中的序 列号( s e q u e n c e n u m ) 、确认号( a c k n o w l e d g m e n t ) 和通告窗口( a d v e r t i s e d w i n d o w ) 三个字段在缓冲区中的定位。 如图3 4 所示,t c p 在发送端维护一个发送缓冲区,这个缓冲区被用于储存 那些已经被发送但是还没被确认的数据,同时那些已经被应用程序写入但是还 没有被传输的数据也保留其中。同样在接收端,t c p 也维持了一个接收缓冲 区,这个缓冲区包含那些已经接收到但是应用程序还没有将其读取的数据。从 图中,我们可以看到接收缓冲出现不连续现象,这是由于通过不可靠的i p 协议 进行传输,会导致数据包的乱序到达。而t c p 协议则在接收端的缓冲中对乱 序数据进行整理,为还未到达的数据预留空间。只有数据缓冲中的数据被整理 好,才会将其推到上层应用协议。 i 崩# * 斟捌蕊浏l 形钐燃 图3 4t c p 收发端缓冲区示意图 接下来,我们来看发送端,三个指针指向发送缓冲区的不同位置,它们都 有明显的含义:分别表示最后确认的字节( l a s t b y t e a c k e d ) 、最后发送的字节 ( l a s t b y t e s e n t ) 和最后写入的字节( l a s t b y t e w r i t t e n ) 。很明显, l 口s t b t e a c b d l a s t b y t e s e n t 第三章t c p 咖议相关技术 即接收端不能确认一个还没有被发送端发出的字节,且 l a s t b y t e s e n t l a s t b y t e w r i t t e n t c p 也不可能发送应用程序还没有写的字节。同时我们注意到,l a s t b y t e a c k e d 指针左边的字节已经没有必要再保存,因为它们已经被确认过了,因此缓冲区 可以用新的数据覆盖,重新使用。而l a s t b y t e w r i t t e n 右边的字节则是并不存在 的,因为数据还没有被应用程序写入。从图中可以清楚的看出,t c p 首部中的 序列号( s e q u e n c e n t t m ) 就是对应l a s t b y t e a c k e d 指针对应的位置。即 下一次发送序列号= l a s t b y t e a c k e d + 1 相似的一组指针同样在接收端使用:分别表示最后读出的字节( l a s t - b y t e r e a d ) 、下一个期待接收的字节( n e x t b y t e e x p e e t e d ) 和最后接收的字节 ( l a s t b y t e r c v d ) 。 l a s t b y t e r e a d l a s t b y t e r c v d 显然接收端不能读取一个还没有被接收的字节。同样可以看到,t c p 首 部中的确认号( a c k n o w l e d g m e n t ) 就是对应n e x t b y t e e x p e c t e d 指针的位置。而 l a s t b y t e r c v d 和n e x t b y t e e x p e c t e d 的关系则要根据缓冲区中接收数据是否有序 决定: 接收缓冲区顺序接收数据包 n e x t b y t e e x p e c t e d = l a s t b y t e r c v d 上1 接收缓冲区乱序接收数据包 n e x t b y t e e x p e c t e d l a s t b y t e r c v d 由于乱序接收数据包是更普遍的情况,所以我们主要考虑后者。 我们注意到,l a s t b y t e r e a d 指针左边的字节已经被推入上层协议,被接 收进程读取,没有必要再保存,因此可以用新的数据覆盖,重新使用。而 l a s t b y t e r c v d 右边的字节则是并不存在的,因为数据还没有从发送端接收到。 一1 6 第三荜t c p 协议相关技术 实际卜,发送端和接收端缓冲区的大小也是有限的,我们使用最大发送缓冲区( m a x s e n d b u f f e r ) 和最大接收缓冲区( m a x r c v b u f f e r ) 来表示。n 止k 在接收端必须 保证 l a s t b y t e r c v d l a s t b y t e r e a d m a x r c v b u f f e r 以避免接收端的缓冲溢出。因此我们得到通告窗口( a d v e r t i s e dw i n d o w ) 的表达 式: a d v e r t i s e d w i n d o w = m a x f t c v b u f f e r 一( l a s t b y t e r c v d l a s t b y t e r e a d ) 它代表了接收缓冲区的空闲空间。接收端通过将这个值填入t c p 首部的通告窗 口( a d v e r t i s e d w i n d o w ) 字段,

温馨提示

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

评论

0/150

提交评论