TCP與UDP之間有什么相同點(diǎn)和不同點(diǎn)?
相同點(diǎn):
1、OSI網(wǎng)絡(luò)層
它們都根據(jù)OSI參考模型生活在同一層。我們稱這層為傳輸層。在套接字之間的這一層中,傳
輸數(shù)據(jù)。他們在這方面沒有區(qū)別。
2、安全
從安全角度來看,TCP和UDP都是相同的。實(shí)際上,TCP由于其會(huì)話管理而具有一些小優(yōu)勢,
但從總體上看,如果實(shí)現(xiàn)SSL,加密等安全機(jī)制,則存在安全性。除UDP之外,實(shí)現(xiàn)類似TCP
的協(xié)議的SSL / TLS非常容易。另一方面,像RTP這樣的語音通信協(xié)議可以升級到SRTP,使底
層UDP更安全。
不同點(diǎn):
1、數(shù)據(jù)包結(jié)構(gòu)
UDP具有精簡包結(jié)構(gòu)。UDP在其標(biāo)題部分中僅提供源,目標(biāo)端口,長度,校驗(yàn)和。TCP在包中
有更多字段,因?yàn)門CP傳輸有更多的步驟和控件來進(jìn)行包傳遞。TCP有12個(gè)頭字段。
2、復(fù)雜程度
TCP絕對比UDP協(xié)議更復(fù)雜。正如我們在上側(cè)看到的,TCP具有很多傳輸相關(guān)機(jī)制的區(qū)域。例
如,TCP提供了設(shè)置傳輸緩沖區(qū)相關(guān)內(nèi)存的窗口機(jī)制。UDP只有校驗(yàn)和機(jī)制和數(shù)據(jù)包計(jì)數(shù)器,
有時(shí)候沒有實(shí)現(xiàn)。
3、算法
要使用TCP傳輸數(shù)據(jù),必須使用名為3次握手的方法創(chuàng)建會(huì)話。第一個(gè)客戶端發(fā)送一個(gè)包含SYN
標(biāo)志的數(shù)據(jù)包,服務(wù)器用ACK標(biāo)志響應(yīng),最后一步客戶端發(fā)送SYNC + ACK以完成與相關(guān)服務(wù)
器的TCP會(huì)話。UDP沒有任何特殊算法。UDP包直接發(fā)送到服務(wù)器的端口。管理層通常在上層
應(yīng)用程序?qū)又袌?zhí)行。
4、速度
TCP協(xié)議的復(fù)雜性使TCP比UDP慢。至少要發(fā)送一個(gè)字節(jié),需要進(jìn)行會(huì)話初始化,并在數(shù)據(jù)傳
輸后關(guān)閉會(huì)話。這使TCP變慢。關(guān)于TCP的速度已經(jīng)做了一些工作,但架構(gòu)是有限的新增強(qiáng)功
能。如果您通過光纖傳輸U(kuò)DP,則UDP 速度很快.UDP速度很快,因?yàn)闆]有會(huì)話或會(huì)話終止的
算法。
5、可靠性
TCP是一種可靠的協(xié)議,因?yàn)樗\(yùn)行機(jī)制來防止數(shù)據(jù)丟失或更改。TCP使用會(huì)話來提高數(shù)據(jù)傳
輸?shù)目煽啃浴M瑯釉跀?shù)據(jù)傳輸中,在兩側(cè)之間檢查傳輸?shù)臄?shù)據(jù),并且如果發(fā)生一些丟失或改
變,則再次重新傳輸數(shù)據(jù)。UDP也不可靠。真的不是。但是,如果您希望它是可靠的上層應(yīng)用
程序級別機(jī)制可以實(shí)現(xiàn),但這些將使傳輸更復(fù)雜。
6、協(xié)議
在這部分中,列出使用UDP或TCP或兩者的協(xié)議。
UDP以下協(xié)議使用UDP傳輸。
DHCP
DNS
流
RDP
TFTP
SNMP
VOIP
TCP以下協(xié)議使用TCP傳輸。
HTTP
HTTPS
FTP
SMTP
TELNET