TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報(bào)協(xié)議)是用于數(shù)據(jù)傳輸?shù)幕ヂ?lián)網(wǎng)協(xié)議,它們有許多相似之處和不同之處。在本文中,我們將深入地理解TCP和UDP之間的區(qū)別。

什么是 TCP?
TCP代表傳輸控制協(xié)議,它是一種通信標(biāo)準(zhǔn)或協(xié)議,用于在兩個(gè)設(shè)備之間建立連接以通過(guò)網(wǎng)絡(luò)交換消息。它旨在通過(guò) Internet 以包的形式發(fā)送消息。TCP 的常見(jiàn)示例是點(diǎn)對(duì)點(diǎn)共享方法,如 FTP(文件傳輸協(xié)議)、telnet 等。
TCP 是如何工作的?
TCP 允許數(shù)據(jù)雙向發(fā)送,即應(yīng)用程序和 Internet 協(xié)議(通??s寫為 TCP/IP)之間的通信,因此可以同時(shí)發(fā)送和接收數(shù)據(jù)。TCP 協(xié)議使用數(shù)據(jù)包來(lái)傳輸數(shù)據(jù)。應(yīng)用程序不需要在傳輸媒體或其他技術(shù)上進(jìn)行數(shù)據(jù)包分段。
TCP 跟蹤分段,這些分段是數(shù)據(jù)傳輸?shù)母鱾€(gè)單元,消息被分隔成有效的網(wǎng)絡(luò)路由,而 IP 負(fù)責(zé)實(shí)際的數(shù)據(jù)傳遞。操作系統(tǒng)網(wǎng)絡(luò)協(xié)議棧中的 TCP 軟件負(fù)責(zé)建立和終止端到端連接以及數(shù)據(jù)傳輸。
讓我們看看 TCP/IP 從頭到尾的工作原理。
第 1 步 - 建立連接
- 當(dāng)兩臺(tái)計(jì)算機(jī)想通過(guò) TCP 相互發(fā)送數(shù)據(jù)時(shí),它們首先需要使用三次握手建立連接。
- 在這里,第一臺(tái)計(jì)算機(jī)發(fā)送一個(gè)數(shù)據(jù)包,其中SYN位設(shè)置為111111(SYN = "synchronize?") 到第二臺(tái)機(jī)器。
- 第二臺(tái)計(jì)算機(jī)回復(fù),ACK位設(shè)置為111111(ACK = "acknowledge!") 并且SYN位設(shè)置為111111在一個(gè)數(shù)據(jù)包中。使用ACK,第一臺(tái)計(jì)算機(jī)做出響應(yīng)。
第 2 步 - 發(fā)送數(shù)據(jù)包
- 當(dāng)數(shù)據(jù)包通過(guò) TCP 傳輸時(shí),接收方必須始終確認(rèn)收到數(shù)據(jù)。
- 第一臺(tái)計(jì)算機(jī)發(fā)送帶有序列號(hào)的數(shù)據(jù)包。
- 通過(guò)設(shè)置ACK位并將確認(rèn)號(hào)增加接收數(shù)據(jù)的長(zhǎng)度,第二臺(tái)計(jì)算機(jī)對(duì)其進(jìn)行確認(rèn)。
第 3 步 - 關(guān)閉連接
- 當(dāng)他們不再想發(fā)送或接收數(shù)據(jù)時(shí),任何一臺(tái)計(jì)算機(jī)都可以關(guān)閉連接。
- 計(jì)算機(jī)通過(guò)發(fā)送一個(gè)將FIN位設(shè)置為11(FIN = 完成)。
- 另一臺(tái)計(jì)算機(jī)回復(fù)一個(gè)ACK?? 和另一個(gè)FIN。在來(lái)自發(fā)起計(jì)算機(jī)的另一個(gè) ACK?? 之后,連接被關(guān)閉。

TCP的應(yīng)用
- 簡(jiǎn)單郵件傳輸協(xié)議- 用于將電子郵件消息從一臺(tái)機(jī)器傳輸?shù)搅硪慌_(tái)機(jī)器的 TCP/IP 標(biāo)準(zhǔn)協(xié)議是簡(jiǎn)單郵件傳輸協(xié)議。
- TELNET - TELNET 是 TCP/IP 協(xié)議系列中包含的簡(jiǎn)單遠(yuǎn)程桌面協(xié)議。TELNET 允許一個(gè)站點(diǎn)的用戶通過(guò) TCP 連接連接到另一個(gè)站點(diǎn)的登錄服務(wù)器。
- Rlogin - 支持可信主機(jī)的遠(yuǎn)程登錄服務(wù) rlogin 包含在從BSD UNIX派生的操作系統(tǒng)中。它使系統(tǒng)管理員能夠選擇一組共享登錄名和文件訪問(wèn)保護(hù)的機(jī)器,并在用戶登錄之間建立等效性。
- 文件傳輸協(xié)議- 文件傳輸是最常用的 TCP/IP 應(yīng)用程序之一,占網(wǎng)絡(luò)流量的很大一部分。
- 普通文件傳輸協(xié)議- TCP/IP 套件包括第二個(gè)文件傳輸協(xié)議,可提供低成本、簡(jiǎn)單的服務(wù)。普通文件傳輸協(xié)議 (TFTP) 專為不需要客戶端和服務(wù)器之間復(fù)雜交互的應(yīng)用程序而設(shè)計(jì)。
什么是UDP?
UDP(用戶數(shù)據(jù)報(bào)協(xié)議)是一種類似于 TCP(傳輸控制協(xié)議)的通信協(xié)議。
然而,它是一種無(wú)連接協(xié)議,與 TCP 不同。因?yàn)樵跀?shù)據(jù)交付之前永遠(yuǎn)不會(huì)形成 UDP 連接,所以可以快速交換數(shù)據(jù)。*,與TCP不同,UDP不保證數(shù)據(jù)包的成功傳遞,數(shù)據(jù)包在傳輸過(guò)程中可能會(huì)丟失,存在安全隱患。
UDP 的示例包括域網(wǎng)絡(luò)系統(tǒng) (DNS)、玩 valorant 或 Minecraft 等在線游戲、在線觀看視頻等。
那么,什么是無(wú)連接協(xié)議?簡(jiǎn)單來(lái)說(shuō),無(wú)連接協(xié)議是一種標(biāo)準(zhǔn),它允許數(shù)據(jù)從一臺(tái)計(jì)算機(jī)發(fā)送到另一臺(tái)計(jì)算機(jī),而無(wú)需確定接收機(jī)器是否在線或是否能夠接收數(shù)據(jù)。
UDP 是如何工作的?
UDP 使用 IP 將數(shù)據(jù)報(bào)從一臺(tái)計(jì)算機(jī)傳輸?shù)搅硪慌_(tái)計(jì)算機(jī)。在 UDP 數(shù)據(jù)包中,UDP 獲取數(shù)據(jù)并附加其標(biāo)頭信息。該數(shù)據(jù)包括源端口和目標(biāo)端口、數(shù)據(jù)包的長(zhǎng)度和校驗(yàn)和。封裝在 IP 數(shù)據(jù)包中后,UDP 數(shù)據(jù)包被發(fā)送到它們的目的地。
與 TCP 不同,UDP 不保證數(shù)據(jù)包到達(dá)他們想要的目的地。這意味著,與 TCP 不同,UDP 不直接連接到接收計(jì)算機(jī)。相反,它會(huì)將數(shù)據(jù)發(fā)送出去,并依靠發(fā)送和接收計(jì)算機(jī)之間的設(shè)備來(lái)獲取需要發(fā)送的數(shù)據(jù)。
UDP的應(yīng)用
- UDP 可用于需要無(wú)損數(shù)據(jù)傳輸?shù)膱?chǎng)景。
- 對(duì)于感知延遲至關(guān)重要的應(yīng)用程序,如游戲、語(yǔ)音和視頻通信,UDP 是一個(gè)很好的網(wǎng)絡(luò)協(xié)議。這些示例可以在保持感知質(zhì)量的同時(shí)承受一些數(shù)據(jù)丟失。
- UDP 也可用于依賴可靠信息交換的應(yīng)用程序,但這些程序應(yīng)具有響應(yīng)數(shù)據(jù)包的技術(shù)。
- 因?yàn)樗峁┓纸M交換,UDP 也可以用于多播。UDP 也用于一些路由更新協(xié)議,例如路由信息協(xié)議。
- UDP 可用于速度比可靠性更重要的應(yīng)用程序。
TCP與UDP之間的區(qū)別


結(jié)論
在本文中,我們了解了 TCP 和 UDP 及其應(yīng)用和區(qū)別。
TCP和UDP都是用于發(fā)送數(shù)據(jù)位的協(xié)議 - 稱為數(shù)據(jù)包,它們都建立在 Internet 協(xié)議之上。