色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

tcp是直連還是udp

tcp是直連還是udp?

TCP是基于鏈接的(在收發(fā)之前必須建立可靠了解),UDP是無(wú)連接的(源端和終端不需要建立鏈接,想發(fā)就發(fā));

TCP連接需要經(jīng)過(guò)三次握手,斷開(kāi)連接需要經(jīng)過(guò)四次握手,UDP不需要,直接連接發(fā)送,直接斷(不會(huì)管對(duì)方);

TCP是流模式(面向字節(jié)流),UDP是數(shù)據(jù)報(bào)模式(面向報(bào)文)(意思TCP必須有一個(gè)管道來(lái)支撐他連貫的持續(xù)的發(fā),而UDP則像打飛機(jī)一樣,有子彈就突突,沒(méi)有就消停待著);

TCP的頭包大小為20~24字節(jié)(有四個(gè)備用字節(jié))后便跟實(shí)際數(shù)據(jù),UDP頭包大小為8字節(jié)后邊跟實(shí)際數(shù)據(jù);

由于頭包大小的不同,UDP比TCP更高效一點(diǎn);

TCP(可靠的)能夠保證數(shù)據(jù)的正確性和數(shù)據(jù)的順序,UDP(不可靠的)可能丟包且順序也不能保證;

TCP使用流量控制和擁塞控制,UDP都不使用;

TCP需要為每一個(gè)客戶端建立一個(gè)Socket,UPD只是用一個(gè)Socket進(jìn)行通信;

TCP對(duì)數(shù)據(jù)包的大小沒(méi)有限制,不需要自己切分?jǐn)?shù)據(jù)包,TCP底層程序已經(jīng)幫我們做好了切分,UDP是基于數(shù)據(jù)報(bào)構(gòu)建,有大小限制,需要自己切割,不切割又太大容易丟包;

TCP本身有校驗(yàn)和重發(fā)機(jī)制,UDP沒(méi)有;

TCP僅支持單播傳輸,UDP支持單播多播和廣播;

TCP吞吐量由擁擠控制算法調(diào)節(jié),UDP只受應(yīng)用軟件生成數(shù)據(jù)的速率、傳輸帶寬、 源端和終端主機(jī)性能的限制。

TCP和UDP相同點(diǎn):

都是長(zhǎng)鏈接;

都需要連接和斷開(kāi)事件支撐;

都需要做發(fā)送和接收隊(duì)列緩存;

都需要定義數(shù)據(jù)包格式(就是客戶端和服務(wù)端交流的語(yǔ)言,比如約定都用json);

都需要對(duì)數(shù)據(jù)進(jìn)行加密和校驗(yàn)(不然容易外掛);

頭包后的數(shù)據(jù)大小都為2^16(65535字節(jié),60多kb);

每次傳輸50多kb就很容易丟包了,TCP自動(dòng)切割,UDP需要自己手動(dòng)切割;

包也不能太小,包太小意味著同一時(shí)間內(nèi)需要發(fā)送很多包,容易丟包;

在OSI七層模型中,兩者都屬于傳輸層(傳輸層:負(fù)責(zé)對(duì)報(bào)文進(jìn)行分組和重組,并以TCP或UDP協(xié)議格式封裝報(bào)文);