欢迎来到天天文库
浏览记录
ID:18375926
大小:45.50 KB
页数:7页
时间:2018-09-17
《sctp协议的研究与应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、SCTP流控制传输协议1.引言过去的20年内,作为一种可靠的数据传输方式,TCP提供了许多应用服务,但随着IP网的多业务化,尤其是VoIP的发展,TCP出现了很多局限性,例如对于VoIP信令及异步基于事务应用的处理。因此,IEFT的信令传输工作组(SIGTRAN)提出了一种面向多媒体通信的流控制传输协议(SCTP),用于在IP网络上传输PSTN信令消息,即通常所说的SS7overIP。目前,IEFT将SCTP传输层协议作为主要研究目的,与TCP和UDP共筑于IP层之上。 同TCP一样,SCTP提供面向连接的、点到点的可靠传输,它继承了TCP强大的拥塞控制、数据包丢失发现
2、等功能,任何在TCP上运行的应用都可被移至SCTP上运行。 不同于TCP的是,SCTP提供了许多对于信令传输很重要的功能,同时,对于其他一些对性能和可靠性有额外需要的应用,它能提供传输优势来满足这些需要。SCTP和TCP最大的区别在于SCTP对多宿(multihoming)和部分有序(partialordering)的支持。SCTP的多宿使得每个端点可被多个传输地址访问到,选择不同传输地址会导致两个端点间不同的数据路径,理想情况是在每一条路径都建立一条独立的拥塞控制。所以,SCTP的多主机拥塞控制仍需改进。2.STCP协议简介串流控制传输协议(StreamControl
3、TransmissionProtocol或简写SCTP)是在2000年由IETF的SIGTRAN工作组定义的一个传输层协议。RFC4960详细地定义了SCTP,介绍性的文档是RFC3286。作为一个传输层协议,SCTP可以理解为和TCP及UDP相类似的。它提供的服务有点像TCP,又同时将UDP的一些优点相结合。是一种提供了可靠、高效、有序的数据传输协议。相比之下TCP是面向字节的,而SCTP是针对成帧的消息。SCTP主要的贡献是对多重联外线路的支持,一个端点可以由多于一个IP地址组成,使得传输可在主机间或网卡间做到透明的网络容错备援。SCTP最初是被设计用于在IP上传输电
4、话协议(SS7),把SS7信令网络的一些可靠特性引入IP。IETF的这方面的工作称为信令传输SIGTRAN。3.SCTP的特点SCTP处于SCTP用户应用层与IP网络层之间,它运用“关联”(association)这个术语定义交换信息的两个对等SCTP用户间的协议状态。SCTP也是面向连接的,但在概念上,SCTP“关联”比TCP连接更为广泛:TCP的连接只有一个源地址和一个目的地址,SCTP提供一种方式使得每个SCTP端点能为另一个对等端点提供一组传输地址,即传输地址=一组IP地址+端口号。 在继承TCP特点的基础上,SCTP提供了一些额外的功能: 1.在多个“流”(
5、stream)中实现用户数据的有序发送 “流”在TCP中指一系列的字节,而在SCTP中是指发送到上层协议的一定系列的用户消息,这些消息的顺序与流内其他消息相关。SCTP用户在建立关联时,可以规定关联支持的流的数目。这个数目是与源端商定的,用户消息与流数目关联。在链路中,SCTP为每个送到对等端的消息分配一个流序号。在接收端,SCTP确保在给定流中消息按顺序发送。同时,当一个流正在等待下一个非顺序的用户消息时,其他流的发送会继续。 2.根据已发现的路径MTU(最大传输单元)大小进行用户数据分片 为了确保发送到下层的SCTP数据包与路径MTU一致,SCTP对用户消息分片
6、。在接收端,分片被重组后传给上层SCTP用户。 3.选择性确认(SACK)和拥塞控制 选择性确认用于数据包丢失发现,TCP中确认序号返回的是发送方已成功收到数据字节序号(不包含确认序号所指的字节),而SCTP反馈给发送端的是丢失的并且要求重传的消息序号。 SCTP运用了TCP中的拥塞控制技术,包括慢启动,拥塞避免和快速重传。因此,当和TCP应用共存时,SCTP应用可接收属于SCTP的网络资源部分。 4.块(chunk)绑定 即多个用户消息可选择地绑定到一个SCTP包上,通过将消息放到一个或多个SCTP数据结构——“块”中,SCTP保留了应用程序的消息框架边界。不
7、同类型的块可绑定到一个SCTP包中,但是控制块必须放在任何一个数据块之前。 5.路径管理SCTP路径管理功能主要负责从远端提供的一组传输地址中选择目的传输地址,它根据两个方面来选择目的地址:SCTP用户指示和当前可达的合格目的地。当其他流控制不能提供可达性信息时,路径管理功能定时地扫描链路的可达性,并向SCTP报告远端传输地址所发生的变化。SCTP路径管理功能模块同时还负责在建立链路时,向远端报告可用的本地地址,并把远端返回的传输地址告诉SCTP用户。6.支持多宿 当SCTP传送数据包给目的IP地址时,如果此IP地址是不可
此文档下载收益归作者所有