這里介紹TCP
和UDP
最主要的區(qū)別,它們的組成區(qū)別就暫時(shí)先不介紹了冻辩。
區(qū)別一:
TCP
面向連接猖腕,UDP
面向非連接
面向連接的服務(wù)拆祈,通信雙方在進(jìn)行通信之前,要先在雙方建立起一個(gè)完整的可以彼此溝通的通道(TCP
三次握手建立連接)谈息,在通信過程中缘屹,整個(gè)連接的情況一直可以被實(shí)時(shí)地監(jiān)控和管理
非面向連接的服務(wù)凛剥,不需要預(yù)先建立一個(gè)聯(lián)絡(luò)兩個(gè)通信節(jié)點(diǎn)的連接侠仇,需要通信的時(shí)候,發(fā)送節(jié)點(diǎn)就可以往網(wǎng)絡(luò)上發(fā)送信息犁珠,讓信息自主地在網(wǎng)絡(luò)上去傳逻炊,一般在傳輸?shù)倪^程中不再加以監(jiān)控。
對(duì)面向連接和面向非連接以前理解的還不是到位犁享,通過面向連接對(duì)連接會(huì)對(duì)連接做一個(gè)管理和監(jiān)控
區(qū)別二:
TCP
提供可靠服務(wù)余素,UDP
不提供可靠服務(wù)
區(qū)別三:
TCP
面向字節(jié)流,UDP
面向報(bào)文
區(qū)別四:
TCP
數(shù)據(jù)傳輸慢炊昆,UDP
數(shù)據(jù)傳送快
注意:
TCP
并不能保證數(shù)據(jù)一定會(huì)被對(duì)方接收到桨吊,因?yàn)檫@是不可能的。TCP
能夠做到的是凤巨,如果有可能视乐,就把數(shù)據(jù)遞送到接收方,否則就(通過放棄重傳并且中斷連接這一手段)通知用戶敢茁。因此準(zhǔn)確說 TCP
也不是 100% 可靠的協(xié)議佑淀,它所能提供的是數(shù)據(jù)的可靠遞送或故障的可靠通知。
TCP
和UDP
對(duì)應(yīng)的協(xié)議
TCP
對(duì)應(yīng)的協(xié)議
FTP:
定義了文件傳輸協(xié)議彰檬,使用21端口伸刃。
Telnet:
一種用于遠(yuǎn)程登陸的端口,使用23端口逢倍,用戶可以以自己的身份遠(yuǎn)程連接到計(jì)算機(jī)上捧颅,可提供基于DOS模式下的通信服務(wù)。
SMTP:
郵件傳送協(xié)議较雕,用于發(fā)送郵件碉哑。服務(wù)器開放的是25號(hào)端口。
POP3:
它是和SMTP對(duì)應(yīng)郎笆,POP3用于接收郵件谭梗。POP3協(xié)議所用的是110端口。
HTTP:
是從Web服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議宛蚓。
HTTP
和FTP
是我們比較熟悉的
UDP
對(duì)應(yīng)的協(xié)議
DNS:
用于域名解析服務(wù)激捏,將域名地址轉(zhuǎn)換為IP地址。DNS用的是53號(hào)端口凄吏。
SNMP:
簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議远舅,使用161號(hào)端口闰蛔,是用來管理網(wǎng)絡(luò)設(shè)備的。由于網(wǎng)絡(luò)設(shè)備很多图柏,無連接的服務(wù)就體現(xiàn)出其優(yōu)勢(shì)序六。
TFTP(Trival File Transfer Protocal)
,簡(jiǎn)單文件傳輸協(xié)議蚤吹,該協(xié)議在熟知端口69上使用UDP
服務(wù)例诀。
DNS
是我們比較熟悉的
UDP的應(yīng)用場(chǎng)景
進(jìn)行視頻聊天或者看直播,可以使用UDP協(xié)議裁着,因?yàn)榧词箮讉€(gè)畫面丟失了繁涂,對(duì)用戶來說影響也不是很大
TCP的應(yīng)用場(chǎng)景
發(fā)消息的場(chǎng)景以及文件傳輸,要確保發(fā)送的消息不丟失