已阅读5页,还剩60页未读, 继续免费阅读
(控制理论与控制工程专业论文)端到端多媒体拥塞控制算法的研究分析.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
青岛科技人学研究生! 学位论文 端到端多媒体拥塞控制算法的研究分析 摘要 由于多媒体应用的不断出现,本文对现有的多媒体拥塞控制机制进行了详细 研究。目前多媒体拥塞控制机制主要分为两种:基于窗口的拥塞控制机制和基于 速率的拥塞控制机制。多媒体应用的特殊要求使得多媒体拥塞控制机制多采用 u d p 协议作为传输层协议,这样就需要多媒体拥塞控制机制具有与t c p 协议共存 的特点,即t c p - f r i e n d l y 特性。同时视频传输的另一个特点是传输速率不应有 很大的波动,发送速率应具有一定平滑性。所以目前t c p f r i e n d l y 多媒体拥塞 控制机制已经成为研究的热点。大量研究表明在速率平滑性方面,基于速率的多 媒体拥塞控制机制具有较基于窗口的多媒体拥塞控制机制有更加平滑的发送速 率。其中t f r c 协议在多媒体拥塞控制机制中已经得到了广泛的应用。 本文首先详细地介绍了t f r c 协议机制,分析了它的动态性能,在此基础上 提出了t f r c 协议的不足:在动态网络下不能很好的适应网络的变化,会出现短 时大量丢包,严重影响视频质量。经分析这一不足很大原因是由于t f r c 所采用 的t c p 吞吐量模型所导致的。因为t c p 吞吐量公式是在p 趋于0 的条件下做了大 量近似,而且没有考虑超时后的慢启动过程,从而大大简化了吞吐量公式。在丢 包小的情况下,此吞吐量公式是准确的,但当网络动态变化、丢包严重时则不能 很好地反映当前网络的可用状况,从而使得t f r c 不能根据此吞吐量公式做出正 确的决策。所以本文对t f r c 的吞吐量公式作了改进,同时为了验证改进效果, 本文在r l s 仿真软件的基础上还加入了其他的一些辅助工具,如v l cm e d i ap l a y e r 和r t p t o o l s ,它们共同组建了一个虚拟网络。最后将经过这个虚拟网络传输的视 频文件与原始视频文件相比,很容易看到视频传输的效果。实验表明t f r c 协议 确实得到了改进,改善了视频传输效果。不足之处在于参数的增多使得计算速度 相对下降,对传输速度有所影响,有待于进一步改进。 关键词:多媒体拥塞控制吞吐量t f r cn s 2r t p t o o l s 青岛科技大学研究生学位论文 e n d t o e n dm u i i m e d i ac o n g e s t i o n c o n t r o l a r i t h m e t i oa n a i s ea n dr e s e a r c h a bs t r a c t b e c a u s em o r ea n dm o r em u l t i m e d i aa p p l i c a t i o n sa p p e a rc o n s t a n t l y ,m u l t i m e d i a c o n g e s t i o nc o n t r o lm e c h a n i s mi sm a i n l yr e s e a r c h e di nt h i sa r t i c l e a tp r e s e n t t h e r e a r et w ok i n d so fm u l t i m e d i ac o n g e s t i o nc o n t r o lm e c h a n i s m s :o n ek i n di sb a s e do n w i n d o w s ;t h eo t h e rk i n di sb a s e do nr a t e b e c a u s eo fm u l t i m e d i aa p p l i c a t i o n s p e c i f i c d e m a n d m a n ym u l t i m e d i ac o n g e s t i o nc o n t r o lm e c h a n i s m su s eu d p a st r a n s p o r tl a y e r p r o t o c 0 1 a n dm u l t i m e d i ac o n g e s t i o nc o n t r o lm e c h a n i s ms h o u l db ec a nc o e x i s tw i t h t c pp r o t o c 0 1 n a m e l yt c p f d e n d l y m u l t i m e d i at r a n s m i s s i o nh a v ea n a t h e rc h a r a c t e r : t r a n s m i s s i o nr a t es h o u l dn o tb ef l u c t u a n tf r e q u e n t l y , b u ts h o u l db es m o o t h n o w , t c p f r i e n d l ym u l t i m e d i ac o n g e s t i o nc o n t r o lm e c h a n i s mh a sb e e nh o t p o i n t m a n y r e s e a r c h e sp o i n t :m u l t i m e d i ac o n g e s t i o nc o n t r o lb a s e do nr a t ei ss m o o t h e rt h a nt h a t b a s e do nw i n d o w s i nm a n ym u l t i m e d i ac o n g e s t i o nc o n t r o lm e c h a n i s m sb a s e do nr a t e , t f r ch a sb e e na p p l i e dw i d e l y t h ea r t i c l ef i r s ti n t r o d u c e dt f r cp r o t o c o lm e c h a n i s md e t a i l d e l ya n di t sd y n a m i c p e r f o r m a n c e o nt h eb a s e ,i n s u f f i c i e n c yo ft f r cw a sp u tf o r w a r d :i nd y n a m i cn e t , t f r cc a n n o ta d a p tw e l lt ot h ec h a n g eo fn e tc i r c u m s t a n c e t h i si n d u c e sal o to f d a t e - b a g e sa r ed r o p p e di nas h o r tp e r i o da n de f f e c tv i d e oq u a l i t yb a d l y b ya n a l y s e d , t h i si n s u f f i c i e n c yi sm a i n yb e c a u s eo ft h et c pt h r o u g h p u tm o d e lu s e db yt f r c t l l e t c pt h r o u g h p u tm o d e lw a sp r e d i g e s t e db yt h ec o n d i t i o n ,t h a ti spg ot oz e r o w i m a l , t h et c pt h r o u g h p u tm o d e ld i dn o tc o n s i d e r “s l o w s t a r t ”p r o s e c ca f t e ro v e r t i m e s o , w h e nd r o pr e t ei ss m a l l ,t h et h r o u g h p u tf o r m u l ai sa c c u r a t er e l a t i v e l y , b u tw h e nd r o p r a t ei sb a d , i tc a n n o ta c c u r a t e l yr e f l e c tt h en e t w o r ks t a t u sa n ym o r e a tt h i st i m e ,t f r c c a n n o tm a k er i g h td e c i s i o n s o ,t c pt h r o u g h p u tf o r m u l au s e db yt f r cw a si m p r o v e d i nt h ea r t i c l e i no r d e rt ov a l i d a t et h ee f f e c to fi m p r o v e m e n t n s 2a n do t h e rt o o l sw e r e u s e d ,f o re x a m p l e ,v l cm e d i ap l a y e ra n dr t p t o o l s t h e yt o g e t h e rb u i l tad u m m y n e t w o r k a tl a s t c o m p a r e i n gt h ev i d e ow h i c hp a s s e dt h ed u m m yn e t w o r kw i t ht h e p r i a m r yv i d e o t h ei m p r o v e de f f e c ti sv e r yc l e a r t h es i m u l a t i o n sr e s u l t si n d i c a t e dt h a t t f r ch a db e e ni m p r o v e da n ds ow a et h ev i d e oq u a l i t y b u t b e c a u s em o r ep a r a m e t e r s w a su s e d ,c o m p u t es p e e dd e s c e n d e da n da f f e c t e dt r a n s m i tr a t e ,i tn e e dt ob ef u r t h e r i i i 端剑端多媒体拥塞控制算法的研究分析 i m p r o v e d k e yw o r d s :m u l t i m e d i ac o n g e s t i o nc o n t r o l t h r o u g h p u t t f r cn s 2 r t p t o o l s i v 青岛科技人学研究生学位论文 1 1 背景及问题的提出 l - l 月i j 吾 在i n t e m e t 这样一个共享网络上,端系统应该对拥塞做出反应,通过调整自 己的发送速率来公平地占用带宽,避免拥塞,提高网络的利用率。目前网络的稳 定性主要依赖t c p 拥塞控制,但是随着多媒体及其他一些特殊应用的不断出现, 使得t c p 拥塞控制越显不是那么完美。比如,对于流媒体应用来说,它们对时 间的敏感性较强,但可以容忍一定程度的错误。而t c p 的超时重传机制使得产生 很大的延迟,拥塞时速率减半机制使其发送速率抖动较大,这些特点都不适合多 媒体的应用,所以多媒体应用多采用u d p 协议来承载多媒体数据。但是,u d p 协议没有拥塞控制机制,当与t c p 共存时,将占用绝大多数的带宽。 因此,为消除视频流基于u d p 协议传输时出现的不合理竞争和破坏行为, 有必要设计一种传输控制协议,使它适合于多媒体传输,并且具有拥塞避免机制, 能够与t c p 协议公平分享带宽。因此,各种设计各异,或是针对不同网络环境的 t c p f r i e n d l y 协议应用而生,成为i n t e m e t 传输领域的一个重要研究课题。应该说 明的是t c p f r i e n d l y 不是一种具体的协议,而是一种性质,简单地说就是对基于 t c p 协议的传输流是否“友善 ,也就是说,如果一种通信协议与在同等条件下 的t c p 流具有相近的吞吐量,则称这种协议是t c p f r i e n d l y 。 到目前为止,已经提出了很多t c p 友好拥塞控制机制。这些新的拥塞控制机 制的一个共同点即t c p 兼容( t c p c o m p a t i b l e ) 或t c p 友好( t c p f r i e n d l y ) 。 其基本目的即避免重传和平滑发送速率。到目前为止已经取得了相当的成果,主 要分为两种【l 】:一种是基于窗1 2 1 的拥塞控制,以a i m d 为代表,如b a n s a l da n d b a l a k r i s h n a n h2 0 0 1 年提出的t c p 友好机制和j i n ,s ,g u o ,l 等在2 0 0 1 年提出 的t c p 友好的s i m d 拥塞控制。另一种即基于速率的t c p 友好拥塞控制,它以 t f r c ( t c pf r i e n d l yr a t ec o n t r 0 1 ) 为代表,且此协议在2 0 0 3 年1 月成为了r f c 的 提议标准,虽 j h f p w 0 3 ( r f c 3 4 4 8 ) 。这些新的协议不仅仅是在理论上可行,i e t f 组织正在努力对这些协议尤其是基于方程的拥塞控制机制作标准化处理。如。 t f r c ( t c pf r i e n d l yr a t ec o n t r 0 1 ) ,此协议在2 0 0 3 年1 月成为了r f c 的提议标准, 即 h f p w 0 3 ( r f c 3 4 4 8 ) 。t f r c 具有比其他协议较平滑的发送速率,得到了广 泛的认可。 端到端多媒体拥塞控制算法的研究分析 1 1 1 拥塞的定义 总的来说,拥塞发生的原因是需求大于供给【2 1 。当信道带宽的需求超出可用 的网络带宽资源,网络就可能出现拥塞。当短期的分组到达率超过路由器的最大 分组处理速率时,分组储存在缓存中。一个路由器可以在短时间内维持很高的分 组到达率,具体时间的长短由缓存的大小决定。然而当缓存满时,路由器就不得 不按一定的队列管理机制丢弃分组。于是经过这一路由器的连接就会发生分组丢 失。下面几个因素可能导致网络拥塞【3 j : ( 1 ) 远程的高速链接增加了整个网络的流量。当分组数量超过网络的承载力, 就存贮在缓存中,当缓存溢出时,分组就会丢失。 ( 2 ) t i p 使网络的平均载荷并不高,突发的网络流量仍然可能导致暂时的拥塞。 ( 3 ) 不利的拓扑结构以及不匹配的链路速度同样导致拥塞。例如一个很慢的路 由器却连接着几个流量很大的主机到网络中,就很有可能产生拥塞。 ( 4 ) 一些协议并不能合适的减小发送速率,一定要针对不同应用采用合适的拥 塞机制来对拥塞做出合适的响应。比如t c p 的拥塞控制并不适合多媒体的应用, 必须给这些应用程序增加新的端到端的拥塞控制机制。 ( 5 ) o n 果网络的基础结构不能适应网络的流量持续增长,快速增长的i n t e t n e t 将成为一个问题。在过去的2 0 多年中,用户的数量以及它们连接到网络中的速 度增加了好几个数量级。 1 1 2 拥塞控制协议的评价标准 在设计和比较网络拥塞控制算法时,需要一定的评价标准。从单个用户的角 度出发,可以考虑端系统的吞吐速率、丢失率和延迟等指标,这些都是用户所关 心的。由于拥塞控制算法对整个网络系统都有影响,在评价拥塞控制算法时,更 应该从整个系统的角度出发进行考虑。下面的一些标准是端到端的拥塞控制协议 所期望的特性: ( 1 ) 平稳性:也叫速率的平滑性,经拥塞控制协议调节后的发送速率保持相对 稳定。这一要求对多媒体应用更为重要。 ( 2 ) 兼容性:能够在各种网络状况下以及在各种异质网络环境中保持其所具有 的性能。 ( 3 ) 公平性:协议应该与别的流尤其是t c p 流公平竞争。这一点是决定该协 议能否实现的关键。 ( 4 ) 快速响应:对网络状况的改变能快速及时地做出响应。即当网络发生拥塞 时,要快速地减少发送速率;当有可用带宽时,应能及时地增加发送速率,有效 2 青岛科技人学研究生学位论文 利用带宽。 ( 5 ) 资源利用率:不能因为加上拥塞控制机制使得网络资源的利用率有很大程 度的降低。 但是并不是所有这些特点都能同时获得,稳定性和快速响应之间就要做出折 中。当发送速率越平稳,它对网络状况改变所做的响应就越迟钝。同样的折中存 在于其它的性能当中。 1 2 国内外研究现状 网络发生拥塞的根本原因是由于用户发送到网络中的负载大于网络资源容 量和处理能力。表现为数据包延迟增加,丢包率增大,上层应用系统性能下降。 具体来说导致拥塞的因素很多,如存储空间不足,带宽容量有限处理器速度慢等。 拥塞一旦发生往往会形成恶性循环,当严重时可能会导致拥塞崩溃。目前,网络 的稳定性主要依赖t c p 的拥塞控制机制,但是随着一些新的应用的不断涌现,使 得t c p 越显不足。这些新的应用多以u d p 作为传输层协议,u d p 是一种无响应 流,对拥塞不做任何反应。所以为了使u d p 和t c p 应用能公平地共存于网络中, 近年来,t c p f r i e n d l y 速率控制机制成为研究的热点,先后提出了多种相关的拥 塞控制算法。如r a p 、a i m d 以及g a i m d 、 b i n a r yc o n g e s t i o nc o n t r o l 、t f r c 、 t e a r 等。 目前拥塞控制的研究主要分为【4 】【5 】: ( 1 ) 从控制理论的角度,拥塞控制算法可以分为开环控制和闭环控制两大类【6 】。 当流量特征可以准确规定、性能要求可以获得时,适于使用开环控制,因为开环 控制是相对简单的;当流量特征不能准确描述或系统不能提供资源预留时,适于 用闭环控制。开环控制的设计特点是预防问题的发生。闭环的设计特点是基于反 馈信息动态的适应网络状况。 , ( 2 ) 根据实施拥塞控制算法位置的不同,可以将拥塞控制算法分为两大类:源 算法( s o u r c ea l g o r i t h m ) 和链路算法( 1 i n ka l g o r i t h m ) t7 1 。源算法在主机和网络端设备 中执行,根据反馈信息调整发送速率。拥塞控制算法设计的关键问题是如何生成 反馈信息和如何对反馈信息做出响应。源算法使用最广泛的是t c p 协议中的拥塞 控制算法。链路算法在网络设备如路由器和交换机中执行,作用是检测网络拥塞 的发生,产生拥塞反馈信息。链路算法主要有传统的“队尾丢弃法”和日前热点 研究的主动队列管理算法( a c t i v eq u e u em a n a g e m e n t ,a q m ) ( 3 ) 从实施控制的类型上,拥塞控制可分为基于窗口和基于速率两种类型。 t c p 采用的是典型的基于窗口的控制方式,t c p 通过调整滑动窗口的大小来控制 端到端多媒体拥塞控制算法的研究分析 发送速率,易于实现。基于窗口的拥塞控制机制继承了t c p 的自时钟机制,能对 带宽变化做出及时的反应。基于速率的控制方式多是采用t c p 吞吐量模型来调节 发送速率,由于具有比基于窗口的调整策略较平滑的发送速率,所以多用于多媒 体的传输控制中,重点的性能指标是t c p 友好性。 ( 4 ) 从反馈信息的类型上,可以分为显示拥塞控制( e x p l i c i t ) 和隐式拥塞控制 ( i m p l i c i t ) 。多数拥塞控制采用隐式反馈信号,如t c p 采用丢包,往返时间等作 为拥塞信号。 这里着重介绍一下目前拥塞控制源算法的研究热剧2 】: 。( 1 ) 慢启动过程的改进。慢启动阶段对短数据传输更重要,拥塞避免阶段对长 数据传输比较重要。目前i n t e r n e t 上的一个主要应用h t t p 的流量主要是短数据。 这方面的研究包括:增大拥塞窗口的初始值,将慢启动过程分为多段,逐渐减小 窗口增长的速度,平滑从慢启动到拥塞避免的过渡。 ( 2 ) 基于速率的控制策略。t c p 使用的窗口控制策略有一些缺陷:容易导致报 文的突发,速率受到窗口大小的限制,一个窗口内多个报文的丢失不容易恢复等。 为此,一些研究提出,将窗口控制和速率控制结合起来以克服以上缺点。 ( 3 ) a c k 过滤。它的目的是保持t c p 的自时钟机制。自时钟机制可减轻突发 报文对网络的冲击,而a c k 压缩破坏了自时钟机制。 ( 4 ) t c p f r i e n d l y 的拥塞控制。很多多媒体的传输要求速率不能剧烈频繁变化, 多采用u d p 协议,所以就要与t c p 共存,就提出了t c p 友好控制协议。这部分 是本论文研究的重点。 目前,很多研究表明在现有的多种t c p 友好拥塞控制中,t f r c 得到了广泛 的应用,它有较好的t c p 友好性和较平滑的速率调整机制。s a l l yf l o y d 在其文献 中对a i m d 协议族( 包括t c p ) 的性能和t f r c 进行了大量的实验,表明 t c p ( 1 5 ,1 8 ) 、t c p ( 2 5 ,1 8 ) 可以和t c p 以及t f r c 友好的共存。但是t f r c 的具有更好的平滑性,所以t f r c 得到了较广泛的应用。 1 3 本论文研究目的和内容及其章节安排 1 3 1 论文研究的目的 本文主要是针对现有端到端多媒体拥塞控制机制t f r c 的动态性能的不足提 出了一些改进,使其在网络动态变化的情况下仍然具有良好的性能。并采用n s 2 网络仿真软件及v l c 和r t p t o o l sq - 具对其进行了仿真分析,从而使其更适合多媒 体的传输,满足一些特殊的应用,具有一定的实际价值和启发意义。 4 青岛科技人学研究生学位论文 1 3 2 论文研究的主要内容 ( 1 ) 广泛、深入地研究了现有的各种t c p f r i e n d l y 协议,详细地分析对比它们 的优缺点。 ( 2 ) 对t f r c 算法机制以及它所采用的t c p 吞吐量模型做了详细分析,并针 对其存在的问题提出了改进方案。 ( 3 ) 采用n s 2 仿真器对改进卮的协议进行仿真,结合r t p 工具以及v l c 组成 一个视频传输平台( 第五章详细介绍) ,用于视频文件的传输,最后将传输后所得 的视频文件和原文件对比,直观的了解传输效果,结果表明改进后的协议更适合 多媒体的应用,尤其是在网络不稳定的情况下,改进后的t f r c 更适应网络的变 化。 1 3 3 论文章节安排 本论文共分为五章,前两章为概述性内容,分别介绍多媒体拥塞控制研究现 状和所用到的网络仿真软件。第三章则详细地对现有的多种t c p 友好拥塞控制机 制作了对比分析,列出其各自的优缺点,第四章则详细分析t f r c 协议及其改进 方法。最后一章则通过r t p t o o l s 和v l c 以及网络仿真软件n s 搭建的视频传输平台 对改进后的协议作性能分析,最后得出结论。 1 4 本章小结 本章主要介绍了端到端多媒体拥塞控制算法提出的背景及国内外研究现状, 同时对本论文研究内容及章节安排作了简单介绍。 端剑端多媒体拥塞控制算法的研究分析 第二章计算机网络模拟与仿真 2 1 网络仿真i q $ 2 为了评价协议和网络方案的正确性及其性能,需要做很多测试。传统的方法 是为协议和网络方案的运行搭建实际的网络环境,试验其在真实网络环境下的运 行情况。但是搭建实际网络环境往往代价昂贵,而且不易比较不同网络环境之间 协议的运行结果,真实网络中有很多随机网络事件也无法再现。因此,搭建真实 网络环境对于研究和评价协议设计与实现并不合适。 相对于真实网络而言,网络仿真是一种廉价、有效的协议测试比较法。网络 仿真是使用计算机技术构造网络拓扑,实现网络协议的模拟网络行为。它能获得 特定的网络特性参数,进而可对网络性能进行研究和分析,达到改善网络运行状 况的目的。n e t w o r ks i m u l a t o r ( n s ) 就是一种使用最广泛的网络仿真软件。 n s 是美国d a r r a 支持的v i n t 项目的核心部分,由u cb e r k e l e y ,u s c i s l , l b l 和x e r o xp a r c 等大学和试验室联合开发。其目的是构造虚拟的网络平台, 提供一系列仿真工具,实现新的网络协议的设计和开发。它的前身是s k e s h a v 研 制的r e a l 仿真器。这是一个可扩展的、容易配置的、可编程的事件驱动仿真引 擎( s i m u l a t i o ne n g i n e ) 。其源代码全部是公开的,提供开放的用户接口。n s 以它对 有线和无线( 本地和卫星) 网络、局域网和广域网、网络分层模型各协议的丰富支 持,强大的二次开发能力以及可扩展、易配置和编程的事件驱动特性,在国际网 络研究界得到广泛的应用。n s 是一个面向对象的仿真工具,既能进行现有网络 元素的仿真分析,又是一个开发新协议、新方案的强大工具,用户可以通过继承 n s 类来开发适合自己需要的对象模块,集成到n s 环境中去。 下面是n s 2 网络仿真软件的体系结构副8 】和模块示意图: 6 青岛科技人学研究生学位论文 图2 - 1n s - 2 体系构架 f i g 2 - 2 i i s 一2m o d u l es k e t c hm a p 2 1 1n s 软件构成 图2 - 2n s - 2 模块示意图 f i g 2 - 1n s 一2s y s t e mc o n g i g u r a t i o n n s 是一个软件刨9 1 ,包括t c l t k 、o t c l 、n s 仿真器、t c l c l ,如图2 1 所示。 其中t c l 是一个开放脚本语言,用来对n s 进行编程,t k 是t c l 的图形界面开发 工具,可帮助用户在图形环境下开发图形界面;o t c l 是基于t c l t k 的面向对象扩 展,有自己的类层次结构;n s 仿真器为本软件包的核心,是用c + + 编写、以o t c l 解释器作为前端的面向对象的仿真器;t c l c l 则提供n s 和o t c l 的接口,使对象 和变量出现在两种语言中。 为了直观的观察和分析仿真结果,n s 提供了可选件x g r a p h ( 显示静态的图形 曲线) 、可选件n a m ( 动态观察仿真的过程) 。n s 在u n i x 下开发,除了可用于u n i x 系统、l i n u x 系统外,也可以用于w i n d o w s 系统,后者需要安装一个辅助软 件:c y g w i n ,本论文的实验就是在w i n d o w s 系统中实现的,所用1 1 5 版本为2 2 8 。 2 1 2n s 现有的仿真元素 目前,n s 提供了大量仿真环境的元素,如仿真器、接点、分组转发、链路 和延迟、队列管理与分组调度、代理、时钟、分组投递及其格式、错误模型、局 域网、地址结构( 平面性和层次型) 、移动网络、无线传播模型、能量模型等; 提供了丰富的数学支持,如随机数产生、积分等;提供方便的追踪和监视方法等; 提供完整的路由支持如单播组播路由,动态静态路由,层次路由等。下面从网 络拓扑仿真和通信量等方面介绍n s 的相应元素【1 0 】。 ( 1 ) 网络拓扑主要包括节点、链路。n s 的节点由一系列的分类器( c l a s s i t i e r , 如地址分类器等) 组成,而链路由一系列的连接器( c o n n e c t o r ) 组成。 ( 2 ) 在节点上,配置不同的代理可以实现相应的协议或其它模型仿真。如n s 的t c p 代理,发送代理有:t c p ,t c p r e n o ,t c p n e w r e n o , 端剑端多媒体拥塞控制算法的研究分析 t c p v e g a s ,t c p s a c kl ,t c p f a c k ,t c p f u l l t c p 等,接收代表有:t c p s i n k , t c p s i n l ( d e 认c k ,t c p s i n k s a c k l ,t c p s i n l ( s a c k l d e 认c k 等。还提供有u d p 代 理及接收代理n u l l ( 负责通信量接收) 、l o s s m o n i t o r ( 通信量接收并维护一些接 收数据的统计) 。 ( 3 ) 网络的路由配置通过对节点附加路由协议而实现。n s 中有三种单播路由 策略:静态、会话、动态。前两种使用d i j k s t r a 算法,后一种使用分布式b e l l m a n - f o r d 算法。在动态路由中,每一个节点可以执行一个以上的路由协议。n s 还提供了 组播路由策略:集中式、密集模型和共享树模型。 ( 4 ) 在链路上可以配置带宽、时延和丢弃模型。n s 支持:d r o p t a i l ( f i f o ) 队列、r e d 缓冲管理、c b q ( 包括优先权和r o u n d r o b i n 调度) 。各种公平队列 包括:f q ,s f q 、d r r 等。 2 1 3 如何在n s 中添加新协议 在w i n d o w s 下成功安装a s 2 后,在a s 2 2 8 目录下可看到很多子目录,它们 各自实现了相应的一部分功能,比如q u e u e 目录下的文件包含了路由器的丢包算 法,和t c p 有关的协议实现在t c p 目录下,此外,在a s 一2 2 8 目录下还有一些 m a k e f i l e 文件,这些文件包含了每次编译、生成新的n s e x e 时,需要编译的文件 信息。网站【1 2 lh t t p :w w w g r i d u n i n a i t - v o l l e r o r e s o u r c e s d o c _ n s 2 2 7 提供了i i s 软 件包的各种源码,便于分析。但是光有n s 自带的一些功能模块有时是不够的,网 络研究人员的任务之一是要不断研究新的网络协议和算法,有时也要对已有的协 议进行改进,在理论研究的基础上就需要借助网络仿真软件的支持,这时就要对 a s 2 进行功能扩展,添加新的协议,然后才能按照需要,定义网络拓扑结构,设 定网络参数,模拟网络行为,观察各种性能指标,对算法有效性进行验证。下面 就简单介绍一下在a s 2 中添加新协议的步骤【l3 】: a 、定义或继承c + + 协议类; b 、编写该类成员函数和协议算法: c 、定义t c l 相关的类和变量 d 、把c + + 代码绑定到t c l : 修改m a k e f i l e 文件,重新编译成a s e x e 文件。如果所用操作系统是l i n u x ,需要 修改m a k e f i l e i n 文件;如果在w i n d o w s 操作系统下,需要对m a k e f i l e v c 进行相应 的改动。 相对于添加新协议来说,对协议作改进是相对比较简单的。因为原有的一些 东西仍可以用,只需做部分改进即可,本文就是对已有协议作改进,所以工作量 青岛科技大学研究生学位论文 相对大大减少。 2 2t c l 脚本语言 t c l 是t o o lc o m m a n dl a n g u a g e 的缩写,t c l 包括两个部分:一种脚本语言和 相应的解释器。作为一种脚本语言,t c l 与其他u n i x 外壳语言,如cs h e l l 和p c r l 相似,提供足够的再编程能力,组合现有程庐成为量身定做的新工具,大大减少 编程量。t c l 外壳于其他外壳的明显区别就在于它能方便地向应用程序中添加t c l 解释器。 2 2 i 基本命令格式 t c l 只支持一种数据结构:字符串( s t r i n g ) 。所有的命令、命令的所有参数、 命令的结果、所有的变量都是字符串,这是t c l 比较特别的地方。t c l 命令的基本 语法为: 0 j c o m m a n da r g la r 9 2a r 9 3 其中c o m m a n d 代表内置命令的名称或者t c l 过程,a r g l 和a r 9 2 等是该命令的参 数,命令以及参数之间采用空格或t a b 键来分开,用换行或分号来表示一条命令 的结束。t c l 使用7 1 和;群来注释,其中注释一整行可以在行首使用符号撑,而; 可以 用在命令的后面,使得后面的内容为注释。例如: * 撑t h i si sar e m a r k s e t a 3 :存a 声3 2 2 2 变量 t c l 中变量名可以采用任意字母、数字和下划线,长度没有限定,但是区分 字母大小写。在使用变量之前也无需提前声明,因为解释器会在首次使用变量时 创建它,使用变量要在变量名前加$ 符号,女l $ v a r 表示变量v a r 。s e t 命令用来给变 量进行赋值,如: s e ta3 扩 。s e tbs a 第一个s e t 命令给变量a 赋值3 ,注意到s e t 的第一个参数表示要赋值的变量名, 9 端到端多媒体拥塞控制算法的研究分析 它并不需要在名字前面加上$ 符号。第2 个s e t 命令时给变量b 赋值,第三个参数 使用$ a ,也就是把变量a 的值赋给变量b ,从而变量b 的值也是3 。 2 2 3 替代和组合 1 、替代 变量替代( v a r i a b l es u b s t i t u t i o n ) 在变量名字的前面加上$ 符号表示在使用这个变量时,将变量名字代换成变 量的值,其实在上面变量中已经提到这种替代了,例如: :s e t p i3 1 4 1 5 9 , e x p r $ p l 謇2 5 宰2 5 饥 第一行在给定一个叫做p i 变量的初值,第二行要使用这个变量,为了能将变量名 称替换成变量的值,所以在变量前加上“$ ”符号。给定变量初值是不必加上“$ ”符 号,使用变量时才加上“$ ”符号,表示代换成变量的值。还有另外一个形式,例如: s e tl e n g t h5 0 c m 如果想以变量取代5 0 的部分,下面这段写法是错误的: ;7 s e tl e n5 0 ; 轧 。s e tl e n g t h $ 1 e n c m 因为t e l 会把$ 1 e n c m 当成一个变量,所以应该改成: 8s e tl e n5 0 ;s e t l e n g t h $ l e n c m 变量的部分以 ) 围住 # j 命令替代( c o m m a n ds u b s t i t u t i o n ) ;7s e tg r a m s 【e x p r $ k g 奉10 0 0 】 上面的命令将g r a m s 指定成“e x p r $ k g * 1 0 0 0 ”的命令,因为替换的是合法完整的 t e l 命令,所以叫做c o m m a n ds u b s t i t u t i o n ,命令必须是合法的t e l 命令,并且以一 对中括号“ 】围住。c o m m a n ds u b s t i t u t i o n 的内容则是命令的结果,例如上面的例 子,g r a m s 的内容为“e x p r $ k g * 1 0 0 0 ”的结果,其中$ k g 则是之前介绍的 v a r i a b l es u b s t i t u t i o n ,e x p r 是t c l 的命令,像是电脑的命令,用来计算后面的算式, 因此经c o m m a n ds u b s t i t u t i o n 后的结果,g r a m s 的值为5 0 0 0 0 。 反斜线替代( b a c k s l a s hs u b s t i t u t i o n ) 反斜线替代用在指定一个字符串,t e l 罩有一些符号都具有特殊功能,例如 之前提过的“$ ”符号,在给定字符串初值时,为了避免t e l 将“$ ”符号误认为变量 替代,所以在这些特殊号前加上反斜线“,即反斜线替代,举个t e l 的例子: i o 青岛科技人学研究生学位论文 s e tm s gf r e s h m e a t :x $ 3 14 k g n s l a s h d o t :$ 1 7 3 k g m s g 的内容为: f r e s h m e a t :$ 3 1 4 k g s l a s h d o t :$ 1 7 3 k g 单一的反斜线还有一个用途,就是连接下一行,例如: b u r o n b t - w i d t h12 0 - h e i g h t7 5 一t e x t s a v ec h a n g e s 当一行的命令太长而需要断行时,可利用反斜线来连接下一行。要注意的是连接 下一行时,不管下一行前面有多少空白,都会只空一个空白。 2 、组合双引号和花括号 双引号允许你指定包含空格的单词。我们看下面的这个例子: 。s e tx2 4 s e ty1 8 s e tz “s x + $ yi s e x p r $ x + $ y 】” 在这三个命令都被解释后,变量z 的值将是2 4 + 1 8 ,即4 2 。双引号之间的所有语 句作为一个参数传给s e t 命令。此处需要注意几点( a ) 引号之间的命令和变量替 代仍起作用,( b ) 引号自身不会被传给命令。如果没有引号的话,s e t 命令会得到 6 个参数,这将引起错误。 花括号与双引号的不同之处在于:花括号内的替代不起作用: ;s e tz $ x + s yi s 【e x p r $ x + $ y 】) 这个命令把变量z 赋值为”$ x + s yi s e x p r $ x + $ y ”。 2 2 4t c l 运算符 t c l 使用e x p r 命令来处理数学表达式,该命令会把参数转换成相应的数值后 进行运算。t c l 语言的运算表达式和c 语言的基本类似,这里简单介绍一下,表 2 - 1 列出了t c l 中常用的算术操作符( 优先级从高到低) : 表2 - 1t c l 中常用的算术操作符 t a b 2 1t c la n t h m e t i co p e r a t i o ns y m b o l 一l 一元负,逐位非,逻辑非 宰 乘,除,模 + 一 加,减 左移位,右移位 = 小于,大于,小于等于,火于等于 =f= 等丁,不等丁二 端剑端多媒体拥塞控制算法的研究分析 逐位与 逐位异或 逐位或 逻辑与 逻辑或 x ? y :z如果x 为真则计算y ,否则计算z 而0 t c l 语言是t c l 语言的面向对象的扩展,在0 t c l 中引入了类和对象的概 念,面向对象机制的加入使得原始的t e l 变得更加强大,更加方便使用。0 t c l 中 对象以及类的概念和c + + 等其他面向对象程序设计语言中的概念相同。对象是类 的实例,具有继承、封装、多态性和动态绑定等性质。同样,类具有自己的成员 变量和成员函数( 也常称为实例过程) 。虽然0 t c l 和c + + 等面向对象语言的概念 相同,但是具体实现和语法却存在很大的差别。具体可以查看相关的资料,这里 就不再详细介绍。 2 3g n u p l o t 为了分析网络状态,在网络仿真过程中会记录许多感兴趣的数据,并以数据 文件的形式保存下来。如丢弃的数据包的记录,发送窗口的记录等,这些数据文 件往往非常大,如果用肉眼一行一行地看效率非常低,而观察分析大量数据的最 好方式自然是绘图。这也正是这一软件在实验中的作用。 g n u p l o t 是一个命令驱动的交互式画图软件,在1 9 8 6 年由c o l i nk e l l e y 和 t h o m a sw i l l i a m s 开发。g n u p l o t 的功能就是把数据资料和数据函数转化成容易观 察的平面或立体图形,帮助研究者进行数据分析。因此g n u p l o t 并不是一般常见 的美工绘图软件,它最适合应用于科学研究领域,帮助研究人员完成数据资料绘 制与理论模型比较等机械化的工作,加速研究的进行。目前g r t u p l o t 可以在u n i x 、 l i n u x 和w i n d o w s 等平台下实现,且在各平台上的使用方法特别是提供的命令和 函数基本相同,方便使用。下面就具体地介绍它的使用方法: 2 3 1g n u p l o t 格式要求 g n u p l o t 有两种工作方式,交互式和批处理方式。在命令行下,直接输入g n u p l o t 就进入交互式。使用者可以在文字界面下输入命令,并及时观看结果。要退出 g n u p l o t ,只需输入q u i t 命令或e x i t 命令。在g n u p l o t 后面的参数中带有文件名, 则进入批处理模式。在批处理模式下,g n u p l o t 实际是采用l o a d 函数按顺序把所 1 2 青岛科技大学研究生学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 平行线的性质(课件)2025-2026学年数学人教版(2024)七年级下册
- 无人机微控制器技术课件 2、MSP430系列微控制器内部结构与引脚功能
- 2026年注册土木工程师(水利水电)之专业知识题库检测试题带答案详解(综合卷)
- 2026年浙江财经大学财政学题库试题附答案详解(研优卷)
- 2026年特种设备作业押题练习试卷【原创题】附答案详解
- 2026年住培业务水平检测卷及参考答案详解(黄金题型)
- 2026年三基三严考含答案每日一练附参考答案详解【培优】
- 【低空经济】《空域划设方案及体系建设方案》
- 2026年幼儿园升国旗流程
- 2026年幼儿园甲流宣教
- 2025至2030中国神经病理性疼痛管理行业发展趋势分析与未来投资战略咨询研究报告
- 天津市五区县重点校联考2024-2025学年高二下学期4月期中地理试卷(含答案)
- 汉中市入团试题及答案
- 2024年中国戏曲学院辅导员考试真题
- 风力发电技术-海上风电场(新能源发电技术)
- Illustrator图形设计与案例应用 电子教案
- 产品认证培训试题及答案
- 超市日常检查管理制度
- 烧伤浸浴治疗
- 20以内退位减法练习题()
- 实验室生物安全标准与操作规程
评论
0/150
提交评论