下一代互联网协议:SCTP

来源:互联网 发布:js获取屏幕宽度 编辑:程序博客网 时间:2024/04/28 02:19

我国从2002年到2006年信息产业部发布的通信行业相关标准都涉及到流控制传输协议——SCTP,其作为下一代互联网传输协议,无论是运用在固网或移动网,都具备比TCP、UDP协议更为突出的优势。
由于SCTP有很多TCP没有的性能,并且具有极好的扩展性,它被认为在未来取代TCP成为通用的传输层协议。
SCTP流控制传输协议作为新一代的通用IP传输协议,已由IETF标准化为RFC2960。熟悉TCP/IP的人可以简单地将SCTP看作是“超级TCP”,因为SCTP不仅与TCP很像,而且扩展了TCP的许多功能。SCTP是在IP上建立下一代高质量通信和电子商务应用的关键部分,被一些标准化组织认为是TCP的继承者。
1、可扩展性
当初在设计TCP时,一个很重要的设计原则是提高传输效率,减小头部开销。但是现在连接100 Mbit/s的以太网已经非常普遍,比30年前的速率提高了上千倍。
SCTP的通用头部相当的简洁,报文内部却有着较为复杂和精巧的结构。其报文的Chunk结构具有很好的可扩展性,使得增加对新功能的支持成为一件非常容易的事情。这种结构(如同IPv6)具有优异的扩展性,为此付出额外几个字节的开销是值得的。
(1)增加和删除地址
SCTP的一个主要的特点就是在一个关联中使用多个源和目的地址的能力。增加和删除地址(ADDIP)草案扩展了SCTP的动态增删地址的能力,这种能力不仅可以支持网卡的热插拔,也可以支持网络链路的动态增减。
(2)部分可靠功能的SCTP
部分可靠功能的SCTP(PRSCTP)草案对SCTP进行了扩展,使PRSCTP可以同时为上层协议提供可靠和非可靠的传输服务。
2、SCTP的特点
SCTP与TCP的区别在于:
(1)多穴主机
SCTP和TCP最大的区别在于多穴主机(Multi-Homing)。SCTP关联两端的主机可以具有多个可达的IP地址。当SCTP主机探测到对端的某一个地址不可达时,它会自动选择另一个地址继续进行数据传输。这一特点提高传输的可靠性,增加通信的健壮性。
(2)面向消息
SCTP的用户以消息的形式将数据递交给SCTP,这一特点使它可以在传输层就对用户消息进行拆分和重组,减轻应用层的负担,也为多流发送提供可能。
(3)多流机制
利用SCTP的多流机制可以把没有先后次序关系的消息放在不同的流中传输,而把必须按序递交的消息放在同一个流中传输。其优点在于减轻单流中存在的队头阻塞现象,如果一个流中某消息的丢失阻塞了其他消息的递交,其他流中的消息还可以递交给上层协议。
(4)可选的有序递交
在SCTP中,用户可以选择将数据按顺序发送或不按顺序发送。而在TCP中用户数据是严格有序发送的,用户别无选择。
3、移动网络中的性能优化
相对于TCP等其他传输协议,SCTP传输时延小,可避免某些大数据对其他数据的阻塞,具有更高的可靠性和安全性。
结合SCTP的ADDIP扩展,基于移动IP实现SCTP对移动切换的支持,并且结合移动预测进一步提高SCTP切换的性能。利用PRSCTP对不同的消息提供不同可靠性传输服务的特点,可以有效支持移动环境下的多媒体应用,比如MPEG-4流媒体的传输。
随着移动互联网技术的发展,SCTP对移动多媒体应用的支持也会更加显示其优越性。
4、流媒体传输性能优势
(1)SCTP与TCP比较传输性能优势
在支持流媒体的传输上面,SCTP的协议特性远远优于TCP。TCP在支持流媒体传输上出现的不足,主要是其因为数据包的发送有严格的顺序控制。因此,对那些需要在一个连接中同时支持多个逻辑上独立的不同可靠级别的信息流传送的流媒体传输的应用上,SCTP就特别有用,使实时流媒体得到更高效,更安全,更稳定的在线播放的效果。具体表现在:
●四次握手
通过SCTP的四次握手流媒体的传输将比TCP更快的启动。减少了在线用户的等待时间。虽然SCTP比TCP在会话建立的过程中多了一次确认的过程,但是在第一次交互过后,SCTP的确认包就可以负载有效媒体信息,这样比TCP更早开始终端之间的媒体信息的传输。使用户在线接收媒体的响应时间缩小。同时,通过SCTP四次握手中的cookie机制,使得提供实时流媒体的服务器变的更加的可靠。而基于TCP的服务器容易受到盲目SYN攻击,耗尽服务器资源而不能为真正的用户提供流畅的媒体播放性能。
● 无序多通道的可靠传输
 通过SCTP无序的可靠传输使实时流媒体的播放连续性加强。TCP的可靠性是通过有序的每个包的反馈建立起来的,这种有序可靠机制遇到网络拥塞的时,就大大影响了实时流媒体传输的稳定性。而STCP支持多流传输的功能,使音频信号和视频信号得到分开传输,减少了声音和图像同时失真的几率。
● 选择性的反馈(SACK)
选择性的反馈为流媒体信息的传输让出了更多的带宽。STCP通过选择性反馈,在发送端能够判断当前发送包情况,并及时根据此情况释放已经发送成功的数据包,为后续的发送数据腾出缓存空间,有效避免了无意义的重发和提高了丢包重发效率,明显较TCP减少了反馈包的个数和反馈信息所占的带宽。
● 支持多宿性终端
支持多宿终端,使得流媒体的发送者和接收者建立的会话更加的稳固。即使时出现主传输地址不到达的网络问题,也可以通过启用备用的传输地址进行修复。提高了流媒体传输的稳定性。
(2)SCTP与UDP比较性能优势
很多流媒体的传输方案是RTP(Real-time transport protocol )/UDP。由于RTP只能保证数据的实时传输,只是在包头加上了一些支持实时性的信息,如(序列号,时间戳等)并不能为顺序传输的数据包提供可靠的传输机制。在RTP和UDP的搭档基础上还要用到RTCP(Real-time transport control protocol)提供可靠的传输机制,以及流量和拥塞的监控。
如果用SCTP来替代UDP,则只需要RTP和SCTP两个机制就可以很好地支持流媒体的传输。因为SCTP具有无序可靠传输的功能,可以使达到的接收端的数据包不用等待前面的数据包就可以直接提交到应用层,提高了数据的传输效率。特别PRSCTP中对不同流设定不同的可靠性级别,极大的提高了SCTP的传输效率的改进,完全可以取代UDP在流媒体传输上的地位。同时由于SCTP是支持单一会话多流通讯的维护,这样使得同步接收多个RTP流成为一件非常容易的事情,只需要使得每个RTP流对应到每个SCTP数据流就可以了。
在RTP/SCTP的流媒体传输方案中,不仅控制信号和媒体信息,音频信号和视频信号得到了分流的处理,并且可以对每个SCTP流通道上信息的可靠程度进行设定。简化了传输机制的同时,提高了传输的效率。同时由于SCTP的多宿性,为实时流媒体的传播提供了更高的稳定性。
(3)SCTP无序可靠传输服务
在SCTP的协议制定中加入了无序可靠的传输机制。这个功能在流媒体传输的支持中将启到巨大的作用。有无序可靠传输在传输层的支持,甚至不需要在PRSCTP中加入的选择性可靠传输的功能都可以为流媒体提供高效传输性能。
通过多数据流实现会话的可靠无序的传输方式,当大量的流通道被开通传输数据之后,很好的打断信息之间的连续性要求,使得被收到的数据包立即就被递交到应用层的效率得到提高。这样就保证了在网络传输拥塞情况不是很严重的时候,同时在接收端的解码缓存区较大的情况下,数据的利用率将是最优化的。同时这个机制在一定程度上缓解了网络的传输压力,由于解压缓存区为数据在网络拥塞比较严重的时候赢得较多的传输时间,同时在网络传输性能较优的时候,通过缓存机制预存储了解码数据信息。

原创粉丝点击