在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

淺談一下TCP與UDP的區(qū)別與應(yīng)用

嵌入式情報(bào)局 ? 來源:最后一個bug ? 2023-02-06 14:55 ? 次閱讀

單片機(jī)應(yīng)用程序開發(fā)中可能用得比較多有RS485CAN通信等等相對簡潔一點(diǎn)的總線,由于所選用的單片機(jī)性能和資源有限,以太網(wǎng)并沒有在單片機(jī)應(yīng)用中作為一種普遍存在的對外通信接口

但隨著MCU工藝、性能的逐漸加強(qiáng)以及嵌入式Linux平臺的推行,以太網(wǎng)通信也慢慢開始成為開發(fā)者們所考慮使用的一種可靠通信方式。

經(jīng)常有一些朋友問到,現(xiàn)在用不到技術(shù)和知識點(diǎn)是不是可以不用學(xué)?

我只能回答:技術(shù)在不斷的革新,并且總是朝著更加便利和通用化方向發(fā)展,現(xiàn)在看似非常復(fù)雜的技術(shù),在以后的應(yīng)用上都會得以簡化,但即使再簡化也還是需要有必備的一些基礎(chǔ)和認(rèn)識,所以總歸還是要學(xué)的,至于什么時候?qū)W就看自己的時間精力了,當(dāng)然越早學(xué)習(xí),就越多一種選擇。

那么今天就淺談一下TCP與UDP的區(qū)別與應(yīng)用,并指引后續(xù)在系統(tǒng)通信設(shè)計(jì)上的設(shè)計(jì)考慮和選擇。

1

TCP VS UDP

要想在通信的兩者之間合理的選擇TCP還是UDP,首先需要理清楚兩者的特點(diǎn)與區(qū)別,下面簡單梳理一下:

在學(xué)習(xí)這兩種協(xié)議的時候你一定看到過這樣中一句總結(jié)的話:"TCP是面向連接的可靠傳輸而UDP是無連接的不可靠傳輸。"

其實(shí)這句話已經(jīng)把這兩種協(xié)議大部分特點(diǎn)都囊括在內(nèi)了 :

1、面向連接與無連接

TCP在傳輸數(shù)據(jù)之前需要經(jīng)過三次握手建立連接進(jìn)行相互確認(rèn),當(dāng)需要斷開連接的時候需要進(jìn)行四次揮手;而對于UDP就不需要這么繁瑣的連接建立過程,直接傳輸即可。

所以對于TCP僅僅只支持單播,只能點(diǎn)對點(diǎn)的在連接的兩個端點(diǎn)中數(shù)據(jù)傳輸數(shù)據(jù),不支持多播和廣播;而對于UDP而言支持一對多、多對一和多對多的傳輸,這一點(diǎn)在通信架構(gòu)設(shè)計(jì)中對這兩種協(xié)議的選擇非常重要,比如有些資源優(yōu)先的MCU對socket連接有限等等問題。

2、字節(jié)流與數(shù)據(jù)報(bào)

UDP也稱之為是用戶數(shù)據(jù)報(bào)協(xié)議,而TCP為傳輸控制協(xié)議,所以UDP是一種面向應(yīng)用報(bào)文的傳輸,有明顯的傳輸邊界,僅僅只是封包以后進(jìn)行處理,不會進(jìn)行合并和拆分,一次就傳輸一個報(bào)文。

但是TCP是一種面向字節(jié)流的通信協(xié)議,沒有明顯的邊界,其主要是保證數(shù)據(jù)正確且有序,TCP存在一個數(shù)據(jù)緩存區(qū),如果數(shù)據(jù)量較大,其會進(jìn)行分包發(fā)出,而當(dāng)數(shù)據(jù)較少也會等待數(shù)據(jù)達(dá)到合適的數(shù)量后進(jìn)行合并發(fā)送,所以會存在多個粘包的問題,這一點(diǎn)在設(shè)計(jì)中需要考慮。

3、可靠傳輸

TCP是一種可靠傳輸,確認(rèn)重傳、差錯控制、流量控制和擁塞控制等等都是傳輸數(shù)據(jù)過程中實(shí)現(xiàn)的策略和算法,這就使得TCP能夠達(dá)到數(shù)據(jù)上無差錯、不丟失、不重復(fù)、有序。

所以為了保證這些數(shù)據(jù)的可靠傳輸,TCP相比UDP的報(bào)文格式要復(fù)雜,且占用的資源也相對較多。

而UDP則不同,它僅僅只是一種最大努力交付的協(xié)議,其主要是利用IP層的無連接傳通信服務(wù),可靠性方面它是無法保障的,有點(diǎn)類似于串口通信,它不需要連接,只管傳輸。

如果你想讓數(shù)據(jù)可靠,那么用戶可以在應(yīng)用層自己來增加可靠性傳輸策略和機(jī)制來進(jìn)行實(shí)現(xiàn),所以Udp傳輸數(shù)據(jù)是可能會丟失、無序。

4、實(shí)時性

UDP由于沒有擁塞控制等等策略,協(xié)議上會輕量很多,其均以比較恒定的速度進(jìn)行傳輸,不會出現(xiàn)發(fā)送速率降低的問題,所以在網(wǎng)絡(luò)不好的情況下就丟包了。

而對于TCP一旦有數(shù)據(jù)包丟失,就會進(jìn)行重傳等等一系列機(jī)制,傳輸速度大大降低。

2

項(xiàng)目中該怎么選擇?

對于TCP和UDP的選擇有些朋友在開發(fā)的時候比較糾結(jié),因?yàn)橛袝r候采用UDP和用戶方面可靠的傳輸機(jī)制也能夠達(dá)到TCP類似的效果,比如許多支持可靠通信的UDP庫,所以具體怎么選擇還是要根據(jù)具體的應(yīng)用和設(shè)計(jì)。

比如對于很多直播、游戲等等通過自己加入一些重傳機(jī)制,可以最大可能的發(fā)揮UDP傳輸實(shí)時性的優(yōu)點(diǎn),使得呈現(xiàn)給用戶更加流暢的畫面體驗(yàn)。

在嵌入式、物聯(lián)網(wǎng)方面由于項(xiàng)目對實(shí)時性要求高,且資源有限,UDP相對比較輕量,也是較好的選擇。

但對于一些文字、文件的數(shù)據(jù)傳輸還是會優(yōu)先使用TCP,畢竟TCP這塊在保證數(shù)據(jù)的可靠性方面還是做得非常成熟,用戶程序這塊也可以減少一些可靠性處理。

所以最終得選擇,還是要結(jié)合TCP與UDP的特點(diǎn)和具體項(xiàng)目綜合考慮。







審核編輯:劉清

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

    關(guān)注

    6065

    文章

    44934

    瀏覽量

    647637
  • CAN通信
    +關(guān)注

    關(guān)注

    5

    文章

    97

    瀏覽量

    18331
  • RS485
    +關(guān)注

    關(guān)注

    39

    文章

    1226

    瀏覽量

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

    關(guān)注

    8

    文章

    1398

    瀏覽量

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

    關(guān)注

    0

    文章

    330

    瀏覽量

    34511

原文標(biāo)題:UDP與TCP在嵌入式項(xiàng)目中該怎么選?

文章出處:【微信號:嵌入式情報(bào)局,微信公眾號:嵌入式情報(bào)局】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

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

    簡單總結(jié)一下TCPUDP的原理以及區(qū)別

    以人與人之間的通信為例:UDP協(xié)議就相當(dāng)于是寫信給對方,寄出去信件之后不能知道對方是否收到信件,信件內(nèi)容是否完整,也不能得到及時反饋,而TCP協(xié)議就像是打電話通信,在這系列流程都能得到及時反饋,并能確保對方及時接收到。
    的頭像 發(fā)表于 07-25 10:12 ?1787次閱讀
    簡單總結(jié)<b class='flag-5'>一下</b><b class='flag-5'>TCP</b>和<b class='flag-5'>UDP</b>的原理以及<b class='flag-5'>區(qū)別</b>

    TCP協(xié)議和UDP協(xié)議的區(qū)別有哪些

    計(jì)算機(jī)網(wǎng)絡(luò)簡答題1、TCP 協(xié)議和 UDP 協(xié)議的區(qū)別有哪些?(1)TCP 屬于面向連接的協(xié)議,UDP 屬于面向無連接的協(xié)議 ;(2)
    發(fā)表于 08-06 08:43

    TCPUDP區(qū)別分析

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

    udptcp區(qū)別在哪里

    主要介紹udptcp區(qū)別在哪里,以及TCP協(xié)議和UDP協(xié)議為什么會共存?通常我們在說到網(wǎng)絡(luò)編程時默認(rèn)是指
    發(fā)表于 12-08 14:08 ?8779次閱讀

    TCPUDP的原理以及區(qū)別

    最近重新認(rèn)知了一下TCPUDP的原理以及區(qū)別,做個簡單的總結(jié)。
    發(fā)表于 08-08 14:34 ?1605次閱讀

    TCPUDP協(xié)議的區(qū)別

    最近重新認(rèn)知了一下TCPUDP的原理以及區(qū)別,做個簡單的總結(jié)。
    發(fā)表于 11-03 10:25 ?1037次閱讀

    TCPUDP的作用及區(qū)別

      首先,tcpudp都是工作在傳輸層,用于程序之間傳輸數(shù)據(jù)的。數(shù)據(jù)般包含:文件類型,視頻類型,jpg圖片等。
    的頭像 發(fā)表于 11-14 10:49 ?3772次閱讀

    UDPTCP區(qū)別

    在上則文章中,對 TCP 的**三次握手建立連接**和**四次揮手釋放連接**進(jìn)行了詳細(xì)地闡述,本節(jié)教程針對于 TCP 的其他內(nèi)容進(jìn)行講解,首先是同處于傳輸層協(xié)議的`UDP`協(xié)議,這
    的頭像 發(fā)表于 01-20 17:05 ?2026次閱讀
    <b class='flag-5'>UDP</b>和<b class='flag-5'>TCP</b>的<b class='flag-5'>區(qū)別</b>

    UDP定比TCP更快嗎?什么情況UDP會更慢?

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

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

    連接的協(xié)議,基于字節(jié)流的傳輸方式。它通過確認(rèn)和重傳等機(jī)制來保證數(shù)據(jù)的完整性和順序性,實(shí)現(xiàn)數(shù)據(jù)包的可靠傳輸。UDPTCP的主要區(qū)別但在某些運(yùn)用場景,使用
    的頭像 發(fā)表于 06-08 14:50 ?1117次閱讀
    <b class='flag-5'>UDP</b>能否像<b class='flag-5'>TCP</b><b class='flag-5'>一</b>樣實(shí)現(xiàn)可靠傳輸?

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

    TCP協(xié)議提供可靠的數(shù)據(jù)傳輸,UDP協(xié)議提供盡量高效的數(shù)據(jù)傳輸。TCP協(xié)議通過使用序列號、確認(rèn)應(yīng)答等機(jī)制,保證數(shù)據(jù)傳輸?shù)目煽啃裕?b class='flag-5'>UDP協(xié)議不提供可靠性保證,它只是簡單地把應(yīng)用程序傳給
    的頭像 發(fā)表于 06-26 17:47 ?1.2w次閱讀

    TCPUDP區(qū)別

    1.TCPUDP區(qū)別 TCP是面向連接的,UDP是面向無連接的; TCP只能
    的頭像 發(fā)表于 11-09 09:35 ?7015次閱讀
    <b class='flag-5'>TCP</b>和<b class='flag-5'>UDP</b>的<b class='flag-5'>區(qū)別</b>

    TCPUDP的基本區(qū)別

    TCPUDP基本區(qū)別 基于連接與無連接 TCP要求系統(tǒng)資源較多,UDP較少; UDP程序結(jié)構(gòu)較
    的頭像 發(fā)表于 11-13 15:27 ?5083次閱讀
    <b class='flag-5'>TCP</b>與<b class='flag-5'>UDP</b>的基本<b class='flag-5'>區(qū)別</b>

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

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

    udp是什么意思 簡述TCPUDP區(qū)別和聯(lián)系

    中的兩個基本協(xié)議。然而,TCPUDP之間存在些重要的區(qū)別和聯(lián)系。 首先,TCP種面向連接
    的頭像 發(fā)表于 02-02 16:33 ?1776次閱讀
    主站蜘蛛池模板: 中文在线1区二区六区 | 亚洲最大成人综合网 | 日韩加勒比在线 | 亚洲高清一区二区三区 | 五月婷婷影视 | 久久天天躁狠狠躁夜夜爽 | 国内精品伊人久久大香线焦 | 成人a在线| 国产三级香港三级人妇 | 亚洲精品二区中文字幕 | 欧美猛妇色xxxxxbbbb | 亚洲另类激情综合偷自拍 | 亚洲国产精品久久精品怡红院 | 美女 免费 视频 黄的 | 欧美成人伊人十综合色 | 九九热国产在线 | 四虎亚洲国产成人久久精品 | 亚洲国产精品第一区二区 | 午夜性爽快 | 国内一级野外a一级毛片 | 国产三级国产精品国产普男人 | 久青草免费视频手机在线观看 | 1024手机免费看 | 啪啪网视频| 18性夜影院午夜寂寞影院免费 | 色网站在线看 | 女69porin18| 88影视在线观看污污 | 亚洲福利一区 | 黄色天天影视 | 亚洲小说区图片区另类春色 | 国产香蕉视频在线 | 免费一级黄 | 在线视频 亚洲 | 丁香视频在线观看播放 | 小泽玛利亚厕所大喷水 | 成人剧场 | 男女一进一出无遮挡黄 | 免费成人黄色网址 | 国产www色 | 国产又爽又黄又粗又大 |