0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

TCP和UDP如何實(shí)現(xiàn)可靠性傳輸

STM32嵌入式開發(fā) ? 來(lái)源:博客園-ostin ? 2023-10-16 14:19 ? 次閱讀

一、udp與tcp的區(qū)別:

TCP(TransmissionControl Protocol 傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議。

UDP是User Datagram Protocol,一種無(wú)連接的傳輸層協(xié)議,提供面向事務(wù)的簡(jiǎn)單不可靠信息傳送服務(wù)??煽啃杂缮蠈討?yīng)用實(shí)現(xiàn),所以要實(shí)現(xiàn)udp可靠性傳輸,必須通過(guò)應(yīng)用層來(lái)實(shí)現(xiàn)和控制。

二、TCP如何實(shí)現(xiàn)可靠性傳輸:

可靠性:

應(yīng)用數(shù)據(jù)被分割成TCP認(rèn)為最適合發(fā)送的數(shù)據(jù)塊。這和UDP完全不同,應(yīng)用程序產(chǎn)生的數(shù)據(jù)長(zhǎng)度將保持不變。由TCP傳遞給IP的信息單位稱為報(bào)文段或段(segment)。

當(dāng)TCP發(fā)出一個(gè)段后,它啟動(dòng)一個(gè)定時(shí)器,等待目的端確認(rèn)收到這個(gè)報(bào)文段。如果不能及時(shí)收到一個(gè)確認(rèn),將重發(fā)這個(gè)報(bào)文段。當(dāng)TCP收到發(fā)自TCP連接另一端的數(shù)據(jù),它將發(fā)送一個(gè)確認(rèn)。TCP有延遲確認(rèn)的功能,在此功能沒有打開,則是立即確認(rèn)。功能打開,則由定時(shí)器觸發(fā)確認(rèn)時(shí)間點(diǎn)。

TCP將保持它首部和數(shù)據(jù)的檢驗(yàn)和。這是一個(gè)端到端的檢驗(yàn)和,目的是檢測(cè)數(shù)據(jù)在傳輸過(guò)程中的任何變化。如果收到段的檢驗(yàn)和有差錯(cuò),TCP將丟棄這個(gè)報(bào)文段和不確認(rèn)收到此報(bào)文段(希望發(fā)端超時(shí)并重發(fā))。

既然TCP報(bào)文段作為IP數(shù)據(jù)報(bào)來(lái)傳輸,而IP數(shù)據(jù)報(bào)的到達(dá)可能會(huì)失序,因此TCP報(bào)文段的到達(dá)也可能會(huì)失序。如果必要,TCP將對(duì)收到的數(shù)據(jù)進(jìn)行重新排序,將收到的數(shù)據(jù)以正確的順序交給應(yīng)用層。

既然IP數(shù)據(jù)報(bào)會(huì)發(fā)生重復(fù),TCP的接收端必須丟棄重復(fù)的數(shù)據(jù)。

TCP還能提供流量控制。TCP連接的每一方都有固定大小的緩沖空間。TCP的接收端只允許另一端發(fā)送接收端緩沖區(qū)所能接納的數(shù)據(jù)。這將防止較快主機(jī)致使較慢主機(jī)的緩沖區(qū)溢出。

重傳策略:

TCP協(xié)議用于控制數(shù)據(jù)段是否需要重傳的依據(jù)是設(shè)立重發(fā)定時(shí)器。在發(fā)送一個(gè)數(shù)據(jù)段的同時(shí)啟動(dòng)一個(gè)重傳,如果在重傳超時(shí)前收到確認(rèn)(Acknowlegement)就關(guān)閉該重傳,如果重傳超時(shí)前沒有收到確認(rèn),則重傳該數(shù)據(jù)段。在選擇重發(fā)時(shí)間的過(guò)程中,TCP必須具有自適應(yīng)性。它需要根據(jù)互聯(lián)網(wǎng)當(dāng)時(shí)的通信情況,給出合適的重發(fā)時(shí)間。

這種重傳策略的關(guān)鍵是對(duì)定時(shí)器初值的設(shè)定。采用較多的算法是Jacobson于1988年提出的一種不斷調(diào)整超時(shí)時(shí)間間隔的動(dòng)態(tài)算法。其工作原理是:對(duì)每條連接TCP都保持一個(gè)變量RTT(Round Trip Time),用于存放當(dāng)前到目的端往返所需要時(shí)間最接近的估計(jì)值。當(dāng)發(fā)送一個(gè)數(shù)據(jù)段時(shí),同時(shí)啟動(dòng)連接的定時(shí)器,如果在定時(shí)器超時(shí)前確認(rèn)到達(dá),則記錄所需要的時(shí)間(M),并修正[2] RTT的值,如果定時(shí)器超時(shí)前沒有收到確認(rèn),則將RTT的值增加1倍。通過(guò)測(cè)量一系列的RTT(往返時(shí)間)值,TCP協(xié)議可以估算數(shù)據(jù)包重發(fā)前需要等待的時(shí)間。在估計(jì)該連接所需的當(dāng)前延遲時(shí)通常利用一些統(tǒng)計(jì)學(xué)的原理和算法(如Karn算法),從而得到TCP重發(fā)之前需要等待的時(shí)間值。

窗口確認(rèn):

TCP的一項(xiàng)功能就是確保每個(gè)數(shù)據(jù)段都能到達(dá)目的地。位于目的主機(jī)的TCP服務(wù)對(duì)接受到的數(shù)據(jù)進(jìn)行確認(rèn),并向源應(yīng)用程序發(fā)送確認(rèn)信息。使用數(shù)據(jù)報(bào)頭序列號(hào)以及確認(rèn)號(hào)來(lái)確認(rèn)已收到包含在數(shù)據(jù)段的相關(guān)的數(shù)據(jù)字節(jié)。

TCP在發(fā)回源設(shè)備的數(shù)據(jù)段中使用確認(rèn)號(hào),指示接收設(shè)備期待接收的下一字節(jié)。這個(gè)過(guò)程稱為期待確認(rèn)。

源主機(jī)在收到確認(rèn)消息之前可以傳輸?shù)臄?shù)據(jù)的大小稱為窗口大小。用于管理丟失數(shù)據(jù)和流量控制。

三、udp如何實(shí)現(xiàn)可靠性傳輸:

UDP它不屬于連接型協(xié)議,因而具有資源消耗小,處理速度快的優(yōu)點(diǎn),所以通常音頻、視頻和普通數(shù)據(jù)在傳送時(shí)使用UDP較多,因?yàn)樗鼈兗词古紶杹G失一兩個(gè)數(shù)據(jù)包,也不會(huì)對(duì)接收結(jié)果產(chǎn)生太大影響。

傳輸層無(wú)法保證數(shù)據(jù)的可靠傳輸,只能通過(guò)應(yīng)用層來(lái)實(shí)現(xiàn)了。實(shí)現(xiàn)的方式可以參照tcp可靠性傳輸?shù)姆绞剑皇菍?shí)現(xiàn)不在傳輸層,實(shí)現(xiàn)轉(zhuǎn)移到了應(yīng)用層。

實(shí)現(xiàn)確認(rèn)機(jī)制、重傳機(jī)制、窗口確認(rèn)機(jī)制。

如果你不利用Linux協(xié)議棧以及上層socket機(jī)制,自己通過(guò)抓包和發(fā)包的方式去實(shí)現(xiàn)可靠性傳輸,那么必須實(shí)現(xiàn)如下功能:

發(fā)送:包的分片、包確認(rèn)、包的重發(fā)

接收:包的調(diào)序、包的序號(hào)確認(rèn)

目前有如下開源程序利用udp實(shí)現(xiàn)了可靠的數(shù)據(jù)傳輸。分別為RUDP、RTP、UDT。

RUDP:

RUDP 提供一組數(shù)據(jù)服務(wù)質(zhì)量增強(qiáng)機(jī)制,如擁塞控制的改進(jìn)、重發(fā)機(jī)制及淡化服務(wù)器算法等,從而在包丟失和網(wǎng)絡(luò)擁塞的情況下, RTP 客戶機(jī)(實(shí)時(shí)位置)面前呈現(xiàn)的就是一個(gè)高質(zhì)量的 RTP 流。在不干擾協(xié)議的實(shí)時(shí)特性的同時(shí),可靠 UDP 的擁塞控制機(jī)制允許 TCP 方式下的流控制行為。

RTP:

實(shí)時(shí)傳輸協(xié)議(RTP)為數(shù)據(jù)提供了具有實(shí)時(shí)特征的端對(duì)端傳送服務(wù),如在組播或單播網(wǎng)絡(luò)服務(wù)下的交互式視頻音頻或模擬數(shù)據(jù)。應(yīng)用程序通常在 UDP 上運(yùn)行 RTP 以便使用其多路結(jié)點(diǎn)和校驗(yàn)服務(wù);這兩種協(xié)議都提供了傳輸層協(xié)議的功能。但是 RTP 可以與其它適合的底層網(wǎng)絡(luò)或傳輸協(xié)議一起使用。如果底層網(wǎng)絡(luò)提供組播方式,那么 RTP 可以使用該組播表傳輸數(shù)據(jù)到多個(gè)目的地。

RTP 本身并沒有提供按時(shí)發(fā)送機(jī)制或其它服務(wù)質(zhì)量(QoS)保證,它依賴于底層服務(wù)去實(shí)現(xiàn)這一過(guò)程。RTP 并不保證傳送或防止無(wú)序傳送,也不確定底層網(wǎng)絡(luò)的可靠性。RTP 實(shí)行有序傳送, RTP 中的序列號(hào)允許接收方重組發(fā)送方的包序列,同時(shí)序列號(hào)也能用于決定適當(dāng)?shù)陌恢?,例如:在視頻解碼中,就不需要順序解碼。

UDT:

基于UDP的數(shù)據(jù)傳輸協(xié)議(UDP-basedData Transfer Protocol,簡(jiǎn)稱UDT)是一種互聯(lián)網(wǎng)數(shù)據(jù)傳輸協(xié)議。UDT的主要目的是支持高速?gòu)V域網(wǎng)上的海量數(shù)據(jù)傳輸,而互聯(lián)網(wǎng)上的標(biāo)準(zhǔn)數(shù)據(jù)傳輸協(xié)議TCP在高帶寬長(zhǎng)距離網(wǎng)絡(luò)上性能很差。顧名思義,UDT建于UDP之上,并引入新的擁塞控制和數(shù)據(jù)可靠性控制機(jī)制。UDT是面向連接的雙向的應(yīng)用層協(xié)議。它同時(shí)支持可靠的數(shù)據(jù)流傳輸和部分可靠的數(shù)據(jù)報(bào)傳輸。由于UDT完全在UDP上實(shí)現(xiàn),它也可以應(yīng)用在除了高速數(shù)據(jù)傳輸之外的其它應(yīng)用領(lǐng)域,例如點(diǎn)到點(diǎn)技術(shù)(P2P),防火墻穿透,多媒體數(shù)據(jù)傳輸?shù)鹊取?/p>

因項(xiàng)目中的需要,現(xiàn)在詳細(xì)分析一下UDT是如何通過(guò)udp實(shí)現(xiàn)數(shù)據(jù)的可靠傳輸。通過(guò)閱讀源碼的方式。

四、UDT原理分析:

主要通過(guò)分析源碼來(lái)弄清楚如何利用udp實(shí)現(xiàn)數(shù)據(jù)的可靠性傳輸,主要按照協(xié)議格式、關(guān)鍵數(shù)據(jù)結(jié)構(gòu)等展開。

UDT應(yīng)用層協(xié)議:

UDT并不是在瓶勁帶寬相對(duì)較小的和大量多元短文檔流的情況下用來(lái)取代TCP的。

UDT主要作為TCP的朋友,和TCP并存,UDT分配的帶寬不應(yīng)該超過(guò)根據(jù)MAX-MIN規(guī)則的最大最小公平共享原則。(備注,最大最小規(guī)則允許UDT在高BDP連接下分配TCP不能使用的可用帶寬)。

UDT是雙工的,每個(gè)UDT實(shí)體有兩個(gè)部分:發(fā)送和接收。

發(fā)送者根據(jù)流量控制和速率控制來(lái)發(fā)送(和重傳)應(yīng)用程式數(shù)據(jù)。

接收者接收數(shù)據(jù)包和控制包,并根據(jù)接收到的包發(fā)送控制包。發(fā)送和接收程式共享同一個(gè)UDP端口來(lái)發(fā)送和接收。

接收者也負(fù)責(zé)觸發(fā)和處理任何的控制事件,包括擁塞控制和可靠性控制和他們的相對(duì)機(jī)制,例如RTT估計(jì)、帶寬估計(jì)、應(yīng)答和重傳。

UDT總是試著將應(yīng)用層數(shù)據(jù)打包成固定的大小,除非數(shù)據(jù)不夠這么大。和TCP相似的是,這個(gè)固定的包大小叫做MSS(最大包大?。?。由于期望UDT用來(lái)傳輸大塊數(shù)據(jù)流,我們假定只有很小的一部分不規(guī)則的大小的包在UDT session中。MSS能夠通過(guò)應(yīng)用程式來(lái)安裝,MTU是其最優(yōu)值(包括任何包頭)。

UDT擁塞控制算法將速率控制和窗口(流量控制)合并起來(lái),前者調(diào)整包的發(fā)送周期,后者限制最大的位被應(yīng)答的包。在速率控制中使用的參數(shù)通過(guò)帶寬估計(jì)技術(shù)來(lái)更新,他繼承來(lái)自基于接收的包方法。同時(shí),速率控制周期是估計(jì)RTT的常量,流控制參數(shù)依賴于對(duì)方的數(shù)據(jù)到達(dá)速度,另外接收端釋放的緩沖區(qū)的大小。

報(bào)文類型及格式:

UDT有兩種包:數(shù)據(jù)包和控制包。他們通過(guò)包頭的第一位來(lái)區(qū)分(標(biāo)志位)。如果是0,表示是數(shù)據(jù)包,1表示是控制包。

數(shù)據(jù)包:

數(shù)據(jù)包結(jié)構(gòu)如下顯示:

wKgZomUs1jCAAkhSAAAw0Vvupm8819.png

包序號(hào)是UDT數(shù)據(jù)包頭中唯一的內(nèi)容。它是一個(gè)無(wú)符號(hào)整數(shù),使用標(biāo)志位后的31位,UDT使用包基礎(chǔ)的需要,例如,每個(gè)非重傳的包都增加序號(hào)1。序號(hào)在到達(dá)最大值2^31-1的時(shí)候覆蓋。緊跟在這些數(shù)據(jù)后面的是應(yīng)用程序數(shù)據(jù)。

控制包:

控制包結(jié)構(gòu)如下:

wKgZomUs1jCAJrtyAAA6xpS3yHw221.png

有6種類型的控制包在UDT中,bit1-3表示這些信息。前32位在包頭中必須存在??刂菩畔⒆侄伟?(例如,它不存在)或者多個(gè)32位無(wú)符號(hào)整數(shù),這由包類型決定。

UDT使用應(yīng)答子序號(hào)的方法。每個(gè)ACK/ACK2包有一個(gè)無(wú)符號(hào)的16位序號(hào),它獨(dú)立于數(shù)據(jù)包需要。它使用位16-31。應(yīng)答需要從0到(2^16-1)。位16-31在其他控制包中沒有定義。

wKgaomUs1jCAEliCAABQ-krFD3I305.png

注意,對(duì)于數(shù)據(jù)和控制包來(lái)說(shuō),可以從UDP協(xié)議頭中得到實(shí)際的包大小。包大小信息能被用來(lái)得到有效的數(shù)據(jù)負(fù)載和NAK包中的控制信息字段大小。

定時(shí)器:

UDT在接收端使用4個(gè)定時(shí)器來(lái)觸發(fā)不同的周期事件,包括速率控制、應(yīng)答、丟失報(bào)告(negative應(yīng)答)和重傳/連接維護(hù)。

UDT中的定時(shí)器使用系統(tǒng)時(shí)間作為源。UDT接收端主動(dòng)查詢系統(tǒng)時(shí)間來(lái)檢查一個(gè)定時(shí)器是否過(guò)期。對(duì)于某個(gè)定時(shí)器T來(lái)說(shuō),其擁有周期TP,將定變量t用來(lái)記錄最近T被設(shè)置或復(fù)位的時(shí)間。如果T在系統(tǒng)時(shí)間t0(t= t0)被復(fù)位,那么任何t1(t1-t>=TP)是T過(guò)期的條件。

四個(gè)定時(shí)器是:RC定時(shí)器、ACK定時(shí)器、NAK定時(shí)器、EXP定時(shí)器。他們的周期分別是:RCTP、ATP、NTP、ETP。

RC定時(shí)器用來(lái)觸發(fā)周期性的速率控制。ACK定時(shí)器用來(lái)觸發(fā)周期性的有選擇的應(yīng)答(應(yīng)答包)。RCTP和ATP是常量值,值為:RCTP=ATP=0.01秒。

NAK被用來(lái)觸發(fā)negative應(yīng)答(NAK包)。重傳定時(shí)器被用來(lái)觸發(fā)一個(gè)數(shù)據(jù)包的重傳和維護(hù)連接狀態(tài)。他們周期依賴于對(duì)于RTT的估計(jì)。ETP值也依賴于連續(xù)EXP時(shí)間溢出的次數(shù)。推薦的RTT初始值是0.1秒,而NTP和ETP的初始值是:NTP=3RTT,ETP=3RTT+ATP。

在每次bounded UDP接收操作(如果收到一個(gè)UDP包,一些額外的必須的數(shù)據(jù)處理時(shí)間)時(shí)查詢系統(tǒng)時(shí)間來(lái)檢查四個(gè)定時(shí)器是否已經(jīng)過(guò)期。推薦的周期粒度是微秒。UDP接收時(shí)間溢出值是實(shí)現(xiàn)的一個(gè)選擇,這依賴于循環(huán)查詢的負(fù)擔(dān)和事件周期精確度之間的權(quán)衡。

速率控制事件更新包發(fā)送周期,UDT發(fā)送端使用STP來(lái)安排數(shù)據(jù)包的發(fā)送。假定一個(gè)在時(shí)間t0被發(fā)送,那么下一次包發(fā)送時(shí)間是(t0+ STP)。換句話說(shuō),如果前面的包發(fā)送花費(fèi)了t’時(shí)間,發(fā)送端將等待(STP-t’)來(lái)發(fā)送下一個(gè)數(shù)據(jù)包(如果STP-t’ <0,就不需要等待了)。這個(gè)等待間隔需要一個(gè)高精確度的實(shí)現(xiàn),推薦使用CPU時(shí)鐘周期粒度。

最簡(jiǎn)單的方式是在應(yīng)用層模仿傳輸層TCP的可靠性傳輸。下面不考慮擁塞處理,談?wù)勛约旱膫€(gè)人簡(jiǎn)單粗暴的設(shè)計(jì):

1、添加seq/ack機(jī)制,確保數(shù)據(jù)發(fā)送到對(duì)端。

2、添加發(fā)送和接收緩沖區(qū),主要是用戶超時(shí)重傳。

3、添加超時(shí)重傳機(jī)制。

發(fā)送端發(fā)送數(shù)據(jù)時(shí),生成一個(gè)隨機(jī)seq=x,然后每一片按照數(shù)據(jù)大小分配seq。數(shù)據(jù)到達(dá)接收端后接收端放入緩存,并發(fā)送一個(gè)ack=x的包,表示對(duì)方已經(jīng)收到了數(shù)據(jù)。發(fā)送端收到了ack包后,刪除緩沖區(qū)對(duì)應(yīng)的數(shù)據(jù)。

時(shí)間到后,定時(shí)任務(wù)檢查是否需要重傳數(shù)據(jù)。

如下是tcp的確認(rèn)機(jī)制

wKgaomUs1jCAYD0VAAJBFY_HNAo095.png

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 通信協(xié)議
    +關(guān)注

    關(guān)注

    28

    文章

    899

    瀏覽量

    40348
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3253

    瀏覽量

    115063
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1374

    瀏覽量

    79157
  • UDP
    UDP
    +關(guān)注

    關(guān)注

    0

    文章

    327

    瀏覽量

    34000
  • 傳輸層
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    10918

原文標(biāo)題:UDP實(shí)現(xiàn)可靠性傳輸,附項(xiàng)目鏈接

文章出處:【微信號(hào):c-stm32,微信公眾號(hào):STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    通信必備知識(shí)!TCPUDP協(xié)議介紹及使用

    TCPUDP是兩個(gè)最常用的通訊協(xié)議。TCP是面向連接的協(xié)議,需要在收發(fā)數(shù)據(jù)前與對(duì)方建立可靠的連接,建立連接的過(guò)程為3次握手,斷開連接的過(guò)程為4次揮手,確保數(shù)據(jù)
    的頭像 發(fā)表于 03-15 08:19 ?1984次閱讀
    通信必備知識(shí)!<b class='flag-5'>TCP</b>與<b class='flag-5'>UDP</b>協(xié)議介紹及使用

    求助關(guān)于TCP/UDP傳輸的問題

    本帖最后由 思想的小魚 于 2016-5-20 10:47 編輯 樓主完成了UDPTCP傳輸的模塊,但目的是實(shí)現(xiàn)UDP
    發(fā)表于 05-20 10:43

    TCPUDP有哪些不同

    TCP:為應(yīng)用程序提供可靠的通信連接。適合于一次傳輸大批數(shù)據(jù)的情況。并適用于要求得到響應(yīng)的應(yīng)用程序。UDP:提供了無(wú)連接通信,且不對(duì)傳送包進(jìn)行可靠性
    發(fā)表于 11-04 06:47

    TCP協(xié)議保證數(shù)據(jù)傳輸可靠性的方式主要有什么

    的必要(1)可靠實(shí)現(xiàn)TCP全雙工連接的終止(2)允許老的重復(fù)分節(jié)在網(wǎng)絡(luò)中的消逝(為什么需要2***)6、流量控制7、擁塞控制TCP協(xié)議
    發(fā)表于 12-22 08:03

    TCP協(xié)議如何保證可靠性

    strcpy()函數(shù)標(biāo)準(zhǔn)該如何去實(shí)現(xiàn)呢?TCP協(xié)議如何保證可靠性呢?
    發(fā)表于 12-24 06:10

    TCPUDP的區(qū)別分析

      傳輸層協(xié)議主要有TCPUDPUDP提供無(wú)連接的通信,不能保證數(shù)據(jù)包被發(fā)送到目標(biāo)地址,典型的即時(shí)傳輸少量數(shù)據(jù)的應(yīng)用程序通常使用
    發(fā)表于 09-18 10:29 ?2次下載

    tcpudp的應(yīng)用場(chǎng)景

    從特點(diǎn)上我們已經(jīng)知道,TCP可靠的但傳輸速度慢 ,UDP 是不可靠的但傳輸速度快。因此在選用
    發(fā)表于 12-08 10:16 ?1.5w次閱讀
    <b class='flag-5'>tcp</b>和<b class='flag-5'>udp</b>的應(yīng)用場(chǎng)景

    tcpudp協(xié)議的異同

    UDP 協(xié)議 UDP 協(xié)議是無(wú)連接、不可靠的一個(gè)傳輸層協(xié)議。下圖是 UDP 數(shù)據(jù)報(bào)格式。 端口號(hào)用來(lái)區(qū)分發(fā)送進(jìn)程和接收進(jìn)程。
    的頭像 發(fā)表于 11-12 14:45 ?4122次閱讀
    <b class='flag-5'>tcp</b>和<b class='flag-5'>udp</b>協(xié)議的異同

    UDP能否像TCP一樣實(shí)現(xiàn)可靠傳輸?

    UDP (User Datagram Protocol)是一種無(wú)連接的協(xié)議,基于數(shù)據(jù)報(bào)的傳輸方式。在網(wǎng)絡(luò)通信中,它通常用于快速傳輸數(shù)據(jù)包,但卻無(wú)法保證數(shù)據(jù)包的可靠
    的頭像 發(fā)表于 06-05 09:48 ?702次閱讀
    <b class='flag-5'>UDP</b>能否像<b class='flag-5'>TCP</b>一樣<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>可靠</b><b class='flag-5'>傳輸</b>?

    UDP一定比TCP更快嗎?什么情況下用UDP會(huì)更慢?

    當(dāng)談到網(wǎng)絡(luò)傳輸時(shí),大多數(shù)人可能認(rèn)為TCP是最好的選擇。因?yàn)?b class='flag-5'>TCP是一種可靠的協(xié)議,它可以確保數(shù)據(jù)的可靠性和完整
    的頭像 發(fā)表于 04-03 09:38 ?1621次閱讀
    <b class='flag-5'>UDP</b>一定比<b class='flag-5'>TCP</b>更快嗎?什么情況下用<b class='flag-5'>UDP</b>會(huì)更慢?

    UDP能否像TCP一樣實(shí)現(xiàn)可靠傳輸?

    連接的協(xié)議,基于字節(jié)流的傳輸方式。它通過(guò)確認(rèn)和重傳等機(jī)制來(lái)保證數(shù)據(jù)的完整和順序實(shí)現(xiàn)數(shù)據(jù)包的可靠傳輸
    的頭像 發(fā)表于 06-08 14:50 ?943次閱讀
    <b class='flag-5'>UDP</b>能否像<b class='flag-5'>TCP</b>一樣<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>可靠</b><b class='flag-5'>傳輸</b>?

    udp是什么協(xié)議 TCPUDP的區(qū)別

    TCP協(xié)議提供可靠的數(shù)據(jù)傳輸,UDP協(xié)議提供盡量高效的數(shù)據(jù)傳輸。TCP協(xié)議通過(guò)使用序列號(hào)、確認(rèn)應(yīng)
    的頭像 發(fā)表于 06-26 17:47 ?1.1w次閱讀

    TCPUDP的區(qū)別

    可靠傳輸,使用流量控制和擁塞控制;UDP是不可靠傳輸 TCP首部最小20字節(jié),最大60字節(jié);
    的頭像 發(fā)表于 11-09 09:35 ?6150次閱讀
    <b class='flag-5'>TCP</b>和<b class='flag-5'>UDP</b>的區(qū)別

    如何選擇傳輸層協(xié)議?TCPUDP的優(yōu)缺點(diǎn)和適用場(chǎng)合

    可靠性至關(guān)重要。本文將詳細(xì)介紹TCPUDP的優(yōu)缺點(diǎn)以及適用場(chǎng)合。 1. TCP的優(yōu)點(diǎn)和適用場(chǎng)合: TCP是一種
    的頭像 發(fā)表于 12-11 11:42 ?1051次閱讀

    UDPTCP的主要區(qū)別 UDP能否像TCP一樣實(shí)現(xiàn)可靠傳輸

    UDPTCP的主要區(qū)別 UDP能否像TCP一樣實(shí)現(xiàn)可靠傳輸
    的頭像 發(fā)表于 01-22 16:10 ?844次閱讀