LearnHouse

SCTP

http://tdrwww.exp-math.uni-essen.de/inhalt/forschung/sctp_fb/index.html

http://www.sctp.de/

SCTP 是一種應用層數據分組傳輸通訊協定,可在 UDP 或 IP 層提供可靠服務。SCTP 處於 SCTP 使用者應用層與 IP網路層間,且每一個端點(endpoint)有多個 IP位址。

TCP 雖然提供連接導向、可靠性的傳輸服務,但其本身的功能亦限制它的靈活與彈性,為了克服因 TCP 的種種限制,並兼顧 TCP/IP 網路上層應用運作的相容性,於是提出SCTP(Stream Control Transmission Protocol)通訊協定,期望能夠藉由 SCTP 通訊協定的運作,逐步取代 TCP;SCTP 的產生原本是設計用在多重鏈路的網路上,如公眾交換電話網路(Public Switched Telephone Network, PSTN)上的訊號傳遞,但 SCTP 不只運用在訊號的傳遞上,許多的應用程式也適用,因為吸收許多 TCP 的優點,如壅塞控制(Congestion Control),錯誤偵測(Error Detection),及重傳機制(Retransmission)等功能;此外,SCTP 更進一步的又多加了幾個新的功能,而這些功能在 TCP上是無法運作的,最主要的兩個功能是多重資料流(Multi-Streaming)多重定址(Multi-Homing) ,可說是TCP 的升級版。

多重資料流(Multi-Streaming)

在 TCP 中,針對 stream 有嚴格的排序限制,所以導致主要的缺點—佇列頭的阻斷(head-of-the-queue blocking),一旦一個 stream中的 message 發生錯誤或遺失時,其他的有序 stream 並不能繞過或越過,因此造成無法順利傳遞。所以多重資料流的特徵是將使用者的資料經由多個 SCTP streams 作傳輸。這些 streams 是獨立地作有序傳遞。當其中一個 stream 的 message 遺失時,SCTP 即可重送或是高優先權(high-priority)的 messages可以繞過,所以並不影響其他的 streams。經由多重資料流的動作,SCTP 排除了原本在TCP 中不必要的阻斷。

多重定址(Multi-Homing)

多重定址的特性使SCTP endpoints支援多個IP的位址,並保護association免於網路有問題時停止運作。在association啟始時,SCTP endpoints會交換彼此IP位址的清單。
在啟始時,IP 位址清單中的其中一個會被指定為主要的 IP位址,假如主要的位址一再地丟棄 chunks,所有的 chunks 將被傳送到其他的可替代位址進行保留,直到主要位址的連結重新建立。在 TCP 中有單一定址(single-homed)的功能,但如果核心網路發生問題而觸發 TCP session 的遺失,因此多重定址是改善 TCP  單一定址缺點的一大進步。多重定址的主要運作模式

SCTP 與 TCP之比較

Services/Feature                                                 SCTP                                  TCP
Connection-oriented                                             yes                                    yes
Full duplex                                                           yes                                    yes
Reliable data transfer                                            yes                                    yes
Partial-reliable data transfer                                 optional                                no
Ordered data delivery                                            yes                                    yes
Unordered data delivery                                        yes                                     no
Flow control                                                         yes                                    yes
Congestion control                                               yes                                    yes
ECN capable                                                         yes                                    yes
Selective ACKs                                                     yes                                  optional
Preservation of message boundaries                       yes                                     no
Path MTU discovery                                               yes                                    yes
Application PDU fragmentation                               yes                                     yes
Application PDU bundling                                       yes                                     yes
Multi-Streaming                                                    yes                                     no
Multi-Homing                                                        yes                                     no
Protection against SYN flooding attacks                   yes                                     no
Allows half-closed connections                                no                                     yes
Reachability check                                                 yes                                    yes
Psuedo-header for checksum                          no(uses vtags)                           yes
Time wait state                                                 for vtags                             for 4-tuple

posted by admin in 參考文獻 and have No Comments

Place your comment

Please fill your data and comment below.
Name
Email
Website
Your comment