(信号与信息处理专业论文)基于linux防火墙的嵌入式带宽管理系统.pdf_第1页
(信号与信息处理专业论文)基于linux防火墙的嵌入式带宽管理系统.pdf_第2页
(信号与信息处理专业论文)基于linux防火墙的嵌入式带宽管理系统.pdf_第3页
(信号与信息处理专业论文)基于linux防火墙的嵌入式带宽管理系统.pdf_第4页
(信号与信息处理专业论文)基于linux防火墙的嵌入式带宽管理系统.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(信号与信息处理专业论文)基于linux防火墙的嵌入式带宽管理系统.pdf.pdf 免费下载

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

文档简介

中文摘要 随着互联网技术的出现和飞速发展,人类正在经历一场前所未有的新技术革 命信息革命。互联网不再仅限于科研机构和教育机构使用,它已渗透到人们 日常生活的各个方面。越来越多的人希望能够享受高速的网络服务。宽带技术使 得普通大众享受这种服务的愿望成为可能。虽然我国的网络基础设施正在发生着 日新月异的变化,但与发达国家相比还存在差距,网络的带宽相对于人们的需求 还有一些距离。为了公平有效的使用有限的网络资源,对网络流量进行控制就成 了必然的选择。带宽管理系统就是在这种应用需求下提出的。 本系统是一个基于l i n u x 内核n c t f i l t c r 框架的带宽管理系统。整个系统主要 分为三部分:嵌入式l i n u x 平台,流量区分模块和带宽管理模块。嵌入式l i n u x 可以使系统资源的需求减少,节省成本。本文定制了一个小型l i n u x 系统。流量 区分模块主要作用是对网络的流量进行准确的识别并打上标记,供带宽管理模块 使用,鉴于当前网络应用的复杂情况,该模块使用传统方法与基于协议分析的内 容过滤方法相结合,有效的对应用动态端口的应用程序进行识别。带宽管理模块 根据流量区分对流量特性的区分,准确的实现q o s 策略,有效的保证带宽的使 用。 论文的第一章简要介绍了研究背景、必要性用系统总体情况;第二章主要回 顾了本文涉及的主要技术;第三章讨论了系统的设计;第四章分析了嵌入式l i n u x 构建的关键技术;第五章对系统的实现做了介绍;第六章总结了系统的优点及有 待改善之处。 关键词=嵌入式系统带宽管理协议分析o o sn e t f i l t e r a b s t r a c t w i t ht h ed e v e l e p m o n e to fn e t w o r kt e c h n o l o g y , p e o p l ea r ee x p e r i e n c i n ga n u n p r e c e d e n t e dt e c h o n o l o g yr e v o i n t i o n m i n f o r m a t i o nr e v o l u t i o n h 咖c ti sn ol o n g e r u s e do n l yb yr e s e a r c ho r g a n i z a t i o na n de d u c a t i o ni n s t i t u t i o n i th a sb d ? , o m ep a r to f p e o p l e se v e r y d a yl i f e a l t h o u g hc h i n a sn e t w o r ki l d 托峙呲n 】r ci sc h a n g i n gr a p i d l y , t h e r ei ss t i l lal o n gw a yt o1 - u nf o rr e a c h i n gd e v e l o p e dc o u n t r i e s w h i l en e t w o r k c a p a c i t yi sf a ra w a yf r o mp e o p l e sd e m a n d s t o 朗n s u r et h el i m i t e ( 1n e t w o r kr e s o u r c ei s u s e df a i r l ya n de f f i c i e n t l y , n e t w o r kt l a f e oc o n t r o lb e c o m e st h ed e f i n i t ec h o i c e f o r t h i sp u r p o s e ,b a n d w i d t h 嘲c m e n ts y s t e mc o m e so u t t h i ss y s t e mi sab a n d w i d t hb a s e do nl i n u xk e r n e ln e t f i l t e rf r a m e w o r k t h e s y s t e mc o n s i s t so ft h r e ep a r t s :e m b e d d e dl i n u xw o r k s t a t i o n , t l a 伍cd i f f e r e n t i a t i n g m o d u l ea n db a n d w i d t hm a n a g e m e n tm o d u l e e m b e d d e dl i n u xc a ns a v et h e r e q u i r e m e n to fs y s t e ms o u r c e ,t h u sr e d u c ec o s t i nt h i sp a p e r , am i n il i n u xs y s t e mi s c o s t u m e d t h em a i nf u n c t i o n a l i t yo ft r a f f i cd i f f e r e n t i a t i n gm o d u l e si st od i f f e r e n t i a t e t h et r a 衔ca n dm a r kt h c mf o rt h eu s eo fb a n d w i d t hm a n a g e m e n tm o d u l e b e c a u s eo f t h ec o m p l i c a t i o no fc u r r e n tn e t w o r k , t h i sm o d u l ei si m p l e m e n t e ab yi x a d i t i o n a lw a y s a n dc o n t e u tf i l t e r i n gb a s e do np r o t o c o la n a l y s i s ,s oi tc a nr e c o g n i z ep r o g r a mu s i n g d y n a m i cp o r te f f i c i e n t l y b a n d w i d t hm o d u l e su s e sd i f f e r e n tp o l i c e st od i f f e r e n tt r a f f i c a c c o r d i n gt ot h em a r kt r a f f i cd i f f e r e n t i a t i n gm o d u l e sp r o v i d e s t h i sd i s s e r t a t i o ni s o r g a n i z e da sf o l l o w s t h e f i r s ts e c t i o nt a l k sa b o u tt h e r e s e a r c hb a c k g r o u n da n dt h en e c e s s i t yo ft h es y s t e m i ns e c t i o nt w ot h ei n v o l v e d t e c h n o l o g yi sr e v i e w e d t h ed e s i g no f t h es y s t e mi sa r g u e di ns e c t i o nt h r e e t h ew a y t oc o n s t r u c te m b e d d e dl i n u xs y s t e mi st a l k e da b o u ti ns e c t i o nf o u r i ns e c t i o nf i v et h e i m p l e m e n t a t i o no ft h es y s t e mi sc o m m e n t e d s e c t i o ns i xc o n c l u d e st h ed i s s e r t a t i o n a n dg i v e st h ea d v a n t a g e sa n dd i s a d v a n t a g e so f t h es y s t e m k e yw o r d s :e m b e d e d s y s t e m ,b a n d w i d t hm a n a g e m e n t ,p r o t o c o la n a l y s i s , q o s ,n e t i i l t e r 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得苤鲞盘茔或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:球磊军签字日期:2 硼6年2 月2 6 日 学位论文版权使用授权书 本学位论文作者完全了解盘鲞盘茎有关保留、使用学位论文的规定。 特授权鑫鲞盘壁可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:铱 毙罕 导师签名:学位论文作者签名:旬伊 钇平 导师签名: 签字日期:跏6 年2 月2 0 日签字日期: 天津大学硕士学位论文第一章绪论 1 1 课题背景及必要性 第一章绪论 随着i n t c r n e t 规模的不断扩大,p 业务多样化和快速增长已成为不争的事实。 国内电信运营商利用自建的坤骨干网提供了多种增值服务,推出多种基于口的 新业务;这些业务的应用类型多种多样,不同的应用对网络的需求也有所不同, 应用层以变化的速率产生业务量,也希望网络以相应的速率传输这些业务量。另 外,不同的应用对网络传输的延时和抖动的敏感程度也不一样。例如实时传输有 严格的延时要求,但却能容忍少量的分组丢失,而文件传输却不能容忍分组的丢 失。有些高速率的多媒体实时业务既占有大量的带宽资源,又不能容忍网络的延 时。因此应在球网络导入q o s ( g 目络服务质量) 技术,以确保实时业务的通信质量, 使网上资源获得最佳利用,降低成本,改善对用户的服务。由于i pq o s 在可预 测、可测量性方面比传统口有很大的提高基本解决了商业用户的基本需求,因 而势必可以吸引更多的商业用户,形成一个新的利润增长点,带来可增值的业务 种类。i pq o s 己成为网络基础研究的一个重点,也是未来口网络发展的关键技 术,因为i p q o s 是m 网络增值服务内容、提高服务质量的关键技术,也是网络 运营商竞争的一个焦点。 当前的市场上已经有一些相应的q o s 产品,它们一般都作为功能复杂的防 火墙或者路由器的一部分,价格都很高,不适合中小企业的应用,而且在网络应 用日益复杂的今天,其灵活性也显的不够。因此,在确立本课题的目标时,把开 发方向定为:面前企事业中小型部门或办公室与家庭用户,开发具有灵活多样和 强有力的带宽管理能力的q o s 产品,使其具有完备的q o s 功能、较短的开发周 期及性价比高等特点。 1 2 方案总体介绍及意义 本文设计并实现了一个基于l i n u x 防火墙n e t f i l t e r 架构的嵌入式q o s 解决方 案。解决方案利用n c t f i t e r 架构对已经分类的信息流进行广泛的数据采集和分析, 涵盖当前网络上广泛使用的动态端口的应用程序和国内广泛使用的应用程序,并 利用l i n u x 下的带宽管理工具t c 提出一种有效的q o s 方案,由于其使用了l i n u x 天津大学硕士学位论文第一章绪论 自带的架构,所以可以缩短开发周期,降低开发成本。 本课题对基于l i n u x 下的n e t f i l t e r 架构的q o s 方案的进行开发的意义在于: l 、q o s 研究具有较高的实用价值,虽然现在市场上已经有了比较成熟的q o s 产品,但是对于中低端的应用来说,提供灵活有力,价格低廉的q o s 产品还不 多。基于l i n u x 的q o s 产品具有开发速度快、成本低廉的优点,可以很好地满 足这类需求。 2 、q o s 技术综合了多种网络技术,分析、研究、跟踪目前国际、国内最新 的网络技术,对于自身网络知识是次系统而且深入的学习,本课题的研究和开 发也是在网络q o s 产品设计的一次有益探索。 3 、l i n u x 操作系统为q o s 的研究提供了一个很好的切入点。其开放的源码 易于学习和进一步开发,通过在其上进行q o s 项目开发,对l i n u x 内核与t c p i p 协议栈的分析与认识可以更加彻底与深化,对于国外系统软件的研究也会更加深 入,这对今后设计我们自己的系统软件产品也很有借鉴意义。 4 、嵌入式l i n u x 改交了嵌入式操作系统的市场前景,在国内外众多l i n u x 厂商的推动下,嵌入式l i n u x 一定会成为i n t e r a c t 时代嵌入式系统中的生力军。 因此,研究嵌入式l i n u x ,有十分重要的战略意义。 1 3 本论文主要工作 本文设计实现并实现了一种基于嵌入式l i n u x 下防火墙n e t f i t l e r 架构的带宽 管理工具。主要工作如下: 1 、分析了q o s 技术的基本概念、发展现状等。 2 、深入研究了l i n u x 下防火墙n e t f i l t e r 机制和q o s 技术,讨论了n e t f i l t e r 的实现及对数据流识别的基本原理,研究了l i n u x 操作系统q o s 技术的 实现。 3 、着重研究了针对q o s 应用而需要建立的嵌入式l i n u x 的环境的方法,并 对其实现的原理和方法做了详细的描述。, 4 、本论文实现了对当前广泛应用的动态端口的应用的程序的识别,并对当 前国内广泛应用的动态端口的应用程序进行扩展。 5 、设计实现了一种高效方便基于i pq o s 的带宽管理方案。 天津大学硕士学位论文 第二章相关技术研究 2 1 q o s 技术 第二章相关技术研究 2 1 1q o s 的定义与描述 i n t e m e t 自上世纪出现以来蓬勃发展,自2 0 世纪9 0 年代更以惊人的速度增 长:联网的计算机数量每年增长一倍,用户数量及访问次数呈指数增加。同时各 种应用,特别是多媒体技术飞速发展,出现了基于口的视频会议,v o 口等多媒 体应用。i n t e m e t 正逐步从只传输数据的数据传输网络向数据,语音、图像等多 媒体信息的综合传输网演进。但i n t e r a c t 现在的传输模式仍为“尽力而为”模式, 无法满足多媒体应用和各种用户对网络传输质量的不同要求。因此以提高网络的 利用效率,为用户提供更高的服务质量为目地的q o s 研究是i n t e m e t 发展过程的 一个重要课题。 为了在i n t e m e t 上实现q o s 保证的传输,首先需要对q o s 进行定义和描述, 然后再考虑q o s 保证的体系结构和实现机制。不同的国际组织对q o s 有不同的 定义,但其目地都是为用户提供更好的服务。 在i s o9 5q o sf r a m e w o r k 中q o s 被定义为“一套与一个或多个目标的行为 相关的质量体系”。q o s 被认为是跨多个服务类的多维目标函数,它包括延迟、 呼叫阻塞概率、延迟抖动、吞吐量等。 c i s c o 将端到端的q o s 服务定义为:网络传递特定网络应用所需要的服务 的能力,这种能力是通过延迟、延迟抖动、丢失率和带宽的控制实现的。 o s i 参考模型中的q o s 定义: 针对计算机通信,国际标准化组织i s o 提出了一套七层的开放式系统互连 ( o s i ) 的参考模型,这个模型己经被广泛的接受,并在很多系统上得以实现。在 七层模型中,i s o 组织要求每层向其上层提供服务,同时也提供相应的服务质量 保证。表2 1 是o s i 模型中q o s 的定义。 在o s i 参考模型中,q o s 支持仅限于在会话层和传输层定义的统计参数。 如果应用层和表示层要控制q o s ,只能将q o s 参数相应的从上层映射到下层。 在传输层,q o s 参数对应于会话的几个阶段:连接的建立、数据的传输、连接的 释放。 o s i 模型将q o s 参数分为面向性能的参数和非面向性能的参数,表2 1 是面 天津大学硕士学位论文第二章相关技术研究 向性能的q o s 参数。表2 2 是非面向性能的参数。 o s i 参考模型中的q o s 是基于只有数据业务的低速网络环境,所以o s i 的 q o s 参数只能反映在此环境中应用的q o s 要求。 参数描述 吞吐量 服务提供者在单位时间内传输的最大字节数。 传输延迟从发出个数据传输请求到数据传输完成确认之间的时间 间隔,这个参数通常包括两个值,最大传输延迟和平均传 输延迟。 错误率 服务数据单元( ( s d l d 错传、丢失、重传的概率 连接建立延迟发出“连接请求”到“连接确认”之间的时间间隔 连接建立失败概率在最大可接受的连接建立延迟之内,请求连接不能建立 的概率 传输失败概率在一定的传输延迟、错误率或吞吐量的条件下,可观察 到的性能比指定性能水平差的概率 重置率在一定的时间间隔内,服务提供者要求释放连接,或重 置连接的概率 释放延迟从“释放请求”发出到“释放确认”之间的时间间隔 释放失败概率在规定的最大释放延迟内,服务提供者不能释放连接的 概率。 表2 1o s i 模型中的q o s 定义 参数描述 数据保护服务提供者用以防止未授权用户对用户数据的监视和操作。 优先级 区分连接和数据包的传输、资源使用的优先程度; 成本一个网络连接可接受的最大代价,该参数最终由网络的提供者 决定; 表2 2 非面向功能的参数 1 1 u 的q o s 定义: i t u 在其e 8 0 0 的建议书中将q o s 定义为:“服务性能的集中反映,它决定 了用户对服务的满意程度”。 i t u 制订了有关宽带i s d n 的q o s 的系列建议。将q o s 分为呼叫控制、连 接,以及数据单元的传输控制3 个不同的层次。 天津大学硕士学位论文第二章相关技术研究 呼叫控制级q o s :包括呼叫次数、失败率等: 连接级q o s :包括连接延迟、连接失败率、释放的延迟和释放延迟率等参数; 数据单元控制级的q o s :包括报文的峰值到达率、峰值持续时间、报文平均 到达率、报文丢失率、报文插入率以及比特出错率等。 这些q o s 定义包括了服务提供者所能为用户提供的不同性能要求,但提供 用户角度的q o s 要求方面不足。 a t m 论坛对q o s 的定义: a t m 论坛为a t m 交换机定义了一套自己的q o s 参数。a t m 网络的q o s 应 用在三个不同的层面上。呼叫控制和连接层主要考虑呼叫的建立,释放,路径上 删节点的资源分配。信元控制层主要涉及媒体传输阶段。表2 3 是a t m 论坛 定义的q o s 参数。 参数描述 信元峰值速率用户传输时的最大瞬时速率 信元持续速率长时间间隔内的平均速率 信元丢失率由于拥塞或错误在网络中丢失的信元比例 信元传输延迟从信元进入到离开网络的时间间隔,这包括在不同交换 节点上的传播延迟、排队延迟 信元延迟方差信元传输延迟的方差,方差大意味着较大的缓冲 突发容忍在峰值速率时,发送的最大突发流量 最小信元速率应用希望的信元最小速率 表2 3 a t m 论坛的q o s 参数 a t m 论坛把a t m 网络的服务定义为4 类,即c b r ( c o n s t a n tb i tr a t e ) 恒定 比特率服务、v b r ( v a r i a b l eb i tr a t e ) 变比特率服务、a b r ( a v a i l a b l eh i tr a t e ) 自 适应式比特率服务和u b r ( u n s p e c i f i e db i tr a t c ) 未指定比特率服务。其中v b r 又分为r t - v b r ( r e a l - t i m ev a r i a b l eb i tg a t e ) 实时变比特率服务、n r t - v b r ( n o n r e a l - t i m e v a r i a b l eb i tr a t e ) 非实时变比特率服务。a t m 论坛也定义了相应的呼叫 准入控制c a c ( c a l la d m i s s i o nc o n t r 0 1 ) ,以检查用户连接请求的服务类型并根 据a t m 交换机中的资源空阕状况决定接受或拒绝用户的连接请求。 由于a t m 用面向连接方式交换信元,因此一旦v c ( v i r t u a lc i r c u i t ,虚电路) 被建立起来之后,在数据传输完成之前将不会被切断。从而,a t mu n i ( u s e r n e t w o r k l m e f f a e e ) 方面的q o s 要求主要以服务类型为主。a t m 交换机把u n i 提 交的服务类型映射到相应的q o s 参数上去。 天津大学硕士学位论文第二章相关技术研究 正t f 的q o s 定义: m t f 将q o s 定义为用带宽、延迟和丢失率等参数描述的关于分组传输的质 量。 i e t f 定义的q o s 体系中包括: 网络元素:任何一个可在i n t e m e t 中处理分组的组件,它具有在分组通过时 控制分组的能力,它包括路由器、交换机、主机等。 流:具有相同q o s 要求且服从相同q o s 控制方法的分组集合。 端到端的行为:与q o s 相关的端到端的性能。 2 1 2q o s 服务模型 综合服务( i n t s e r v ) 简介: i n t e r n e t 设计之初是为了提供面向非实时的、单一数据类型的通信。口协议 提供不可靠、无连接的数据报文传递服务。不可靠指不能保证口数据报能成功 地到达目的地。无连接指碑并不能维护任何关于后续数据报的状态信息。为实 现端到端的可靠服务,在t c p i p 协议族中,又设计了t c p 协议实现传输层的连 接保证。但在i n t e m e t 最普遍使用的t c p i p 体系中,始终缺乏必要的服务质量保 证机制。而各种多媒体应用的产生又需要在i n t e m e t 提供端到端的服务质量保证。 为了满足i n t e r n e t 多媒体应用实时传输的要求,i e t f 定义了i n t s e r v 模型o i e t f 在考虑综合服务模型时,主要目的是在i n t e r n e t 中同时为非实时的应用和实 时的多媒体应用提供服务,其主要考虑的q o s 参数是网络的延迟。因此在服务 类型上,i n t s e r v 只定义了保证型服务( c , u a r a n t e e ds e r v i c e ) 和可控负载型服务 ( c o n t r o l l e d - l o a ds e r v i c e ) 。 保证型服务给出了端到端数据报文的排队延迟的严格边界。保证型服务使得 为应用同时提供延迟和带宽保证成为可能。在保证型服务中,为保证延迟的上界, 一个服务元素( 子网,路由器等) 必须计算各种参数以描述服务元素如何控制数据 流的传输。然后,将路径上服务元素的参数组合,计算出数据报经过路径时可能 经历的最大延迟。 可控负载型服务能够在网络元素负载过高的情况下,通过容量控制,提供用 户的服务质量近似接近于网络元素无负载条件下的q o s 。它让用户无论在网络负 载很高还是很低时,感受的服务质量差不多。 现有的i n t s e r v 方案实现需要所有路由器在控制路径上处理每个流的信令消 息并维护每个流的路径状态和预约状态,在数据路径上执行基于流的分类、调度 和缓冲区管理。当前i n t s e r v 主要依靠资源预留协议r s v p 逐点( h o p - b y - h o p ) 地建 立或拆除每个流的资源预留软状态;依靠准入控制决定链路或网络节点是否有足 天津大学硕士学位论文第二章相关技术研究 够的资源满足q o s 请求;依靠流量控s t j ( t r a t t i ec o n t r 0 1 ) 将碑分组分成传输流,并根 据每个流的状态对分组的传输实施路由、调度等控制。 区分服务( d i i i s e r v ) 简介: 尽管i e t f 提出了h t s e r v 体系结构来解决服务区分问题,但要从现有的“尽 力而为”的传输模式升级到i n t s e r v 体系结构仍然存在许多困难其中最主要的 原因在于h t e m e t 的规模庞大,许多节点并不支持服务质量的实现。另一方面, 由于i n t s e r v 服务体系结构的实施粒度比较细,所有的服务与控制都是针对数据 流进行的,提供服务质量的开销巨大,实现复杂,可扩展性差。 基于以上原因,i e t f 提出了区分服务( d 硼s e r v ) 模型。区分服务( d i f f s e r v ) 的 设计目标是提供一种简单的、容易实现并且是低成本的工具来支持一系列的网络 服务,这些服务在性能的基础上有所区分。 d i f f s e r v 的实现方法是: 1 ) 简化网络内部节点的服务机制。在内部节点只进行简单的调度转发,而 流状态信息的保存与流监控机制的实现等只在边界节点进行,内部节点是状 态无关的。 2 ) 简化网络内部节点的服务对象。采用聚集传输控制,服务对象是流聚集 ( f l o wa g g r e g a t e ) 而非单流,单流信息只在网络边界保存和处理。 边界路由器根据用户的流规定和资源预留信息将进入网络的单流分类、整 形、聚合为不同的聚集流,这种聚集信息存在每个i p 头的d s 标记域中,称为 d s 标记( d i f f e r e n t i a t e ds e r v i c e sc o d ep o i n t ,d s c p ) ;内部节点在调度转发p 包时 根据包头的d s c p 选择提供特定质量的调度转发服务,其特性称为每跳行为 ( p e r - h o p - b e h a v i o r ,p h b ) 。网络边界对单流做分类聚合与网络内部对聚集流提供 特定质量的调度转发服务,这两个过程是通过口头内的d s c p 协同起来的。 d i f f s e r v 与i n t s e r v 模型的比较: d i f f s e r v 相对于i n t s e r v 模型有以下几个关键特征: 1 ) 增强边界功能,简化内部功能 d i f f s e r v 充分利用了i n t e r n e t 中的自治域思想,将i n t e m e t 划分为多个d s 域 ( d i f f s e r v d o m a i n ) 。全网的复杂控制就被分为域内的控制和域间的控制。i n t s e r v 希望每个路由器实现分组分类功能,以提供不同级别的服务,这意味着必须检查 分组头部许多字段的内容。这是个代价非常高的操作。而d i f i s e r v 将分组分类 工作移到网络的边界上,由边界路由器对分组做适当的分类和标识,内部路由器 仅需根据其标识做简单的转发操作即可。而且边界路由器的标识工作比较简单, 只需在口头部的t o s 字段作标识即可。由于内部路由器的处理简单,因此可提 供高速的转发服务。 天津大学硕士学位论文第二章相关技术研究 较粗的区分粒度 d i f f s e r v 的区分不是按流来进行,而是根据聚集流来分类,而且定义类的数 目比较小。这样一来,无论流的数目如何增加,d i f f s e v 只提供有限的几类服务, 因而具有较好的可扩展性。 3 1 服务的提供相对集中 i n t s e r v 用r s v p 协议进行动态的资源分配,r s v p 的信令随着流数目增多而 成比例的增多,路径上每个路由器都必须进行准入控制。d i f f s c r v 模型则将准入 控制移到了网络的边界,由带宽代3 日j ( b a n d w i d t hb r o k e r ) 来处理整个d s 域的准入 控制,这使得整个d s 域处理起来象一个节点。用户必须与i s p 签定s l a ( s e r v i c e l e v e la g r e e m e n t ,服务水平协议) ,该s l a 规定了所支持的服务类型和每类服务 中的流量数。s l a 可以是静态的,也可是动态的。 4 ) 没有绝对的服务保证 i n t s e r v 中对服务质量的保证是通过在每个流经过的路径上显式预约资源而 到达的。一般地,d i f f s e r v 将不提供严格的保证,内部路由器对流是不加区分的, 而是处理聚集流,所以无法保证一个类中每个流都能满足服务质量的要求。 2 1 3 支持q o s 的协议 应用的发展,使得人们对i n t c r n e t 的需求在无止境的增长。增长的负荷不仅 仅来自用户数量和用户使用时间的增长,而且还来自各种新型业务的增长,包括 网络数据传输、网络运算、多媒体应用等。其中以视频和语音业务为代表的多媒 体应用对q o s 的需求最强烈。传统上,对多媒体业务的解决方案是采用专用电 路和a t m 技术结合,但这个方案不适用于多媒体应用到桌面的需求。 因此满足q o s 传输的任务就落在了t c p i p 体系上了。t c p i p 运行在基于分 组的网络基础设施上。视频和语音业务产生的数据量很大,而且它要求的是一种 平滑的流式的传输,这与网络中原有业务,如f t p 、w e b 等的突发的、不平滑的 传输方式有很大不同。 为解决这些问题,研究人员基于t c p f l p 体系提出了一系列的协议和技术, 这些协议和技术主要包括r s v p ( 资源预留协议) 、m p l s ( 多协议标记交换) 、 r t p ( 实时传输协议) 等。 天津大学硕士学位论文第二章相关技术研究 2 2l i n u x 内核防火墙n e t f i l t e r i p 协议栈是l i n u x 操作系统的主要组成部分,也是l i n u x 的特色之一,素以 高效稳定著称。l i n u x2 4 以前的内核采用的防火墙是i p e h a i n s 。但由于i p c h a i n s 存在着不足,所以l i n u x2 4 内核采用了新的架构。i p e h a i n s 存在的主要不足是: 1 、i p e h a i n s 处理数据包的方式比较复杂,尤其是在一些和防火墙功能相关的 方而,如口伪装和网络地址转换。产生这种复杂性的原因是i p 伪装及网络地址 转换技术和防火墙的代码是独立发展的,后来才结合到一起,而不是作为一个整 体产生的。如果希望在数据包处理过程中增加一些功能,将会发现很难找到合适 的地方插入代码。 2 、透明代理的实现非常复杂,必须查看每个数据包以判断是否有专门处理 该地址的s o c k e t 。 3 、i n p u t 链描述整个进入口层的规则,它并不区分数据包是以该主机为目 的地还是通过该主机进行中转。如此就混淆了i n p u t 链和f o r w a r d 链,f o r w a r d 链 只是负责处理进行中转的数据包,但却总是接在i n p u t 链的后面。区别这两种数 据包,必须编写很复杂的规则。同样的问题在f o r w a r d 链和o u t p u t 链之间也存在。 4 、i p e h a i n s 没有提供传递数据包到用户空间的框架,所以任何需要对数据 包进行处理的代码都必须运行在内核空间。而内核编程非常复杂,只能用c 语 言结合汇编语言实现,容易出现错误,影响内核稳定性。 l i n u x2 4 内核重新设计了防火墙框架,对i p e h a i n s 进行改进,构造了n e t f i l t e r 架构。n e t f i l t e r 摒弃了i p c h a i n s 不区分数据包是单纯的进入包、外出包或中转包 的做法。i n p u t 链仅处理目的地是该主机的数据包,f o r w a r d 链仅处理在该主机进 行中转的数据包,o u t p u t 链仅处理由该主机发出的数据包。这些修改使得防火墙 配置大大简化。n e t f i l t e r 对i p c h a i n s 的改进主要体现在: 1 、为每种网络协议( i p v 4 、i p v 6 等) 定义一套钩子函数,这些钩子函数在数 据包流过协议栈的几个关键点被调用。 2 、内核的任何模块可以对每种协议的一个或多个钩子进行注册,实现挂载, 这样当某个数据包被传递给n e f f i l t e r 框架时,内核能检测是否有任何模块对某种 协议和钩子函数进行了注册。如果是注册了,这些模块就调用注册时使用的回调 函数对数据包进行检查或修改,然后决定是丢弃( d r o p ) 、接受( a c c e p t ) 该数据 包,还是指示n e f f i l t e r 框架将该数据包传递给队歹u ( q u e u e ) 等。 3 、那些排队的数据包可以被传递到用户空间进行异步处理。一个用户进程 能检查数据包,修改数据包,甚至可以重新将该数据包通过同一个钩子函数注入 到内核中。所有的包过滤n a t 等都基于该框架,内核网络代码中不再有混乱的 天津大学硕士学位论文 第二章相关技术研究 修改数据包的代码。 l i n u x 2 4 内核中的n e t f i l t e r 位于l i n u x 网络层( 口层) 。虽然防火墙构建在口 层中,但并未对l i n u x 2 4 内核的网络结构造成破坏,而是通过n e t f i l t e r 结构将防 火墙对数据包的处理引入疋层中。防火墙的代码与实现口层的代码完全分离, 从而构成不同的模块,使网络层和防火墙在结构上很清晰,防火墙代码修改和功 能扩充更加容易。 为了更好的了解n e t f i l t e r 的工作机理,有必要先分析一下l i n u x 内核对于网 络数据是如何处理的。以下的分析全部基于以太网和i p v 4 协议。 2 2 1l i n u x 网络协议栈分析 报文接收从网卡驱动程序开始,当网卡收到一个报文,会产生一个中断,其 驱动程序中的中断服务程序将调用确定的接收函数来处理。以下以口报文为例, 网卡驱动程序为p c n e t 3 2 ,简要介绍一下i p v 4 协议栈的结构和报文处理流程。流 程分成两个阶段:驱动程序中断服务程序阶段和口协议栈处理阶段。 图2 1 报文接收流程驱动程序阶段 驱动程序中断服务程序阶段如图2 1 所示。当有数据到达网卡的时候,会产 生一个硬件中断( 相应的i r q 号是在系统启动,网卡初始化时通过r e q u e s t _ i r q 函 数决定的) 。然后调用网卡驱动程序中的函数来处理。这个中断处理程序首先进 行i o 操作将数据读入,当数据帧成功接收后,将收到的数据包封装成s k b u f f 天津大学硕士学位论文第二章相关技术研究 结构并脱离驱动程序转到通用的处理函数n e t i f _ r x ( d e v c ) 中。为了提高c p u 的效 率,上层的处理函数将采用软中断( s o f t i r q ) 的方式激活,n e t i f r x 的一个重要 工作就是将传入的s kb u f f 放到等候队列中,并置软中断标志位 ( n e tr xs o f t i r q ) 后返回,等待下一个数据包的到来。经过一段时间后,c p u 将发出一次进程调度。进程调度函数s c h e d u l e 0 将会检查有没有软中断发生,若 有则运行相应的处理函数。所以当下一次进程调度被执行的时候,系统会检查是 否发生n e t r x $ o f t i r q 软中断,若有则调用n e t i x a c t i o n 函数,将s k _ b u n 从c p u 的接收队列中取出来,交给对应i p v 4 协议处理程序。以下的过程便转到 口协议栈处理阶段。 m v 4 协议处理程序是i p r e v 函数。如图2 2 所示,协议处理程序将对传入的 数据包进行一些完整性检测,如果检测失败,则将数据包丢弃。在内核中,为了 灵活处理防火墙代码,将以前内核的i p r e v 函数分成了两部分,即将i p _ r c v 的后 半段独立出一个i pr c vf i n i s h 函数。在此两个函数之间的就是n e t f i l t e r 的第一个 钩子函数n fi pp r er o u t i n g 。因此可以通过n e t f i l t e r 的n fi pp r e r o u t i n g 钩子函数对经过i p _ r c v 处理的数据包进行包过滤。从钩子函数出来以 后,程序流程将转移到n e t i p v 4 i p _ i n p u t c :i p r c v _ f i n i s h o ,进行数据包的目的地 址的判断,送给路由选择程序i p 函数,决定数据包是:_routeinput 1 送往本机( i pl o c a l ;_deliver) 2 转发到其他主机( i p _ f o r w a r d ) ; 3 多播转发( i p _ m r _ i n p u t ) ; 4 出错丢弃( i pe r r o r ) a 对于送往本机的数据包,则要经过n e t f i l t e r 的另一个钩子函数n f - i pl o c a li n ,允许进入本机的数据包,则迸一步交由上层协议处理函数处理, 否则丢弃该数据包。数据包的转发工作,由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 ( ) 完成。首先检查m 包的t r l ,如果小于0 ,则丢弃之,并向源主机发送,r r l 超 时错的i c m p 包。否则,将r r l 减1 。然后比较包大小和目标网络接口的m t u , 如果i p 包标记不允许分包,且包大小大于m t u ,则丢弃该数据包,并向源主机 发送i c m p 包,告知数据需要分包。接下来是n e t f i l t e r 要处理的另一个钩子地 点:n fi pf o r w a r d 钩子。如果在i p t a b l e s 规则中跳转到a c c e p t ,则这里的 钩子将返回n f a c c e p t ,于是数据包将会顺利的通过i p _ f o r w a r d _ f m i s h o ,准备 发送到另外的网络。而数据包在最终发送之前,将会进入n e t f i l t e r 的另一个钩子 函数,n fi pp o s ti i u t 矾g 满足规则的数据包最终被送入网卡驱动程序发送 到另外的网络。 天津大学硕士学位论文第二章相关技术研究 图2 2 报文接收之协议栈阶段 2 2 2n e t f i l t e r 的工作原理 n e t f f i t e r 的设计为内核中其它模块动态参与i p 层中的数据包处理提供了途 径。n e t f i l t e r 通过下面方法来达到其设计目的: 天津大学硕士学位论文第二章相关技术研究 它在内核中建立了一个函数指针链表,称为钩子函数链表,加入到链表中的 函数指针所指的函数称为钩子函数( h o o k f u n c t i o n ) 。当内核模块需要参与m 层中 对数据包的处理时,通过调用n e t i i l t e r 中钩子函数的注册函数,注册内核模块的 数据包处理函数,n e t f i l t e r 将在钩子函数链表中记录下此模块中的数据包处理函 数指针。口层在数据包处理过程中,会检查相应的钩子函数链表中是否有钩子 函数被注册,如果存在注册的钩子函数,便会调用此函数,并且根据该函数的处 理结果,决定是继续完成m 层中的后续处理过程,还是丢弃此数据包,中断数 据包的传输。如果不存在注册的钩子函数,则继续完成m 层中的后续处理。 当内核模块不需要参与口层的数据包处理时,调用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 结构,内核模块可以动态地参与p 层中数据包的 处理,这使得防火墙代码可完全从m 层的实现代码中分离出来,形成独立的内 核模块。同时可以根据需要,添加新的防火墙功能模块,新添功能模块的代码集 中在此内核模块中,代码清晰,而且新添功能不会影响其它的防火墙功能和口 层。同时数据包的处理权在口层和防火墙功能模块之间切换时,不需复制数据 包,它们对同一数据包内存空间进行操作,节省了数据包在内存中的复制时间, 使防火墙对数据包的处理可以保持商速进行。 2 2 3 钩子函数和挂载函数 钩子函数是嵌入内核i p 协议栈的一系列调用入口,设置在报文处理的路径 上,是n e t f i l t e r 架构中的核心部分。l i n u x2 4 内核的n e t f i l t e r 框架为i p v 4 协议 实现了五个钩子函数挂载点,如表2 4 所示: h o o k 调用时机 i n f i p p r e r o u t i n g 完整

温馨提示

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

评论

0/150

提交评论