W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
SCTP ( Stream Control Transmission Protocol ),即流媒體控制傳輸協(xié)議,是一種可靠的基于無連接數(shù)據(jù)包網(wǎng)絡(luò)如IP網(wǎng)絡(luò)之上傳輸協(xié)議。他被設(shè)計(jì)用來在IP網(wǎng)絡(luò)上傳輸PSTN在窄帶信令消息,同時(shí)也能支持寬帶信令消息的傳輸。
SCTP可以看作OSI層次結(jié)構(gòu)中的傳輸層,它的上層作為SCTP用戶應(yīng)用,下層為分組網(wǎng)絡(luò)IP層。\
TCP的兩端都只能用一個(gè)IP來建立連接,連接建立之后就只能用這一對IP來相互收發(fā)消息了。如果這一對IP之間的路徑出了問題,那這條TCP連接就不可用了。
SCTP不一樣的地方是,兩端都可以綁定到多個(gè)IP上,只要有其中一對IP能通,這條SCTP連接就還可以用。
一條SCTP連接里面,可以區(qū)分多條不同的流(stream),不同的流之間的數(shù)據(jù)傳輸互不干擾。這樣做理論上的好處是,如果其中某一條流由于丟包阻塞了,那只會(huì)影響到這一條流,其他的流并不會(huì)被阻塞。但是實(shí)際上,如果某一條流由于丟包阻塞,其他的流通常也會(huì)丟包,被阻塞,最后導(dǎo)致所有的流都被阻塞,SCTP連接中斷。
一條SCTP連接里面,可以區(qū)分多條不同的流(stream),不同的流之間的數(shù)據(jù)傳輸互不干擾。這樣做理論上的好處是,如果其中某一條流由于丟包阻塞了,那只會(huì)影響到這一條流,其他的流并不會(huì)被阻塞。但是實(shí)際上,如果某一條流由于丟包阻塞,其他的流通常也會(huì)丟包,被阻塞,最后導(dǎo)致所有的流都被阻塞,SCTP連接中斷。
TCP連接建立過程,容易受到DoS攻擊。在建立連接的時(shí)候,client端需要發(fā)送SYN給server端,server端需要將這些連接請求緩存下來。通過這種機(jī)制,攻擊者可以發(fā)送大量偽造的SYN包到一個(gè)server端,導(dǎo)致server端耗盡內(nèi)存來緩存這些連接請求,最終無法服務(wù)。
SCTP的建立過程需要四步握手,server端在收到連接請求時(shí),不會(huì)立即分配內(nèi)存緩存起來,而是返回一個(gè)COOKIE。client端需要回送這個(gè)COOKIE,server端校驗(yàn)之后,從cookie中重新獲取有效信息(比如對端地址列表),才會(huì)最終建立這條連接。這樣,可以避免類似TCP的SYN攻擊。
應(yīng)用程序?qū)Υ烁兄坏剑瑢?yīng)用程序來說,不管是TCP還是SCTP,都只需要在server端listen一個(gè)socket,client調(diào)用connect()去連接到一個(gè)server端。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: