(电力系统及其自动化专业论文)基于网络终端产品的qos系统设计.pdf_第1页
(电力系统及其自动化专业论文)基于网络终端产品的qos系统设计.pdf_第2页
(电力系统及其自动化专业论文)基于网络终端产品的qos系统设计.pdf_第3页
(电力系统及其自动化专业论文)基于网络终端产品的qos系统设计.pdf_第4页
(电力系统及其自动化专业论文)基于网络终端产品的qos系统设计.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(电力系统及其自动化专业论文)基于网络终端产品的qos系统设计.pdf.pdf 免费下载

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

文档简介

西南交通大学硕士研究生学位论文第1 i 页 a b s t r a c t r e c e n t l y , w i t ht h er a p i dd e v e l o p m e n to fn e t w o r kt e c h n o l o g y , t h ea p p l i c a t i o n o ft h ei n t e m e th a se x t e n d e dt ot h eq o sr e q u i r e m e n t so fm u l t i m e d i as e r v i c e sa n d r e a l t i m eb u s i n e s s b u s i n e s sc u s t o m e r sa l w a y s h o p et h a tt h en e t w o r k s c a n p r o v i d eq u a l i t ya s s u r a n c es e r v i c e s ,o p e r a t o r sw a n tt op r o v i d ed i f f e r e n tq u a l i t yo f s e r v i c e sa n dd i f f e r e n tf e e sa c c o r d i n gt ot h eu s e r s t h ee x i s t i n gr o u t i n gp r o t o c o l s l e a dt o c o n g e s t i o nb e c a u s eo ft h eu n e v e nf l o wd i s t r i b u t i o n ,t h e s ef a c t o r s p r o m p t e di n t oe x i s t i n gn e t w o r k st op r o v i d ed i f f e r e n tq u a l i t yo fs e r v i c e ( q o s ) n e t w o r k t h et h e s i ss t u d i e sn e t w o r kq u a l i t yo fs e r v i c ea s s u r a n c e sa i m e dt ot h e n e t w o r kt e r m i n a t i o np r o d u c t s f i r s t l y ,t h et h e s i si n t r o d u c e st h es y s t e ma r c h i t e c t u r e o fq o sb a s e do nh a r d w a r ea n ds o f t w a r e i nt e r m so fh a r d w a r e ,t h ed e s i g nm a k e s u s eo fc h i p s e ta d m 6 9 9 6t oc o n t r o l lc h i pt oh a n d l ew a na n dl a n p o r td a t a s o f t w a r ed e s i g ni sb a s e do nt h ei p q o s ,a d d sc a t e g o r i e s ,e x p a n dt h es c o p eo ft h e a p p l i c a t i o no fq o s ,a n de v e n t u a l l ye s t a b l i s haq o si m p l e m e n t a t i o no ft h e p r o g r a m m e t h i st h e s i sa d d sd r i v ea n dp r o t o c o lq u e u e so nt h eb a s i so fo r i g i n a li p q o sq u e u e ,a d d st h ea p p l i c a t i o nl a y e ra n df i r e w a l lc l a s s i f i c a t i o n s p e e dc o n t r o lr e f e r st o c o n t r o l s p e e du s i n gl i n u xp r o t o c o ls t a c k ,a n dq u e u e s c h e d u l i n ga l g o r i t h mr e q u e s t st h ed a t ai n t ov a r i o u sd i f f e r e n tp r i o r i t yq u e u e i n t e r f a c ed e s i g ni sau n i f i e ds e to fd e s i g nd e v e l o p m e n to ft h ei n t e r f a c eb e t w e e n t h e m o d u l e s ,a n dl e tq u e u e ,c l a s s i f i c a t i o n ,s p e e dc o n t r o la n ds c h e d u l i n g a l g o r i t h mt oc o m b i n e f i n a l l y ,a c c o r d i n gt ot h ep r o g r a m m ed e s i g n ,t h ed e s i nr e s u l t sa r et e s t e di n t h en e t w o r ke q u i p m e n th 1 0 0 ,t h eh 1 0 0t e s ti sc o n d u c t e dt e s t so nt h ei pq o s ,a n d a p p l i e dt ot h ep e r f o r m a n c eo fv o i pa st h eb a s i sf o rt h ei m p r o v e m e n to fi pq o s i nt h ee n d ,t h et e s tr e s u l t sa r es u m m a r i z e da n da n a l y z e d k e yw o r d s :q o s ,t e r m i n a t i o ne q u i p m e n t ,t c p i p ,v o i p 西南交通大学曲南父迥大芋 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同 意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅。本人授权西南交通大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保 存和汇编本学位论文。 本学位论文属于 1 保密口,在年解密后适用本授权书; 2 不保密一,适用本授权书。 学位论文作者签名:吏彳d 疝 日期:即乃年多月修日 指导教撇:母肌 日期:函即豸年,月c :扣日 西南交通大学学位论文创新性声明 本人郑重声明:所呈交的学位论文,是在导师指导下独立进行研究工作所得的成果。 除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研 究成果。对本文的研究做出贡献的个人和集体,均已在文中作了明确的说明。本人完全意 识到本声明的法律结果由本人承担。 本学位论文的主要创新点如下: 本文在在i fo o s 的基础上,增加分类条件,扩大o o s 的应用范围,设计一个全局的 q o s 实现方案( 队列、分类、限速、算法、模块接口设计) ,以实现基于终端产品的q o s 。 西南交通大学硕士研究生学位论文第1 页 第一章绪论 1 1 研究背景和意义 在早期计算机网络和分组转发网中,网络只提供尽力而为的业务。对进 入网络的业务流,都以先来先服务的方式对业务流分组进行服务,对服务质 量没有考虑。近十年来,全球互连网( i n t e r n e t ) 在全世界得到了极为迅速 的发展,以其为载体和平台的各种应用越来越多。除了传统i n t e r n e t 应用 如w w w 、f t p 、电子邮件、d n s 等以外,各种关于多媒体方面的新兴应用也在 不断涌现,得到越来越多的关注。如r o d 点播、远程教学、远程医疗、网上 直播、交互游戏、虚拟世界、网络电台等应用在i n t e r n e t 上迅速得到推广。 如今互联网的应用已经扩展到对服务质量有要求的多媒体业务和实时 业务;商业客户希望网络能始终提供有保证的服务:运营商渴望细分用户群, 提供不同的服务,收取不同的费用:由于实时业务对网络传输时延、时延抖 动等特性较为敏感,当网络上有突发数据流或者含有图像文件h t t p 等业务 时,实时业务就会受到很大的影响。另一方面,多媒体业务占去了大量的带 宽,这样,现有的网络要保证的关键业务就难以得到可靠传输。因此,这就 要求网络能提供一定的服务质量( q u a l i t yo fs e r v i c e ,q o s ) ,来满足网络 不同应用的需求【i j 。 网络服务质量( q u a l i t yo fs e r v i c e ,简称q o s ) 是网络用户之间以及网 络上相互通信的用户之间关于信息传输与共享的质量的约定,例如:传输延 迟允许时间、最小传输画面失真度以及声像同步等。在i n t e r n e t 等计算机 网络上为用户提供高质量的q o s 必须解决以下问题: 1 ) q o s 的分类与定义。对q o s 进行分类和定义的目的是使网络可以根据 不同类型的q o s 进行管理和分配资源。例如,给实时服务分配较大的带宽和 较多的c p u 处理时间等,另一方面,对q o s 进行分类定义也方便用户根据不 同的应用提出q o s 需求。 2 ) 准入控制和协商。即根据网络中资源的使用情况,允许用户进入网 络进行多媒体信息传输并协商其q o s 。 3 ) 资源预约。为了给用户提供满意的q o s ,必须对端系统、路由器以及 传输带宽等相应的资源进行预约,以确保这些资源不被其他应用场所强用。 4 ) 资源调度与管理。对资源进行预约之后,是否能得到这些资源,还 依赖于相应的资源调度与管理系统。 西南交通大学硕士研究生学位论文第2 页 服务质量从用户层面来看,是服务性能的总效果,其决定了一个用户对 服务的满意程度,体现的是用户对服务者所提供的服务水平的一种度量和评 价;从技术角度来看,q o s 是一组服务要求参数,网络必须满足这些要求才 能确保数据传输的适当服务级别,具体可以量化为带宽、延迟、延迟抖动、 丢失率、吞吐量等性能指标。【2 矧。 网络中,服务质量( q o s ) 的研究有三个主要的意义。一是对q o s 有严格 要求业务的出现,如交互式实时多媒体业务、i p 电话等;二是通过q o s 研究, 有助于提高网络效率,降低网络成本;三是运营商可以通过q o s 机制,按照 不同用户对服务质量的不同要求,提供多种有区别的服务,提高用户的满意 度,同时提高网络运营商的收益。因此,服务质量的研究重点是如何提高网 络提供q o s 保证的能力,而最终研究的目标是保证用户对q o s 的要求。 1 20 0 s 的基本概念及功能 q o s 是指网络提供更高优先服务的一种能力,包括专用带宽、抖动控制 和延迟( 用于实时和交互式流量情形) 、丢包率的改进以及不同w a n 、l a n 和m a n 技术下的指定网络流量等,同时确保为每种流量提供的优先权不会 阻碍其它流量的进程。q o s 是网络的一种安全机制,是用来解决网络延迟和 阻塞等问题的一种技术。在正常情况下,如果网络只用于特定的无时间限制 的应用系统,并不需要q o s ,比如w e b 应用,或e m a i l 设置等。但是对关 键应用和多媒体应用就十分必要。当网络过载或拥塞时,q o s 能确保重要业 务量不受延迟或丢弃,同时保证网络的高效运行。 q o s 有分类、标注、优先级设置三大功能: 1 ) 分类 分类是指具有q o s 的网络能够识别哪种应用产生哪种数据包。没有分类, 网络就不能确定对特殊数据包要进行的处理。所有应用都会在数据包上留下 可以用来识别源应用的标识。分类就是检查这些标识,识别数据包是由哪个 应用产生的。以下是4 种常见的分类方法。 ( 1 ) 协议:有些协议只要它们存在就会导致业务延迟,因此根据协议对 数据包进行识别和优先级处理可以降低延迟。应用可以通过它们的 e t h e r t y p e 进行识别。譬如,a p p l e t a l k 协议采用0 x 8 0 9 b ,i p x 使用0 x 8 1 3 7 。 根据协议进行优先级处理是控制或阻止少数较老设备所使用的协议的一种 强有力方法u 2 。 ( 2 ) t c p 和u d p 端口号码:许多应用都采用一些t c p 或u d p 端口进行通信, 西南交通大学硕士研究生学位论文第3 页 如h t t p 采用t c p 端口8 0 。通过检查i p 数据包的端口号码,智能网络可以 确定数据包是由哪类应用产生的,这种方法也称为第四层即传输层交换,因 为t c p 和u d p 都位于o s i 模型的传输层。 ( 3 ) 源i p 地址:许多应用都是通过其源i p 地址进行识别的。由于服务 器有时是专门针对单一应用而配置的,如电子邮件服务器,所以分析数据包 的源i p 地址可以识别该数据包是由什么应用产生的。当识别交换机与应用 服务器不直接相连,而且许多不同服务器的数据流都到达该交换机时,这种 方法就非常有用。 ( 4 ) 物理端口号码:与源i p 地址类似,物理端口号码可以指示哪个服务 器正在发送数据。这种方法取决于交换机物理端口和应用服务器的映射关 系。虽然这是最简单的分类形式,但是它依赖于直接与该交换机连接的服务 器。 1 3 - 1 6 】 2 ) 标注 在识别数据包之后,要对它进行标注,这样其他网络设备才能方便地识 别这种数据。识别应用之后就必须对其数据包进行标记处理,以便确保网络 上的交换机或路由器可以对该应用进行优先级处理。通过采纳标注数据的两 种行业标准,即i e e e8 0 2 1 p 或差异化服务编码点( d s c p ) ,就可以确保多厂 商网络设备能够对该业务进行优先级处理。 3 ) 优先级设置 一旦网络可以区分电话通话和网上浏览,优先级处理就可以确保进行 i n t e r n e t 上大型下载的同时不中断电话通话。为了确保准确的优先级处理, 所有业务量都必须在网络骨干内进行识别。在工作站终端进行的数据优先级 处理可能会因人为的差错或恶意的破坏而出现问题。黑客可以有意地将普通 数据标注为高优先级,窃取重要商业应用的带宽,导致商业应用的失效。这 种情况称为拒绝服务攻击。通过分析进入网络的所有业务量,可以检查安全 攻击,并且在它们导致任何危害之前及时阻止。 在局域网交换机中,多种业务队列允许数据包优先级存在。较高优先级 的业务可以在不受较低优先级业务的影响下通过交换机,减少对诸如话音或 视频等对时间敏感的业务的延迟事故。 为了提供优先级,交换机的每个端口必须有至少2 个队列。虽然每个端 口有更多队列可以提供更为精细的优先级选择,但是在局域网环境中,每个 端口需要4 个以上队列的可能性不大。当每个数据包到达交换机时,都要根 西南交通大学硕士研究生学位论文第4 页 据其优先级别分配到适当的队列,然后该交换机再从每个队列转发数据包。 该交换机通过其排队机制确定下一步要服务的队列。有以下2 种排队方式。 ( 1 ) 严格优先队列( s p q ) 这是一种最简单的排队方式,它首先为最高优先 级的队列进行服务,直到该队列为空,然后为下一个次高优先级队列服务, 依此类推。这种方法的优势是高优先级业务总是在低优先级业务之前处理。 但是,低优先级业务有可能被高优先级业务完全阻塞。 ( 2 ) 加权循环( w r r ) 这种方法为所有业务队列服务,并且将优先权分配给 较高优先级队列。在大多数情况下,相对低优先级,w r r 将首先处理高优先 级,但是当高优先级业务很多时,较低优先级的业务并没有被完全阻塞。 1 3q o $ 的关键指标 q o s 的关键指标主要包括:可用性、吞吐量、时延、时延变化( 包括抖动 和漂移) 和丢失。下面进行详细叙述。 1 ) 可用性:是当用户需要时网络即能工作的时间百分比。可用性主要 是设备可靠性和网络存活性相结合的结果。对它起作用的还有一些其他因 素,包括软件稳定性以及网络升级时不中断服务的能力。 2 ) 吞吐量:是在一定时间段内对网上流量( 或带宽) 的度量。对i p 网而 言可以从帧中继网借用一些概念。根据应用和服务类型,服务水平协议( s l a ) 可以规定承诺信息速率( c i r ) 、突发信息速率( b i r ) 和最大突发信号长度。承 诺信息速率是应该予以严格保证的,对突发信息速率可以有所限定,以在容 纳预定长度突发信号的同时容纳从话音到视像以及一般数据的各种服务。一 般讲,吞吐量越大越好。 3 ) 时延:指一项服务从网络入口到出口的平均经过时间。许多服务, 特别是话音和视像等实时服务都是高度不能容忍时延的。当时延超过 2 0 0 2 5 0 毫秒时,交互式会话是非常麻烦的。为了提供高质量话音和会议电 视,网络设备必须能保证低的时延。产生时延的因素很多,包括分组时延、 排队时延、交换时延和传播时延。传播时延是信息通过铜线、光纤或无线链 路所需的时间,它是光速的函数。在任何系统中,传播时延总是存在的。 4 ) 时延变化:是指同一业务流中不同分组所呈现的时延不同。高频率 的时延变化称作抖动,而低频率的时延变化称作漂移。抖动主要是由于业务 流中相继分组的排队等候时间不同引起的,是对服务质量影响最大的一个问 题。某些业务类型,特别是话音和视像等实时业务是极不容忍抖动的。分组 到达时间的差异将在话音或视像中造成断续。所有传送系统都有抖动,只要 西南交通大学硕士研究生学位论文第5 页 抖动落在规定容差之内就不会影响服务质量。利用缓存可以克服过量的抖 动,但这将增加时延,造成其他问题。漂移是任何同步传输系统都有的一个 问题。在s d h 系统中是通过严格的全网分级定时来克服漂移的。在异步系统 中,漂移一般不是问题。漂移会造成基群失帧,使服务质量的要求不能满足。 5 ) 丢包:不管是比特丢失还是分组丢失,对分组数据业务的影响比对实 时业务的影响都大。在通话期间,丢失一个比特或一个分组的信息往往用户 注意不到。在视像广播期间,这在屏幕上可能造成瞬间的波形干扰,然后视 像很快恢复如初。即便是用传输控制协议( t c p ) 传送数据也能处理丢失,因 为传输控制协议允许丢失的信息重发。事实上,一种叫做随机早丢( r e d ) 的 拥塞控制机制在故意丢失分组,其目的是在流量达到设定值时抑制t c p 传输 速率,减少拥塞。但分组丢失多了,会影响传输质量。所以,要保持统计数 字,当超过预定值时就向网络管理人员告警。 1 7 - 2 1 】 1 4q o s 国内外研究现状 对q o s 的研究历史可以追溯到8 0 年代初期。那时,尽管网络的性能还 比较低,能够提供的服务种类也比较少,一些有远见的研究者己经认识到服 务质量的重要性。s e i t z 和w o r t e n d y k e 等人在研究a r p a n e t 中的x 2 5 通信 时就已经提出了基于用户的性能评价问题,这也许是关于q o s 研究的最早的 文献。很长的一段时间内,由于计算机网络的性能尚未达到一定水平,人们 对q o s 的关注只是停留在数据流传输中的正确率、吞吐量和延迟等单一服务 质量的评价和控制。直到8 0 年代末期,宽带i s d n 技术以及a t m 交换网的出 现和分布式多媒体应用的急剧增加,人们才开始系统地对q o s 管理和控制进 行了较为深入的研究。经过几年的努力,对q o s 的研究逐渐集中到o o s 控制 和管理框架、q o s 定义和标准、q o s 主客观方法的统一,以及q o s 中的市场 机制等焦点上。一些实验性系统也应运而生,较有代表性的有英国兰开斯特 大学的q o s a 工程、美国哥伦比亚大学的扩展的集成化参考模型( x r m ) 系统、 国际合作项目t 取a - c 工程、美国加州白克利大学的t e n e t 工程、i b m 公司 在黑森伯格欧洲网络中心的h e i p r o j e c t 工程等。与此同时,随着因特网商 业化的巨大成功,网上传输的多媒体信息迅速增多,网络拥塞现象日益严重, 因特网的q o s 研究也随之开始深入,i e t f 于1 9 9 7 年9 月开始制定了有关q o s 定义与服务的一系列r f c 标准。国内也于近几年开始了有关q o s 控制方面的 研究,东南大学顾冠群院士的研究小组在实时协议r t p 的实现、q o s 的定义 与机制等方面做了许多深入细致的工作。清华大学计算机系的研究小组则在 西南交通大学硕士研究生学位论文第6 页 日本富士通研究所、m i t 计算科学研究所等的支持下,也开始了t h - q o s 工程 的研究。目前,计算机网络的o o s 问题已经成为国际研究领域公认的最重要、 最富有魅力的研究领域之一,并且被称为下一代计算机网络为数不多的晟重 要的研究领域之一。 众所周知,服务质量己成为当今网络发展的一个重要课题,网络中的服 务是面向不同的用户的,提供包括及时性、准确性和高效率几个方面的服务 质量。然而传统尽力而为型的网络不能够很好提供这些方面的服务,所以如 何有效的提高和改善网络中的服务质量这一问题,各种方面的解决方案层出 不穷。在这其中,比较行之有效且被大家所公认的一种解决方式就是调度算 法。调度算法决定了被服务的分组接受服务的顺序,使其所在的数据转发设 备能够智能的控制数据转发的优先级,每条链路的带宽以及平均时延等特性 以满足一定程度上的服务质量。 调度算法的研究由来已久,随着网络规模的膨胀以及人们对业务种类和 质量要求的上升,调度算法已经成为众多网络工程师所面临的一个重要难 题。当前调度算法的发展的趋势基本分为3 种:分组公平排队类调度算法、 轮循类调度算法和服务曲线类调度算法。 1 4 论文的研究内容和组织结构 本论文在相关研究工作和进展的基础上,围绕着在i p 网络中实现服务 质量q o s 保证的相关技术,研究了终端产品q o s 实现的问题,以i po o s 实 现为基础,讨论了基于终端产品q o s 的问题。 本文的主要研究工作有:深入研究当前q o s 的发展现状和存在的问题, 提出了基于终端产品的o o s 系统设计,对整个设计过程中如何实现q o s 进行 了详细的描述。 论文主要内容分为四章,分别如下: 第_ 章为绪论,首先简要介绍了网络q o s 的研究现状和存在的问题,接 着阐述了q o s 的基本概念和功能,然后描述了q o s 的关键性指标,最后对论 文的研究内容和组织结构进行了介绍。 第二章详细介绍了基于终端产品的q o s 的模块设计,从硬件设计和软件 设计两个方面介绍了服务质量的系统构架,在硬件方面,以a d m 6 9 9 6 交换 控制芯片来处理广域网和局域网端口的数据,由于硬件算法比较固定,所以 硬件设计比较简单软件设计是在i p q o s 的基础上,增加分类条件,扩大q o s 的应用范围,设计一个o o s 队列调度算法,实现不同优先级的数据进入不同 西南交通大学硕士研究生学位论文第7 页 的队列。 第三章为终端产品的q o s 的模块接口设计。设计一套统一的模块之间的 接口,让队列、分类、限速和调度算法能够有机结合起来。 第四章对设计的结果在调制解调器h 1 0 0 上对设计结果进行了测试。并 对测试结果进行了总结和分析。 1 5 缩略语 本文应用了以下缩略语: i p :i n t e r n e tp r o t o c o li n t e r n e t 协议 u d p :u s e rd a t a g r a mp r o t o c o l用户数据报协议 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 o l传输控制协议 n a t :n e t w o r ka d d r e s st r a n s l a t o r网络地址转换 q o s :q u a l i t yo fs e r v i c e服务质量 t o s :t y p eo f s e r v i c e服务类型 s p i :s t a t e f u lp a c k e ti n s p e c t i o n状态数据包检查 f i b :f o r w a r d i n gi n f o r m a t i o nt a b l e转发信息表 d w r r :d y n a m i cw e i g h t e dr o u n d r o b i n动态加权循环法 r e d :r a n d o me a r l yd e t e c t i o n随机早期检测 d s c p :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区分服务标记 s p x :s e q u e n c e sp a c k e te x c h a n g e顺序分组交换 i p x :i n t e m e t w o r kp a c k e te x c h a n g e网络报文分组交换 a r p :a d d r e s sr e s o l u t i o np r o t o c o l地址解析协议 i c m p :i n t e m e tc o n t r o lm e s s a g e sp r o t o c o l网络控制报文协议 i g m p :i n t e m e tc o n t r o lm e s s a g e sp r o t o c o li n t e m e t 组管理协议 v o i p :v o i c eo v e ri n t e m e tp r o t o c o li p 语音技术 p s q m :p e r c e p t u a ls p e e c hq u a l i t ym e s u r e m e n t 感知语音质量测量 a t m :a s y n c h r o n o u st r a n s f e rm o d e异步传输模式 1 6 本章小结 本章首先简要介绍了网络q o s 的研究现状和存在的问题,接着阐述了 q o s 的基本概念和功能,然后描述了q o s 的关键性指标,最后对论文的研究 内容和组织结构进行了介绍。 西南交通大学硕士研究生学位论文第8 页 第二章基于网络终端产品的o o s 模块设计 2 1 终端产品o o s 设计思路 传统的i po o s 有其缺点: 1 ) 所有数据报的分类都是在第三层网络层来实现的,若数据包不经过 网络层,则无法实现o o s 。 2 ) 由于在网络层对每个数据包都要进行分类打标记操作,非常耗费系 统资源j 降低了系统的性能。 所以本文采用了以下的系统设计方案:以l i n u x 内核为操作系统,在 i p q o s 的基础上,增加分类条件,扩大o o s 的应用范围,设计一个全局的o o s 实现方案( 队列、分类、限速、算法、模块接口设计) ,以实现基于终端产品 的o o s 。 1 ) 队列:将数据包经过的队列分为三个层次:芯片中的队列、驱动中 的队列和协议栈中的队列。其中部分队列的实现是由硬件来实现的,本设计 中的o o s 涉及不到,只做了解。但是o o s 能够控制数据包进入哪个队列。o o s 调度算法希望能将一次分类结果灵活的应用于所有的队列。 2 ) 分类:本设计中的o o s 的分类是多层次多方式的结合,有在芯片中 进行的分类,有在第二层传输层中实现的( v l a n 分类) ,也有在i p 层和应用 层进行实现的( t o s 和d s c p 分类) 。 3 ) 限速:限速也是q o s 的一部分,一般来说限速要跟上面提到各种分 类方式结合起来共同使用。本方案所说的限速主要是指l i n u x 内核如何控制 数据包的速率。终端产品上涉及到的限速,其中入口限速和出口限速是在i p 层实现的,入口限速可以对网络接口接收到的数据包进行限速,而出口限速 是对接口上发送的数据包进行限速。 4 ) 调度算法:有队列就有队列调度算法。队列一共分为:芯片中的队 列、驱动中的队列和协议栈中的队列,其中芯片中的队列和驱动中的队列的 调度算法均已经固定,本研究方案o o s 对这些队列调度算法是无能为力的, 方案中只做了解。而对协议栈中的队列有全面的控制权。故本论文研究的调 度算法就是指协议栈中所使用的队列调度算法。 5 ) 模块接口设计:本研究方案就是要制定一套统一的模块之间的接口, 让队列、分类、限速和调度算法能够有机结合起来。以模块的观点来看,本 研究方案q o s 模块属于中间模块,对上有接口,对下有规则,实现本研究方 西南交通大学硕士研究生学位论文第9 页 案q o s ,可以分为一下三部分:本研究方案q o s 对上的接口:应用级进程 本研究方案q o s 向下接触的就是网络接口的驱动模块。自身需要完成的功 能 2 2lin u x 下的t o p ip 介绍 2 2 1 网络功能介绍 l i n u x 的组网能力非常强大,优秀的网络支持能力是l i n u x 的核心竞争 力之一。l i n u x 系统目前支持的网络协议包括:t c p i p 、x 2 5 、f r 、a t m 、 i p x s p x 、i p v 6 、d e c n e t 、n e t b e u i 、i r d a 等等。i p v 4 的t c p i p 协议栈只是 其中的一部分。 l i n u x 对t c p i p 协议栈实现了完整支持,提供了包括i p 路由、a r p 、t c p 、 u d p 、i c m p 、i g m p 、桥接方式等基本内容,另外也提供了i p 防火墙、i p 伪装 ( n a t ) 、i p 服务质量控制( o o s ) 等一系列的协议处理方法,为应用者带来 了极大的便利。本节说明了l i n u x 操作系统网络部分的i p v 4t c p i p 协议栈 架构,因为该部分是设计实现的基础。为简单化,本文将这部分内容统称为 基础t c p i p 协议栈。 作为一个嵌入式系统,基础t c p i p 协议栈部分属于l i n u x 的k e r n e l 范 畴,在整个可应用系统框架中的位置如图2 - 1 。 管理子系统 毳用户态、, 一- - _ 一t r i m 内核态 用户空间管理配置工具 l i n u x k e r n e l 图2 - 1 基础t c p i p 协议栈与系统框架 图中深实线部分表示了基础t c p i p 协议栈的组成,由于内核中各模块的 运行参数配置一般都是通过用户空间的管理配置工具来实现的,协议栈也不 例外,因此,这里把相关的配置工具也加入到基础t c p i p 协议栈的范畴来。 基础t c p i p 协议栈的主体位于l i n u x 内核,为上层各应用程序提供s o c k e t 西南交通大学硕士研究生学位论文第10 页 接口。 2 2 2iir u x 中的t c p ip 协议栈数据走向 l i n u x 内核对基础t c p i p 协议栈已经有了完整高效的设计,本节的重点 在于介绍基础协议栈。本文参考的l i n u x 核版本是2 4 2 7 。为了能更有效地 描述协议栈,下面就开始l i n u x 内核关于t c p i p 协议栈数据走向的介绍 这部分的功能比较杂,包括数据包的驱动处理,a r p 、i p 数据包的处理, 以及应用层软件的接口关系等等。因此,这里仔细地将数据包从最底层的接 收发送处理,到应用层处理的整个流程描述一遍,来介绍协议栈概况。 网络层次结构划分为三个部分,它们是:网络设备接口层、网络核心协 议层、网络s o c k e t 接口层。 网络设备接口层主要负责从物理介质接收和发送数据。网络核心协议层 是整个网络架构中的关键部位,它为网络协议提供统一的发送接口,屏蔽各 种各样的物理介质,同时有负责把来自下层的包向合适的协议配送。它是网 络接口的中枢部份。网络s o c k e t 接口层为用户提供了网络服务的编程接口。 2 2 2 1 网络设备接口层 网络设备驱动负责具体物理介质的控制,从物理介质接收以及发送数 据,并对物理介质进行诸如最大数据包之类的各种设置。 驱动程序要让网络接口核心层知道自己的存在,需要加入网络设备管理 链,并把设备特有的处理函数以及各种参数跟管理表里相对应的域对应起 来。在l i n u x 系统中,最后是通过网络设备注册函数r e g i s t e rn e t d e v i c e 0 把驱动程序挂接到网络设备管理链d e v b a s e 中的。在把驱动模块加入到 1i n u x 系统中后,系统就可以通过模块加载的办法使设备得以运行。 模块的初始化过程将会做以下几方面的工作: 1 ) 检测设备。在初始化程序里你可以根据硬件的特征检查设备是否 存在,然后决定是否启动这个驱动程序。 2 ) 配置和初始化硬件。在初始化程序里可以完成对硬件资源的配 置,比如即插即用的硬件就可以在这个时候进行配置。配置或协 商好硬件占用的资源以后,就可以向系统申请这些资源。有些资 源是可以和别的设备共享的,如中断。有些是不能共享的,如1 0 、 d m a 。 3 ) 初始化设备管理表( d e v i c e 结构中) 的变量。 4 ) 最后,让硬件正式工作起来。 西南交通大学硕士研究生学位论文第11 页 在初始化完成以后,系统就可以对这个设备建立了一个控制通道了。譬 如这时,就可以打开的方法激活这个设备,使其被激活,此时,就允许设备 进行数据包收发了。另外,设备的一些参数也可以通过控制来进行设置并获 取。 2 2 - 2 7 】 下面是关键的数据包收发过程: 驱动程序的接收处理由硬件中断来通知,在接收一个数据包产生中断 后,驱动程序申请一块缓冲区s k b u f f ( s k b ) ,从硬件读出数据放置到申请好 的缓冲区里。接下来填充s k b u f f 中的一些信息。最后网络接口核心层调用 n e t i f r x0 函数( 详见l i n u x n e t c o r e d e v c ) ,把接收到的数据包传送给 协议层。n e t i f r x0 会把数据包放入处理队列然后返回,真正的处理是在中 断返回以后,这样可以减少中断时间。 数据包发送直接通过管理表中的h a r d s t a r t x m it 将数据传入驱动程序 中的发送函数。由驱动程序根据设备情况进行发送。由于一般c p u 的处理能 力高于设备的发送速度,设备不能发送数据包时会通知系统先将数据包缓 存,在当前的数据包发送结束之后再通过硬件中断的方式通知系统再次发 送。 2 。2 ,2 。2 网络核心协议层 分成两部分阐述比较方便些。 1 ) 网络核心的处理 网络核心的处理是很薄的一层,负责设备驱动和网络协议栈之间的接 口。在l i n u x 的接收处理设计中,可以看到: 和设备驱动层的接口,通过n e t i f r x 0 函数将数据包接收下来,这 个过程都是在硬件中断的环境下完成的。众所周知,由于在硬件中断中不能 过多地占用c p u 的执行时间,否则会引起新中断的丢失,一般在硬件中断中 完成关键性的处理动作,然后把并不是非常紧急的,通常还是比较耗时的处 理放在“下半部”( b o t t o mh a l f ) 来处理。弘划 和协议栈的接口,各种协议栈可以通过注册的方式加入到系统中来, 由网络接口核心来负责协议的分发。n e tr xs o f t i r q 软中断的处理函数是 n e t r x a c t i o n0 ,在发送的处理中,网络接口核心层通过d e v q u e u e x m i t0 函数向上层提供统一的发送接口,也就是说无论是i p ,还是a r p 协议,通过 这个函数把要发送的数据传递下来。并由它调用实际的设备驱动发送函数 d e v 一 h a r d s t a r t x m i t0 就完成数据包的发送了。其间,在数据包发送之前, 西南交通大学硕士研究生学位论文第12 页 通过对数据包进行分类,管理,检测拥塞和处理拥塞引入了g o s 的处理机制。 2 ) 网络协议栈 基础的协议包括a r p 、i p 、i c 肝、i g m p 、t c p 、u d p 。其中跟下一层网络 接口核心关系密切的是a r p 和i p 协议,需要从核心层接收和发送数据包。 而其它协议如i c m p 、t c p 等,则直接利用i p 协议,通过i p 协议发送接收数 据包。由此可以看到i p 层是一个核心的协议,向下需要和下层打交道,又 要向上层提供所有的传输和接收的服务。 i p 层的功能可以简单地归纳为:负责接收数据包的分发处理,给上层应 用提供相应的发送接口。 下图为i p 数据包总体处理流程( 如图2 - 2 ) : 图2 - 2 口层数据包总体处理的框架图 i p 数据包接收处理流程: 在li n u x 框架中,i p r c v0 函数进行数据包的接收处理,在数据包的分 发上,数据包有四个流向,分别是i pm ri n p u t i p l o c a l _ d e l i v e r i p f o r w a r d i p _ e r r o r 。其中的流程关系表示: 图2 3i p 数据包接收处理的流程图 ,j 1- 西南交通大学硕士研究生学位论文第1 3 页 图中需要分析三点: i p 处理在校验处理完后通过钩子函数的处理n fh o o k ( p fi n e t 、 n fi pp r er o u t i n g 、s k b 、d e v 、n u l l 、pr c vf i n i s h ) 进入分支,如果系统 启用了i p t a b l e s 功能,就进入i p t a b l e s 的处理,否则直接调用i pr c vf i n i s h 进 入路由过程。 路由查找处理中,系统会根据路由结果设置数据包的处理函数,对 于进来的包可能的路由有:属于本地的数据( 即是需要传递给t c p ,u d p ,i g m p 这些上层协议的) ;需要转发的数据包( 网关或者n a t 服务器之类的) ;不可 能路由的数据包( 地址信息有误) ;对应的处理函数分别是: i p l o c a l _ d e l i v e r i p _ f o r w a r d i p _ e r r o r 。 以上是i p 协议层中接收数据包的处理,下面为数据包的发送过程。 i p 数据包发送处理流程: l i n u x 给上层应用提供了一个统一的发送函数i p。本地数_finishoutput() 据包,转发的数据包以及组播数据包通过各自的接口最后都调用这个公共接 口进行发送。下图为这个发送流程。 l i p 数据包发送 l i n e t f i l t e r i p t a b l e s 分支处霉j !。i l :, i 设置i p 协议字段 l 一一一一一一一一一一一 , i 有m a c 地址缓存 没有m a c 地址缓存 , l 邻居处。:连接状态未连接或疑似断开状态处于连接状态 i 上发送a r p 请求h 数据包缓存 卜 填写m a c 头信息 驱砘擘发送 j i 图2 - 4i p 数据包发送处理的流程图 从流程图上分析:发送流程预留了f i l t e r 处理的钩子调用,在发送的主 体流程中,完成d 数据包m a c 地址的封装,对没有对应m a c 地址的数据 包采取发送a r p 请求对方m a c 地址,数据包缓存的措施。最后统一调用的 驱动层发送函数是d e vq u e u ex m i t ,正是网络核心层给提供的接口。 这里需要舢冲查询流程的处理函数为n e i g h,直接发送r e s o l v eo u t p u t 的处理函数为n e i g h。c o n n e c t e d o u t p u t r-;0; ,。il i 西南交通大学硕士研究生学位论文第14 页 以上是m 数据包接收流程,最终根据路由结果来进行处理。 i p 数据包转发流程: 在l i n u x 环境下,通过命令e c h ol p r o c s y s n e t i p v 4 i p 可以打开forward i p 转发功能。用户在执行该命令后,l i n u x 内核通过s y s c t l 功能将全局变 量i p v 4d e v c o n f f o r w a r d i n g 及每个网络设备的c n f f o r w a r d i n g 字段设置成有效 状态。这样在路由处理过程中,就可以根据c n f f o r w a r d i n g ( 在核中被形象化 为i nd e vf o r w a r d ( i nd e v ) 来决定是否可以进行转发。 :二二二:= 一一ii _ 二:二二二二:一一一一一一一一一一i : ii p 数据包转发i i l i n e t f i l t e r li i p t a b l e s 分支处理。

温馨提示

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

评论

0/150

提交评论