(信号与信息处理专业论文)基于qos带宽管理技术的p2p流量控制研究及其实现.pdf_第1页
(信号与信息处理专业论文)基于qos带宽管理技术的p2p流量控制研究及其实现.pdf_第2页
(信号与信息处理专业论文)基于qos带宽管理技术的p2p流量控制研究及其实现.pdf_第3页
(信号与信息处理专业论文)基于qos带宽管理技术的p2p流量控制研究及其实现.pdf_第4页
(信号与信息处理专业论文)基于qos带宽管理技术的p2p流量控制研究及其实现.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

中文摘要 在互联网飞速发展的今天。企业、学校等各种祝构越来越多的关键业务依赖 于互联网,但是许多与工作事务无关的网络应用占去了绝大部分的带宽,导致关 键业务响应时间过长,严重影响了正常网络应用的运行。特别是现在的网络应用 更为复杂,p 2 p 等下载软件无限制地占用带宽资源,它们使用动态端口,同时将 本身的流量伪装成为i - i t t p 流量,很难被防火墙、路由器以及其他的过滤设备发 现, 传统的网络级防火墙( 包过滤) 都是工作在o s i 模型的第2 、3 或者4 层, 通过基于数据包的源目的口地址、m a c 地址、t c p u d p 端口等进行过滤,缺 少对应用层( o s i 模型的第7 层) 流量的分析,因此也无法识别p 2 p 下载的流量。 在本文中,作者提出了一种基于l i n u x 系统防火墙框架n e t f i l t c r 连接跟踪机 制的p 2 p 数摆识别和控制的方法。连接跟踪系统负责跟踪所有的连接并且判断每 个经过的包属于哪个连接。作者通过扩展n e t f i l t e r a p t a b l e s 框架,可以根据应用 层数据识别p 2 p 连接,并可以通过设置适合的防火墙过滤规则来管理p 2 p 流量。 此方法可以完全禁止不想要的p 2 p 流量,还可以和l i n u xq o s 工具一起使用以限 制p 2 p 的带宽占用,合理分配网络资源,从而提高网络性能。 本文开发的p 2 p 流量控制系统,基于应用层分析技术识别各种p 2 p 流量,可 以限制或者禁止p 2 p 下载,也可以利用l i n u x 流量控制技术将p 2 p 下载的流量控 制在某个范围内。总之,本文对于网络中间存在的p 2 p 下载提供了很好的监视和 控制解决方案,使用的应用层分析技术也可让网络管理者对网络资源的应用分布 情况得到充分的了解和认知。 关键词:p 2 p 服务质量防火墙包过滤l i n u xn e t f i l t e r i p t a b l e s a b s t r a c t n o w a d a y s , w i t ht h er a p i dd e v e l o p m e n to fi n t e m e l n l o r ea n dm o 舱c r i t i c a l a p p l i c a t i o n so fv a r i o u so r g a n i z a t i o n s ,e g e n t e r p r i s e sa n ds c h o o l s ,d e p e n do nt h e i n t e m e t , b u tam a j o r i t yo fb a n d w i d t hi so c c u p i e db yt h o s en e t w o r ka p p l i c a t i o n sf a r a w a yf r o mt h en o r m a lt r a n s a c t i o n s t h e s ef a c t sl e a dt oal o n gr e s p o n s et i m eo f c r i t i c a l a p p l i c a t i o n sa n dh a r mt h en e t w o r kp e r f o r m a n c es e v e r e l y i np a r t i c u l a r , t h en e t w o r k a p p l i c a t i o n sb e c a m em o r ec o m p l e xl a t e l y , f o re x a m p l e ,p 2 ps o , w a r e sf o rd o w n l o a d a n df i l et r a n s f e r , t a k i n gb a n d w i d t hr e s o u r c e $ u n l i m i t e d t h e s es o r w a r e su s ed y n a m i c p o r t sa n dm a s q u e r a d ei t st r a f f i c sa sh r r pt r a 伍c s w h i c hm a k e st h e mh a r dt ob e i d e n t i f i e db yt h ef n f e 、j v a l l s ,t o u t e r sa n do t h e rf i l t e r i n gm a c h i n e s t r a d i t i o n a lp a c k e tf i l t e r i n gf i r e w a l l sg e n e r a l l yw o r ka tl a y e r2 ,3o r4o ft h eo s i a r c h i t e c t u r e , b a s e do nt h e s o u r c e d e s t i n a t i o ni pa d d r e s s e s ,m a ca d d r e s s e so r t c p u d pp o r tn u m b e r si nt h ep a c k e th e a d e r s t h u s t h e ya u n a b l et oi d e n t i f yt h e p 2 pd o w n l o a dt r a 街c sf o rt h e i ri n c a p a b i l i t yo f a p p l i c a t i o nl a y e rd a t aa n a l y s i s t h i sp a p e rp r e s e n t sam e t h o do fp 2 pt r a f f i ci d e n t i f i c a t i o na n dc o n t r o lb a s e do n n e t f i l t e rc o n n e c t i o nt r a c k i n gm e c h a n i s mi nl i n u xf i r c w a l la r c h i t e c t u r e c o n n e c t i o n 订a c k i n gs y s t e mi si nc h a r g eo ft r a c k i n ga i it h ec o n n e c t i o n sa n dj u d g i n gt ow h i c h c o n n e c t i o ne v e r yp a c k e ti sr e l a t e d t h r o u g he x t e n d i n gt h en e t f i l t e r i p t a b l e sf l a l l l e w o r k , t h ei d e n t i f i c a t i o no f p 2 pc o n n e c t i o na c c o r d i n gt ot h ea p p l i c a t i o nl a y e rd a t ai sa c h i e v e d a n dt h r o u g hs o m ea p p r o p r i a t ef i r e w f l lf i l t e rr u l e s ,t h ep 2 pt r a 伍cm a n a g e m e n tc o u l d a l s os u c c e e d s t h i sm e t h o dc o u l dt o t a l l yp r o h i b i tu n d e s i r a b l ep 2 pt r a f f i c a n da sw e l l c o u l dr e s t r i c tp 2 pb a n d w i d t hu s a g el o g e t h e rw i t hl i n u xq o st o o l s t h u s , t h en e t w o r k r e s o u r c e sc o u l db ea l l e v i a t e da n dt h ep e r f o r m a n c eb ee n h a n c e dl a r g e l y t h i sp 2 pt r a f f i cc o n t r o ls y s t e mb a s e do na p p f i c a f i o nl a y e ra n a l y s i st e c h n o l o g y , c o u l dp r o h i b i tp 2 pd o w n l o a d ,a n da l s oc o u l dr e s t r i c tt h ep 2 pd o w n l o a dt r a f f i ct oa p r e d e f i n e ds c o p eu s i n gl i n u xt r a f 五cc o n t r o lm e c h a n i s m i nc o n c l u s i o n , t h i sp a p e r p r o v i d e sav e r yg o o ds o l u t i o nf o rt h em o n i t o r0 1 c o n t r o lo fp 2 pd o w n l o a di na n i n t e r n a ln e t w o r ke n v i r o n m e n t k e yw o r d s :p 2 p ,o o s ,f i r e w a l l ,p a c k e tf i l t e r i n g ,l i n u x , n e t f i l t e r i p t a b l e s 独创性声明 本人声明所呈交的学位论文是本人在导薅指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得鑫壅盘至或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名;男f 艺孝乏签字日期:。石年豆月矽日 学位论文版权使用授权书 本学位论文作者完全了解墨鲞盘至有关保留、使用学位论文的规定。 特授权墨鲞盘茎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 浑污蔹 导师签名: 签字日期:立一6 年a 月刁日 签字日期:年月日 天津大学硬士学位论文 第一章绪论 1 1 课题背景及研究意义 第一章绪论 1 1 1p 2 p 流量泛滥给网络带来的问题 p 2 p ( p e e rt op e e r ) 是一种崭新的网络技术思想。不同于以往的服务器,客户 机结构的主从网络,它是一种对等网络技术,这种技术也称为“点对点”技术。 传统服务器客户机下载概念是这样的,一台拥有目标文件的计算机( 服务 器) ,将目标文件共享出来,让一名或者多名下载者( 客户机) 在其上进行下载。 这种下载离不开“一对一”或者“一对多”的共享概念。这种方式显而易见的瓶 颈在于服务器和其所在网络,如果下载的人很多,服务器的本身资源和所在网络 资源就会不够,那么对应的客户机下载的速度就很慢,甚至无法下载。 p 2 p 下载技术是对传统下载技术的变革,跨越了传统的共享思路,实现了“多 点对多点”的共享概念。在使用p 2 p 下载工具下载文件过程中,每一个下载者同 时都担当了上载者的角色,越多人下载,亦即表示有越多上载者将它们暂时不用 的上载带宽分享出来,形成了一个“上载流”,再平均分给各个下载者。简单地 说,每个用户下载文件的同时,就会将下载完的文件共享出来,不论是多少m b 都会平均分享给每一位下载者,这就是“多点对多点”的共享概念。 p 2 p 的总体使用情况是很难去衡量的。但是i n t e m e t 2 主干网基础构造的主管 s t e v e nc c o r b a t o 表示,他在2 0 0 3 年5 月份开始就注意到p 2 p 的流量开始激增。 从当年1 0 月份开始,p 2 p 的流量更是超过了这个超高速网络总体流量的1 0 。 与之对比,其它的文件交换系统的流量没有一个能超过n t e m e t 2 总体流量的1 。 2 0 0 4 年的6 月份,更是一个分水岭,在互联网上流传的视频流首次超过了音频 流,这中间p 2 p 的作用功不可没。 p 2 p 的出现让上网用户在下载各种软件、电影等大块头数据时,体验到了飞 一样的速度。然而,由于p 2 p 绕过服务器,整个过程中缺乏有效的管理,也存在 大量闻题。例如:知识产权问题,安全性闯题,大量垃圾冗余信息,以及严重占 用带宽的问题。尤其对于企业网络来说,这种基于p 2 p 技术的文件共享对运行在 其中的企业级应用,如e r p 、c r m 、v o m 等,造成巨大的冲击。其危害主要可 归纳为下面几方面: ( 1 ) 改变了网络流量分布 天津大学硕士学位论文 第一章绪论 尽管很多网络管理者知道在他们的网络中间存在p 2 p 下载,但很少有人真正 了解这种应用占据了多少带宽资源,事实上p 2 p 下载经常使用了他们网络中间 6 0 7 0 的广域网带宽。很多企业使用广域网来连接各个地区的分支机构,p 2 p 下 载严重破坏了广域网的出口带宽资源分配,彻底改变了企业网络流量构成。 ( 2 ) 网络流量不可预知性 p 2 p 下载流量具有很大的侵略性。为了更有效率的交换文件,p 2 p 下载程序 在启动时会建立数量巨大的连接,这些连接会使得网络流量突然迸发,进而在相 当一段时间内维持很大的网络流量。这种情况会带来很严重的问题。在企业网络 或者校园网中,p 2 p 下载不是唯一的应用程序,其他关键应用同样运行在这个网 络上,并且使用同一个广域网出口。 ( 3 ) 网络拥挤,造成关键业务明显延迟 企业关键业务,如e r p 系统、财务管理系统、供应链管理系统等等,这些应 用会和p 2 p 下载共享企业的网络带宽。而这些业务系统通常都是对反应时间要求 很高的。在p 2 p 下载运行时,操作人员会明显地感觉到这些业务系统反应很慢, 甚至没有反应。其他对反应时间要求不是很高的应用,如电子邮件、数据备份、 数据库数据同步等等,也很容易遭受到带宽的威胁。 ( 4 ) p 2 p 下载造成很大的入站流量 当企业网内的用户开始使用p 2 p 下载,入站的流量就会从互联网经过广域网 入口到达企业内部网。用户通常使用p 2 p 下载大量的多媒体文件,包括m p 3 格 式的音频文件、c d 镜像、电影文件,以及光盘镜像( i s o ) 、大型软件。这些文 件小则4 5 m ,大则6 0 0 - 7 0 0 m ,甚至上g ,全部数据均通过广域网入口流入。 大量的p 2 p 下载必然造成很大的入站流量。 ( 5 ) 充当上载服务器,p 2 p 也带来巨大的出战流量 根据p 2 p 的原理可以知道,使用p 2 p 下载的主机同时也充当了上载的服务器, p 2 p 下载带来了大量的出站流量。另外,在下载的任务结束之后,执行p 2 p 下载 的主机将作为一个文件服务器,将已经下载完成的文件提供给其他的p 2 p 用户使 用,此时,网络流量基本上都是出站流量。这些流量会和其他的应用争夺有限的 广域网出口出站带宽资源,造成其他应用的延迟。 无疑,对于网络管理者来说,监视和控制网络中间的p 2 p 流量成了一个很紧 迫而且头疼的问题。 1 1 2 传统防火墙的局限性 传统的网络级防火墙( 包过滤) 都是工作在o s i 模型的第2 、3 或者4 层, 通过基于数据包的源目的i p 地址、m a c 地址、t c p ,u d p 端口等进行过滤,监 天津大学硕士学位论文 第一章绪论 视网络流量。一般来说,不保持前后连接信息,过滤决定只是根据当前数据包的 包头来做的。这样的设计带来的问题是,缺少对应用层( o s l 模型的第7 层) 流 量的分析,因此也无法比较出正常的h t t p 流量和p 2 p 下载的流量区别。 随着网络的发展,网络应用的增多,越来越多的应用使用动态端口,再加上 近年来很多应用都透过w e b 端口8 0 进行,采用传统的方法已经无法对数据包进 行准确有效的识别和控制。尽管很多企业网络的管理者知道在他们的网络上运行 有p 2 p 下载应用,但他们通常没有工具去发现这些流量,因此也不会了解p 2 p 下载对他们管理的网络带来的冲击。造成这种问题的原因有很大一方面来自p 2 p 下载使用的通讯机制。p 2 p 下载使用了动态端口,同时将本身的流量伪装成为 h 哪流量。这种与生俱来的特性源于p 2 p 程序的防御机制。使用这种机制后, p 2 p 下载流量很难被防火墙、路由器以及其他的过滤设备发现。为了识别和管理 p 2 p 下载流量,必须使用基于第7 层流量的分析工具。 1 1 3q o s 技术与带宽管理 i p 网络中支持q o s ( q u a l i t yo fs e r v i c e ,服务质量) 是当今国际上网络研究 领域最重要、最富有魅力的研究方向之一,是计算机网络研究与开发的热点,被 称为新一代计算机网络的核心问题之一。支持i p 网络中的q o s ,不仅需要对相 关网络协议开发和完善,也需要路由器、防火墙等硬件设备在内部能够对不同类 型分组或数据流提供有区分的服务。 1 1 3 1q o s 概述 传统的m 网络中,所有的报文都被无区别的等同对待,每个路由器对所有 的报文均采用先入先出( f i f o ) 的策略进行处理,它尽最大努力( b e s t - e f f o r t ) 将报文送到目的地,但对报文传送的可靠性、传送延迟等性能不提供任何保证。 网络发展日新月异,随着口网络上薪应用的不断出现,对p 网络的服务质 量也提出了新的要求,例如v o i p ( v o i c eo v e ri p ,i p 语音) 等实时业务就对报文 的传输延迟提出了较高要求,报文传送延时过长,将是用户所不能接受的( 相对 而言,e m a i l 和f t p 业务对时间延迟并不敏感) 。为了支持具有不同服务需求的 语音、视频以及数据等业务,要求网络能够区分出不同的通信,进而为之提供相 应的服务。传统口网络的最大努力不可能识别和区分出网络中的各种通信类别, 而具备通信类别的区分能力正是为不同的通信提供不同服务的前提,所以说传统 网络的尽力服务模式已不能满足应用的需要。q o s 技术的出现便致力于解决这个 问题。 q o s 旨在针对各种应用的不同需求,为其提供不同的服务质量,例如:提供 天津大学硕士学位论文 第一章绪论 专用带宽、减少报文丢失率、降低报文传送时延及时延抖动等。为实现上述目的, q o s 提供了下述功能:报文分类、网络拥塞管理、流量控制和流量整形、q o s 传输协议。q o s 可以控制各种网络应用和满足多种网络应用要求,如: ( 1 ) 控制资源:如可以限制骨干网上f t p 使用的带宽,也可以给数据库访 问以较高优先级。 ( 2 ) 可裁剪的服务:对于i s p ( i n e m e t s e r v i c e p r o v i d e r ,i n t e m e t 服务提供商) , 其用户可能传送语音、视频或其他实时业务,q o s 使i s p 能区分这些不同的报文, 并提供不周服务。 ( 3 ) 多种需求并存:可以为时间敏感的多媒体业务提供带宽和低时延保证, 而其他业务在使用网络时,也不会影响这些时间敏感的业务。 q o s 技术的发展伴随着ip 网络( 包括企业网、接入网和骨干网) 所承载的 各种业务流的不断增长和变化经历了从无到有的过程。 1 ) 2 0 世纪8 0 年代,当时的i n t e r a c t 主要承载数据业务,网络采用尽力而为 的服务,无q o s 保障。 2 ) 到了2 0 世纪9 0 年代初期,由于受到v o i p 等实时业务的驱动,i e t f 组织 在i pq o s 领域做了第一次尝试,在1 9 9 4 年推出了基于r s v p 的i n t s e r v 解决方 案,这是一种端到端基于流的q o s 技术。 q o s 技术的发展推动了协议的发展和完善,相关网络硬件如路由器、交换机 等等不断升级更新,带宽管理产品也是在q o s 技术发展下的必然产物。 1 1 3 2 带宽管理基本原理 带宽管理的基本原理是充分运用q o s 技术中间定义的流量控制和流量整形 来实现的。 带宽管理产品将有限的带宽人为的划分成多个动态通道,将各个业务流控制 在各自得通道中间,来保证各个业务流之闻不相互干扰。因此,带宽管理产品关 注的首要焦点是保护每一个动态通道中的业务流不受其他通道中业务流突发的 影响。 很明显,在每一次业务流传递的基础上都需要将所有的q o s 敏感的业务流适 当地隔离到不同的通道中,调度器保证某种最坏情况下的最小带宽。如果存在空 闲的可用容量,则可以期望一种更好的调度行为,将这部分容量分配绘有分组等 待转发的任何其它业务流。但是,从网络整体范围的角度来看,这种做法并不总 是很理想的。简单地以线路允许的最快速率发送业务流中的分组( 在其他队列中 没有业务流的情况下) 会增大下游网络设备或主机所接收的业务流的突发性。其 结果是,如果下游设备或主机区分业务流的粒度不能达到本地带宽管理产品所达 天津大学硕士学位论文第一章绪论 到的粒度,将会出现严重的问题。在这种情况下进行强制性的速率控制是可采用 的技术手段之一。为个业务流类型设置一个可用的最大带宽上限就是业务量整 形( t r a f f i cs h a p i n g ) 。一个整形调度器配置被用来提供一个最小带宽和一个最大 带宽。业务流在超过调度器允许最大带宽时在发送之前将被缓存,以平滑其原有 的突发性。 一种简单形式的整形调度器可以用一个“漏桶”来表示,不管分组到达的速 率多快,它们也只能按固定的速率被漏出。现实世界中整形的一个例子可以在一 些高速公路的入口坡道上看到。入口坡道通常是有限制的单个车道或者两个。其 效果就是让进入高速公路的车辆之间保证一个可预知的最大速率,而不管车辆到 达入口的时问具有怎样的突发性。这种输入整形改善了高速公路上加入新的车流 后车辆的通行能力。 整形不是一种能够引入到最大努力的网络设备中的简单功能,因为该功能需 假定存在一种合适的分类、排队和调度( 即c q s ) 体系结构。另一种方案也被 提出,即对业务流中超过突发度限制的分组引入了一种分组丢弃的行为。在短时 间内到达了过多分组的时候,分组就会被简单地丢弃。这个过程被称为管制 ( p o l i c i n g ) 。 尽管需要某种形式的分类以区分应用于不同业务流类别的管制规则,管制的 实现可以没有排队和调度。一种最简单的形式是每一个业务流类别都有一个相关 的计数器。这个计数器规律性地每隔t 秒增加一次,当一个分组( 属于计数器所 对应的类别) 被转发的时候减少。如果一个需发送的分组在计数器等于0 的时候 到达,该分组将被丢弃。当没有分组需要发送的时候,计数器的值将逐渐增加直 到到达一个固定的限度l 。当分组流以一个平均分组间隔时间等于( 或大于) t 秒的速度到达时,分组流将不受任何影响地通过。但是,如果一次长度大于l 的分组突发在不到t 秒的时间内到达,计数器将回0 ,多余的分组将被丢弃。l 的值反映了管制功能的突发容限,t 代表了种速率的限制,小于该速率的业务 流都是安全的。这种措施是改变带宽管理产品下游业务流突发性的一种很严格但 很有效的方法。 管制的使用基于一种假设:大部分的突发业务量都是由使用了适应性的端到 端传输协议( 如t c p 等) 的应用程序产生的。分组的丢失被认为是瞬时拥塞的 指示,t c p 对此的反应是降低其向网络中注入分组的速率。管制的功能使得网络 运营者在特定业务流通路上实际发生瞬时拥塞之前,制造了一种虚拟的拥塞现 象。即使业务流类别没用采用适应性的端到端传输协议,管制功能也可以通过丢 弃那些超过了其允许参数的分组,实现对网络其他部分的保护。 对于那些所承载的业务分类存在较大差异的网络来说,整形和管制是极其有 天津大学硕士学位论文第一章绪论 用的工具。根本的问题是,只有能够在每一个潜在的拥塞节点上实现各业务流分 类准确的隔离和调度,单个业务流类别的可预测性才是完全允许的。在每个业务 流类别进入核心之前对其进行强制性的整形和管制,带宽管理使得各业务流类别 ( 以及这些业务流类别的汇聚 在整体上具有顺序性、平滑性和可预测性。整形 在网络的入口也十分有用,特别是在上一级网络的管制功能可能造成有害结果的 情况下。 带宽管理通过合理利用流量控制和流量整形功能来保证关键业务流获得足 够的带宽,对于一些限制的业务流可以完全管制或者拒绝,为充分使用网络和保 证网络关键业务应用提供了根本保障。 1 2 作者的工作和成果 在本文中,作者提出了一种基于l i n u x 系统防火墙框架n e t f i l t e r 连接跟踪机 制的p 2 p 数据识别和控制的方法。连接跟踪系统负责跟踪所有的连接并且判断每 个经过的包属于哪个连接。作者首先通过用嗅探器e t h e r e a l 和t c p d u m p 抓包测试, 进行各种p 2 p 协议的分析。其后,通过扩展n e t f i l t e r i p t a b l e s 框架,可以根据应 用层数据识别p 2 p 连接,并且可以通过设置适合的防火墙过滤规则来管理p 2 p 流量。此方法可以完全禁止不想要的p 2 p 流量,还可以和l i n u xq o s 工具一起使 用以限制p 2 p 的带宽占用,以实现减小造价,释放网络资源,从而提高网络性能。 本文使用了应用层分析技术( 第7 层包检测和分析技术) 来检查数据包内容, 对其进行分类,基于对已知协议和r f c 规范的理解,能够准确、高效的识别各 种已知应用。这种技术允许用户监视和控制伪装成其它流量的应用流量,如使用 8 0 端口的p 2 p 流量,也可以用来识别运行在非标准端口的特定流量,如运行在 8 0 8 0 端1 2 1 上的h r r p 流量。同时,这种技术对使用动态交换端口的应用如被动 式文件传输( p a s s i v ef 口) 和h 。3 2 3 应用等也可以实行监控。 作者在本文中实现了监控网络流量和保持对他们状态的跟踪。在监控过程 中,为了获取数据包包含的流量类型特定信息,会检查数据包的包体内容,对应 各种应用程序使用的不同方式和通讯协议,可以识别出流量类型。此外,更重要 的成果是可以控制p 2 p 下载。每个网络的管理者对管理的网络都有不同的理解, 因此,对于p 2 p 下载的控制方式也不尽相同。本文基本上可以满足各种管理要求, 可以用以下两种方式来控制p 2 p 下载: ( 1 ) 将p 2 p 下载的流量控制在某个范围内 如将某种或者整个p 2 p 下载流量设定为i m b p s 。企业剩余的其他网络带宽资 源可以给关键业务或者其他非关键业务使用,有效地防止p 2 p 下载侵吞大量网络 天津大学硕士学位论文 第一章绪论 带宽资源。 ( 2 ) 限制或者禁止p 2 p 下载 企业工作时间内限制或者禁止p 2 p 下载,这样工作时间内不会有f 2 p 下载流 量和关键业务竞争,也充分保护了企业关键业务。 总之,本文对于网络中间存在的p 2 p 下载提供了很好的监视和控制解决方案。 使用的应用层分析技术也可让网络管理者对网络资源的应用分布情况得到充分 的了解和认知。 1 3 论文结构 论文后续部分组织结构如下:第二章主要介绍了l i n u x 2 4 版内核防火墙框 架n e t f i l t e r ,第三章研究p 2 p 网络技术并对几种常见p 2 p 协议进行分析,第四章 是本文的核心部分,讨论了p 2 p 流量控制系统的设计和实现,第五章是结论和展 望。 天津大学硕士学位论文第二掌l i n u x z4 版内核防火墙框架n e t f i l t e r 第二章l i n u x 2 4 版内核防火墙框架n e t f i l t e r 作为一个优秀的网络操作系统,l i n u x 在内核集成了防火墙。它随着内核的 不断发展,经历了以下几个发展阶段。 表2 - 1l m u x 内核防火墙的发展 名称内核版本用户工具时问 i p f w 2 o i p f w a d m 9 4 年 i p c h a i n s 2 2 i p c h a i n s 9 8 年 n e t f i l t e r2 4 i p t a b l c s 9 9 年 在l i n u x1 i 内核之中己经有了包过滤,它基于b s d 的i p f w ,可以称为l i n u x 第一代内核防火墙。1 9 9 4 年,它被重新编写,并随l i n u x 2 0 发布,用户空间工 具为i p f w a d r n ,它可以称为l i n u x 第二代内核防火墙。l i n u x 第三代内核防火 墙是在1 9 9 8 年,r u s t yr u s s d l ,也就是现在的l i n u x 内核防火墙维护负责人,对 原有的防火墙部分作了很大的修改,称之为i p c h a i n s ,用户空间工具也叫做 l p c h a i n s 。在这之后不到一年的时间内,r u s t y r u s s e l 发现了i p c h a i n s 的一 些不足之处,于是又对其作了一些重大调整,实现了l i n u x 内核防火墙的通用框 架n e t f i l t e r ,其用户空间工具称之为i p t a b l e s ,这是l i n u x 第四代内核防火 墙。 2 1l i n u x 2 。4 内核防火墙机制 l i n u x 2 4 内核防火墙底层结构是n e t f i l t e r 结构,位于l i n u x 网络层( i p 层) 和防火墙内核功能模块之间,n e t f i l t e r 在l i n u x 内核网络结构和防火墙 中的位置如图2 ,l 所示【1 2 】: 在内核中通过n c t f i l t c r 结构将防火墙对数据包的处理引入】p 层中实现,防火 墙的代码与实现i p 层的代码完全分离,从而构成不同的模块,使得防火墙的修 改和扩充变得容易。l i n u x 可以支持不同的协议,如t c p i p ,a p p l e t a l k ,x 2 5 , i p v 6 等,这些协议分别对应着一个唯一的协议号。比如i p v 4 的协议号的定义是 o i n c l u d e 、l i n u x k s o c k e t m : 天津大学硕士学位论文 第二章l i n u x 2 4 版内核防火墙框槊n e t f i i t e r # d e f i n ea f 腿t2l * l n t e m c ti pp r o t o c o l * 图2 - 1n e t t i l t e r 、i p 层与防火墙模块关系图 每种协议都可以有自己的防火墙。在内核中定义了一个被称作f i r e w a l lo p s 的结构体,来为各种协议的防火墙提供一个统一的接口。每种协议都可以对应多 级防火墙,每个协议的多个防火墙有各自的优先级,按照优先级从高到低的顺序 将其f i r e w a l l o p s 连成一个内核与防火墙的接口链表。数据包在经过i p 层处理时, 会检查相应的钩子函数链表中是否有h o o k 函数注册,如果存在注册的h o o k 函数,各级防火墙会顺着其链表一一处理。 目前l i n u x 2 4 内核实现了i p v 4 、i p v 6 和d e c n e t 网络协议栈的防火墙,即 i p t a b l e s 。n e t f i l t e r 向内核提供的防火墙接口f i r e w a u _ o p s 结构体中包含三个函数 指针,f w _ f o r w a r d 、f w _ i n p u t 、f wo u t p u t ,对防火墙的调用实质上就是调用其 f i r e w a l l _ o p s 结构体中这三个函数,再通过这三个函数进一步调用具体的规则函 数。 n e t f i l t e r 内核模块中的二维数组n f _ h o o k s n p r o t o n f _ m a x _ h o o k s 定义 了钩子函数链表的链表头,它通过各处的协议号和h o o k 点来索引。而同一个协 议可以注册多个防火墙,它们由l i s t 指针组成双向链表,并且按照优先级顺序排 列。注册函数完成的任务就是找到对应协议的防火墙链表的入口,按照优先级将 一个n f _ h o o ko p s 结构的节点插入到相应的钩子链表中,而注销过程就是将该钩 子函数节点从链表中删除。 注册函数由各个防火墙的i n i t 函数来调用,而每个防火墙的i n i t 函数由系统 模块初始化函数调用。防火墙是一种“可加载模块”,是编译内核时的一个选项。 在系统启动的时候,会按照选项来选择是否调用其初始化函数。这样,系统在启 天津大学硕士学位论文第二章l i n u x 2 4 版内核防火墙框架n e t f i l t e r 动时的初始化过程中,构建了整个防火墙体系。 2 2n e t f i l t e r 的工作原理 2 2 1n e t f i l t e r 基础 n e t f i l t e r 是l i n u x 2 4 下的内核防火墙子系统的基础,和以前版本l i n u x 内核 放火墙子系统相比,在n e t f i l t e r 上实现的防火墙更加完善,并利于理解,易于扩 展。n e t f i l t e r 提供了一个抽象、通用化的包处理框架,在该框架上很容易实现一 个具体的包过滤子系统。n e t f i l t e r 框架主要包含以下三部分: ( 1 ) 在数据流经的网络协议栈的几个关键位置上,对各种网络协议定义一 套捕捉点( 源代码中称为“h o o k s ”) 。 ( 2 ) 内核模块能够被注册到各种协议的任何捕捉点上。当数据包被送到 n e t f i l t e r 框架时,内核检查在捕捉点上是否有注册的模块。如有,则这些注册的 模块就可以按照一定的次序来检查或修改数据包,并返回如下值: n fa c c e p t 接收,继续正常传输。 n fd r o p 丢弃该数据包,不再传输。 n fs t o l e n 模块接管该数据包,不再继续传输。 n f 对该数据包进行排队(通常用于将数据传给用户空间的进程进_queue 行处理) 。 n fr e p e a t 再次调用该捕捉点函数进行处理。 ( 3 ) 排队的数据包可被传递给用户空间异步地进行处理。 通过制定这样一个通用框架,可以把包过滤、包处理和网络地址转换等都放 在这样一个框架之下,内核中与防火墙相关的代码被组织的更为有序。并且还有 一个很大的优点:易于扩展,容易实现自己特定的要求。 2 2 2n e t f i l t e r 结构 简单的说,n e t f i l t e r 就是在网络流程的若干位置定义了系列捕捉点。目前, 在口v 4 ,i p v 6 和d e c n e t 网络协议栈中已实现了此框架。在i p v 4 中,一个数据 包按图2 - 2 所示过程通过n e t f i l t e r 系统【3 】。 从图2 2 中可以看到i p v 4 一共有5 个捕捉点( 钩子函数) ,分别为: ( 1 ) n f i p p r e r o u t i n g ( 2 ) n fi pl o c a l _ i n ( 3 ) n fi p - f o r l 啪 天津大学硕士学位论文第二章l i n u x 2 。4 版内核防火墙框架n e t f i l t e r ( 4 ) n fi pp o s t _ r o u t i n g ( 5 ) n fi pl o c a l _ o u t 图2 - 2n e t f i l t e r 在i p v 4 中的结构 数据报从左边进入系统,进行i p 校验以后,数据报经过第一个钩子函数 n f i p _ p r e r o u t i n g ( 1 ) 进行处理;然后就进入路由代码,其决定该数据包是 需要转发还是发给本机的;若该数据包是发给本机的,则该数据经过钩子函数 n fi pi ,o c a l _ i n ( 2 ) 处理,然后传递给上层协议;若该数据包应该被转发,则 它被n f i p o r w a r d ( 3 ) 处理;经过转发的数据包经过最后一个钩子函数 n fi pp o s tr o u t i n g ( 4 ) 处理以后,再传输到网络上。 。 本地产生的数据经过钩子函数n fi pl o c a lo u t ( 5 ) 处理后,进行路由选 择处理,然后经过n fi pp o s tr o u t i n g ( 4 ) 处理以后发送到网络上。 图2 - 2 只是数据包通过网络层的一个简化。在l i n u x 2 4 下i p v 4 协议栈的实现 中,数据包通过网络层的具体过程还是比较复杂的。 首先调用的是函数n c v i p v 4 i pi n p u t c i p _ r c v o ,由它来进行包的合法性( 版 本号、长度、校验和等) 检查。如通过检查,则进入第一个捕捉点n fi pp r e r o u t i n g ,无论捕捉点中注册了多少函数,它最终必须返回n fa c c e p t , l 叮fd r o p ,n f _ s t o l e n ,n 耻q u e u e 和n fr e p e a t 中的一个值。假设返回 的值为n f a c c e p t ,则下一个要调用的函数为:n e t i p v 4 i p v _ i n p u t c ; i p _ r e v _ f m i s h o 。在i p _ r c vf i n i s h o q b ,通过调用n e t i p v 4 r o u t e c i p _ r o u t ei n p u t 0 来决定包的路由。根据不同的路由决定,可能会进入如下四个函数中的一个: n c t i p v 4 i p _ i n p u t c :i p _ l o e a l _ d e l i v e r 0 数据包的目的地是本极。 n e t i p v 4 i p _ f o r w a r d c :i p _ f o r w a r d 0 需要转发数据包。 n e t i p v 4 r o u t e c :i pe r r o r 0 天津大学硕士学位论文第二章l i n u x 2 4 版内核防火墙框架n e t f i l t e r 无法找到此数据包的路由,出现错误。 n e t i p v 4 i p m r c :i p _ m r _ i n p u t 0 多播。 假设i p被调用,它的第一个任务是检查ip头部的r几,如果_fonardo r r l p q r e g - h o o k n u m n e x t ; 6i ! 一& n fh o o k s r e g - p f j r e g - h o o k n u m ; 7 i = i - n e x t ) 8 i f ( r c g - p r i o r i t y p n o r i 劝 9 b r e a k ; l o 11l i s ta d d ( & r e g - l i s t , i - p r e v ) ; 1 2b r _ w r i t eu n l o c k _ b h ( b r _ n e t p r o t o 且o c k ) ; 1 3n 蚌呦o : 1 4 , 在上面的代码中,有一个二维数组n f _ h o o k s 。这个数组的声明在n c t f i l t e r c 中:s u u c t l i s t h e a dn f _ h o o k s n p r o t o n f _ m a xh o o k s ; 其中,n p r o t o 指协议类别,n f _ m a xh o o k s 指捕捉点个数。从5 1 0 行 的f o r 循环中可以看出,对于每一个具体的协议和捕捉点, n f _ h o o k s n p r o t o n f _ m a x _ h o o k s 就是注册到这个捕捉点上的n f _ h o o ko p s 链表的头。从中还可以看出,p r i o r i t y 值越小,就越靠近链表头部。第1 1 行,在 链表上插入注册的结点。 lv o i dn 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 ko p s + r e g ) 2 3b r w r i t e l o c k b h ( b r _ n e t p r o t o _ l o c k ) ; 4l i s t _ d e l ( & r e g - l i s t ) ; 5b r _ w r i t e _ u n l o c k , b h ( b r _ n

温馨提示

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

评论

0/150

提交评论