TCP vs SCTP协议
TCP(传输控制协议)和SCTP(流控制传输协议)都位于传输层,主要在互联网应用中提供传输功能。TCP提供可靠的数据传输,数据包的传输顺序严格,但有些应用程序需要可靠的传输,而不是100%的数据包传输顺序。在这些情况下,TCP可能会在第二种选择中造成不必要的延迟,其中可靠性很重要,但不是100%顺序交付。
在数据包的传输过程中,存在两个主要的约束条件,一个是可靠性,另一个是延迟。可靠性是保证报文的发送,时延是保证报文的及时发送。两者不可能同时达到峰值,但可以进行优化。
SCTP的开发基本上是为了在IP网络上传输PSTN信令。(SIGTRAN)。但是最近,其他应用程序也发现SCTP很好地满足了它们的需求。
TCP:
中定义的RFC 793
TCP是一种面向连接的端到端可靠协议,能够保证数据的传输。从连接建立本身来讲,TCP保证了可靠性。TCP的一些主要特性是三向握手(SYN, SYN-ACK, ACK),错误检测,慢启动,流量控制,拥塞控制。
TCP是一种可靠的传输机制,因此它将用于即使在拥塞情况下也必须进行包传输的地方。TCP应用程序和端口号的典型例子有:FTP数据(20)、FTP控制(21)、SSH(222)、Telnet(23)、邮件(25)、DNS(53)、HTTP(80)、POP3(110)、SNMP(161)和HTTPS(443)。这些都是众所周知的TCP应用程序。
SCTP:
中定义的RFC4960
SCTP(流控制传输协议)是一种IP传输协议,如TCP和UDP。SCTP是一种单播协议,支持在恰好两个端点内的端到端数据传递。但是端点可能有多个IP地址。
SCTP是一种全双工传输协议,具有重传、流控制和顺序维护等特性。
在TCP之上,SCTP还有更多的特性,下面列出了其中一些特性
- SCTP多流特性
SCTP允许将数据划分为多个流,每个流都有自己的传递序列。考虑Telephony信令的情况,有必要维护影响相同会话或资源的包的顺序。(例如:同一呼叫或同一中继)。因此,基于流的序列跟踪是足够的,将产生比一个完整的流更好的性能。
- SCTP多归航
该特性支持单个SCTP端点拥有多个IP地址。这样做的主要原因是通过几个冗余路由路径来维护端点的可用性。
- 路径选择
维护一个计数器来跟踪到特定目的地的不成功的传输确认。定义了一个阈值,如果超过了目的地址,则声明为不活动,SCTP开始发送到备用地址。
简介:
(1) TCP和SCTP都支持可靠的传输服务。
(2) TCP支持单流数据传输,而SCTP支持多流数据传输。
(3) TCP支持单个TCP端点有一个IP地址,而SCTP支持单个SCTP端点可以有多个IP地址,主要用于冗余目的。
(4) SCTP比TCP更安全。
(5) SCTP的启动和关闭过程不同于TCP。
留下一个回复