TCP
優(yōu)點(diǎn)
: 可靠,穩(wěn)定 TCP的可靠體現(xiàn)在TCP在傳遞數(shù)據(jù)之前聪蘸,會(huì)有三次握手來(lái)建立連接宪肖,而且在數(shù)據(jù)傳遞時(shí),有確認(rèn)健爬、窗口控乾、重傳、擁塞控制機(jī)制浑劳,在數(shù)據(jù)傳完后阱持,還會(huì)斷開(kāi)連接用來(lái)節(jié)約系統(tǒng)資源。
缺點(diǎn)
: 慢魔熏,效率低衷咽,占用系統(tǒng)資源高,易被攻擊 TCP在傳遞數(shù)據(jù)之前蒜绽,要先建連接镶骗,這會(huì)消耗時(shí)間,而且在數(shù)據(jù)傳遞時(shí)躲雅,確認(rèn)機(jī)制鼎姊、重傳機(jī)制、擁塞控制機(jī)制等都會(huì)消耗大量的時(shí)間,而且要在每臺(tái)設(shè)備上維護(hù)所有的傳輸連接相寇,事實(shí)上慰于,每個(gè)連接都會(huì)占用系統(tǒng)的CPU、內(nèi)存等硬件資源唤衫。
三次握手:
主機(jī)A向主機(jī)B發(fā)出連接請(qǐng)求數(shù)據(jù)包:“我想給你發(fā)數(shù)據(jù)婆赠,可以嗎?”
主機(jī)B向主機(jī)A發(fā)送同意連接和要求同步的數(shù)據(jù)包:“可以佳励,你什么時(shí)候發(fā)休里?”
主機(jī)A再發(fā)出一個(gè)數(shù)據(jù)包確認(rèn)主機(jī)B的要求同步:“我現(xiàn)在就發(fā),你接著吧赃承!”
三次“對(duì)話”的目的是使數(shù)據(jù)包的發(fā)送和接收同步妙黍,經(jīng)過(guò)三次“對(duì)話”之后,主機(jī)A才向主機(jī)B正式發(fā)送數(shù)據(jù)
UDP
優(yōu)點(diǎn)
:快瞧剖,比TCP稍安全 UDP沒(méi)有TCP的握手拭嫁、確認(rèn)、窗口筒繁、重傳噩凹、擁塞控制等機(jī)制砸民,UDP是一個(gè)無(wú)狀態(tài)的傳輸協(xié)議诫惭,所以它在傳遞數(shù)據(jù)時(shí)非常快秽晚。沒(méi)有TCP的這些機(jī)制呕缭,UDP較TCP被攻擊者利用的漏洞就要少一些堵泽。但UDP也是無(wú)法避免攻擊的,比如:UDP Flood攻擊……
缺點(diǎn)
: 不可靠恢总,不穩(wěn)定 因?yàn)閁DP沒(méi)有TCP那些可靠的機(jī)制迎罗,在數(shù)據(jù)傳遞時(shí),如果網(wǎng)絡(luò)質(zhì)量不好片仿,就會(huì)很容易丟包纹安。
TCP與UDP區(qū)別總結(jié):
1、TCP面向連接(如打電話要先撥號(hào)建立連接);UDP是無(wú)連接的砂豌,即發(fā)送數(shù)據(jù)之前不需要建立連接
2厢岂、TCP提供可靠的服務(wù)。也就是說(shuō)阳距,通過(guò)TCP連接傳送的數(shù)據(jù)塔粒,無(wú)差錯(cuò),不丟失筐摘,不重復(fù)卒茬,且按序到達(dá);UDP盡最大努力交付船老,即不保證可靠交付
3、TCP面向字節(jié)流圃酵,實(shí)際上是TCP把數(shù)據(jù)看成一連串無(wú)結(jié)構(gòu)的字節(jié)流;UDP是面向報(bào)文的柳畔,UDP沒(méi)有擁塞控制,因此網(wǎng)絡(luò)出現(xiàn)擁塞不會(huì)使源主機(jī)的發(fā)送速率降低(對(duì)實(shí)時(shí)應(yīng)用很有用辜昵,如IP電話荸镊,實(shí)時(shí)視頻會(huì)議等)
4、每一條TCP連接只能是點(diǎn)到點(diǎn)的;UDP支持一對(duì)一堪置,一對(duì)多,多對(duì)一和多對(duì)多的交互通信
5张惹、TCP首部開(kāi)銷20字節(jié); UDP的首部開(kāi)銷小舀锨,只有8個(gè)字節(jié)
6、TCP的邏輯通信信道是全雙工的可靠信道宛逗,UDP則是不可靠信道
TCP UDP
是否連接 面向連接 面向非連接
傳輸可靠性 可靠 不可靠
應(yīng)用場(chǎng)合 傳輸大量數(shù)據(jù) 少量數(shù)據(jù)
速度 慢 快
Socket
Socket
是應(yīng)用層與TCP/IP協(xié)議族通信的中間軟件抽象層坎匿,它是一組接口。在設(shè)計(jì)模式中雷激,Socket其實(shí)就是一個(gè)門面模式替蔬,它把復(fù)雜的TCP/IP協(xié)議族隱藏在Socket接口后面,對(duì)用戶來(lái)說(shuō)屎暇,一組簡(jiǎn)單的接口就是全部承桥,讓Socket去組織數(shù)據(jù),以符合指定的協(xié)議根悼。
參考文獻(xiàn):
https://www.cnblogs.com/xiaomayizoe/p/5258754.html
https://www.cnblogs.com/xiohao/p/4439164.html