- N +

tcp和udp的區(qū)別和優(yōu)缺點(diǎn) tcp和udp都有流量控制嗎

其實(shí)tcp和udp的區(qū)別和優(yōu)缺點(diǎn)的問(wèn)題并不復(fù)雜,但是又很多的朋友都不太了解tcp和udp都有流量控制嗎,因此呢,今天小編就來(lái)為大家分享tcp和udp的區(qū)別和優(yōu)缺點(diǎn)的一些知識(shí),希望可以幫助到大家,下面我們一起來(lái)看看這個(gè)問(wèn)題的分析吧!

udp和tcp協(xié)議的路由區(qū)別

TCP路由

實(shí)現(xiàn)跨網(wǎng)段通信路由器的工作原理是基于路由器中的路由表來(lái)實(shí)現(xiàn)數(shù)據(jù)包的路徑選擇;當(dāng)路由器收到一個(gè)數(shù)據(jù)包的時(shí)候,會(huì)讀取數(shù)據(jù)包的目標(biāo)IP地址,根據(jù)目標(biāo)IP地址來(lái)匹配路由表中的規(guī)則;單個(gè)路由器不會(huì)負(fù)責(zé)數(shù)據(jù)包全程的發(fā)送,只負(fù)責(zé)把數(shù)據(jù)包轉(zhuǎn)發(fā)到下一個(gè)路由器即完成了任務(wù)。

UDP路由

它會(huì)向目標(biāo)主機(jī)發(fā)送UDP包,當(dāng)?shù)竭_(dá)經(jīng)過(guò)的路由器時(shí),TTL值為0,還沒(méi)有找到目標(biāo)主機(jī),經(jīng)過(guò)的路由器將返回超時(shí)消息的ICMP數(shù)據(jù)包,如果成功到達(dá)主機(jī),將不會(huì)返回任何響應(yīng)信息。netwox工具提供了編號(hào)為61和62的模塊,用來(lái)構(gòu)造UDP包進(jìn)行路由跟蹤。

tcp和udp哪個(gè)適用于可靠性較高的網(wǎng)絡(luò)

TCP是有連接的協(xié)議,更適合可靠性較高的網(wǎng)絡(luò)

TCP和UDP的區(qū)別

1、連接方面區(qū)別

TCP面向連接(如打電話要先撥號(hào)建立連接)。

UDP是無(wú)連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接。

2、安全方面的區(qū)別

TCP提供可靠的服務(wù),通過(guò)TCP連接傳送的數(shù)據(jù),無(wú)差錯(cuò),不丟失,不重復(fù),且按序到達(dá)。

UDP盡最大努力交付,即不保證可靠交付。

3、傳輸效率的區(qū)別

TCP傳輸效率相對(duì)較低。

UDP傳輸效率高,適用于對(duì)高速傳輸和實(shí)時(shí)性有較高的通信或廣播通信。

4、連接對(duì)象數(shù)量的區(qū)別

TCP連接只能是點(diǎn)到點(diǎn)、一對(duì)一的。

UDP支持一對(duì)一,一對(duì)多,多對(duì)一和多對(duì)多的交互通信。

TCP與UDP的區(qū)別

1、連接方面區(qū)別

TCP面向連接(如打電話要先撥號(hào)建立連接)。

UDP是無(wú)連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接。

2、安全方面的區(qū)別

TCP提供可靠的服務(wù),通過(guò)TCP連接傳送的數(shù)據(jù),無(wú)差錯(cuò),不丟失,不重復(fù),且按序到達(dá)。

UDP盡最大努力交付,即不保證可靠交付。

3、傳輸效率的區(qū)別

TCP傳輸效率相對(duì)較低。

UDP傳輸效率高,適用于對(duì)高速傳輸和實(shí)時(shí)性有較高的通信或廣播通信。

4、連接對(duì)象數(shù)量的區(qū)別

TCP連接只能是點(diǎn)到點(diǎn)、一對(duì)一的。

UDP支持一對(duì)一,一對(duì)多,多對(duì)一和多對(duì)多的交互通信。

TCP和UDP各有什么特點(diǎn),兩者有什么區(qū)別

數(shù)據(jù)傳輸——傳輸層協(xié)議原理

在互聯(lián)網(wǎng)上,每個(gè)網(wǎng)絡(luò)數(shù)據(jù)包的傳輸都遵循以下五層結(jié)構(gòu):

TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報(bào)協(xié)議)都是傳輸層協(xié)議,是一組在Internet上使用的通信協(xié)議,用于在網(wǎng)絡(luò)內(nèi)或網(wǎng)絡(luò)之間傳遞服務(wù)或數(shù)據(jù)包。它通常稱為Internet協(xié)議套件。

·傳輸層提供一個(gè)網(wǎng)絡(luò)連接以同時(shí)允許多個(gè)應(yīng)用程序。就像街道名稱帶有門牌號(hào)碼一樣,傳輸層在每個(gè)網(wǎng)絡(luò)連接中的計(jì)算機(jī)上創(chuàng)建65000個(gè)端口。

·這些端口可以被計(jì)算機(jī)上的應(yīng)用程序保留和使用。

·一個(gè)應(yīng)用程序可以根據(jù)需要同時(shí)使用多個(gè)端口。

傳輸層協(xié)議實(shí)現(xiàn)目的

例如,應(yīng)用程序保留了端口12437,以將消息發(fā)送到其他計(jì)算機(jī)上的端口80。每當(dāng)應(yīng)用程序?qū)觿?chuàng)建消息時(shí),都會(huì)在傳輸層上傳遞消息。在這一層中將消息包裝在一個(gè)段中。該段包含一些其他信息,例如源端口和目標(biāo)端口。創(chuàng)建段后,該段將傳遞到網(wǎng)絡(luò)層以進(jìn)行進(jìn)一步處理。

·當(dāng)它從網(wǎng)絡(luò)層傳遞到傳輸層時(shí),網(wǎng)段將顯示在接收方。

·將檢查網(wǎng)段以確定目標(biāo)端口。

·然后,將郵件解包并傳遞到端口80。

傳輸協(xié)議的重點(diǎn)是使通信獨(dú)立于底層網(wǎng)絡(luò)技術(shù),只需關(guān)注端到端通訊,而不用考慮路由或媒體訪問(wèn)。

什么是TCP?

TCP是一種面向連接的點(diǎn)對(duì)點(diǎn)傳輸通信協(xié)議,它以有序順序?qū)?shù)據(jù)包作為非結(jié)構(gòu)化字節(jié)流發(fā)送。TCP通過(guò)使用序列號(hào)和確認(rèn)消息,從發(fā)送節(jié)點(diǎn)提供有關(guān)傳輸?shù)侥繕?biāo)節(jié)點(diǎn)的數(shù)據(jù)包的傳遞的信息。TCP確保數(shù)據(jù)的可靠性,端到端傳遞,重新排序和重傳,直到達(dá)到超時(shí)條件或接收到數(shù)據(jù)包的確認(rèn)為止。

此外,TCP提供流控制機(jī)制來(lái)維持通過(guò)高速網(wǎng)絡(luò)傳輸?shù)母邤?shù)據(jù)包,并且TCP協(xié)議通過(guò)觸發(fā)數(shù)據(jù)包的重傳直到接收到無(wú)錯(cuò)誤的確認(rèn),從而提供錯(cuò)誤檢測(cè)和丟失的數(shù)據(jù)功能。TCP協(xié)議與應(yīng)用程序?qū)訁f(xié)議(例如(FTP)文件傳輸協(xié)議,(SMTP)簡(jiǎn)單郵件傳輸協(xié)議和(HTTP)超文本傳輸協(xié)議)保持通信。

什么是UDP?

用戶數(shù)據(jù)報(bào)協(xié)議(UDP)是一種無(wú)連接的傳輸層通信協(xié)議,用于建立低容忍和丟失等待時(shí)間的連接,以在網(wǎng)絡(luò)內(nèi)或網(wǎng)絡(luò)之間傳遞服務(wù)或數(shù)據(jù)包。它與Internet協(xié)議套件結(jié)合在一起,可以替代TCP協(xié)議。

UDP會(huì)構(gòu)造一個(gè)數(shù)據(jù)報(bào)包,并使用IP端口號(hào)和數(shù)據(jù)包以及可選的校驗(yàn)和功能來(lái)尋址該數(shù)據(jù)報(bào)包,以驗(yàn)證完整數(shù)據(jù)到達(dá)的接收。由于UDP協(xié)議是簡(jiǎn)單協(xié)議,可以在發(fā)送方端決定是否重發(fā)數(shù)據(jù)包,以在數(shù)據(jù)傳輸上以低延遲換取高可靠性。由于網(wǎng)絡(luò)廣播功能可以將數(shù)據(jù)包廣播到同一網(wǎng)絡(luò)上的某些計(jì)算機(jī),UDP減少了總體網(wǎng)絡(luò)通信量,并且無(wú)需在網(wǎng)絡(luò)上進(jìn)行重復(fù)。由于UDP是無(wú)連接協(xié)議,數(shù)據(jù)內(nèi)容包的傳遞或順序會(huì)有所不同。

UDP與更高級(jí)別的協(xié)議(例如瑣碎的文件傳輸協(xié)議,實(shí)時(shí)流協(xié)議,簡(jiǎn)單的網(wǎng)絡(luò)協(xié)議和域名系統(tǒng)查找)結(jié)合使用,以管理整個(gè)網(wǎng)絡(luò)上的數(shù)據(jù)傳輸服務(wù)。

TCPVsUDP協(xié)議

(1)兩者類比

UDP:有人向快遞員傳遞了一條消息,該消息會(huì)在他們走開(kāi)之前盡力向接收者的方向扔。

TCP:有人向快遞員傳遞消息,然后在信箋上寫(xiě)上序號(hào),進(jìn)行復(fù)印,然后將原件盡可能向接收者方向扔,然后等待答復(fù),然后將其遞回給發(fā)送者。如果他們沒(méi)有收到答復(fù),則他們?cè)僦谱饕环莶l(fā)送。當(dāng)他們收到答復(fù)時(shí),將其交給發(fā)件人,并丟棄其副本。如果答復(fù)不正確,則在將其交給發(fā)件人之前,他們會(huì)按正確的順序排列它們。

在UDP情況下,發(fā)件人在郵件傳遞中承擔(dān)更多責(zé)任。在TCP情況下,快遞員承擔(dān)更多責(zé)任。在TCP情況下,發(fā)件人必須向快遞員“支付更多”的內(nèi)存,延遲和開(kāi)銷。在某些情況下,為保證消息傳遞而增加的成本是不值得的。

(2)兩者區(qū)別

(3)連接建立方式

TCP具有類似的建立協(xié)議,稱為“三向握手”。“客戶端”(有人要求連接)將向正在監(jiān)聽(tīng)這些消息的“服務(wù)器”發(fā)送“SYN”(同步請(qǐng)求)消息;如果服務(wù)器決定接受該請(qǐng)求,它將發(fā)送回“SYN/ACK”消息,以確認(rèn)先前的請(qǐng)求并請(qǐng)求其自己的通信“返回通道”。然后,客戶端發(fā)送回“ACK”消息,以確認(rèn)服務(wù)器的請(qǐng)求,并建立雙向通信通道。

可以將UDP視為對(duì)講機(jī)。按下一個(gè)按鈕并開(kāi)始通話,任何聽(tīng)過(guò)該頻率的人都將聽(tīng)到它,除非他們也使用相同的頻率進(jìn)行通話。

(4)區(qū)別總結(jié)

數(shù)據(jù)傳輸功能

TCP支持在兩個(gè)主機(jī)之間建立牢固的連接以交換流中的數(shù)據(jù)。TCP保證以與服務(wù)器發(fā)送給用戶的順序相同的方式傳遞數(shù)據(jù),反之亦然。TCP是一種面向連接的協(xié)議。UDP是無(wú)連接的,并且非專用協(xié)議不會(huì)檢查接收方主機(jī)的準(zhǔn)備情況。

可靠性

TCP的可靠性相對(duì)較高,因?yàn)樗梢源_保在傳輸過(guò)程中丟失數(shù)據(jù)部分的情況下進(jìn)行消息確認(rèn)和數(shù)據(jù)重傳。機(jī)不會(huì)丟失任何丟失的數(shù)據(jù)。另一方面,UDP不提供消息確認(rèn),超時(shí)或重傳功能的概念。不存在有關(guān)分組是否已到達(dá)接收方或在傳輸中丟失的通信。

序列

TCP傳輸數(shù)據(jù)包的順序與接收到的順序相同。萬(wàn)一數(shù)據(jù)包以錯(cuò)誤的順序到達(dá),TCP會(huì)對(duì)它們重新排序并以正確的順序傳遞。在UDP的情況下,以特定順序發(fā)送的消息可能會(huì)或可能不會(huì)在交付主機(jī)時(shí)得到維護(hù)。傳輸分組的順序或順序是不可預(yù)測(cè)的。

連接

TCP連接非常重要,它需要將近三個(gè)數(shù)據(jù)包才能進(jìn)行適當(dāng)?shù)奶捉幼诌B接,并且可以處理?yè)砣刂坪涂煽康膫鬟f。另一方面,UDP連接是輕量級(jí)的,可傳輸通過(guò)特定IP設(shè)計(jì)的層。沒(méi)有連接正在跟蹤或排序消息。

數(shù)據(jù)流

傳輸控制協(xié)議以字節(jié)流的形式讀取數(shù)據(jù),并將消息傳輸?shù)蕉芜吔纭DP消息包含一一發(fā)送的數(shù)據(jù)包,并在到達(dá)時(shí)檢查其完整性。

傳輸速度

與UDP相比,TCP的速度較慢,因?yàn)樗鼨z查錯(cuò)誤并重新傳輸數(shù)據(jù)包。

標(biāo)頭大小

標(biāo)頭的TCP大小為20個(gè)字節(jié),而UDP為8個(gè)字節(jié)。但是,它們具有公共標(biāo)頭字段,即源點(diǎn),目標(biāo)點(diǎn)和校驗(yàn)和。

其他協(xié)議的使用

由其他協(xié)議使用FTP,SMTP,HTTP,HTTP,Telnet,TCP協(xié)議和TFTP,SNMP,DNS,DHCP,RIP,VOIP使用UDP協(xié)議。

錯(cuò)誤檢測(cè)

傳輸控制協(xié)議通過(guò)校驗(yàn)和檢測(cè)錯(cuò)誤并執(zhí)行錯(cuò)誤恢復(fù)。如果有任何數(shù)據(jù)包有誤,則接收者不會(huì)確認(rèn)它們,進(jìn)而觸發(fā)主機(jī)/發(fā)送者的重新傳輸。

這種機(jī)制稱為PAR(帶重傳的肯定確認(rèn))。由于TCP比UDP慢,TCP適用于不需要高速或傳輸時(shí)間較長(zhǎng)的應(yīng)用程序。

關(guān)于錯(cuò)誤檢測(cè)和錯(cuò)誤恢復(fù),UDP會(huì)盡力而為。該協(xié)議還支持錯(cuò)誤檢測(cè)。但是,校驗(yàn)和檢測(cè)到的錯(cuò)誤數(shù)據(jù)包將被丟棄。UDP不會(huì)嘗試重新傳輸數(shù)據(jù)包。

UDP不嘗試重發(fā)數(shù)據(jù)包的原因是該協(xié)議通常用于對(duì)時(shí)間敏感的應(yīng)用程序,例如語(yǔ)音傳輸,游戲等。嘗試進(jìn)行重發(fā)時(shí),恢復(fù)嘗試毫無(wú)意義,并且數(shù)據(jù)包被接收,它們將無(wú)用。

總結(jié)

TCP/UDP協(xié)議,是傳輸層的標(biāo)準(zhǔn)協(xié)議,根據(jù)應(yīng)用的場(chǎng)景和需求來(lái)決具體使用何種協(xié)議,是網(wǎng)絡(luò)編程的基本規(guī)律,根據(jù)不同場(chǎng)景選擇合適的協(xié)議。

TCP應(yīng)用場(chǎng)景:

效率要求相對(duì)低,但對(duì)準(zhǔn)確性要求相對(duì)高的場(chǎng)景。例如:文件傳輸、收發(fā)郵件、遠(yuǎn)程登錄。

UDP應(yīng)用場(chǎng)景:

效率要求相對(duì)高,對(duì)準(zhǔn)確性要求相對(duì)低的場(chǎng)景。例如:視頻會(huì)議等。

以上是我的淺薄之見(jiàn),歡迎指正,謝謝!

OK,關(guān)于tcp和udp的區(qū)別和優(yōu)缺點(diǎn)和tcp和udp都有流量控制嗎的內(nèi)容到此結(jié)束了,希望對(duì)大家有所幫助。

返回列表
上一篇:
下一篇: