(计算机应用技术专业论文)移动ip环境下sctp协议的性能研究.pdf_第1页
(计算机应用技术专业论文)移动ip环境下sctp协议的性能研究.pdf_第2页
(计算机应用技术专业论文)移动ip环境下sctp协议的性能研究.pdf_第3页
(计算机应用技术专业论文)移动ip环境下sctp协议的性能研究.pdf_第4页
(计算机应用技术专业论文)移动ip环境下sctp协议的性能研究.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(计算机应用技术专业论文)移动ip环境下sctp协议的性能研究.pdf.pdf 免费下载

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

文档简介

北京邮电大学硕士论文移动l p 环境下s c t p 沸议的性能研究 摘要 随着通信技术和计算机技术以及融合技术和应用的发展,入们对数据通信及其联网的 要求越来越离。在无线通信领域,继移动电话之后,移动数据通信正在迅速崛起。移动数 据通信是人们对移动通信的新需求,它能解决在许多情况下有线数据通信及其组网不能满 足用户应用要求的问题,使得人们能够随时随地都可以交换数据信息。这种技术建网迅 速、通信灵活,而且能够实现中远程的数据通信。使用户不必担心高昂的电话线路租用费 帚1 光缆( 电缆) 设备费。尤其适用于移动用户。随着便携式电脑的广泛应用承i 移动数据网络 的出现,移动数据通信服务及其相关的用户终端设备市场已迅速形成,并以5 0 的增l 受率 逐年递增。 然而移动性支持技术面临着许多难题,其中很重要的一个方面就是现有的传输层协议 尤其是可靠性传输协议在移动环境下性能很差。一个主要原因是移动网络依赖于无线传输 技术,而无线信道的传播特性和复杂的干扰环境使得无线信道具有高误码率的特点。但是 现有的 n t e m e t 广泛使用的传输协议是为固定网络设计的,没有考虑到无线信道的高误码率 的特征,使得移动i p 环境中使用这些传输层协议时传输效率受到很大影响。另外一个对移 动i p 网络有着重要影响的是移动切换,当主机从一个网络移动到另一个网络时,由于重新 发现主机和更新路由需要一定的时间和开销。这会造成传输层的时延、丢包甚至连接中 断。为了提高移动环境中这些传输协议的性能,需要对传输协议和移动支持技术进行深入 研究和优化。 本文以移动口环境下可靠传输协议s c t p 和t c p 的性能优化为主线。通过仿真评估 s c t p 协议在移动网络中的性能,并分析s c t p 协议的不足。在此基础上,为了解决在无线 链路上s c t p 的不足,文中提出了一种新的拥塞控制算法w f r s 。而为了提高传输协议在 切换时的性能,本文对m i p v 6 的f a s th a n d o v e r 扩展草案进行了评估分析,并提出了改进方 法。最后,本文对利用s c t p 的a d d i p 扩展支持传输层移动性问题进行了探讨,并提出了 优化切换性能的方法。 关键字:流控制传输协议,移动妒,移动i p v 6 ,移动切换,快速切换,传输层移动 支持 北京邮电大学硕士论文移动环境下s c t p 协议的性能研究 a b s t r a c t w j t ht h er a p i dd e v e l o p m e n to ft h ei n t e r n e ta n dm o b i l en e t w o r k s t h e r eh a v eb e e r g r e a t d e m a n d sf o ri n t e g r a t i n gt h ei n t e m e ta n dm o b i l en e t w o r k st op r o v i d ea b u n d a n ts e r v i c e sf o rm o b i l e u s e r s m o b i l ei n t e m e ti sn i l eo ft h et r e n d so ft h en e x tg e n e r a t i o nn e t w o r k s m o b i l ed a t a c o m m u n i c a t i o nm e e t st h en e wd e m a n do fm o b l i ec o m m u n i c a t i o n t h r o u g h i t ,p e o p l e c a r l e x c h a n g ed a t ai n f o r m a t i o na n y t i m ea n da n y w h e r e 。i tp r o v i d e sas i m p l ew a yf o rc o n s t r u c t i o n n e t w o r ka n d t e l e c m m n u n i e a i t o n ,u s i n gs u c ht e c h n o l o g y , c u s t o m e r n e e d n tt ob ew o r r i e da b o u tt h e e x p e n s i v e c o s t so fl e a s e dl i n e sw i t ht h er a p i dg r o w t ho fn o t e b o o k p o p u l o f i z a t o na n d m o b i l ed a t a n e t w o r k , m o b i l ed a t as e r v i c ea n dr e l a t e dt e r m i n a le q u i p m e n tm a r k e th a sc o m ei n t ob e i n g ,a n di t g r o w sw i t l l5 0 p e ry e a r 。 t h em o b i l e s u p p o r tt e c h n o l o g y e n c o u n t e r sm a n y c h a l l e n g e s t h ei m p o r t a n t o n ea m o n gt h e s e i st h a tt h ep e r f o r m a n c eo fc u r r e n tr e l i a b l et r a n s p o r tp r o t o c o lp l a yp o o r l yi nm o b i l ee n v i r o n m e n t o n e p r o b l e mi st h a tt h em o b i l en e t w o r kd e p e n d so nw i r e l e s st e c h n o l o g y a sw e l lk o w n ,w i r e l e s s c h a n n e lh a sh i g hb i te r r o rr a t e b u tt h ec u r r e n tt r a n s p o r tp r o t o c o l sa r ed e s i g n e df o rf i x e dn e t w o r k , a n dt h eh i g hb e ro fw i r e l e s s 】i n ki sn o tt a k e ni n t oa c c o u n t 。t h eo t h e rm a i np r o b l e mi sh a n d o v e r w 1 l i l eah e s tm o v e st oad i f f e r e n tn e t w o 嫩,d u et ot h ed e l a ya n do v e r l o a do f r e f r e s h i n gt h er o u t e , d e l a y 、l o s sa n dd i s c o n n e c t i o n w i l lo c c m a tt a n s p o r tl a y e r t oi m p r o v et h e p e r f o r m a n c eo f t r a n s p o r tp r o t o c o l s ,d e e pr e s e a r c hi sn e e d e d t h i st h e s i sf o e u s e so nt h ei m p r o v e m e n to fs c t pa n d 粥pi nm o b i l ee n v i r o n m e n t t h r o u 吐 s i m u l a t i o n 。w ee v a l u a t et h ep e r f o r m a n c eo fs c t p1 mm o b i l ee v i r o n m e n t a n da n l a s i st h e s h o r t c o m i n g so fs c t p t ba l l e v i a t et h en e g a t i v ee f f e c to fw i r e l e s sl i n ko ns c t p w ep r e s e n ta n e wc o n g e s t i o na l g o r i t h mw f r s 。t oi n r o v et h ep e r f o r m a n c eo ft r a n p o r t p r o t o c o ld u r i n g h a n d o v e r ,w ee v a l u a t et h ef a s th a n d o v e re x t e n s i o no nm i p v 6 a n dp r o p o s eo u rs o l u t i o n f i n a l l y , w ed i s c u s st h ei d e at h a tm a k e su s eo fa d d i pe x t e n s i o no ns c t pt o s u p p o r tt r a n s p o r tl a y e r m o b i l i t ya n dp r e s e n tt h ep r o p o s a l st oo p t i m i z et h eh a n d o v e r k e yw o r d s :s c t p , m o b i l ei p ,m i p v 6 ,h a n d o v e r , f a s th a n d o v e r , t r a n s p o r tl a y e r m o b i l i t y 2 北京邮电大学硕士论文移动i p 环境下s c t p 协议的性能研究 1 i 引言 第1 章绪论 随着通信技术和计算机技术以及其融合技术的发展,人们对数据通信及其联网的要求 越来越高。在无线通信领域,继移动电话之后,移动数据通信正在迅速蚓起。移动数据通 信是人们对移动通信的新需求,它能解决在许多情况下有线数据通信及其组网不能满足用 户应用的要求的问题使得人们能够随时随地都可以交换数据信息。这种技术建网迅速、 通信灵活,而且能够实现中远程的数据通信。使用户不必担心高昂的电话线路租刚费平光 缆( 电缆) 设备费。尤其适用于移动用户。随着便携式电脑的广泛应用和移动数据网络的出 现,移动数据通信服务及其相关的用户终端设备市场已迅速形成,并以5 0 的增| 王= 率逐年 递增。 移动i p 就是一种在全球i n t e m e t 上提供移动功能的方案,移动i p 由ie tf 的移动ip 工作组( i pr o u t i n gf o rw i r e l e s s m o b i l eh o s t s ) 于l992 年6 月制定,它具有可扩展性、可 靠性和安全性,并使节点在切换链路时仍可保持正在进行的通信。同时,i e t f 也提出了 i p v 6 移动性支持的草案,在不久的将来也会成为标准。 然而移动性支持技术面临着许多难题,其中很重要的一个方面就是现有的传输层协议 尤其是可靠性传输协议在移动环境下性能很差。一个主要原因是移动网络依赖于无线传输 技术,而无线信道的传播特性和复杂的干扰环境使得无线信道具有高误码率的特点。但是 现有的i n t e m e t 广泛使用的传输协议是为固定网络设计的,没有考虑到无线信道的高误码率 的特征,使得移动i p 环境中使用这些传输层协议时传输效率受到很大影响。另外一个对移 动网络有着重要影响的是移动切换,当主机从一个网络移动到另一个网络时,由于重新发 现主机和更新路由需要一定的时间和开销,这会造成传输层的时延、丢包甚至连接中断。 为了提高移动i p 环境中这些传输协议的性能,需要对传输协议和移动支持技术进行深入研 究和优化。 目前在i n t e m e t 中使用最广泛的可靠性传输协议是t c p 协议,研究人员在过去的几年 中对t c p 协议在移动i p 环境中的性能优化做了大量的研究,提出了很多改进的方法,本 文概括介绍了这些研究成果。i e t f 于2 0 0 0 年提出一个新的可靠性传输协议s c t p ( s t r e a m c o n t r o lt r a n s m i s s i o np r o t o c 0 1 ) ,这个协议针对t c p 一些弱点进行了改进,并且有可能扩展 非可靠性传输功能。由于s c t p 有很多t c p 没有的性能,并且具有及好的扩展性,它被认 为有可能在未来取代t c p 成为通用的传输层协议,因此随着移动网络技术的发展,s c t p 也会应用到移动口网络中。但是s c t p 也是针对固定网络的提出传输协议,它在移动p 环 境中的效率也同样很低。鉴于目前对s c t p 在移动环境下的性能改进研究还很少,本文的 重点之一就是s c t p 在移动i p 环境下的性能评估和改进。 1 2 论文的主要内容 本文以移动口环境下可靠传输协议s c t p 的性能优化为主线。首先介绍了s c t p 协议 的发展过程和s c t p 的重要特性。s c t p 是作为一个通用的传输协议提出的,它继承了t c p 的拥塞控制的特性,文中比较了s c t p 和t c p 的各自不同的特点。 接着我们介绍了移动ip 技术,一个为移动的计算机传送信息的解决方案。它是一个 4 北京邮电大学硕士论文移动i p 环境下s c t p 协议的性能研究 由i n t e m e t 二 程组制定的因i n t e m e t 协议标准,鼹一种在全球i n t e m e t 上提供移动功能的方 案。它具有可扩展性、可靠性和安全性,并使节点在切换链路时仍可保持正在进行的通 信。为了支掩i p v 6 静移动住,i e t f 撬幽了m o b l i ei p v 6 孳案。这攫还介绍了一些对m i p v 6 的切换过程进行优化的草案。 本文通进仿真评传s c t p 强议在移动p 踺终中的性能,著分撰s c t p 汝议躲不足,找 到了s c t p 在移动列络中面i 陆的2 个主骚问题一一链路错误和移动切换。 在此基础上,为了解决无线链路高误码对s c t p 的负面影响,本文提出了一种新的拥 塞控潮w f r s 。两受鼹浃移动甥换对s c t p 静受磊影响,我 j 提凌了翻嗣s c t p 翡a d d i p 扩展优化切换性能的方法。同时这部分讨论了利用s c t p 来支持传输层移动的新技术,并 对这嵇技本提出了一魑个人见孵。 除了对s c t p 本身的改避之拜,本文也对m p v 6 的f a s th a n d o v e r 扩展草案进行了评许 分析和讨论,指出了在这种扩展功能下存在的问题,并提出了改进f a s th a n d o v e r 扩展的 b u f f e r 功能的方法。 1 3 论文绪擒 整个论文各部分内容安排如下: 第2 章谗纲奔绍ts 殴 穆滚熬发曩过程,对s c t p 静拥塞控露l 特瞧鞠多穴主祝等重 要特性做了详细描述并分析了熟同t c p 相比较的优缺点。同时在途一章还介绍了s c t p 的 几个重要的i e t f 功能扩展革襄。如 a d d i p 、 p r s c t p 、 m o b i l e s c t p 。 第3 窜详细介绍了移动l p 协议,包括m i p v 4 和m 1 p v 6 豹基本概念、功能实诲和其工 作原理。除了描述了实现移动押协议的几种关键技术之外,本章还介绍了m i p v 6 的儿个关 于往证h a n d o v e r 的扩震摹案。 第4 章通过仿真评估s c t p 协议在移动网络中的性能,分析s c t p 协议豹不足,并找 到问题所在。 第5 章主要是铮对4 章孛我静褥避提出2 个解决方案。一个髂决无线链路错误对s c t p 影响,提出了一种新的拥塞控制机制w f r s 。而为了解决移动切换对s c t p 的负面影响, 本章提出了利用s c t p 的a d d i p 扩展优优切换性能的方法。同时本章还讨论了剥用s c t p 来支持传输穗移动的新技术,提出了赡个人思考。 第6 章为了提高传输协议在切换时的性能,对m i p v 6 的f a s th a n d o v e r 扩展草案进行了 评岱分辑帮讨论,攒密了在遮耱扩展功能下,t c p 产生失序嚣袈律,劳摊赉了改避f a s t h a n d o v e r 扩展的b u f f e r 功能的方法 结束语对全文进行总结,并指出了下一步需要做的工作。 北京邮电大学硕士论文移动i p 环境下s c t p 协议的性能研究 第2 章s c t p 协议概述 随着i p 技术和h l t e m e t 的发展,越来越多的企业开始使用i p 技术承载传统的电信业 务,如p 电话,可褫电话等等。两传绕酶p s t n 网络也拜始纷纷连接到i n t e r n e t 土,这霉 要在i p 网络中同时传输业务数据流和s s 7 信令。为了适应在分组网络传递s s 7 的需求, i e t f 在1 9 9 8 年11 月成立了一个新的任务组s i g t r a n ,其任务就是解决p s t n 信令在i p 瓣绻戆砖输,s i g t r a n ( s i g a a l i n gt r a n s p o r t ) 完袋这个任务,提密了一个全胬静协议,s c t p 协议。 2 1 新的传输协议的需求 2 1 1 遥用传辘协议c t p 甚至在前面的体系结构完全建立之前,s i g t r a n 已经开始定义转换s s 7 消息的协 议。显然,一个转簸协议是瑟瑟夔,毽楚采用镩么簧赣协谈帮一鬟没毒一数戆意觅,两只 是简单的称篡为通用传输协议c t p ( c o m m o nt r a n s p o r tp r o t o c 0 1 ) 。嫩初的要求是不要使得协 议族变得更复杂,而艇使用t c p 或者u d p 。除了因为t c p 和u d p 几乎存在于每一个操作 系统中,它稍经过了多年来的检验,撒评稻改进,成为十分成功酌协议。要求c t p 支持的 功能如下: 口 传竣不同黪交换电路网s c n ( s w i t c h e dc i r c u i tn e t w o r k ) 协议类戮,虫m t p 3 , i s u b ,s c c p ,t c a p 等等。并且能够撬供分辨特定的s c n 协议的方法。 口提供通用的熬本协议,定义头部格式,安全扩展,和信令传输的规程,并支持良 妊熬扩展浚,渡便支持新瞧s c n 耱议。 口在l p 网络上,提供s c n 低层定义的相关的功能。这些相关功能可能包括: 流控制 在一个投制流里蕊传输按穿递交的信令消息 错误检测 传辕路经上戆镑误恢复 重传和奠它的错误纠正方法 对端实体的可用性检测。 口支持复蒡l 多个离层s c n 会话剽一个转输信令会活的能力。一觳采髓,要求巍的同 一个控制流巾是要求按序递交的,但是对于不同的控制流的消息没有这个要求。 信令传输协议应该能够攀j 用这个特性避免西为其它的流的序号错泌薅阻塞本漉孛 的的消息递交。 口能蟛传输超过下层s c n 分段黧组长度限制的完熬消息 口支持会适戆嶷全策旗,绦护穿j 霪溪络瓣信令消意。蓿令镥辕应该能够支持伐瑾会 话,并可以穿过防火墙。 1 2 1 提供拥塞避免和其它慰网络拥塞的反应措施。 2 1 2 为什么不是t c p ? 舜始豹辩候,s i g t r a n 没有考虑u d p ,穗髓建议袋穰t c p 佟菇c t p 熬候选卷。然 而。深入的分析表明,t c p 具有一些缺陷,使得t c p 不适合传输穿过i p 网络的p s t n 信 令。 s t e 2 0 0 0 总结了以下几个原因: 6 北京邮电大学硕士论文移动i p 环境下s c t p 协议的性能研究 用需要可靠性传输但是不需要严格保证有序性,或者仅需要部分的有序性。有这 种要求的应用会受到t c p 队头拥塞的负面影响,引起不必要的时延。 口t c p 是面向流的,并且这也造成某些应用的不便。通常它们必须在流中设置自己 的标志,从而能够辨别它们的开始和结束的位置。此外,它们应该必须显式的使 用p u s h 标志及时提交已经传送完毕的消息。 口t c p 从没有被设计成支持多穴主机功能。t c p 的s o c k e t 的限制使得在一个使用了 多个网卡的主机上设计数据的传输机制变得很困难。多穴主机可以提供高可用 性,这种高可用性是有些应用需要的。 口t c p 的可伸缩性不好。最大的t c p 连接数目依赖于操作系统内核的限制,因为 t c p 通常是在操作系统级实现的。 口t c p 无法进行计时器控制。t c p 通常不允许应用程序控制其初始化、关闭和重传 的计时器。 口t c p 很容易受到拒绝服务的攻击。这种攻击使得某种服务无法使用,通常会耗尽 这种服务使用的资源。这种攻击的一个著名的例子就是所谓的s y n 攻击。 而传输p s t n 信令穿过i p 的正是这种和上述所有的t c p 的限制都有关系的应用。最初 是计划修改或改进t c p 来适应这些需求。但是,这个想法被否决了,因为i e t f 作的类似 的努力已经表明要达到这个目的何其困难。因此,他们决定在u d p 之上设计一个新的合适 的传输协议。除了c t p 要求的必须的功能之外,一些其它所需要的特性在 s t e 2 0 0 0 描述 如下: 口具有发现口发送端到接收端之间使用的路径的m t u ( m a x i m u mt r a n s f e ru n i t ) 的能 力,并能对用户数据进行分段以适应相应的m t u 。 口能够通过同一关联中多个流传输用户消息。通过同一个流的传输的用户消息按序 递交,并支持独立用户消息按到达顺序递交。 口支持将多个用户消息绑定到同一个分组中进行传输。 有了以上确定的目标,s i g t r a n 的研究人员开始设计一个能够克服t c p 缺点的新的 传输协议。 2 1 3 一个i e t f 无法拒绝的建议 描述s c t p 协议的第一版草案于1 9 9 9 年9 月提交给i e t f ,从那以后进行了大量的修 改,直到2 0 0 0 年8 月。然后s c t p 草案的第1 4 版升级为r f c 状态,i e t f 以2 9 6 0 的编号 出版了s c t p 协议作为建议标准( p r o p o s e ds t a n d a r d ) 。在这1 4 个月时间内s c t p 经过了大 约1 0 0 0 个成员的列表的讨论,修改建议有4 0 0 0 余条。 设计s c t p 的初衷是用于电话信令的传输协议,而不是设计一个同t c p 竞争的传输协 议。然而,在s c t p 这么长的设计期间,许多新的特性被加入原始的框架中,它们中的大 多数都是为了解决使用t c p i p 协议当中发现的问题,即便是这些特性对于其主要用途,在 i p 网络中传输p s t n 信令而言并非很重要。很多人已经了解s c t p ,并撰写了扩展,所以 一些有价值的特性将被加入s c t p ,使得s c t p 更适合在不同的环境中工作。s c t p 特有的 扩展性使这些努力成为一种容易的工作,在下文中会介绍主要的扩展。2 0 0 1 年1 月,对于 s c t p 的讨论从s i g t r a n 转移到了t s v w g ( t r a n s p o r ta r e aw o r k i n gg r o u p ) ,另外一个 i e t f 的传输领域的工作组。这意味着s i g t r a n 成功的将s c t p 设计为能够在更广泛领域 应用,从而s c t p 开始被认为是一种通用的传输层协议而不仅仅是信令传输协议。 s c t p 有潜力成为i n t e r a c t 中主要的传输协议,在未来代替t c p 。正因为这个原因, 北京邮电大学硕士论文移动i p 环境下s c t p 协议的性能研究 s c t p 被认为是具有良好扩展能力的t c p 的更新版,并且同i p v 6 一起使用。人们期望它能 够改变i n t e m e t 信息传送的方式 2 2s c t p 的通用头部和和内部结构 s c t p 报文的结构如图2 2 。从图中可以看到,s c t p 的通用头部相当的简洁,这使得 s c t p 数据报文很容易进行处理。然而s c t p 报文内部有着较为复杂和精巧的结构。如图所 示,s c t p 的数据报文包含几种不同层次的结构。 2 2 1 通用头部( c o m m o nh e a d e r ) 每个s c t p 报文都有1 2 字节的通用头部,后面是一个或多个c h u n k ,其中通用头部包 括以f 几个字段: 口 源端口和目的端口:s c t p 是i p 层上运行的传输层协议。源端口和目的端口自然 要出现在s c t p 报文头部中。t c p 上的著名应用的端口号,在s c t p 都予以保 留,这是为了将应用方便的移植到s c t p 上,并且也省去了i n n a 的大量工作。 口验证标签:验证标签可以用来防止b l i n d 攻击,这是一个在关联初始阶段随机产 生和交换的3 2 比特整数。在整个关联生存期间保持不变,用以验证接收的数据是 否由真正的通信对端发送来的,而不是伪装的攻击者发送的数据。这个字段放在 s c t p 首部的第5 8 字节。 口 校验码:3 2 位校验码字段提供了差错检测和纠错。 2 2 2 内部结构 2 , 2 , 2 1c h u n k 类型 在通用首部之后至少要有一个c h u n k 。一个c h u n k 是一个有各自不同的标示和含义的 独立结构,但是这些c h u n k 有着相同的t 【结构。它们被用于向对端发送请求并接收和回 应这些请求。主要的c h u n k 类型有以下几种: 口 i n i t i a t i o n ( i n i t ) ,i n i t i a t i o na c k n o w l e d g e m e n t ( i n i ta c k ) ,s t a t ec o o k i e ( c o o k i e e c h o ) 和c o o k i e a c k n o w l e d g e m e n t ( c o o k i e a c 目它们用于关联建立阶段。 口p a y l o a dd a t a a t a ) 和s e l e c t i v ea c k n o w l e d g e m e n t ( s a c l q 。它们用于数据传 输。 口h e a r t b e a tr e q u e s t ( h e a r t b e a t ) 和h e a r t b e a ta c k n o w l e d g e m e n t ( h e a r t b e a t a c k ) 这些用于跟踪关联中不同的路径的状态。 口 o p e r a t i o ne r r o r ( e r r o r ) ,用于报告非终止性错误。 口 s h u t d o w n ( s h u t d o w n ) ,s h u t d o w na c k n o w l e d g e m e n t ( s h u t d o w na c k ) , s h u t d o w nc o m p l e t e ( s h u t d o w nc o m p l e t e ) 它们用于关联的文雅释放。 口 a b o r t a s s o s i a t i o n ( a b o r t ) 用于通知对端因为错误而关闭关联。 这种结构使得s c t p 和t c p 有着很大的区别。s c t p 采用这样报文结构,主要是避免 在t c p 中存在的两个问题: 口t c p 的一个主要问题就是其扩展性很差。t c p 首部的固定部分、选项以及6 比特 自由空间( 其中两个比特用于e c n 扩展,实际只有4 比特空闲) 相加最多也只有 4 0 个字节。这使得t c p 很难进行功能的扩展( 这也正是需要一个新协议的主要原 因) ,所以s c t p 采用上述的报文结构,为的是避免在未来遇到同样的问题。 口在设计t c p 的时代,一个很重要的设计原则是协议的首部的开销要尽量小,而有 效负荷尽量大。如果某种措施使得t c p 的报文处理起来增加了开销,但是可以节 8 北京邮电大学硕士论文 移动i p 环境下s c t p 协议的性能研究 省一个字节的空间,那么这是一个很好的方法。甚至为了节省空间, j a c l 9 9 0 提 出了一种头部压缩的方法把t c p 的长度从2 0 字节压缩到了3 字节。考虑到在 t c p 开始广泛使用的七八十年代,数据链路的带宽最好也只有几十k b p s ,提高传 输效率减小首部开销是非常重要的原则。但是现在连接1 0 0 m b p s 的以太网已经非 常普遍,比3 0 年前的速率提高了上千倍。因而对于当今的传输协议而言,首部开 销多一个或少一个字节根本不是重要问题。而简洁、良好的扩展性以及报文处理 的开销则成为了设计的关键问题。r a n d a l lr s t e w a r t ,s c t p 之父创始人之一,做 的测试表明,t l v 结构的处理明显快于去检查一个字节内部的特定比特位的值。 此外,这种结构( 如同i p v 6 ) 也具有优异的扩展性。为此付出额外几个字节的开 销是非常值得的,尤其是在将多个c h u n k 绑定到同一个s c t p 报文段中的时候。 图2 - 2s c t p 的报文结构 2 2 2 2c h u n k 内部结构 如图2 - 3 ,所有的c h u n k 在定义时候都有相同的基本原则,它们有以下字段: 口 每个c h u n k 首先都有一个字节长度c h u n k 类型字段,这是用于辨识c h u n k 的类型 和告诉接收端这个c h u n k 是如何处理的。目前定义的类型是o 1 4 其余的由1 e t f 保留。考虑到s c t p 是一个直接在i p 层上运行的传输层协议,协议中没有预留给 产商的扩展类型。因为s c t p 通常在操作系统的内核中实现,因而企业通常会从 操作系统产商那里购买,而购买一个具有特定扩展功能的s c t p 产品会很昂贵, 也会导致未来各个产商之间的产品的互操作性问题。有时候为了增加新的c h u n k 类型的时候,接收者也许发现接收的c h u n k 是其无法理解和处理的。s i g t r a n 各 自组原本可以简单让接收者丢弃无法识别的c h u n k 类型的,但是有时候这种方法 并不适用。有时候发送者需要直到接收端能否理解这种c h u n k ,有时候这个c h u n k 的处理对后续的数据报文处理有重要的意义。因此,c h u n k 类型的头两个比特告 诉接收端,在有不能识别的c h u n k 类型的时候如何进行处理。根据这两个比特的 值有以下几种处理方式: 0 0 :接收端丢弃整个数据报文,不再对内部其它c h u n k 进行处理。 0 1 :和o o 的处理相同,但是同时要报告发送端,接收者无法识别此类型。 1 0 :接收者丢弃此c h u n k ,但是继续处理余下的c h u n k 。 1 1 :同1 0 相同,但是报告发送者无法辨识此c h u n k 。 采用这种约定,在协商阶段请求新的服务是很简单的,因为如果接收端无法识别 9 北京邮电大学硕士论文 移动i p 环境下s c t p 协议的性能研究 新的特性,它将简单的发送一个请求否认消息给发送者就可以了。这个方法是借 用的i p v 6 的思想,i p v 6 的头扩展功能字段的头3 个比特告诉接收端丢弃整个数据 包还是忽略这个扩展,或是必须回送一个i c m p v 6 报文以及功能扩展是否可以被 中间的路由器修改。 口 下一个字段是c h u n kf l a g s 字段。f l a g 结构在前面的讨论中已经被废弃了,但是这 并不是说它毫无用处。有些c h u n k 的值可以被表示为布尔值,对于这样的 c h u n k ,f l a g 字段是有用的,只有3 中c h u n k 有f l a g :d a t a 、s h u t d o w n c o m p l e t e 和a b o r t 。 口 c h u n k 的长度是变长的,因而有必要包括一个长度字段。 口并不是所有的c h u n k 都有固定的字段。有些c h u n k 除了类型之外,不需要更多的 任何信息。不过,它们中的大多数有其它的字段提供一些特殊信息。当然,固定 字段的结构是根据c h u n k 类型而定。 口如果c h u n k 还要包括任何其它功能选项或变长数据,它还可以携带参数。 口 最后,如果c h u n k 的长度并不是4 字节的倍数,在末尾需要增加一些填充字段, 使长度成为4 字节的倍数。因为当前的绝大多数计算机都是3 2 位总线,数据的读 取以4 字节为单位,填充使得内存管理变得更简单。 图2 - 3c h u n k 的报文结构 参数( p a r a m e t e r ) 的结构和c h u n k 其实很相似,但是低一个层次。它们包含于c h u n k 内部,用于携带选项和变长的信息,并提供更多的扩展可能性。如图2 - 2 所示,它们具有 以下的结构: 口p a r a m e t e r 的设计是想使得s c t p 的扩展几乎可以无限。因此p a r a m e t e r 的类型字 段有2 个字节,这6 5 5 3 6 种p a r a m e t e r 应该是足够多了,目前只定义了9 种类型的 p a r a m e t e r 。同c h u n k 一样,p a r a m e t e r 类型的头2 位告诉接收端在无法理解此类型 时候的处理方法。只是处理的级别只限于c h u n k 和p a r a m e t e r 。 口 由于p a r a m e t e r 也是变长的,需要一个长度字段。 口p a r a m e t e r 值包含p a r a m e t e r 的实际内容。 口 同样在p a r a m e t e r 的尾部还有填充比特,使得p a r a m e t e r 的长度是4 字节的整数 倍。 一个p a r a m e t e r 通常只能在一个c h u n k 中传输,但是这并不是必须的,所以所有的 c h u n k 中的p a r a m e t e r 类型必须一致。 在s c t p 报文内部还有一种结构,就是所谓的e r r o r c a u s e 。它基本上和p a r a m e t e r 的很 相似,e r r o rc a u s e 都具有c a u s ec o d e 、c a u s el e n g t h 和c a u s ev a l u e 。 口e r r o rc a u s e 只存在于e r r o r 和a b o r tc h u n k 中。它们报告可能存在的问题,如 接收到无法识别的c h u n k 或p a r a m e t e r 、没有足够的资源打开一个新的关联等等。 这两种c h u n k 不能携带p a r a m e t e r 。 1 0 北京邮电大学硕士论文移动j p 环境下s c t p 协议的性能研究 口c a u s ec o d e 的前2 个比特不具有p a r a m e t e r 前2 个比特的含义。这是因为首先没有 任何e r r o rc a u s e 不可以引起新的e r r o rc a u s e 。第二,没有定义的e r r o rc a u s e 只 能在响应定义在s c t p 中的c h u n k 或p a r a m e t e r 时发送。 从上面的介绍中,可以看到s c t p 报文的设计处处充分考虑了它的一个关键特性:扩 展性。一个明显的例子就是s c t p 是设计用于传输多种电话信令的,但是后来它的适用范 围越来越广泛,改变为一种可能替代t c p 的协议。这要归功于s c t p 报文的c h u n k 结构的 设计,这种结构使得增加支持新功能的c h u n k 和p a r a m e t e r 成为一件很容易的事情。同时增 加新特性的s c t p 又保持向后兼容不支持新功能的s c t p 实现,如前面所述,新c h u n k 的发 送者可以要求接收端报告是否支持此种新类型c h u n k 或p a r a m e t e r ,然后发送端可以根据此 信息决定是否不使用新扩展继续通信,还是关闭关联。 所以设计和使用新c h u n k 、p a r a m e t e r 、e r r o r c a u s e 类型都是完全自由的。唯一的问题 就是需要提交给i e t f 讨论决定这种扩展是否能够有价值,现在这个任务已经由s i g t r a n 转移到了t s v w g 组。我们将在后面讨论些扩展的建议。 2 3s c t p 关联管理 s c t p 提供的基本服务是在两个s c t p 用户之间可靠的传输用户消息。它在建立在两个 s c t p 用户间的一个关联中提供这项服务。s c t p 在本质上是面相连接的,但是s c t p 关联 是一个比t c p 连接更广义的概念。s c t p 关联中的每一个端点可以可以向对方提供一个传 输地址列表( 例如,多个地址和一个s c t p 端口号) ,对方可使用这个列表中的任一一 个传输地址来进行传输,同样端点可是用其自身地址列表中的任一个作为发送的源地址。 在所有可由这两个传输地址列表得出的源目的组合上的传输,都包括在关联的范围 内。 2 3 1 状态机 同t c p 一样,建立和释放关联可以用有限状态自动机来描述。在s c t p 中有8 个状态 而不是t c p 的1 1 个状态。【r f c 2 9 6 0 】 s c t p 的状态机似乎和t c p 的状态图似乎很相似。这其实并不奇怪,不仅仅因为t c p 是s c t p 的祖先之一,而且绝大多数传输层协议都有着相似的状态图。但是实际上s c t p 和t c p 存在的很大的不同: 口 s c t p 在关联的建立阶段使用4 次握手方式,而t c p 使用3 次握手方式。这和所 谓的c o o k i e 机制,也就是用于避免类似t c p 中s y n 攻击而采取的机制。下一节 我们将介绍关联建立的细节。 口 关联的关闭变得更简单。此外,s c t p 中没有半连接的概念。 虽然相对于t c p 的连接建立过程,s c t p 的4 次握手是一个很大进步,但是缺少了半 连接的概念,s c t p 的关联关闭机制还是受到很大争议。 2 3 2 关联的建立:4 次握手 在t c p 的连接建立阶段,服务器端发送了s y n a c k 后,会打开半连接,等待客户端 的a c k ,由于服务器要为这个半连接预留资源,保存状态,这个过程很容易被攻击者利用 来进行拒绝服务攻击。通常攻击者伪装成多个不同的i p 地址,不停地发送连接请求,而服 务器在发送了s y na c k 给这些伪装的m 地址之后始终收不到a c k ,又要为这些连接请求 保留半连接的资源,最终服务器的资源被耗尽,不能再接受新连接请求了。目前在t c p 中 这个问题始终没有得到很好的解决。在s c t p 中为了避免这种攻击,采用了4 次握手和 c o o k i e 机制,c o o k i e 机制的原理和会话密钥机$ i j k a r l l 9 9 9 基本相同。 1 1 北京邮电大学硕士论文移动i p 环境下s c t p 协议的性能研究 c o o k i e 机制,c o o k i e 机制的原理和会话密钥机匍j k a r l l 9 9 9 基本相同。 图2 - 4 和2 - 5 分别是4 次握手的过程。图中显示了i n i t 、i n i ta c k 、c o o k i ee c h o 和c 0 0 ea c k 在关联建立时的作用,对于这几种c h u n k 内部结构的细节请参考 【r f c 2 9 6 0 1 ,本文不作详述。 其中需要注意的是i n i t 和i n r ra c k 中的a d v e r t i s e dr e c e i v e rw i n d o wc r e d i t 字段,这 个字段和t c p 头部的w i n d o w 的功能是一样的。所不同是t c p 中这个字段是1 6 位的,而 s c t p 则是3 2 位的。t c p 的1 6 位的窗口值最大为6 4 k b y t e s ,这在设计t c p 的时候是足够 的,但是很快这个限制便显得太小了。t c p 的性能更多的依赖于带宽时延积。所谓的带宽 时延积衡量了己经发送出去,而没有到达目的端的数据总量。接收端的b u f f e r 设定应该尽 量使得连接的吞吐量达到最大值。随着网络带宽日益增加,t c p 的小窗口限制了t c p 连接 的吞吐量进一步提高。s c t p 则在设计之始就考虑到这个问题,其3 2 位的窗口值理论上的 吞吐量最大可以达到4 g b ”e s 。 在 n i ta c k 中携带了一个很重要的p a r a m e t e r :s t a t ec o o

温馨提示

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

评论

0/150

提交评论