Stream Control Transmission Protocol 流控制传输协议

Stream Control Transmission Protocol - Wikipedia https://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol

https://zh.wikipedia.org/wiki/流控制传输协议

流控制传输协议(英语:Stream Control Transmission Protocol,缩写:SCTP)是在2000年由IETFSIGTRAN工作组定义的传输层协议。RFC 4960详细定义了SCTP,介绍文件RFC 3286

作为传输层协议,SCTP可以理解为和TCPUDP相类似的。它提供的服务有点像TCP,又同时将UDP的一些优点相结合。是一种提供了可靠、高效、有序的数据传输协议。相比之下TCP是面向字节的,而SCTP是针对成帧的消息。

SCTP主要的贡献是对多重联外线路的支持,一个端点可由多个IP地址组成,使传输可在主机间或网卡间做到透明的网络容错备援。

SCTP最初设计用于IP上传输电话协议(SS7),把SS7信令网络的一些可靠特性引入IP。IETF这方面的工作称为信令传输SIGTRAN。

SCTP将资料传给应用层的方式,是将资料视为message(bytes的集合),SCTP的特征是message-oriented,意思就是说它发送的是一串message(每一个message是byte为单位的集合),相对于TCP是以byte为单位,发送的是破碎的流。在SCTP发送端用一个动作提交消息,接收端也是用一个动作取出消息传给对应的应用程序。相较于TCP,是一个流导向的协议,可靠地且有顺序地发送以bytes为单位的流。然而TCP并不允许接收端知道发送端的应用程序调用提交bytes集合的次数。在发送端TCP只是简单的附加更多bytes在queue里等待着送到网络上,而SCTP是将要提交的outband message都保有自己独立的queue。

 

The Stream Control Transmission Protocol (SCTP) is a computer networking communications protocol in the transport layer of the Internet protocol suite. Originally intended for Signaling System 7 (SS7) message transport in telecommunication, the protocol provides the message-oriented feature of the User Datagram Protocol (UDP), while ensuring reliable, in-sequence transport of messages with congestion control like the Transmission Control Protocol (TCP). Unlike UDP and TCP, the protocol supports multihoming and redundant paths to increase resilience and reliability.

SCTP is standardized by the Internet Engineering Task Force (IETF) in RFC 9260. The SCTP reference implementation was released as part of FreeBSD version 7, and has since been widely ported to other platforms.

Formal oversight[edit]

The IETF Signaling Transport (SIGTRAN) working group defined the protocol (number 132[1]) in October 2000,[2] and the IETF Transport Area (TSVWG) working group maintains it. RFC 9260 defines the protocol. RFC 3286 provides an introduction.

Message-based multi-streaming[edit]

SCTP applications submit data for transmission in messages (groups of bytes) to the SCTP transport layer. SCTP places messages and control information into separate chunks (data chunks and control chunks), each identified by a chunk header. The protocol can fragment a message into multiple data chunks, but each data chunk contains data from only one user message. SCTP bundles the chunks into SCTP packets. The SCTP packet, which is submitted to the Internet Protocol, consists of a packet header, SCTP control chunks (when necessary), followed by SCTP data chunks (when available).

SCTP may be characterized as message-oriented, meaning it transports a sequence of messages (each being a group of bytes), rather than transporting an unbroken stream of bytes as in TCP. As in UDP, in SCTP a sender sends a message in one operation, and that exact message is passed to the receiving application process in one operation. In contrast, TCP is a stream-oriented protocol, transporting streams of bytes reliably and in order. However TCP does not allow the receiver to know how many times the sender application called on the TCP transport passing it groups of bytes to be sent out. At the sender, TCP simply appends more bytes to a queue of bytes waiting to go out over the network, rather than having to keep a queue of individual separate outbound messages which must be preserved as such.

The term multi-streaming refers to the capability of SCTP to transmit several independent streams of chunks in parallel, for example transmitting web page images simultaneously with the web page text. In essence, it involves bundling several connections into a single SCTP association, operating on messages (or chunks) rather than bytes.

TCP preserves byte order in the stream by including a byte sequence number with each segment. SCTP, on the other hand, assigns a sequence number or a message-id[note 1] to each message sent in a stream. This allows independent ordering of messages in different streams. However, message ordering is optional in SCTP; a receiving application may choose to process messages in the order of receipt instead of in the order of sending.

 

 

 

posted @ 2023-11-24 15:24  papering  阅读(42)  评论(0编辑  收藏  举报