SCTP和TCP UDP相比,有什麼不同

2021-05-09 17:42:03 字數 1098 閱讀 4734

在sctp(stream control transmission protocol,流控制傳輸協議)制定以前,在ip網上傳輸七号信令使用的是udp、tcp協議。udp是一種無連線的傳輸協議,無法滿足七号信令對傳輸質量的要求。tcp協議是一種有連線的傳輸協議,可以信令的可靠傳輸,但是tcp協議具有行頭阻塞、實時性差、支援多歸屬比較困難、易受拒絕服務攻擊(dos)的缺陷。因此ietf(internet engineering task force) rfc2960制定了面向連線的基於分組的可靠傳輸協議sctp協議。sctp對tcp的缺陷進行了完善,使得信令傳輸具有更高的可靠性,sctp的設計包括適當的擁塞控制、防止氾濫和偽裝攻擊、更優的實時效能和多歸屬性支援,因此,sctp成為sigtran協議族中的傳輸協議。

sctp被視為乙個傳輸層協議,它的上層為sctp使用者應用,下層作為分組網路。在sigtran協議的應用中,sctp上層使用者是scn信令的適配模組(如m2ua、m3ua),下層是ip網。

接樓上的說幾句。總的說來sctp和tcp都是面向連線的。但sctp由於支援multi-stream,使得即使單個stream出現阻塞,其它stream仍能工作。另外由於sctp的multi-homing,使得單個association能使用本地和遠端的多個位址,這樣即使某個位址block,資料仍能通過其它路由到達目的地。正常情況下只有主路由在工作。

sctp還是面向訊息的協議(init、initack,etc。。。)這點和udp、tcp(面向位元組流)都不一樣,個人感覺更好處理。另外sctp可以基於raw ip(大多情況)但也有基於udp的。我曾經做過基於udp的sctp實現,但只用於產品內部介面。

sctp通訊雙方可以是平等的,不區分client/server。但從實現出發,也可以採用client/server模型。簡單的例子是當sigtran架構中m3ua採用sctp時,如果是sgp/asp mode,通常情況由asp作為client段,即發出init,建立association後再發後續aspsm訊息。

sctp的安全性體現再initmessage接收端,發出包含cookie的init ack後不會保留tcb(即系統的資源)以給遠端攻擊的機會。

還有sctp是可以把多個data chunk**在乙個data訊息裡傳輸的。sctp的data確認支援有gap的sack。。。

UNIX網路程式設計 TCP UDP和SCTP介紹

一 傳輸層協議工作機制 傳輸層的主要協議為tcp udp和sctp stream control transmission protocol,流控制傳輸協議 絕大多數客戶 伺服器網路應用使用tcp或udp。sctp是乙個較新的協議。udp是乙個簡單的 不可靠的資料報協議。tcp是乙個複雜 可靠的位元...

第2章 傳輸層 TCP UDP 和 SCTP(下)

目錄 1.埠號 2.埠號被劃分為三段 3.套接字 4.對於併發伺服器,往往無法僅僅通過檢視目的埠號來分離外來分節到不同端點 5.緩衝區大小及限制 6.tcp輸出 7.udp輸出 8.sctp輸出 9.常見網際網路應用的協議使用 1 眾所周知的埠號 0 1023,用於標識眾所周知的服務。2 已登記的埠...

第二章傳輸層 TCP UDP 和SCTP

第二章傳輸層 tcp udp 和sctp udp是乙個簡單的 不可靠的傳輸協議,而tcp是乙個複雜 可靠的位元組流協議。icmp 含義 icmp是 internet control message protocol internet控制報文協議。它是tcp ip協議族的乙個子協議,用於在ip主機 路...