91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

億佰特物聯(lián)網(wǎng)應(yīng)用專家 ? 2023-06-08 14:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

UDP (User Datagram Protocol) 是一種無(wú)連接的協(xié)議,基于數(shù)據(jù)報(bào)的傳輸方式。在網(wǎng)絡(luò)通信中,它通常用于快速傳輸數(shù)據(jù)包,但卻無(wú)法保證數(shù)據(jù)包的可靠傳輸。

與UDP剛好相反,TCP是一種面向連接的協(xié)議,基于字節(jié)流的傳輸方式。它通過(guò)確認(rèn)和重傳等機(jī)制來(lái)保證數(shù)據(jù)的完整性和順序性,實(shí)現(xiàn)數(shù)據(jù)包的可靠傳輸。

ae09e668-00db-11ee-ba01-dac502259ad0.png

UDP與TCP的主要區(qū)別

但在某些運(yùn)用場(chǎng)景下,使用TCP協(xié)議傳輸速率延時(shí)太大,UDP協(xié)議傳輸數(shù)據(jù)又不可靠,這時(shí)候就需要通過(guò)應(yīng)用程序?qū)DP協(xié)議進(jìn)行改進(jìn),雖然這些方案都會(huì)增加網(wǎng)絡(luò)負(fù)載,但可以確保UDP數(shù)據(jù)傳輸更加可靠。

ae2d0a1c-00db-11ee-ba01-dac502259ad0.png

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

TCP協(xié)議中采用三次握手建立連接,在數(shù)據(jù)傳輸過(guò)程中,通過(guò)確認(rèn)和重傳等機(jī)制來(lái)保證數(shù)據(jù)包的可靠傳輸,但正因?yàn)門CP協(xié)議需要多次進(jìn)行數(shù)據(jù)交互從而導(dǎo)致了傳輸延時(shí)較大。

ae3f6afe-00db-11ee-ba01-dac502259ad0.png

TCP 三次握手

重傳機(jī)制一般會(huì)和確認(rèn)機(jī)制結(jié)合使用,當(dāng)在一定時(shí)間內(nèi)沒(méi)有收到接收端的應(yīng)答時(shí),則會(huì)重傳對(duì)應(yīng)的數(shù)據(jù)包。確認(rèn)回復(fù)格式也會(huì)隨著選擇不同的重傳機(jī)制而有所差別。重傳機(jī)制一般有三種實(shí)現(xiàn)方式:停等協(xié)議、回退重傳、選擇性重傳。

(1)停等協(xié)議中每包數(shù)據(jù)發(fā)送后都需要等到接收端回復(fù)再發(fā)送下一包數(shù)據(jù),以保證每包數(shù)據(jù)都能被成功接收到,但是通訊效率較低。

(2)回退重傳中發(fā)送端會(huì)連續(xù)發(fā)送多個(gè)數(shù)據(jù)包,當(dāng)其中的數(shù)據(jù)包丟失時(shí),接收端會(huì)回復(fù)最大連續(xù)收到的數(shù)據(jù)包,后續(xù)再進(jìn)行數(shù)據(jù)重傳。

(3)選擇性重傳中也采用了回退重傳類似的方式,不過(guò)選擇性重傳會(huì)針對(duì)丟失的包進(jìn)行補(bǔ)發(fā),而不會(huì)全部重傳。

ae6768e2-00db-11ee-ba01-dac502259ad0.png

數(shù)據(jù)包檢驗(yàn)機(jī)制也是保證傳輸可靠性的非常重要的方式,它可以保證數(shù)據(jù)包的完整性,避免傳輸過(guò)程中數(shù)據(jù)出現(xiàn)錯(cuò)誤。發(fā)送端在發(fā)送數(shù)據(jù)包時(shí),同時(shí)需要發(fā)送一個(gè)校驗(yàn)和,接收端收到數(shù)據(jù)包后校驗(yàn)校驗(yàn)和,如果校驗(yàn)失敗,則要求發(fā)送端重傳,確保數(shù)據(jù)包沒(méi)有被篡改或損壞。

流控制機(jī)制則通過(guò)限制發(fā)送速率來(lái)確保數(shù)據(jù)包的可靠傳輸,避免發(fā)送過(guò)快導(dǎo)致網(wǎng)絡(luò)擁塞和數(shù)據(jù)堆積。接收端在接收到數(shù)據(jù)時(shí)需要對(duì)數(shù)據(jù)進(jìn)行處理,在處理過(guò)程中會(huì)消耗一定的時(shí)間,若發(fā)送端一直不間斷發(fā)送數(shù)據(jù),就會(huì)導(dǎo)致接收端數(shù)據(jù)沒(méi)有時(shí)間處理,導(dǎo)致數(shù)據(jù)堆積丟失。流控制機(jī)制會(huì)根據(jù)接收端的接收能力來(lái)調(diào)整發(fā)送速率,避免數(shù)據(jù)堆積。

ae873082-00db-11ee-ba01-dac502259ad0.png

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

若要實(shí)現(xiàn)UDP的可靠傳輸則可以借鑒TCP上述優(yōu)點(diǎn),在應(yīng)用層實(shí)現(xiàn)數(shù)據(jù)的可靠性傳輸,模擬TCP可靠性傳輸方式,如確認(rèn)機(jī)制、重傳機(jī)制、校驗(yàn)機(jī)制等方式來(lái)保證數(shù)據(jù)可靠性傳輸。

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

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

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

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

此時(shí)大家可能會(huì)問(wèn)如果UDP采用了這么多機(jī)制來(lái)保證數(shù)據(jù)的可靠性傳輸,那和TCP還有什么區(qū)別呢?

首先,TCP協(xié)議中規(guī)定了很多確保數(shù)據(jù)可靠性的機(jī)制,用戶如果采用了TCP協(xié)議,那么數(shù)據(jù)的傳輸過(guò)程就固定了,用戶不需要也無(wú)法干涉數(shù)據(jù)的傳輸過(guò)程。

其次,TCP協(xié)議中采取了很多的可靠性傳輸方式,來(lái)保證數(shù)據(jù)不會(huì)丟失、重復(fù)、損壞等,自然TCP協(xié)議傳輸效率就大大降低。UDP協(xié)議即使添加上簡(jiǎn)單的確認(rèn)、重傳、校驗(yàn)等機(jī)制,傳輸速度仍然還是會(huì)比TCP快,而且用戶可以移除其中某些機(jī)制來(lái)使數(shù)據(jù)傳輸更加快速,也更加靈活可控。

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

需要注意的是,通過(guò)這些方法實(shí)現(xiàn)UDP的可靠傳輸也會(huì)增加網(wǎng)絡(luò)延遲和帶寬消耗,因此在實(shí)際應(yīng)用中需要權(quán)衡可靠性和性能的需求。此外,這些方法并不能完全保證數(shù)據(jù)包的可靠傳輸,仍然存在一定的風(fēng)險(xiǎn)。因此,在需要高可靠性的應(yīng)用場(chǎng)景中,建議使用TCP等可靠性更高的協(xié)議。

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

    關(guān)注

    8

    文章

    1425

    瀏覽量

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

    關(guān)注

    0

    文章

    334

    瀏覽量

    35414
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    工業(yè)級(jí)4G路由器:TCP/IP與UDP協(xié)議,解鎖工業(yè)物聯(lián)網(wǎng)高效傳輸新范式

    /以太網(wǎng)能力,正重新定義工業(yè)數(shù)據(jù)傳輸的邊界。其核心優(yōu)勢(shì),在于對(duì)TCP/IP與UDP協(xié)議的深度適配,為不同場(chǎng)景提供精準(zhǔn)的通信解決方案。 ?? ?TCP/IP協(xié)議:
    的頭像 發(fā)表于 01-19 18:25 ?185次閱讀
    工業(yè)級(jí)4G路由器:<b class='flag-5'>TCP</b>/IP與<b class='flag-5'>UDP</b>協(xié)議,解鎖工業(yè)物聯(lián)網(wǎng)高效<b class='flag-5'>傳輸</b>新范式

    TCPUDP的區(qū)別

    首先概括下基本的區(qū)別: TCP個(gè)面向連接的、可靠的、基于字節(jié)流的傳輸層協(xié)議。 而UDP
    發(fā)表于 12-09 07:24

    不只是工具,更是平臺(tái),易工(TQKIT)讓系統(tǒng)功能調(diào)用寫(xiě)應(yīng)用邏輯一樣簡(jiǎn)單

    易工(TQKIT)展示了天嵌在 Android系統(tǒng)級(jí)能力封裝上的深厚積累。通過(guò)自研系統(tǒng)封裝庫(kù),易工(TQKIT)將復(fù)雜的系統(tǒng)控制能力以接口形式開(kāi)放給開(kāi)發(fā)者,讓系統(tǒng)功能調(diào)用寫(xiě)應(yīng)用邏輯一樣簡(jiǎn)單。
    的頭像 發(fā)表于 12-05 16:53 ?280次閱讀
    不只是工具,更是平臺(tái),易工(TQKIT)讓系統(tǒng)功能調(diào)用<b class='flag-5'>像</b>寫(xiě)應(yīng)用邏輯<b class='flag-5'>一樣</b>簡(jiǎn)單

    請(qǐng)問(wèn)TCPUDP 可以使用同個(gè)端口嗎?

    TCPUDP 可以使用同個(gè)端口嗎?
    發(fā)表于 12-03 08:01

    連載|開(kāi)發(fā)工具,易安卓讓系統(tǒng)功能調(diào)用寫(xiě)應(yīng)用邏輯一樣簡(jiǎn)單

    通過(guò)自研系統(tǒng)封裝庫(kù),易安卓將復(fù)雜的系統(tǒng)控制能力以接口形式開(kāi)放給開(kāi)發(fā)者,讓系統(tǒng)功能調(diào)用寫(xiě)應(yīng)用邏輯一樣簡(jiǎn)單。
    的頭像 發(fā)表于 11-27 11:40 ?87次閱讀
    連載|開(kāi)發(fā)工具,易安卓讓系統(tǒng)功能調(diào)用<b class='flag-5'>像</b>寫(xiě)應(yīng)用邏輯<b class='flag-5'>一樣</b>簡(jiǎn)單

    以太網(wǎng)通訊在FPGA上的實(shí)現(xiàn)

    的安全。UDP數(shù)據(jù)格式如下圖所示: TCP協(xié)議是面向連接的、可靠的流協(xié)議,提供可靠的通信傳輸。
    發(fā)表于 10-30 07:45

    一樣的展會(huì),不一樣的精彩 2025灣芯展圓滿收官

    10月17日,2025灣區(qū)半導(dǎo)體產(chǎn)業(yè)生態(tài)博覽會(huì)(2025灣芯展)在深圳會(huì)展中心(福田)圓滿收官。全球600多家展商、超30場(chǎng)論壇,在6萬(wàn)平方米的展區(qū)內(nèi),打造場(chǎng)“不一樣的展會(huì)”,呈現(xiàn)出“不一樣的精彩
    的頭像 發(fā)表于 10-29 16:56 ?1338次閱讀
    不<b class='flag-5'>一樣</b>的展會(huì),不<b class='flag-5'>一樣</b>的精彩 2025灣芯展圓滿收官

    一樣的展會(huì),不一樣的精彩:2025灣芯展順利收官

    內(nèi),打造場(chǎng)"不一樣的展會(huì)",呈現(xiàn)出"不一樣的精彩"。本屆展會(huì)人氣火爆,展期三天累計(jì)接待總量達(dá)到11.23萬(wàn)人次。參展企業(yè)集中發(fā)布年度新品數(shù)約2500件,新品發(fā)布與商業(yè)合作收獲頗豐。 ? 不
    的頭像 發(fā)表于 10-19 20:27 ?661次閱讀
    不<b class='flag-5'>一樣</b>的展會(huì),不<b class='flag-5'>一樣</b>的精彩:2025灣芯展順利收官

    怎么kell一樣設(shè)置rom下載起始地址?

    如題,怎么kell一樣設(shè)置rom下載起始地址?
    發(fā)表于 10-10 07:21

    現(xiàn)場(chǎng)解決EMC電磁輻射干擾:“望聞問(wèn)切”,中醫(yī)一樣

    南柯電子|現(xiàn)場(chǎng)解決EMC電磁輻射干擾:“望聞問(wèn)切”,中醫(yī)一樣
    的頭像 發(fā)表于 09-04 09:47 ?806次閱讀

    算力網(wǎng),是否電力網(wǎng)一樣?

    編者按算力網(wǎng),是否電力網(wǎng)一樣?算力網(wǎng),的確具有類似電力網(wǎng)一樣的“網(wǎng)”的特征,邊鏈接智算中心(類似電廠),邊觸達(dá)使用算力的企業(yè)(如使用電
    的頭像 發(fā)表于 03-24 11:45 ?759次閱讀
    算力網(wǎng),是否<b class='flag-5'>像</b>電力網(wǎng)<b class='flag-5'>一樣</b>?

    STM32CubeIDE編譯設(shè)置是否有keil一樣有編譯后執(zhí)行Bat腳本的功能和設(shè)置?

    STM32CubeIDE編譯設(shè)置問(wèn)題,是否有keil一樣有編譯后執(zhí)行Bat腳本的功能和設(shè)置?或者有相關(guān)的腳本和插件?
    發(fā)表于 03-14 15:59

    網(wǎng)線可以電線一樣接嗎

    網(wǎng)線是可以電線一樣接的,但需要注意定的方法和步驟以確保連接的穩(wěn)定性和信號(hào)傳輸的質(zhì)量。以下是對(duì)網(wǎng)線連接的詳細(xì)分析: 、網(wǎng)線連接的基本方法
    的頭像 發(fā)表于 03-14 10:03 ?6098次閱讀

    STM32CUBEide有沒(méi)有KEIL一樣可以自己指定函數(shù)注釋模板的方法?

    最近從keil轉(zhuǎn)到CUBEIDE編程了,現(xiàn)在非常不舒服的點(diǎn)是函數(shù)注釋方面。STM32CUBEide有沒(méi)有KEIL一樣可以自己指定函數(shù)注釋模板的方法,可以注釋函數(shù)形參啊、函數(shù)返回值說(shuō)明的方法
    發(fā)表于 03-11 08:06

    Stm32CubeIDE能Keil一樣指定不同文件下的代碼編譯到不同的FLASH地址嗎?

    Stm32CubeIDE能Keil一樣指定不同文件下的代碼編譯到不同的FLASH地址嗎?比如部分代碼存放到內(nèi)部FLASH,另部分存放到外部QSPI的FLASH中
    發(fā)表于 03-07 08:09