基于mSCTP传输的非对称路径延迟优化方案的研究
更新时间:2024-04-06 03:51:01 阅读量: 综合文库 文档下载
分类号 密级
UDC
学 位 论 文
基于SCTP传输的非对称路径延迟优化方案的研究
作者姓名: 白 钰 指导教师: 刘杰民 副教授
东北大学信息科学与工程学院 申请学位级别: 硕 士
学科专业名称: 计算机应用技术
论文提交日期: 2007年12月10日 论文答辩日期: 2008年1月1 4日 学位授予日期: 评
学科类别: 工 学
答辩委员会主席:
阅人: 党群,金顺福
东 北 大 学 2008 年 1月
A Thesis for the Degree of Master in Computer Application Technology
Research on Asymmetric Path Delay Optimization With SCTP
Transport
by Bai Yu
Supervisor: Vice Professor Liu Jiemin
Northeastern University
January 2008
独创声明
本人声明所呈交的学位论文是在导师的指导下完成的。论文中取得的研究成果除加以标注和致谢的地方外,不包含其他人已经发表或撰写过的研究成果,也不包括本人为获得其他学位而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示诚挚的谢意。
学位论文作者签名:
签 字 日 期:
学位论文版权使用授权书
本学位论文作者和指导教师完全了解东北大学有关保留、使用学位论文的规定:即学校有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人同意东北大学可以将学位论文的全部或部分内容编入有关数据库进行检索、交流。
(如作者和导师同意网上交流,请在下方签名:否则视为不同意)
学位论文作者签名: 导 师 签 名:
签 字 日 期: 签 字 日 期:
- I -
东北大学硕士学位论文 摘 要
基于SCTP传输的非对称路径延迟优化方案的研究
摘 要
随着网络接入方式的增多,无线设备如PDA等可通过诸如Wi-Fi,蓝牙,Wi-Max等不同技术接入到网络中已经很普遍了,多穴环境在无线网络中逐渐增多。流控制传输协议(SCTP)提供了优秀的架构来支持多穴。尤其是最近对SCTP在移动方面的扩展(如mSCTP),提供了更灵活的重新配置传输路径的方法(DAR),该方法允许在保持连接的SCTP偶联中加入或删除新的IP地址,从而使SCTP偶联可获得更多的传输路径,这一传输层的解决方案为移动终端的移动性提供了极大的支持。但如何在SCTP偶联的众多路径中选择传输效率最高的路径仍然是一个开放性的问题。
本文首先分析并确定了非对称环境中路径延迟在众多网络性能参数中对多媒体数据传输的主导影响地位,提出了在非对称性环境下出现重传二义性情况时如何正确计算往返路径延迟即RTT的问题。针对该问题本文提出了应答包相匹配的RTT计算方法-ARDC(Ack-matched Round-trip Delay Calculation) 法,对标准SCTP进行扩展,增加了RETID块和RETID Echo块。时序分析结果证明在出现重传二义性时该方法能有效地计算出正确的RTT。
其次,对如何在非对称性环境中选择最小延迟路径这一开放性的问题进行了研究。提出了无线网络中非对称性路径延迟优化算法-ADOMN(Asymmetric- path Delay Optimization in Multi-homed Network),该算法通过比较不同路径组合上的RTT差异解决了这个问题。NS2仿真实验结果证明本文提出的ADOMN算法能有效的选择出非对称环境中的最小延迟路径。这种端到端的方法是对传输层协议的改进,是独立于网络层的,因此不需要对基础设施(路由器等)进行改动,节约了成本。而且因为它是独立于网络层的,所以可以提供同构网与异构网之间的无缝递交。
最后,论文对未来研究工作进行了展望,并提出了建设性方案。
关键词: SCTP;非对称性路径;RTT;ARDC(Ack-matched Round-trip Delay Calculation);
ADOMN(Asymmetric-path Delay Optimization in Multi-homed Network)
- II -
东北大学硕士学位论文 Abstract
Research on Asymmetric Path Delay Optimization With SCTP
Transport
Abstract
It becomes common for a wireless device to be connected to more than one access networks employing either a homogeneous technology or heterogeneous forms of access such as Wi-Fi, Bluetooth, Wi-Max, etc,so multihomed scenarios increase gradually. Stream Control Transmission Protocol (SCTP) provides support.The recent works on SCTP include mobile extension of SCTP (mSCTP), which enables a more flexible way to reconfigure connection paths by allowing new source/destination IP addresses to be added to an ongoing SCTP association. With multiple paths potentially available to an SCTP connection during various times, how to select among several available paths remains an open problem.
The influence to Multimedia data transport brought by path delay in asymmetric scenario is analysed in this paper first,and the question how to calculate the accurate RTT in asymmetric scenario when ACK and AUPACK happen has been put forward.We proposed ACKs-matching RTT Calculation(ARDC) method to solve this problem,and we extend standard SCTP by adding RETID chunk and RETID Echo chunk.Time sequence analysis prove that the proposed method can calculate accurate RTT in asymmetric scenario when ACK and AUPACK happen.
How to select the lowest delay path in asymmetric scenario is still an open problem.We proposed Asymmetric-path Delay Optimization in Mobile Network(ADOMN) algorithm to solve this problem.ADOMN can select lowest delay path by comparing the difference of RTT on all path combination.NS2 simulation results prove that our proposed algorith can surely reslove this problem.This end-to-end method has improved the transport layer,and it is independent of network layer,so basic establishments such as routers,gateway,etc do not have to change,which is economic.It can implement seamless handover between homogeneous and heterogeneous network because of its independence to network layer.
Key words:SCTP;Asymmetric path;RTT;ARDC(Ack-matched Round-trip Delay
Calculation);ADOMN (Asymmetric-path Delay Optimization in Multi-homed Network)
- 1 -
东北大学硕士学位论文 目录
目录
独创声明 .................................................................................................................................... I 摘 要 ....................................................................................................................................... II ABSTRACT ............................................................................................................................... III 第一章 绪 论 .......................................................................................................................... 3 1.1 课题的研究背景 ............................................................................................................... 3 1.2 研究内容及现实意义 ....................................................................................................... 4 1.3 本文的组织结构 ............................................................................................................... 5 第二章 SCTP概述 ................................................................................................................... 6 2.1 SCTP的主要特性 ............................................................................................................. 6
2.1.1 多流特性 ............................................................................................................... 7 2.1.2 多穴特性 ............................................................................................................... 9 2.1.3 安全特性 ............................................................................................................. 11 2.2 SCTP与TCP及UDP的区别 ........................................................................................ 12 2.3 SCTP分组格式 ............................................................................................................... 14 2.4 数据传输 ......................................................................................................................... 17
2.4.1 SCTP包的产生过程 ........................................................................................... 17 2.4.2 SCTP包的接收过程 ........................................................................................... 18 2.4.3 SCTP流量控制 ................................................................................................... 19 2.4.4 SCTP证实规则 ................................................................................................... 20 2.4.5 SCTP拥塞控制 ................................................................................................... 20 2.4.6 SCTP路径切换 ................................................................................................... 23 2.5 小结 ................................................................................................................................. 23 第三章 非对称性环境下往返路径RTT的计算 .................................................................. 25 3.1 问题的提出与解决 ......................................................................................................... 25
3.1.1 非对称性环境下的RTT概念 ............................................................................ 25 3.1.2 标准SCTP中RTT的计算 ................................................................................ 27 3.1.3 非对称性环境下RTT计算的方法 .................................................................... 28 3.2 应答包可匹配的往返延迟计算方法的有效性验证 ..................................................... 30
3.2.1 拓扑结构 ............................................................................................................. 30 3.2.2 时序图分析 ......................................................................................................... 30 3.3 小结 ................................................................................................................................. 31 第四章 非对称性环境最小延迟路径选择的实现 ............................................................... 33 4.1 问题的提出与解决 ......................................................................................................... 33
- VI -
东北大学硕士学位论文 目录
4.1.1 非对称性环境下最小延迟路径选择的意义 ..................................................... 33 4.1.2 非对称性环境下最小延迟路径算法 ................................................................. 34 4.2 移动网络中非对称路径延迟优化算法的有效性验证 ................................................. 35
4.2.1 NS2-SCTP仿真环境 ........................................................................................... 35 4.2.2 仿真结果分析 ..................................................................................................... 37 4.3 小结 ................................................................................................................................. 39 第五章 总结与展望 ............................................................................................................... 41 5.1 本文工作总结 ................................................................................................................. 41 5.2 未来研究方向 ................................................................................................................. 41 参考文献 ................................................................................................................................. 42 研究生期间发表的文章 ......................................................................................................... 45 致 谢 ...................................................................................................................................... 46
- 1 -
东北大学硕士学位论文 目录
第一章 绪 论
1.1 课题的研究背景
因特网和电信网曾经一度是两个独立的网络,它们提供不同的业务因特网的爆炸式发展和人们的对电信业务的更多需求,驱动着两大网络的融合。IP技术的飞速发展,促使网络融合朝着以IP为基础的分组网方向发展。然而,电信网中的电路交换到分组交换将是一个长期的渐进过渡的过程。在这过渡过程中,以电路交换为基础的网络和以分组交换为基础的网络之间的通信首先要求信令能够互联互通。只有实现了信令的互连互通,才会促进电信网和分组网的最终统一。
基于互联互通的需要,IETF在1998年正式成立了一个新的工作组-信令传送工作组(SIGTRAN),主要负责设计与制定IP网上传送的PST信令的标准与协议。而SS7就是PSTN的信令。
SS7网和IP网的信令互通要求保留原有的SS7网和IP网的协议栈,并在此基础上使得IP网即能传送语音流又能传送SS7信令。为此,SIGTRAN第一步工作就是产生报告文档RFC2719[1],指明在IP上传输电话信令所需功能和性能需求[2],还阐述了信令消息对丢失率、延时以及安全性等方的要求,同时给出了信令互通的体系结构。后来Randall Stewart和Qiaobing Xie提交的多网络数据报传输协议[3](MDTP)获得一致好评。接着MDTP演到SCTP[4](Stream Control Transport Protocol),不仅仅名称发生改变,协内容变动也很大。相对于MDTP,SCTP完全改变了协议数据报头和内部的数据结构,采用Cookie机制来有效抵御伪攻击,数据传送过程中使用了TCP[5]的拥塞控制策略。另外,在消息绑定、数据分段等方面也作了很大修改。2000年1月,SIGTRAN[6]对SCTP再次作了一个很大的变动,直接改协议栈,使SCTP直接运行于IP层上,这意味着SCTP从此可以在操作系统内核中实现。经过不断的研究,SIGTRAN工作组在2000年10月正式布RFC2960,详细阐述了SCTP这个新的传输协议。
新诞生的SCTP集合了TCP、UDP[7]的优点,克服了TCP固有的队头塞、DoS[8]攻击,另外新增了许多功能,如多流[9]、多穴[9]、面向消息传输Cookie安全机制[10],动态地址重配置[11]、部分可靠传输[12]、支持移动IP等等。不但满足了在分组网上传输信令的要求,而且成为了通用的传输协议,能提供更好的多媒体传输服务,移动环境下端到端的高效服务。
- 1 -
东北大学硕士学位论文 目录
SCTP被业界称为超级TCP,在下一代网络中,很有可能取代当前流行的TCP。
1.2 研究内容及现实意义
SCTP是新诞生的协议,协议的功能不断的增加,性能不断的增强。目前主要是在网络模拟中研究,也有一些公司、大学、组织搭建了SCTP实验网。
国外的研究侧重于起草标准。定义SCTP负荷分担草案(多路径同时传输) [14];制定部分可靠传输标准;提交建立SCTP偶联后的动态地址重配置;提交SCTP API草案[15];定义SCTP对移动IP的支持;提交单播拥塞控制建议标准TCP友好可变速率控制等等。其中特拉华大学的协议工程实验室(P.E.L.) [16]受美国军方(ARL,美国陆军研究实验室)的资助,重点研究SCTP在移动网络和Ad hoc[17]网上的应用,包括军事应用。除了PEL,国外主要研究机构有思科、SUN、诺基亚等。
国内的研究侧重于应用。SCTP与TCP的比较[18];SCTP在移动环境下的性能研究(比如平滑切换[19],移动IP[20],最后一跳性能恶化问题[21],基于SCTP移动Internet传输模型[22]等);基于独立路径拥塞控制的SCTP负荷分担机制研究[23];结合SS7的研究[24];SCTP的安全问题;军事应用[25]等等。国内研究在广度上逐渐跟上国际步伐,但在深度上,权威性方面还有一定距离。国内在这方面研究比较多的机构有北京邮电大学、南京邮电大学、华为、中兴等。
本文的主要工作包括:
提出了ARDC(Ack-matched Round-trip Delay Calculation)方法,解决了非对称环境下精确RTT计算问题,对标准SCTP进行了扩展,对协议起到了补充的作用。
提出了ADOMN(Asymmetric-path Delay Optimization in Multi-homed Network)算法,解决了非对称环境下的最小延迟路径选择问题,对延迟敏感数据的传输起到了优化作用。
ARDC方法的提出,解决了ACK应答数据包二义性问题,保证了RTT的正确计算。增加了2个数据模块RETID和RETID Echo,该扩展对SCTP协议的修改很小,因此并不需要大规模的修改SCTP协议栈代码,便于实现。ADOMN算法解决了如何在无线非对称性多穴SCTP环境中选择最小延迟路径的问题。这种端到端的路径选择算法是针对传输层协议的改进,是独立于网络层的,因此不需要对基础设施(路由器等)进行改动,节约了成本。而且因为它是独立于网络层的,所以可以提供同构网与异构网之间的无缝递交。该算法同样适用于一端是单穴,而另一端是多穴的情况。
- 1 -
东北大学硕士学位论文 目录
1.3 本文的组织结构
全文一共分为五章。
第一章 引言。主要介绍课题的研究背景,国内外的研究现状及本文的研究内容。 第二章 SCTP概述。主要是介绍SCTP相关技术。包括SCTP的主要特性,SCTP与TCP及UDP的区别,SCTP数据传输过程,以及SCTP未来的发展方向。
第三章 非对称性环境下往返路径RTT的计算。主要是分析标准SCTP中计算RTT出现的不足,并针对该不足,提出了解决方法,最后进行了时序分析模拟。
第四章 非对称性环境下最小延迟路径选择的实现。主要是针对非对称性环境中的路径选择问题进行了研究,提出了基于最小延迟的路径选择算法,并给出了相关的模拟实验与结果分析。
第五章 总结和展望。对本文作以总结,并提出了对未来的展望
- 1 -
东北大学硕士学位论文 第二章 SCTP概述
第二章 SCTP概述
2.1 SCTP的主要特性
如图2.1所示,SCTP位于SCTP用户和IP网络层之间,类似于TCP、UDP,是传输层协议,是面向连接的可靠传输协议。
图2.1 SCTP视图 Fig.2.1 SCTP View
偶联类似于TCP的连接,但它的意义更广。TCP的连接只有一条传输路径,而偶联可以有多条传输路径。如图2.2所示,图中的一个偶联中有两条传输路径。
图2.2 SCTP偶联 Fig.2.2 SCTP association
偶联的表达式为:
{[10.80.168.111,202.180.167.165:300],[10.190.167.12,220.180.167.19:400]} SCTP有3个本质特性,这些特性使其突破了TCP、UDP的固有不足,具备先天优势,既满足了
- 6 -
东北大学硕士学位论文 第二章 SCTP概述
因特网对通用传输协议的需求,又推进了三网合一。 2.1.1 多流特性
流是偶联中单向逻辑通道,是消息序列。一条偶联中可以有多条流,即多流,如图2.3所示。各条流相互独立。流内可以顺序传输,递交;也可无序传输,递交,这取决于应用层对流的性质的规定。
图2.3 偶联中的多流 Fig.2.3 Multistream in association
SCTP的消息具备定界机制。消息是以数据块(DATA CHUNK)为载体的,见图2.4。数据块头Length(长度)用于消息定界。FLAGS有3个比特。第一比特“U(unorder)”用于表示消息是否需要有序。如果不要求有序的,那么消息的“U”置1。第二、三比特“B”“E”是begin,end的缩写,如果消息太大,就要把消息拆分,拆分后的第一块B置1,拆分后的最后一块E置1。如果打成的IP包大于MTU(最大传输单元),那么消息就要被拆分。因为即使SCTP不把它拆分,路由器也会把IP包再拆分,这时就增加了网络层的压力。现在SCTP能自动检测出MTU,先行拆分,减少了网络层的压力。性能又提一层。Stream Identifer是流标识符,标识各自独立的流。Stream Sequeue Num是流内序号。
图2.4 Data Chunk的分组格式 Fig.2.4 Format of Data Chunk
- 1 -
东北大学硕士学位论文 第二章 SCTP概述
SCTP可以对大消息拆分,也可以对小消息捆绑。如果消息字节数太少,比如信令消息,就可以捆绑在同一个SCTP包里,然后再发送。这样提高了SCTP的传输效率,降低了开销。
多流应用潜力非常广泛,音视频传输[26],WEB访问,FTP传输等等。
音视频传输是指音频、视频放在不同的流里面,两者相互独立,假使网络性能不好,丢掉了大数据量的视频,小数据量的音频还是能很好传送到收端,不耽误收听、交流。而且音频、视频都设置成无序方式(U=1),一旦到达收端,立即递交至高层,提高实时性。
WEB访问是指在WEB里种类丰富的多媒体信息,如文本、图片、动画、视频、声音等等,不同的种类可以放在不同的流里传输。通过举例WEB访问来说明多流的优越性。假定WEB服务器有3个小文件,每个文件打包成两个报文。不同的文件用不同的形状表示。三角形为数据文件,圆形为音频文件,方形为图片文件。
基于TCP的WEB访问方式。如果客户端和服务器建立了一条连接,如图2.5所示。第一个报文丢失,客户端收到了之后的所有报文,也只能放在缓存里,不能递交给用户,
等待报文1的到达。这是TCP典型的队头阻塞[27]问题。它势必造成较大的延时。
图2.5 一条TCP连接的Web访问 Fig.2.5 Web access through an TCP connection
为克服队头阻塞,提高传输效率,客户端与服务器建立3条连接,分别传输3个文件,如图2.6所示。在连接1,报文1丢失,报文2收到后只能在缓存中等待,不能立即递交。在连接2,报文乱序,报文4先到达,但不能立即递交给用户,需等报文3到达并排序后,才能递交给用户。在连接3,报文是顺序的,一旦到达客户端,立即递交。
连接2上的文件2是音频文件,不需要严格有序,如果4报文先到达,也能立即递交给用户,那么能实时性就增强了。但TCP不能满足此要求。
服务器、客户端需要为3条连接中的每条连接都维护一组变量(传输控制块),这增加了服务器、客户端的负担。对于服务器来说,它能服务的客户就变少了。此外,3条连接也增加了网络中路由器负担。这些都是TCP的弊端。
- 1 -
东北大学硕士学位论文 第二章 SCTP概述
图2.6 3条TCP连接的Web访问 Fig.2.6 Web access through 3 TCP connections
服务器、客户端需要为3条连接中的每条连接都维护一组变量(传输控制块),这增加了服务器、客户端的负担。对于服务器来说,它能服务的客户就变少了。此外,3条连接也增加了网络中路由器负担。这些都是TCP的弊端。
而采用SCTP这些问题都能得以克服,如图2.7所示。3个文件用3条流来传输,流之间相互独立,当报文1丢失时,不影响流2、流3递交。这里很好地克服了队头阻塞。3条流就像TCP的3条连接。但是SCTP只用一组变量(传输控制块)来维护这一条偶联,减轻了服务器、客户端、路由器的压力。
图2.7 基于SCTP传输 Fig.2.7 Transport based on SCTP
不但如此,SCTP还有其它优点。例子中文件2是音频文件,它不需要严格有序。可以把DATA CHUNK的FLAGS的“U”置为1,表示允许乱序。这样当乱序的报文4先到达客户端时,不用等待报文3,就直接递交给用户。这克服了队头阻塞,也提高了WEB访问的响应速度,降低了时延。
多流特性,很好地满足了因特网多媒体传输,三网合一等需求。 2.1.2 多穴特性
多穴[28]即端点可以有多个地址,一般指多个IP地址。如图2.2所示,每个端点各有两个IP地址,一个偶联里有两条传输路径。
- 1 -
东北大学硕士学位论文 第二章 SCTP概述
SCTP建立偶联后,选择某条传输路径为主路径,其它路径为辅助路径,绝大部分数据都是在主路径上传输的,部分重发的数据有可能在辅助路径上传输。SCTP具有路径故障管理功能。SCTP发送心跳块(Heartbeat)周期性检查辅助路径是否处于激活状态。如果收到心跳块证实(Heartbeat-ACK),那么该路径是正常的,否则记录该路径错误一次。如果错误出现次数超过阈值,那么记录该路径为故障状态,关闭该路径。如果主路径故障,RTO大于60秒,那么SCTP把主路径切换到其它激活路径上继续传输,不像TCP需要再次建立连接。多穴特性保证传输的连续性,保证偶联的可靠性[29]。
通过心跳块把偶联中的多条路径管理起来了,通过路径冗余来实现网络级容错,提高传输的可靠性。
在SCTP多穴特性基础上,专家又在SCTP上扩展了动态地址重配置功能,即移动SCTP。动态地址重配置是在偶联保持活动阶段,动态的增加和删除IP地址,并告诉对端将要使用的IP地址。
移动SCTP不同于移动IP[30]。前者是传输层的移动,后者是网络层的移动。网络层的移动需要在网络层设置移动代理,这增加了网络层的复杂程度,加重了路由器的负担。动态地址重配置(移动SCTP)支持了终端的移动。终端移动本质是端到端的移动,主机的移动只应该影响那些正在与之进行通信或是将要与之进行通信的节点。而传输层刚好负责端到端通信的。所以把移动从网络层提升到传输层后,会减少对网络层的修改和升级现有的网络层设施,有利于现有网络过渡到全面支持移动性。
图2.8描述了基于移动SCTP的终端移动[31]。
在第三代移动通信的Node_B的覆盖范围里有一笔记本电脑A,与对应端Z通过偶联进行通信,现在A正从C小区移向D小区。分析一下建立偶联与移动的过程。
(1)A在C小区主动发起通信:A在C小区收到Node_B分配给的IP2,以IP2为地址与Z的IP1建立偶联。
(2)A移动并获得新地址[32]:A向D小区移动,在D小区边界处得到D小区分配的新地址IP3。
(3)在偶联中动态增加新地址:把IP3新地址加入到偶联中,并通知对端IP3作为主地址。
(4)在偶联中动态删除旧地址:由于C小区所发送的信号能量逐渐减弱,减弱到一定门限值时,删除C小区所分配的IP2。
(5)继续移动,重复2~4过程。
- 1 -
东北大学硕士学位论文 第二章 SCTP概述
图2.8 移动SCTP举例 Fig.2.8 An example for mSCTP
2.1.3 安全特性
TCP因为在拒绝服务中易受攻击所以被SIGTRAN否定掉。而SCTP的四次握手机制很好的解决这一安全机制的问题。
TCP容易受SYN Flooding[33]的攻击。面向连接的TCP三次握手是SYNFlooding存在的基础,SYN Flooding利用了TCP/IP的这一固有漏洞。
SYN Flooding攻击的原理是:恶意攻击者向服务器发送大量SYN报文,服务器在发出SYN+ACK应答报文后无法收到客户端的ACK报文(第三次握手无法完成),服务器端将为维护一个非常大的半连接列表而消耗非常多的CPU和内存资源,还要不断对这个列表中的IP进行SYN+ACK的重试。服务器端将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求,此时从正常客户的角度看来,服务器失去响应。
要想很好地抵御这类网络攻击[34],需要做到如下几点:
(1)网络服务器收到服务请求时,在确认此请求合法性之前,不分配任何本地资源; (2)识别出重复的或者过时的服务请求,对此类有攻击嫌疑的请求不予理睬; (3)当接收到新的服务请求时,应该赋予当前正在处理的工作以更高的优先权; (4)对于非单一传送的意外分组,不做任何响应。
SCTP能够较好的满足这些特点。在一次SCTP四路握手中,INIT消息的收端不必保存任何状态信息或者分配任何资源,这样就可防范SYNFlooding等攻击。它在发送INIT-ACK消息时,采用了Cookie机制,该Cookie具有发端要建立自己状态所需的全部信息。
- 1 -
东北大学硕士学位论文 第二章 SCTP概述
SCTP产生一个状态Cookie的过程如下:
(1)使用收到的INIT和发出的INIT-ACK块中的信息创建一个偶联的TCB(传输控制块)。
(2)在TCB中,将当前日期设为创建日期,将协议参数“有效Cookie时间”设为生存期间。
(3)根据TCB,收集重建TCB所需的最小信息子集,将该子集和密钥产生一个MAC(信息认证编码)。
(4)结合上述最小信息子集和MAC产生状态Cookie。
(5)在发送完INIT ACK(包含状态Cookie参数)后,发送方必须删除TCB以及任何与新偶联有关的本地资源。
当端点收到带状态Cookie的INIT-ACK时,立即用此状态Cookie向对端响应一个COOKIE ECHO块。
当收端收到了对端发来的COOKIE ECHO块,则该采取以下动作。
(1)使用状态Cookie中携带的TCB数据和密钥来计算MAC(RFC2104中介绍了如何生成和计算MAC)。
(2)状态Cookie的鉴权是把计算出的MAC同在状态Cookie中携带的MAC进行比较,如果比较失败,则把这个包含COOKIE ECHO和数据块(可能包含)的SCTP分组直接丢弃,而不产生任何指示。
(3)对状态Cookie中的创建时间标记和当前的本地时间比较,如果封装的时间已经超过了在状态Cookie中携带的寿命值,则这个包含COOKIE ECHO和数据块(可能包含)的SCTP分组被丢弃,同时该端点必须向对端传送一个差错原因为“过期的Cookie(Stale Cookie)”的ERROR数据块。
(4)如果状态Cookie有效,则使用COOKIE ECHO携带的TCB数据信息,向发送COOKIE ECHO块的发端创建偶联,并进入到ESTAB-LISHED状态。
(5)向对端发送COOKIE ACK数据块,用来确认收到了COOKIE ECHO数据块。SCTP通过COOKIE机制,满足了抵御网络攻击所提出的要求,成就了SCTP的安全性。
2.2 SCTP与TCP及UDP的区别
1.UDP协议
UDP[7]协议为应用层提供不可靠的传输服务,分组格式简单,头部开销较小。它不
- 1 -
东北大学硕士学位论文 第二章 SCTP概述
使用确认机制来确保数据被接收端正确接收,不会重传丢失的数据,在接收端也不会按序递交数据,也不提供拥塞控制、流量控制机制。
因此,UDP分组在传送过程中可能会丢失、重复、乱序。UDP协议比较适合信息量较大、实时的应用(如语音、视频传输),而不适合需要提供可靠服务的应用,因此不是目前互联网中传输层使用的主流协议。
2.TCP协议
TCP[4] [5]协议是目前应用最普遍的传输层协议,它提供面向连接的可靠的数据流服务并具备拥塞控制功能,能通过发送方、接收方和网络之间的相互协作实现在一个或多个互联的不可靠网络中进行可靠的数据传输。
TCP所谓的“面向连接”是指基于TCP的两个应用程序在交换数据之前要先建立TCP连接,在一条TCP连接上进行通信的只有两个系统。TCP通过重传及其确认机制来实现数据的可靠传输,要求接收端对每个收到的数据段进行确认来实现传输的可靠性。TCP发送端发送数据后启动一个重传计时器,如果发送端在重传计时器超时前没有收到对该数据的确认,或收到对该数据的三个重复ACK分组,就会采用重传恢复算法重传该数据,并启用相应的拥塞退避机制。TCP使用基于滑动窗口机制的的拥塞管理算法,采用和式增加/积式减少的拥塞控制策略,以维护网络的稳定性。
TCP的设计有一定的局限性,在某些方面已不能满足应用的需求和底层链路的特性。如TCP设计时假定传输链路误码率很低,分组丢失主要是由网络拥塞引起的。随着目前网络技术的发展,这些假设在很多情况下都不再成立(如,无线环境)。数据传输和多媒体通信的飞速发展,各种无线通信技术的互联,也为TCP协议的应用提出了新的挑战。同时,各种不同应用的出现,对传输层的服务特性提出了新的要求,而TCP己经不能满足新出现的应用的要求,因此很多应用开始基于UDP协议来实现自己的可靠数据传输协议。TCP主要的局限性在于[4] [5] [6]:
(1)TCP提供了可靠的数据传输和数据在接收端的严格有序递交。但有些应用不需要维持数据在接收端的递交顺序,还有些应用只需要数据在接收端递交时部分有序,如N.o7信令消息,WWw业务,MPEG4等业务。
在这两种情况下,TCP的严格有序递交机制可能导致队头阻塞,引入不必要的延迟。 (2)TCP是面向比特流的,将数据看作没有结构的字节序列进行传输。应用层只能自己标记发送的消息,采用TCP的“push”机制来确保在合理的时间内发送完这个消息。
(3)TCPoskcet不支持多穴性,不能很好的支持组播。
- 1 -
东北大学硕士学位论文 第二章 SCTP概述
(4)TCP协议安全性较差,在初始化连接的过程中容易受到DoS(Denial of Serviee)攻击,如SYN攻击。
由于TCP协议己不能满足现在各种应用的要求,也为了在PI网络上传N.o7信令,2000年,EITF(互联网工程任务组)的信令传输工作组(SIGTRAN:SignalingTransportGroup)提出了流控制传输协议SCTP,命为RFC2960,使得SCTP正式成为国际标准。由于SCTP具有适合Internet数据和多媒体传输的特性,并可能成为下一代的传输层协议,因此SCTP正成为当前研究的热点。
2.3 SCTP分组格式
SCTP分组由公共的分组头和若干块[35] (CHUNK)组成,每个数据块中既可以包含控制信息,也可以包含用户数据。图2.9是SCTP的分组格式。
图2.9 SCTP分组格式 Fig.2.9 SCTP packet format
SCTP公共头(common header)共12个字节。验证标签是判别所收分组的有效性,其可以提高安全性。校验和是用于判断分组是否比特错误,提高分组的可靠性。
块是SCTP特有的消息格式。块主要分为控制块和数据块。 下面讲解一下几个典型的块。 1.INIT块
图2.10是INIT块格式,该块用来启动两个SCTP端点的一个偶联。启动偶联还需INIE-ACK,COOKIE-ECHO,COOKIE-ACK三块。INIT-ACK与INIT块格式一样。
启动标签:INIT的收端记录启动标签参数的值。这个值必须被放置到INIT的收端
- 1 -
东北大学硕士学位论文 第二章 SCTP概述
发送的与该偶联相关的每个SCTP分组中的验证标签字段中。启动标签允许除0以外的的任何值。如果在收到的INIT数据块中的启动标签为0,则接收方必须作为错误处理,并且发送ABORT数据块中止该偶联。
通告的接收方窗口信用值(a_rwnd):这个值表示指定的缓冲区的容量,用字节数表示,为INIT发送方为偶联预留的窗口大小。在偶联存活期间,这个缓冲区的容量不应减少(即不应把该偶联的专用缓冲区取走),但端点可以在发送的SACK数据块中修改a_rwnd的值。
最大输出/输入流数:流的数目在偶联启动的时候约定好的。
图2.10 INIT块格式 Fig.2.10 Format of INIT Chunk
初始的TSN(Transmission Sequence Number):定义发送方将使用的初始的TSN,该值可以设置为启动标签。
2. SACK块
图2.11是SACK块格式。该块用来证实数据。
累积TSN证实:该字段指示收到连续TSN序列的最后一个TSN值。 通告的接收方窗口信用(a_rwnd):该字段指示修改了SACK的发送方 的接收缓冲容量的字节数。
- 1 -
东北大学硕士学位论文 第二章 SCTP概述
图2.11 SACK块格式 Fig.2.11 Format of SACK Chunk
间隔证实块的数目:用来指示SACK块中包含的间隔证实块的数目。
重复的TSN的数目:该字段包含了该端点收到的重复的TSN的数目。每个重复的TSN都列在间隔证实块列表后。
间隔证实块开始:该字段用来指示这个间隔整数块的起始TSN偏移,为了计算实际的TSN号码必须要用累积TSN证实加上偏移号码。计算出的TSN标识用来识别第一个在这个间隔证实块中被收到的TSN。
间隔证实块结束:用来指示这个间隔证实块的结束TSN偏移,为了计算实际的TSN需要把累积TSN证实加上这个偏移号码。这个计算出的TSN用来识别在这个间隔证实块中最后收到的DATA数据块。
重复的TSN:用来指示一个在上一个SACK发送后收到的TSN重复的个数。每次一个接收者收到一个重复的TSN(在发送SACK前),则把这个TSN加到重复的TSN列表中。每发送一次SACK后则把统计重复TSN的计数器重新清0。
3. Heartbeat块与Heartbeat-ACK块
SCTP端点通过向对端点发送这个Hearbeat块用来检测定义在该偶联上到特定目的地传送地址的可达性。Heartbeat块如图2.12所示。
- 1 -
东北大学硕士学位论文
图2.12 Heartbeat 块格式 Fig.2.12 Format of Heartbeat Chunk
第二章 SCTP概述
HEARTBEAT参数字段,如图2.13所示,它是一个可变长度的非透明数据结构,其信息通常只需要发送方明白即可。当该HEARTBEAT块发送到目的地传送地址时,发送方特定的HEARTBEAT信息字段通常包括关于发送方当前的时间信息。
图2.13 Heartbeat 参数格式 Fig.2.13 Format of Heartbeat parameters
SCTP端点在收到对端点发来的HEARTBEAT块后,则发送Heartbeat-ACK(见图2.14)块作为响应。HeartBeat-ACK总是向包含HEARTBEAT块的IP数据报中的起源IP地址发送。
图2.14 Heartbeat-Ack 块格式 Fig.2.13 Format of Heartbeat-Ack Chunk
HEARTBEAT信息:可变长度,该字段的内容应当把HEARTBEAT块中的HEARTBEAT参数作为回送的响应,该字段包含一个可变长度的非透明的数据结构。
2.4 数据传输
2.4.1 SCTP包的产生过程
图2.15是SCTP包的产生过程。SCTP将用户消息生成数据块有两种可能: (1)如果用户消息小于SMSS(Sender Maximum Segment Size,SMSS=PMTU-IPheader-SCTPheader),则直接加上数据块头;
(2)如果消息大于SMSS,则先对用户消息拆分(分片),再对每一分片加上数据块头。加上数据块头的过程是:
1)指定流标识符;
2)指定流序列号,保证流内有序; 3)指定TSN,保证可靠性。
生成数据块后,再绑定控制块,最终生成SCTP包,发送到IP[36]层,打成IP包。最后的包格式如图2.16所示。
- 1 -
东北大学硕士学位论文 第二章 SCTP概述
图2.15 SCTP包的产生过程 Fig.2.15 Generation of SCTP packet
图2.16带SCTP包的IP包格式 Fig.2.16 Format of IP packet with SCTP
SCTP打包规则:把控制块放在前,其有高优先级,数据块放在后,并且在不大于SMSS的情况下,绑定尽可能多的数据块。 2.4.2 SCTP包的接收过程
SCTP包的接收过程如图2.17所示。SCTP先对SCTP包的各个控制块和数据块解绑定。有的数据块是被拆分后形成的,因此需要重新装配成一个完整的消息,再送入流队列;有的数据块则直接送入流队列。接收到数据块后,接收方以某些规则返回选择性证实。
- 1 -
东北大学硕士学位论文 第二章 SCTP概述
图2.17 SCTP包的接收过程 Fig.2.17 The reception of SCTP packet
2.4.3 SCTP流量控制
流量控制的目的是保证传输高效、平稳。 先介绍一下两个重要窗口和一些变量。
拥塞窗口(Congestion window,Cwnd)是由发送方维护并动态更新的一个变量,用于指出发送方可以向链路上注入多少数据量(以字节为单位)而不至于引起拥塞,且这个数据量是不需要证实的。如果接收方是多穴的,那么针对每个对端IP地址维护一个拥塞窗口。
接收窗口(Receiver Window,Rwnd)用于指出数据接收方的当前buffer大小(以字节为单位),也由发送方维护和计算,计算时依据接收方返回的SACK中的信息。
Outstanding:它指示发端已向某一链路注入的数据量,这些数据是未证实的。 流量控制遵循如下规则:
(1)如果Outstanding>=Cwnd,发送方将不能发送新的数据。
(2)如果Rwnd表明接收方的buffer已没有剩余空间(即Rwnd=0),发送方就不能再发送数据。
但有一个例外,即使Rwnd=0,只要Cwnd允许,还可再发送一个数据块。这个例外是为防止偶联出现死锁,进而没法再传输数据。
发送了某一数据,设数据量为C,则Rwnd,Outstanding的计算公式如下。Rwnd’,Outstanding’代表前一个Rwnd,Outstanding。
- 1 -
东北大学硕士学位论文 第二章 SCTP概述
Rwnd=Rwnd’- C Outstanding=Outsanding’+ C
(3)进行传输时,发送方应优先传输发送队列中那些标记为重传的数据块。有两种原因产生重传数据块。
1)数据块已发送,但一段时间内没有收到证实,即定时器超时,需要重传; 2)有4次SACK证实此数据块丢失,需要重传,这种重传就是常说的快速重传。 (4)无论Cwnd和Rwnd的值为多少,如果下一个TSN>231 - 1发送方应停止发送数据,即TSN值在0-232之间循环。 2.4.4 SCTP证实规则
SCTP执行的是选择证实规则[37],而TCP执行的是累积证实规则。选择证实增加了协议复杂度,但是提高了传输效率。尤其是在信道恶劣的无线链路,执行选择证实的传输效率远远高于执行累积证实的传输效率。
证实规则如下:
(1)当端点向对端发送数据时,应在其中绑定一个SACK。
(2)收到SCTP包之后,若没有要发送的SCTP包可用于携带SACK,则接收方必须在一定时间内证实收到的数据块。SCTP中推荐的延时是200ms,最多不能超过500ms。
(3)如果端点连续收到两个携带数据块的SCTP包,则接收方在收到第二个SCTP包时,立即证实。本规则用于防止端点在发送SACK之前,累积了太多没有证实的数据。
(4)接收方为每个SCTP包只能发送一个SACK。
(5)如果收到两个重复的数据块,必须立即回复SACK,指明有某TSN重复。 (6)如果收到的数据块,其TSN不连续,接收方应立即回复带有间隔证实(GapACK)的SACK,并且,在TSN未恢复连续之前,一直如此。 2.4.5 SCTP拥塞控制
SCTP的拥塞控制[39]类似于TCP,其基本思想是:为了使数据发送方可以协助进行拥塞控制,首先需发送方能够发现或检测到网络何时发生拥塞;之后,发送方需减缓或暂停向网络注入数据。这样,有效地减少了网络中的流量,过载的路由器才有可能恢复。
拥塞控制算法的基本机制:
(1)刚开始通过一条新的连接发送数据时,从较慢的数据速率开始。这是由于该连接可承受的数据吞吐量未知,所以保守发送。
- 1 -
东北大学硕士学位论文 第二章 SCTP概述
(2)只要没有数据丢失,发送方逐渐增加数据发送速率,即小心探询可承受的数据吞吐量上限。
(3)一旦发现数据丢失,发送方将之作为可能出现拥塞的标志,因此马上降低数据发送速率。
(4)如果数据丢失不再出现,发送方将返回(2),再次逐渐增加发送速率。 在介绍拥塞控制的具体过程之前,先介绍相关变量。 Cwnd:拥塞窗口。2.3.3节已介绍,其初值为2SMSS。
Ssthresh(Slow Start Threshold):慢启动门限。拥塞控制方式由慢启动(SS,Slow Start)转变为拥塞避免(Congestion Avoidance)的转折点。初始值为2MTU。
Pba(Partail Bytes Acknowledged):部分字节证实。SCTP特有的,用于计算拥塞避免过程中Cwnd的增长。初始值为0。
Outstanding:2.3.3节已介绍,其初始值为0。
拥塞控制机制分为四个阶段:慢启动阶段,拥塞避免阶段,拥塞控制阶段,快速重传阶段。
(1)慢启动阶段(Cwnd Cwnd = Cwnd’+ 确认数据量 如果确认数据量大于PMTU,则 Cwnd = Cwnd’+ PMTU。 注:Cwnd’代表前一次的Cwnd。 (2)拥塞避免阶段(Cwnd > ssthresth):收到SACK证实,Pba增加相应的确认数据量,如果Pba增加到大于Cwnd,则Cwnd = Cwnd’+ PMTU,而Pba减少Cwnd。 (3)拥塞控制阶段:当某一数据块被证实丢失4次,即进入拥塞控制阶段。 Cwnd = Max{ 2×MTU,Cwnd/2 } Ssthresh = Cwnd (4)快速重传阶段:某一数据块被证实丢失4次后,被标记为重传数据块,在下一次发送SCTP包时,该数据块优先被发送。因为没有到超时就重传,所以叫作快速重传。 除了上述四个阶段拥塞控制变量会发生变化,还有下面几个事件也会导致拥塞控制变量发生变化。 当路径空闲的时候,每经过Heartbeat周期,Cwnd减为原来一半,而Ssthresh不变。 - 1 - 东北大学硕士学位论文 第二章 SCTP概述 当某一路径出现超时,正在传输中的所有数据标记为重传 Ssthresh = Max{ Cwnd/2,2×MTU } Cwnd = 1×MTU 由于SCTP支持多穴特性,通信双方主机在关联建立之初交换彼此的IP地址集,设置其中一个IP地址为“主地址”,在整个关联生存期间,可以更换主地址。其余为备用地址,SCTP源端会定时发送Haertbeat消息,检查备用地址的可达性。当关联中主PI地址有数据需要重传时,可以采用备用地址,提高重传的有效性。而且因为有多个通往对端的路径,发送端对每一条路径都有一套拥塞控制参数和控制用的数据结构。这类似于有多个通往对端的TCP连接,SCTP为多条路径的流量控制和拥塞控制提供统一的管理机制。SCTP为每个路径设置一个错误计时器,当某一路径上的错误达到一个门限时,该路径将会被标记为不活动的(Inactive),SCTP就把传输转移到另一条路径上进行。因此,多路径带来比TCP更好的网络级容错机制。 与TCP相比,SCTP除了提供多穴情况下的拥塞控制外,SCTP的拥塞窗口初始值可以是2个MTU,可以比TCP获得更快的窗口增长;SCTP的拥塞控制采用了选择性确认(SACK)快速重传和快速恢复机制,以及块结构和控制块结构,可以比TCP更大地提升传输性能。 SCTP的重传策略要求所有的重传分组都在备用路径上传输,而在主路径上传输新的分组。如果发生假超时,收到原始发送分组的应答后,发送端增加备用路径的拥塞窗口。如果备用路径正发生拥塞,这时候发送端检测不到这些分组丢失的发生,拥塞窗口继续增加,并使拥塞加重,这就使SCTP拥塞窗口过度增长。其根本原因在于发送端不能区分原始发送分组的ACK与重传分组的ACK,也就是重传二义性。备用路径上拥塞窗口的过度增长是重传二义性导致的结果。发送端在备用路径上不经常发送Heartbeat消息模块,SCTP发送端需要较长的时间(大约305或更长)才能感知到备用路径不可用。 将所有的重传分组同时发送到主目的地址和备用目的地址,并为每个路径维护一个独立的重传恢复机制,这样能确保两个路径上都有很精确的RTO值。而且,在主地址和备用地址上同时发送重传分组,能增加重传分组发送成功的概率。重传分组发送成功后,能增加主路径上的拥塞窗口cwnd。其实备用路径需要发送的分组较少,但是备用路径上若重传分组发生超时,则能延缓主路径上cwnd的增加。因为在收到一个累计确认(ucmulativeACK)前,主路径和备用路径上的cwnd都不能增加。 - 1 - 东北大学硕士学位论文 第二章 SCTP概述 2.4.6 SCTP路径切换 因为SCTP的多穴特性,一个偶联(Association)里可以有多条传输路径。在偶联建立完成时,偶联就已确定好初始传输路径(Primary Path)。在偶联建立到偶联关闭整个传输过程中,除非初始路径发生故障(Failure),否则数据传输都在这条初始路径上完成,所以初始路径又称做主路径。除主路径外的其余路径都是辅助路径,用于网络级容错,快速重传,提高偶联的健壮性、可靠性。 如果主路径时延不是最小的,辅助路径的时延低于主路径时延,这样就没有发挥出偶联的最大传输速率。为提高协议性能,需要主路径自动切换到时延最低的路径上,即基本主路径自动切换机制,记为方案一。基本主路径自动切换基于SCTP特有的Heartbeat机制。Heartbeat机制是SCTP发端在每一条传输路径上每隔一段时间发送Heartbeat块,收端收到后立即发回Heartbeat-ACK块。发端根据收到Heartbeat-ACK块,提取这条路径的往返时延(RTT)。用Heartbeat测量的RTT与当前主路径的RTT进行比较,如果主路径上的RTT小,则正常传输,如果辅助路径的RTT小,则主路径切换到最小RTT的辅助路径上。 从偶联建立到偶联关闭,发送Heartbeat块是一个死循环。其由定时器发出中断后执行发送Heartbeat块。发送Heartbeat块的间隔时间为2.5秒左右,严格地说时间间隔是2.5+RTO之间的任何一个时间,即围绕着2.5秒前后波动。Heartbeat块里有发送时刻的时间,当发端收到Heartbeat-Ack时,能提取出发送时间,并用当前时间减去发送时间得到RTT。 主路径切换的3个步骤 (1)遍历sDestList列表,记录最小RTTsDestList列表是全局变量,存储着多个SctpDest_S结构体变量,SctpDest_S的成员变量有对端IP地址、端口、拥塞窗口、dRto、dSrtt、dRttVar等。通过遍历sDestList,记录最小RTT。 (2)判断最小RTT是否为当前主路径的RTT 如果主路径时延不是最小的,说明主路径不是最优的。主路径应当切换到最小时延的那条路径上。 (3)如果切换,则调用SetPrimary() 这3个步骤实现了基本主路径自动切换。 2.5 小结 本章介绍了SCTP的本质特性:多流、多穴、安全等,并与TCP、UDP进行比较。 - 1 - 东北大学硕士学位论文 第二章 SCTP概述 讲解了与主路径自动切换相关的几个块:DATA块、INIT块、SACK块,还有HEARTBEAT与HEARTBEAT-ACK块。探讨了数据包的产生、接收和数据包的传输过程,如流量控制、证实规则、拥塞控制。 - 1 - 东北大学硕士学位论文 第三章 非对称环境下往返路径RTT的计算 第三章 非对称性环境下往返路径RTT的计算 SCTP的多穴特性是其有别于TCP的一个主要特征,在多穴的环境中存在着多条路径,无论单端还是两端是多穴的都会构成非对称性环境。在非对称性环境中,RTT的概念与传统意义上的RTT概念有了很大的不同,而且计算方法也有所不同,在接下来的这一章里要重点介绍非对称性环境下往返路径RTT的计算。 3.1 问题的提出与解决 本文将在第四章解决在非对称性无线多穴SCTP网络中选择最小延迟路径的问题。这里将研究一下在每个环回路径上准确计算RTT的问题,因为ADOMN算法是通过比较不同路径上的差值来选出最小延迟路径的。算法要求正确的RTT,但是当重复重传二义性这种情况发生时,标准SCTP不能计算出准确的RTT。本文提出了一种新的方法通过增加RETID模块和RETID Echo模块来扩展SCTP协议从而解决了这个问题。通过分析时间序列图可以证明该方法是正确的。 3.1.1 非对称性环境下的RTT概念 随着网络接入方式的增多,对于现在的无线设备来说,通过不同技术例如Wi-Fi,蓝牙,Wi-Max等,接入到网络中已经很普遍了,多穴环境在无线网络中逐渐增多。在2.1.2中已经谈到,当SCTP建立偶联后,选择某条传输路径为主路径,其它路径为备份路径,绝大部分数据都是在主路径上传输的,部分重发的数据有可能在备份路径上传输。在确定主路径和备份路径是否畅通时,需要计算超时重传时间RTO(Retransmission Time Out),在RTO时间内,如果没有收到发送数据的应答则认为超时一次,并把RTO时间加倍,当超时达到一定次数,则认为当前路径故障,将选择其他路径作为主路径。我们可以看到RTO有重要的意义,而RTO又是基于全程往返时间RTT(Round-trip Time)得出的,所以RTT的准确计算就显得非常重要了。 - 1 - 东北大学硕士学位论文 第三章 非对称环境下往返路径RTT的计算 1 bB cC aA 4 M N 2 eE 3 dD fF 5 C N 图3.1 多穴端点构成的非对称性环境 Fig.3.1 Asymmetric scenario with both endpoints multihomed 这里的非对称性环境指的是路径的非对称性,在非对称性路径环境中,发送数据和接收数据的路径是同一条路径,即发送路径和接收路径是对称的。而在非对称性环境中发送路径和接收路径不一定是同一条路径。环回路径时间(RTT)正如名字所显示的那样是指一个数据包经过发送路径传送出去并通过接收路径传送回来的总时间。RTT的测量很简单就能实现的,因为它并不需要传送两端严格的时钟同步,但在测量单向路径延迟的时候必须保持时钟同步。然而,接收路径的传送时间可能和发送路径的时间不同,这一点往往没有被考虑到。所以通常假设单向路径的传输时间是RTT的一半并不准确。即使传送路径和接收路径的带宽是一样的,端到端的延迟亦很有可能不同,因为在不同方向上的网络流量可能不一样。 在非非对称性环境下这个问题可能不是那么重要,但是在非对称性环境下,这个问题就变得很重要了。因为在非对称性环境下,传送路径和接收路径往往并不是同一条路径,这种环境下的,传送路径和接收路径的传输时间就必须被分开来考虑,这里的RTT就等于二者之和。 这里给出了一个非对称性环境来进一步说明。在图3.1中,每条发送路径都用小写字母标识出来,对应的接收路径由大写字母标识出来。这些字母也代表了对应路径的延迟。数字1,2,3,4,5代表不同的网络接口。MN(Mobile Node)是移动客户端,CN(Correspondent Node)代表服务器端。在这个环境下SCTP的偶联可以用{[1,2,3]:[4,5]}来表示。这里假定每条往返路径都能正常工作。由此可以得到一张基于RTT的表3.1。从端口1到端口4,再返回端口1,该路径的RTT记为aA,代表着a+A的数字和。由表可知一共会有36种路径组合,六条对角线包含了全部的对称性路径。 - 1 - 东北大学硕士学位论文 第三章 非对称环境下往返路径RTT的计算 表3.1 路径组合 Table 3.1 Path combination 发送路径 接收路径 A aA bA cA dA eA fA B aB bB cB dB eB fB C aC bC cC dC eC fC D aD bD cD dD eD fD E aE bE cE dE eE fE F aF bF cF dF eF fF a b c d e f 因为在下一章提出的ADOMN算法是基于RTT的比较来选出最小延迟路径的,所以正确的计算RTT对于该算法尤其重要。 3.1.2 标准SCTP中RTT的计算 在SCTP中,可以通过两种方法来计算出RTT,其中一种方法是通过主路径上的 SACK包,另一种是通过备份路径上的心跳模块Heartbeat。第一种方法是在数据正常到达接收方时,接收方会发送一个针对该包的应答包SACK,通过计算发送包与应答包的时间差值就可以得出主路径上的RTT,第二种方法是SCTP特有的,在HB块中包含了发送时间,当接收方收到该包时,会把这个时间再发回来,通过计算时间差可以得出备份路径的RTT。 规则如下: (1) 当第一个RTT测量包被发送之后,则设置RTO为协议参数RTO.Initial。 (2) 当第一个RTT测量R被得到后,则设定 SRTT=R (3.1) RTTVAR=R/2 (3.2) RTO=SRTT+4×RTTVAR (3.3) (3) 如果得到一个新的RTT测量R’,则设定 RTTVAR=(1-RTO.Beta)×RTTVAR+RTO.Beta×|SRTT-R’| (3.4) SRTT=(1-RTO.Alpha)×SRTT+RTO.Alpha×R’ (3.5) RTO=SRTT+4×RTTVAR (3.6) 注:公式(3.4)中的SRTT值应当是公式(3.5)SRTT更新之前的值。 SRTT(Smooth Round Trip Time)是平滑RTT,在路径时延变化很快或振荡的时候,起到 - 1 - 东北大学硕士学位论文 第三章 非对称环境下往返路径RTT的计算 平稳作用。RTO(Round-trip Time Out)是往返超时。 RTO.Beta为0.25。RTO.Alpha为0.125。 (4) 如果数据正在传送中,则允许使用下面的规则(5),新的RTT的测量必须针对每个往返传输进行。此外,针对给定目的地址往返时延内新RTT测量不应大于一次。这里有两个原因: 第一,在实际中过于频繁的测量并不会带来明显的好处; 第二,如果测量过于频繁,规则(3)中的RTO.Alpha和RTO.Beta需要进行调整,这样SRTT和RTTVAR也要相同的速率进行调整(根据进行的往返时延测试次数反映取值),而规则3)中用到的RTO.Alpha和RTO.Beta只根据一次往返时延测试。 (5) Karn’s算法:RTT测量不使用重发的分组来进行。 (6) 在计算RTO时,如果RTO计算结果小于RTO.Min,那么把置为RTO.Min。使用这个的原因是为了避免RTO过低而带来的不必要的超时。RTO.Min是1秒。 (7) 如果RTO计算结果大于RTO.Max,那么RTO置为RTO.Max。RTO.Max为60秒。 3.1.3 非对称性环境下RTT计算的方法 当非对称性路径环境进行主路径切换的时候,那么在旧的路径上已经发送,但还没有收到应答的数据必须在新路径上进行重传,因为无法知道数据是否正确得到达,当数据重传后,如果原路径数据的应答包与重传数据的应答包同时传回新路径的发送端,那么在标准SCTP中是无法判断哪个应答包与哪个数据包相匹配的,这就是数据重传产生的重传二义性。 在TCP协议的领域内,针对重传二义性问题已经有了很多相关研究,其中以EIFEL算法给出的解决方法最为完善。Eiefl算法最早在文献[32]中提出,算法使用时间戳选项或TCP分组头部的一个比特来实现。Eiefl发送端进行丢失恢复时,首先将第一个重传分组的时间戳存在RetransmitTS变量中,收到第一个AeeeptableACK后,发送端比较ACK返回的时间戮与RatarnsmtiTS值,如果返回的时间戳小于RetarnsmitTS的值,发送端就认为刚才进行的重传(由于超时或快速重传)是假重传。Eiefl算法的优点在于能够在很短的时间内检测出假重传,从而避免了后续不必要的重传和拥塞退避机制。Eiefl算法还可以解决分组乱序、分组重复等问题.但Eiefl算法是针对TCP协议提出的,并没有考虑其他传输协议如SCTP的问题. 本文采用与Eifel算法类似的策略来解决SCTP中的重传二义性问题,称为ARDC(ACK-matched Round-trip Delay Calculation)法。必须对SCTP协议进行扩展,才能 - 1 - 东北大学硕士学位论文 第三章 非对称环境下往返路径RTT的计算 达到算法的要求。这里引入了两个新的模块RETID(Retransmission Identifier)块和RETID Echo块。RETID块是包含在重传的数据包里的,RETID Echo块则包含在对应的ACK包中。数据模块RETID的结构如下: Byte1 Byte2 Byte3 Byte4 Chunk type = 0x10 Chunk flags = 0 Chunk length = 5 RETID Pad=0x00 Pad=0x00 图3.2 RETID的块结构 Pad=0x00 Fig.3.2 Format of RETID Chunk RETID Echo的结构与RETID的结构是完全相同的。二者都由8个字节组成,在SCTP数据块必须是32bit的倍数,如果不够,要用0填充剩余的空位,这两个数据块实际只包含5个字节的有效数据,剩下的3字节是填充数据。二者的块类型(Chunk type)是相同的,都是0x10。这里块标识(Chunk flags)是区分RETID与RETID Echo块的唯一标识,默认情况下,RETID的块标识是0,RETID Echo的块标识是1 .二者的块长度都是5字节,这里的块长度是实际数据的长度,不包括填充字节数。8位RETID是由系统自动生的介于1~511之间的数字,该数字的初始值为1,以后随着每次重传递增1,当值达到511时,又自动从1开始计数。如果传输线路的重传率比较高,那么可以再增加8位把RETID扩充为16bit。此时,把Chunk falgs的第一位置为1.此时,RETID的块标识变成了256,RETID Echo的块标识变成了257。Chunk length的值变为6,RETID的范围相应发生变化,变为1~131071. 只有当重传发生时,RETID块才会加到重发的数据包中,假设这时候系统生成的RETID为x,那么当数据包进行重传的时候,就会加入RETID为x的这个模块,并且把RETID的值记录下来 ,当接收端收到重传的数据包后就把RETID为x的REITID Echo块加入到ACK包中发送回去,最后当发送端收到ACK包后会把ACK包中的RETID的值与存储的值进行比较,如果RETID的值相等,那么该ACK包为针对刚才重传的数据包的应答,从而就可以计算出正确的RTT的值;如果不包含RETID chunk,说明此数据包为非重传数据。 - 1 - 东北大学硕士学位论文 第三章 非对称环境下往返路径RTT的计算 3.2 应答包可匹配的往返延迟计算方法的有效性验证 3.2.1 拓扑结构 端口1 AP1 AP4 端口4 MN 端口2 AP2 CN AP5 端口3 AP3 端口5 图3.3 网络拓扑图 Fig.3.3 Network topology 图中MN代表移动客户端,CN代表对应端,网络接入点AP代表无线基站,基站之间的虚线代表路由路径。 3.2.2 时序图分析 CN Port① 1 5 9 21 25 29 45 49 Time(ms) Time(ms) 图3.4 时间顺序图 Fig.3.4 Time sequence figure MN Port④ CN Port② 11 15 19 35 39 27 31 Time(ms) 本文使用时序图来验证该方法。图中列出了path a,path c,path A3条路径的时间轴,时间单位为毫秒。由图可知, MN的1号端口在1ms时发送TSN001数据包,并 - 1 - 东北大学硕士学位论文 第三章 非对称环境下往返路径RTT的计算 在11ms时到达CN,然后CN发出应答包ACK001,并于21ms到达MN。可以计算出RTT=21 – 1 =20ms,这就是RTT的初始值。按照同样的方法可以计算出下一个RTT值,由公式3-1得出当前RTT为20ms。 时序图表明最开始主传送路径是a,主接收路径是A,发送数据包以TSNxxx来标识,应答数据包以ACKxxx来标识。在1ms时CN开始从端口1发送数据包,前两次数据包都成功的到达了CN的4号端口,并且得到了应答在路径a上发送的数据包TSN003在19ms时最终到达了CN的端口4,MN针对这个数据包发出回应数据包ACK003(path a),并在29秒时到达MN的1号端口。在27ms时,当MN从端口1发送数据包TSN003后,主传送路径由a切换到c,相应的发送端口就变成了端口2,主接收路径不变.由图可知,在路径切换时,无法确定TSN003是否成功到达CN,所以必须在路径切换完之后重传TSN003数据包,在35ms时,重传的TSN003数据包到达CN,CN立即发出应答包ACK003(path c),并在45ms到达MN。但是在此之前29ms时,ACK003(path a)已经先于ACK003(path c)到达,在标准SCTP中,无法区分ACK003(path a)与ACK003(path c),因此会错误的把对path a的回应包ACK003(path a)当成对path c的回应。所以就会得出错误的RTT时间29 - 27=2ms,但实际正确的RTT时间应该为45 – 27=18ms。 但是当采用了ARDC法之后,假设这时候系统生成的RETID为2,那么当TSN003在path c上进行重传的时候,就会加入RETID为2的这个模块,并且把RETID的值记录下来 ,当CN收到重传的TSN003后就把RETID为2的REITID Echo块加入到ACK包中发送回去,在29ms时,ACK003(path a)到达CN,通过检验,发现该数据包不包含RETID Echo块,所以不进行计算。在45ms时,ACK003(path c)到达, MN把收到ACK包中的RETID的值与存储的值进行比较,发现RETID的值相等,从而可以计算出正确的RTT的值。 3.3 小结 在SCTP中有两种方法计算RTT。一种是利用HB块,另一种是利用ACK块。HB是探测路径是否可达模块,因此不存在重传问题。本文提出的方法对SCTP进行了扩展解决了重传二义性问题。ADOMN算法是基于比较不同路径的RTT来选出最小延迟路径的,所以该扩展对ADOMN算法很重要。此外,这个扩展对于非对称环境下的ACK二义性同样适用。所以可以提供同构网与异构网之间的无缝递交。该算法对SCTP协议 - 1 - 东北大学硕士学位论文 第三章 非对称环境下往返路径RTT的计算 的修改很小,因此并不需要大规模的修改SCTP协议栈代码,便于实现。该算法同样适用于一端是单穴,而另一端是多穴的情况。 模拟实验结果与理论预期是相符合的,实验表明应用程序确实可以从该算法中受益。 - 1 - 东北大学硕士学位论文 第四章 非对称环境最小延迟路径选择的实现 第四章 非对称性环境最小延迟路径选择的实现 多媒体应用程序对于网络质量参数有很高的要求,尤其是在移动无线环境中。端到端的延迟是实时应用关心的主要参数。最近时期人们开展了大量的工作来探索逐渐成形的无线移动系统的多穴特性,工作主要集中在提高通信质量与实现无缝移交上。 随着网络接入方式的增多怎么选择最佳的网络接口成为一个问题。我们通常会考虑费用,带宽,延迟,安全等许多网络参数。多媒体应用程序,特别是实时的语音或视频会话对于网络参数有着很高的要求,尤其对延迟和抖动的要求很高。因为网络拥塞,网络故障或仅仅是移动用户超出了服务覆盖范围等因素,网络并不能总是提供必需的服务质量。许多策略致力于保持连接并允许移动用户进行无缝递交。直到最近研究的中心才转移到在保持连接的同时尽量优化网络接口的路由,因为对于现在的无线设备来说,通过不同技术例如Wi-Fi,蓝牙,Wi-Max等,接入到网络中已经很普遍了。 流控制传输协议(SCTP)提供了优秀的架构来支持多穴。该协议的设计通过在建立连接时允许建立备份路径来改善连接故障的环境。最近对动态地址重新配置(DAR)的扩展,也被称作SCTP移动方面的扩展(mSCTP),提供了更灵活的重新配置连接路径的方法。该方法允许在保持连接的SCTP偶联中加入或删除新的IP地址,这样就提供了一种更好的办法来支持移动终端跨越不同的网络。随着在不同的时间段SCTP偶联可以获得越来越多路径,如何在众多路径中选择适合的路径仍然是个开放性的问题。 考虑到接收路径和发送路径的延迟存在非对称性,本文提出了一种在非对称环境下选择最小延迟路径的算法(ADOMN)。因为该算法使的端到端的延迟最小化,所以特别适合实时多媒体应用程序,同时它也推动了使用SCTP的DAR机制来实行无缝递交。当前基于延迟为中心的递交的研究主要集中在对称性路径下环回路径地选择。当允许非对称性路径存在时,所有由传输路径和接收路径组成的路径组合都应该被考虑到从而选出最小延迟的路径组合。该方法提供了一个非常简单的机制来选出每个方向上的最小延迟路径,这样就保证了选出的路径组合在所有的组合中是具有最小延迟的。 4.1 问题的提出与解决 4.1.1 非对称性环境下最小延迟路径选择的意义 许多研究者提倡用mSCTP来替代移动IP或者作为它的扩展。在多穴环境中使用端到端的延迟作为路径的选择依据并不是新近提出的,但是直到最近这种想法才和SCTP架 - 1 - 东北大学硕士学位论文 第四章 非对称环境最小延迟路径选择的实现 构结合起来。以延迟为中心的递交方案已经被提出来并进行了大规模多媒体传送的试验。大多数之前的工作主要考虑在简化了的环境下,这种环境通常只有一端是多穴的,图1给出了一个例子,这里客户端是多穴的,它有两个网络接口,而服务器端是单穴的。 通常假设传送路径和接收路径是同一条路径。实际上环回路径时间(RTT)正如名字所显示的那样是指一个数据包经过发送路径传送并通过接收路径传送回来的总时间。RTT的测量很简单就能实现因为它并不需要传送两端严格的时钟同步,但在测量单向路径延迟的时候必须保持时钟同步。然而,接收路径的传送时间可能和发送路径的时间不同,这一点往往没有被考虑到。所以通常假设单向路径的传输时间是RTT的一半并不准确。即使传送路径和接收路径的带宽是一样的,端到端的延迟亦很有可能不同,因为在不同方向上的网络流量可能不一样。 在对称环境下这个问题可能不是那么重要,但是在非对称环境下,这个问题就变得很重要了。因为在非对称环境下,传送路径和接收路径往往并不是同一条路径,这种环境下的,传送路径和接收路径的传输时间就必须被分开来考虑,这里的RTT就等于二者之和,那么应该怎样选出最小延迟的路径呢,接下来的这个小节将讨论这个问题。 4.1.2 非对称性环境下最小延迟路径算法 这里仍然采用上一章的网络环境。图3.1所示,发送端和接收端都是多穴的。六条 对角线包含了全部的对称性路径。SCTP中RTT可以通过HB测量或使用SACKs包来更新。 虽然可以搜集到所有路径组合的RTT,但是要想估算出单向路径的传输时间并不是一件容易的事情。不过在本文提出的方案中并不需要知道单项路径的精确传送时间。比较不同单向路径的传输时间是很容易的,这在选择最小延迟路径时很重要。事实上,只需要表3-1中的一列数据就可以得出比较结果。拿第一列做例子第一行第一列的值与第一行第二列的值做减法,可以得到如下式子: aA – bA = a + A – (b + A) = a – b (4.1) 如果式子结果为负,那么说明a的延迟比b小;如果为正数,则结果相反;如果为零说明两条路径延迟一样。为了选出最小延迟发送路径,只比较5次,就能得出正确的答案。 aA – cA = a + A – (c + A) = a – c (4.2) aA – dA = a + A – (d + A) = a – d (4.3) 通过比较单向路径延迟的差值,很容易就能选出最小延迟路径来。可以使用同样的方法来选出具有最小延迟的接收路径来。 - 1 - 东北大学硕士学位论文 第四章 非对称环境最小延迟路径选择的实现 aA – aB = a + A – (a + B) = A – B (4.4) 应该注意到式子(4.4)是在假设计算过程中路径延迟并不发生改变的情况下得到结果的。然而,在实际环境中这往往不是真实的,但如果表3.1的数据是在很短的时间间隔内收集到的,那么这个计算结果就很接近真实的值了。 基于上面提到的模型和公式给出算法的步骤: 首先定义2个变量: 变量 n:路径组合表中单行包含的单元格数或单列包含的单元格数 变量 PDD:不同环回路径的延迟差值,进行计算的两条环回路径具有相同的接收路径或发送路径 步骤1: 收集所需路径组合的RTT. 步骤2: Set RTT1 = 0, RTT2 = 0, PDD = 0; 步骤3: Set RTT1 = aA, RTT2 = bA; 步骤4: IF n > 1 THEN Set PDD = RTT1 – RTT2 = aA – bA = a – b ELSE Step 9; 步骤5: IF PDD > 0 THEN Set RTT1 = aB ELSE Set RTT1 = aA; // 把较小的RTT值赋给RTT1 步骤6: Set n = n – 1; 步骤7: IF n > 1 THEN Set RTT2 = cA // 把下个路径组合的RTT值赋给RTT2 ELSE Set RTT2 = 0; 步骤8: GOTO Step 4; // 循环 (n – 1 times) 步骤9: 路径延迟和RTT1相等的那条路径就是最小延迟单向路径。 4.2 移动网络中非对称路径延迟优化算法的有效性验证 4.2.1 NS2-SCTP仿真环境 ADOMN算法采用网络仿真进行研究。网络仿真技术具有以下特点: 1)全新的模拟实验机理使其具有在高度复杂的网络环境下得到高可信度结果的特点; 2)网络仿真的预测功能是其他任何方法都无法比拟的; 3)使用范围广,既可以用于现有网络的优化和扩容,也可以用于新网 络的设计,而且特别适用于中大型网络的设计和优化; 4)初期应用成本不高,而且建好的网络模型可以延续使用,后期投资还会不断下降。 - 1 - 东北大学硕士学位论文 第四章 非对称环境最小延迟路径选择的实现 网络仿真可以采用NS2[39]、OpenNet[40]、Matlab这三种软件。NS是一种网络技术的源代码公开的、免费的软件模拟平台,研究人员使用它可以很容易地进行网络技术开发,而且它所包含的模块已经非常丰富,几乎涉及到了网络技术的所有方面,包括2000年诞生的SCTP。所以,NS成了目前学术界广泛使用的一种网络模拟软件。在每年国内外发表的有关网络技术的学术论文中,利用NS给出模拟结果的文章最多,通过这种方法得出的研究结果也是被学术界所普遍认可的,此外,NS也可作为一种辅助教学的工具,已被广泛应用在了网络技术的教学方面。因此选择NS做仿真工具。 1.NS介绍 NS(Network Simulator)是一种面向对象的网络仿真器,本质上是一个离散事件模拟器。由UC Berkeley开发而成。它本身有一个虚拟时钟,所有的仿真都由离散事件驱动。目前NS可以用于仿真各种不同的IP网,已经实现的一些仿真有:网络传输协议,比如SCTP、TCP和UDP;业务源流量产生器,比如FTP,Telnet,Web CBR和VBR;路由队列管理机制,比如Droptail,RED和CBQ;路由算法,比如Dijkstra等。NS也为进行局域网的仿真而实现了多播以及一些MAC子层协议。 NS包含仿真事件调度器、网络组件对象库以及网络构建模型库等。事件调度器计算仿真时间,并且激活事件队列中的当前事件,执行一些相关的事件;网络组件通过传递分组来相互通信,但这并不耗费仿真时间。所有需要花费仿真时间来处理分组的网络组件都必须要使用事件调度器。它先为这个分组发出一个事件,然后等待这个事件被调度回来之后,才能做下一步的处理工作。事件调度器的另一个用处就是计时。 NS是用Otcl[41]和C++编写的。这种设计出于效率与灵活的综合考虑。模拟器有以下两种不同的事情要做: 一方面,具体协议的详细模拟和实现需要一种系统编程语言,它能够高效地操作字节、包头等数据结构,能够实现合适的算法在大规模的数据集合上进行操作,而且这样的算法往往是需要不停地重复执行。对于这样的任务来说,运行速度是非常重要的,而周转时间(运行模拟,找bug,修复bug,重编译,重运行)就显得不那么重要了。 另一方面,许多网络中的研究工作都是围绕着网络构件和环境的具体参数进行的,需要经常重新设置和修改模拟场景,需要以较短的时间开发出大量的场景。在这种情况下,周转时间(改模型直到重新运行)就更重要了。由于模拟场景只需要执行一次,因此这部分任务的运行时间就不重要了。 为了满足以上两种不同任务的需求,NS使用了C++和Otcl。C++运行速度快,是 - 1 - 东北大学硕士学位论文 第四章 非对称环境最小延迟路径选择的实现 强制类型语言(进行了严格的数据类型检查),容易实现复杂的数据类型,容易实现精确的、复杂的算法,但是修改、debug和重新编译所花费的时间要长一些,因此C++适合具体协议的实现。Otcl运行速度比较慢,但是可以很方便地(并且交互地)修改,不需要编译,而且Otcl不是强制类型的,不容易出错。因此它适合做模拟配置。 为了进一步增强编程的灵活性,提高程序的效率,我们需要把C++和Otcl结合起来,使得C++能直接调用Otcl解释器的功能,Otcl和C++能够相互直接操作对方定义的数据,并且C++的类和Otcl类对应起来。这种机制叫做TclCL。 NS正是利用了TclCL建立起来的分裂对象模型,形成了丰富的构件库。通过这种机制,NS达到了模拟配置灵活和运行效率高的统一。 4.2.2 仿真结果分析 1. 传送路径与接收路径的模拟 传送路径延迟的结果在图4.1中进行了描述,接收路径延迟的结果在图4.2中表示。为了简化分析它们的值在60秒内是程线性变化的,取样时间间隔为1秒。横坐标代表运行时间单位为秒,纵坐标代表路径延迟,单位为毫秒。红色数据线代表路径a的延迟,绿色数据线代表b的延迟,等等 每一端都试图使用最低延迟路径。当前主路径使用SACK块来更新RTT,备份路径通过HB块来更新RTT。需要注意的是在实际网络环境中很难准确测量单向路径延迟,因此并不能得出该图。 图4.1. 传送路径延迟 Fig.4.1 Forward path delay - 1 - 东北大学硕士学位论文 第四章 非对称环境最小延迟路径选择的实现 图4.2 接收路径延迟 Fig.4.2 Reverse path delay 2. 选定的传送路径与接收路径 图4.3表明选定的传输路径(红色方块)是通过比较传输路径延迟得到的,蓝线代表选中路径的延迟。最开始数据在路径b上传输,到了13秒时就转换到路径a上,在22秒时切换到c上,在40秒时有转到e上传输,最后在53秒时,路径切换到了f上。 图4.4表明选定的接收路径(绿色方块)是通过比较接收路径延迟得到的,红线代表选中路径的延迟。最开始数据在路径B上传输,到了13秒时就转换到路径C上,在35秒时切换到E上,最后在55秒时,路径切换到了F上。 图4.3选中的发送路径与路径延迟 Fig.4.3 Selected forward path and path delay - 1 - 东北大学硕士学位论文 第四章 非对称环境最小延迟路径选择的实现 图4.4选中的接收路径与路径延迟 Fig.4.4 Selected Reverse path and path delay 3. 选中的全程路径与全程路径延迟 图4.5中显示了选中的回环路径与回环路径RTT。绿色方块代表选定的路径,黑线代表选定路径的延迟。选定的路径既包括对称路径,也包括非对称性路径。在0秒到13秒这个时间段所选回环路径是对称路径,同样在23秒到35秒间,40秒到52秒间,55秒到60秒间,所选路径都是对称路径,而在其他时间段,所选路径都是非对称性路径。由此可以看出,在非对称性环境中,非对称环回路径是有可能被选到的,这样相对于只能按照对称路径进行数据传输的标准SCTP来说,该算法确实提高了传输效率。 图4.5选中的全程路径与全程路径延迟 Fig.4.5 Selected round-trip path and path delay 4.3 小结 本文提出了ADOMN算法来解决怎样在无线非对称性多穴SCTP环境中选择最小延 - 1 - 东北大学硕士学位论文 第四章 非对称环境最小延迟路径选择的实现 迟路径的问题。这种端到端的方法是对传输层协议的改进,是独立于网络层的,因此不需要对基础设施(路由器等)进行改动,节约了成本。而且因为它是独立于网络层的,所以可以提供同构网与异构网之间的无缝递交。该算法对SCTP协议的修改很小,因此并不需要大规模的修改SCTP协议栈代码,便于实现。该算法同样适用于一端是单穴,而另一端是多穴的情况。 模拟实验结果与理论预期是相符合的,实验表明应用程序确实可以从该算法中受益。 - 1 - 东北大学硕士学位论文 第五章 总结与展望 第五章 总结与展望 5.1 本文工作总结 多媒体数据对于网路延迟是非常敏感的,尤其是实时语音或视频会话,人们能忍受的延迟在400ms以下。因此当在多穴环境中时,多媒体数据会尽量选择最小延迟路径。随着网络接入方式的增多,对于现在的无线设备来说,通过不同技术例如Wi-Fi,蓝牙,Wi-Max等,接入到网络中已经很普遍了,多穴环境在无线网络中逐渐增多。流控制传输协议(SCTP)提供了优秀的架构来支持多穴。尤其是最近对SCTP移动方面的扩展(mSCTP),提供了更灵活的重新配置连接路径的方法。该方法允许在保持连接的SCTP偶联中加入或删除新的IP地址,这样就提供了一种更好的办法来支持移动终端跨越不同的网络。随着在不同的时间段SCTP偶联可以获得越来越多路径,如何在众多路径中选择适合的路径仍然是个开放性的问题。 (1)本文首先分析了非对称环境中路径延迟对多媒体数据传输的影响,提出了在非对称性环境下出现重传二义性情况时怎样正确计算往返路径延迟RTT的问题。针对该问题本文提出了应答包相匹配的RTT计算方法(ARDC法),对标准SCTP进行扩展,增加了RETID块和RETID Echo块。 (2)如何在非对称性环境中选择最小延迟路径仍然是个开放性的问题。本文提出了无线网络中非对称性路径延迟优化(ADOMN)算法来解决这个问题,该算法通过比较不同路径组合上的RTT差异解决了这个问题。这种端到端的方法是对传输层协议的改进,是独立于网络层的,因此不需要对基础设施(路由器等)进行改动,节约了成本。而且因为它是独立于网络层的,所以可以提供同构网与异构网之间的无缝递交。 (3)时序分析结果证明在出现重传二义性时ARDC法能有效地计算出正确的RTT,对于标准SCTP是很好的补充。NS2仿真实验结果证明本文提出的ADOMN算法能有效的选择出非对称环境中的最小延迟路径。 5.2 未来研究方向 (1) 对于正确RTT的计算还可以通过引入时间戳的办法来解决。但是引入时间戳之后,与本文提出的方法究竟哪个更好是另一个需要研究的问题。 (2) 在ADOMN算法中RTT的计算周期是个应该通过实验得出的值,在接下来的试验中要确定该值。 - 41 - 东北大学硕士学位论文 参考文献 参考文献 1. L.Ong,I.Rytina.Framework ARDChitecture for Signaling Transport.RFC2719.1999.10 2. Seth T.Performance Requirements for Signaling in InternetTelephony. Internet-Draft. draft-seth-sigtran-req-00.txt.1999.5 3. R.Stewart,Q.Xie. Multi-network Datagram Transmission Protocol. draft-ietf-sigtran-mdtp-06.txt. 1999.6 4. R.Stewart,Q.Xie.Stream Control Transmission Protocol.RFC2960.2000.10 5. Postel,J.Transmission Control Protocol.RFC793.USC/Information Sciences Institute. 1981.9 6. http://www.ietf.org/html.charters/sigtran-charter.html/,2005-05-06 7. Postel,J.User Datagram Protocol.RFC 768.USC/Information Sciences Institute.1980.8 8. Daswani N,GARDCia-molina.H.Query-Flood DoS Attacks in Gnutella[C].In ACM CCS.2002 9. R.Stewart,Q.Xie.Stream Control Transmission Protocol a Reference Guide[M].清华大学 出版社. 2003.1 pp.13-14, pp.22-24 10. 雪琛,张月卓,季新生.利用Cookie验证机制保证SCTP偶联建立的安全性[J].现代计算 机. 2004年,第七期. pp.53-55 11. R.Stewart,M.Ramalho.Stream Control Transmission Protocol(SCTP) Dynamic Address Reconfiguration.draft-ietf-tsvwg-addip-sctp-14.txt.2006.3 12. R.Stewart,M.Ramalho.Stream Control Transmission Protocol(SCTP) Partial Reliability Extension.RFC3758.2004.5 13. Seok Joo Koh,Qiaobing Xie.mSCTP with Mobile IP for Transport Layer Mobility. draft-sjkoh-mobile-sctp-mobileip-02.txt.2003.8 14. A.Abd El Al,T.Saadawi.Load Sharing in Stream Control Transmission82 Protocol. draft-ahmed-lssctp-01.txt.2005.10 15. R.Stewart draft-ietf-tsvwg-sctpsocket-08.txt.2004 16. http://pel.cis.udel.edu/ 17. Broch J,Maltz D A,Johnson D B.Supporting hierARDChy and heterogeneous interfaces in multi-hop wireless adhoc networks[J].Australia:IEEE Comput Soc,1999. 18. 童孟军,胡维华. SCTP与TCP的比较分析[J].计算机工程与设计. 2004年 第06期. pp.924-928 - 42 - 东北大学硕士学位论文 参考文献 19. 孙宇虹.基于流传输控制协议的移动切换研究[J].现代电子技术. 2004年,第15期. pp.1-2 20. 王利,徐明伟,徐恪.轻量级的基于移动SCTP的IP移动解决方案[J].华中科技大学学报 (自然科学版). 2003年,第1期. pp.11-14 21. 郭伟,程时端.一种SCTP变种:以接收方为控制中心的流控制传输协议[J].计算机应用 研究. 2005年,第1期. pp.229-231 22. 郭强,朱杰,张海滨.基于SCTP的移动Internet建模与仿真[J].计算机工程. 2005年,第 12期. pp.111-112 23. 郭伟,程时端.SCTP负荷分担及其关键算法的研究[J].计算机应用研究. 2005年,第2 期. pp.189-190 24. 于林,王焕义,张德民. SS7 over IP的关键技术SCTP概述[J].江西通信科技. 2002年, 第4期. pp.35-37 25. 刘红梅,张有光. SCTP在军事通信网络中的应用研究[J].无线电工程. 2005年,第5期. pp.24-27 26. Phillip T.Conrad,Armando L.Caro Jr.Remote Multimedia Document Retrieval over Parital Order Transport[J].ACM Multimedia.2001,9 27. 张蓉,李健.基于SCTP多数据流特性的WEB传输[J].信息技术. 2005年,第6 期.pp.30-32 28. Jungmaier,A,Rathgeb,EP.On SCTP multi-homing performance.TELECOMMUN SYST 31(2-3):141-161 2006.3 29. Janardhan R.Iyengar,Armando L.Caro Jr.,Paul D.Amer,Gerard J.Heinz,Randall R.Stewart.Making SCTP More Robust to Changeover.SPECTS83 2003,July 2003 C.Perkins.IP Mobility Support.RFC2002.1996.10 30. 王翔. SCTP在P2P文件共享系统中的应用研究[J].吉林大学学报. 2006年pp.25-26 31. R.Droms.Dynamic Host Configuration Protocol.RFC2131.1997.3 32. P.Ferguson,D.Senie.Network Ingress Filtering:Defeating Denial ofService Attacks which employ IP Source Address Spoofing.RFC2267.1998.1 33. Kent,S.,R.Atkinson.Security ARDChitecture for the Internet Protocol.RFC2401.1998.11 34. R.Stewart,Q.Xie.Stream Control Transmission Protocol.RFC2960.2000.10 35. Internet Protocol.RFC791 1981.9 36. 中华人民共和国信息产业部.流控制传送协议(SCTP). 中华人民共和过通信行业标 准.YD/T 1194-2002. 人民邮电出版社. 2002 - 1 - 东北大学硕士学位论文 参考文献 37. Allman,M.,Paxson,V.TCP Congestion Control.RFC2581.1999.4 38. 徐雷鸣,庞博. NS与网络模拟[M].人民邮电出版社. 2003 39. 王文博,张金文.OPNET Modeler与网络仿真[M].人民邮电出版社. 2003 40. (美)Brent B.Welch著王道义,乔陶鹏译.Tcl/Tk组合教程(第二版)——双语教材+ 多媒体教室[M].电子工业出版社. 2001.1 41. 于斌,孙斌.NS2与网络模拟[M].人民邮电出版社. 2007.4 42. ns-allinone-2.1b8.sctp-rel3.3.patch.orig http://pel.cis.udel.edu 43. A.Caro,P.Amer,J.Iyengar,R.Stewart.Retransmission policies with transport layer multihoming[J]. 2003.9 44. U.C.Berkeley,LBL,USC/ISI,and Xerox PARDC.ns-2 Documentation and Software,Version 2.30.2006.www.isi.edu/nsnam/ns 45. [美]Douglas E.Comer.著林瑶,蒋慧等译.用TCP/IP进行网际互联[M].电子工业出版社. 2001 46. A.Caro,P.Amer,R.Stewart.Transport layer multihoming for faulttolerance in FCS Networks[C].Boston,MA.2003.10. 47. Ye,CH,Saadawi,TN,Lee,MJ.Improving.stream control transmission protocol performance over lossy links[J].IEEE J SEL AREA COMM 22(4):727-736 2004.5 48. Armando L.Caro,Paul D.Amer,Randall R.Stewart.Retransmission Policies for Multihomed Transport Protocols[J].Computer Communications.2006.6 49. M.Allman,V.Paxson,W.Stevens.TCP Congestion Control.RFC2581.1999.4 - 1 - 东北大学硕士学位论文 致 谢 研究生期间发表的文章 1. LIU Jiemin, BAI Yu, Zou Hongxing, Dou Jingxin. ADOMN Asymmetric-path Delay Optimization in Mobile Network For Multi-homing SCTP Multimedia Transport. Journal of Communication and Computer, Vol. 4, No. 7 (2007): 27-31 (cited by EI) 2. LIU Jiemin, BAI Yu, Dou Jingxin, Zou Hongxing. Implementing Bandwith-Satisfied Multicast of Overlay Network With Transport Layer Multihoming. International Journal of Systems and Control, Vol. 2, No.2 (2007): 107-117 (cited by EI) 3. LIU Jiemin, BAI Yu, Dou Jingxin, Zou Hongxing. Asymmetric-path Round-trip Delay Mesurement in Mobile Multi-homing SCTP Multimedia Transport. The 4th International Conference on wireless communications, networking, mobile computing (Wicom’08). Unpublished, (cited by EI) 4. LIU Jiemin, Zou Hongxing, BAI Yu, Dou Jingxin. Reducing Receive Buffer Blocking In Concurrent Multipath Transfer. 2008 IEEE International Conference on Communications (ICC’08). Unpublished, (cited by EI ) - 45 -
正在阅读:
2017三十周年庆典讲话稿05-10
调用DSP库函数实现FFT的运算09-06
江苏名著阅读高考真题04-03
ABB机器人资料12-17
物业管理服务报价表08-07
人教版高中语文必修五第二单元第4课《归去来兮辞》教学设计(1)11-02
几何辅助线之歌06-08
图层基本操作04-07
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 对称
- 延迟
- 路径
- 传输
- 基于
- 优化
- 方案
- 研究
- mSCTP
- Mercantilism or free trade China 重商主义与自由贸易,以中国
- 网页制作实训心得体会
- 张爱玲《小团圆》中九莉的形象分析
- 2017-2018学年四年级上数学第一、二单元月考卷
- 03-10 延期邀请
- 通过政府规制防范劣质经济在乳品产业链中起的副作用
- EXCEL期中试卷(1)
- 2016年5月高三地理复习冲刺训练(20) - 图文
- HND - 商法outcome3
- 安徽省安庆市第九中学2012-2013学年高一上学期期中考试物理缺答
- 2009-2010年 国家 公务员面试真题
- 第四章压强与浮力基础练习
- 七年级生物上课程纲要
- 新课程标准解读
- 化工原理 第9章 液体精馏 典型例题题解(1)
- 天津渤海职业技术学院2016高职高专电脑鼠走迷宫竞赛赛项规程1204
- 电子论文-洪峰流量的计算(1)
- 细胞和组织损伤与修复复习题
- 手术室标本管理制度
- (最新精编)2016-2017年北师大版小学三年级数学第一学期期末试