色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

UDP的特性與應用場景

科技綠洲 ? 來源:Linux開發架構之路 ? 作者:Linux開發架構之路 ? 2023-11-13 15:34 ? 次閱讀

一、UDP的特性與應用場景

采用UDP有3個關鍵點:

  • 網絡帶寬需求較小,而實時性要求高
  • 大部分應用無需維持連接
  • 需要低功耗

應用場景:

  • 網頁瀏覽:新浪微博就已經用了QUIC協議
  • 流媒體:WebRTC就是基于UDP的
  • 實時游戲:Unity3D采用的RakNet也是基于UDP的協議

基于UDP協議的QUIC協議

QUIC(Quick UDP Internet Connection)是谷歌制定的一種基于UDP的低時延的互聯網傳輸層協議

詳情可參閱:
https://eng.uber.com/employing-quic-protocol/

圖片

UDP傳輸時需要注意的問題

  • 數據包確認機制
  • 數據包重傳機制
  • 盡量不發送大于路徑MTU的數據包
  • 處理數據包重排

二、UDP與MTU

IP分片的概念

  • 在TCP/IP分層中,數據鏈路層用MTU(Maximum Transmission Unit,最大傳輸單元)來限制所能傳輸的數據包大小,MTU是指一次傳送的數據最大長度,不包括數據鏈路層數據幀的幀頭,如以太網的MTU為1500字節,實際上數據幀的最大長度為1514字節,其中以太網數據幀的幀頭為14字節
  • 當發送的IP數據包的大小超過了MTU時,IP層就需要對數據進行分片,否則數據將無法發送成功
  • IP層是沒有超時重傳機制的,如果IP層對一個數據包進行了分片,只要有一個分片丟失了,只能依賴于傳輸層進行重傳,結果是所有的分片都要重傳一遍,這個代價有點大;公網傳輸,需要經過多個網絡設備,IP分片容易造成丟包
  • 由此可見,IP分片會大大降低傳輸層傳送數據的成功率,所以我們要避免IP分片

UDP與MTU的關系

MTU是指通信協議的鏈路層上面所能通過的最大數據包大小

單個UDP傳輸的最大內容1472字節,但由于不同的網絡中轉設備設置的MTU值并不相同:

  • Internet環境下:標準MTU值為576字節,UDP的數據長度應該控制在548字節(576-8-20)以內
  • 局域網環境下:UDP的數據長度控制在1472個字節以內

圖片

三、UDP分包與組包設計

為什么要對UDP進行分包與組包

  • 通過上面對MTU的介紹我們知道,如果IP數據包的大小超過了其所在環境中MTU的大小,那么就會對IP數據包進行分片
  • 當分片只要其中一個片段丟失,那么就需要重傳所有的分片數據,因此這種消耗是比較大的

主要思想

  • 在應用層,我們對UDP數據進行傳輸時調用的兩個接口為sendto()和recvfrom()
  • 我們將傳輸的數據(原始數據,可能很大)分割為一個一個小的分片,使分片的大小不大于MTU的大小,這樣我們在進行UDP數據傳輸的時候,就不會產生上面IP分片的問題了

圖片

對于每一個分片我們需要設計其格式,例如下面是定義的一種格式。相關字段為如下所示

圖片

代碼

GIthub鏈接:
https://github.com/dongyusheng/csdn-code/tree/master/udp_piece

其中:

circular_buffer.h/.c:環形緩沖區,用來保存數據的

udp-piece.h/.c:UDP分片與重組(核心代碼)

udp-piece-client.c:客戶端測試代碼,代碼內會向服務端發送UDP數據

udp-piece-server.c:服務端測試代碼,接收客戶端的UDP數據

圖片

編碼主要思路

udp-piece.h:

定義了如下的宏和結構,主要用來描述分片節點的

其中比較重要的一個字段為PIECE_FIX_SIZE,其代表我們分片中實際數據的長度,因為Internet中MTU的大小通常為576,所以我們的UDP數據包最好不要超過576-8-20大?。?為UDP頭大小,20位IP報文大?。硗膺€要減去12(因為我們分片也有頭,為12字節)

圖片

udp-piece-client.c: 其向服務端發送一長串字符串,在發送之前先調用udp_piece_cut()對整個UDP數據包進行分片,然后逐個發送出去

圖片

udp-piece-server.c: 其從客戶端接收UDP數據,將接收的數據放到環形緩沖中,然后進行重組

圖片

小結

本文只介紹了“UDP的分包與組包”,并沒有涉及到UDP數據包確認、重傳等機制,并且代碼也只做到了分包與組包。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 互聯網
    +關注

    關注

    54

    文章

    11148

    瀏覽量

    103226
  • UDP
    UDP
    +關注

    關注

    0

    文章

    325

    瀏覽量

    33931
  • 數據鏈
    +關注

    關注

    2

    文章

    39

    瀏覽量

    15782
  • 網絡帶寬
    +關注

    關注

    0

    文章

    40

    瀏覽量

    8293
收藏 人收藏

    評論

    相關推薦

    AG32VF-MIPI應用場景

    的基礎上,集成了MIPI接口協議,提供了豐富的功能和特性,能夠滿足不同應用場景的需求,為用戶提供更加全面、便捷、高效的數據傳輸方案。 基本參數: MIPI up to 1.5Gbps LVDS up
    發表于 01-22 08:56

    源測量單元設備的技術原理和應用場景

    測試晶體管、二極管等器件的IV特性。這一過程不僅能夠評估器件的性能,還能判斷其可靠性。 此外,SMU還可用于測試材料的電阻率、分析電源管理集成電路(PMIC)的功率效率等應用場景。隨著技術的不斷進步
    發表于 10-22 11:10

    實時示波器的技術原理和應用場景

    有頻譜分析功能,可以將時域信號轉換為頻域信號,從而顯示信號的頻譜特性。綜上所述,實時示波器憑借其獨特的技術原理和廣泛的應用場景,在電子工程和通信技術領域發揮著不可替代的作用。
    發表于 10-23 14:22

    系統放大器的技術原理和應用場景

    系統放大器是一種重要的電子設備,其技術原理和應用場景都具有一定的專業性和廣泛性。以下是對系統放大器的技術原理和應用場景的詳細介紹:一、技術原理系統放大器的工作原理基于電子器件的非線性特性,通過控制
    發表于 11-18 14:46

    MOS管的應用場景

    mos管的應用場景,你了解么?低壓MOS管可稱為金屬氧化物半導體場效應管,因為低壓MOS管具有良好的開關特性,廣泛應用在電子開關的電路中。如開關電源,電動馬達、照明調光等!下面銀聯寶科技就跟大家一起
    發表于 11-14 09:24

    this的使用場景及與C,Java中的this的區別

    【JS】this有哪些使用場景?跟C,Java中的this有什么區別?如何改變this的值?
    發表于 03-11 10:17

    =>的使用場景有哪些

    使用場景
    發表于 10-27 13:25

    ARM的技術特征是什么?應用場景有哪些?

    ARM的技術特征是什么?應用場景有哪些?
    發表于 11-05 07:32

    MS9331的應用場景是什么?

    MS9331的應用場景是什么?
    發表于 02-11 06:41

    labview 和 wincc 的區別 使用場景

    labview 和 wincc 的區別 使用場景 都是上位機軟件,都可以做監控軟件 wincc的名氣也比較大 對比的資料較少 寫這些文章的人,從自己的從事的行業出發,帶有自己的思維 使用的場景 肯定
    發表于 10-27 18:01

    tcp和udp的應用場景

    從特點上我們已經知道,TCP 是可靠的但傳輸速度慢 ,UDP 是不可靠的但傳輸速度快。因此在選用具體協議通信時,應該根據通信數據的要求而決定。若通信數據完整性需讓位與通信實時性,則應該選用 TCP 協議(如文件傳輸、重要狀態的更新等);反之,則使用 UDP 協議(如視頻傳
    發表于 12-08 10:16 ?1.5w次閱讀
    tcp和<b class='flag-5'>udp</b>的應<b class='flag-5'>用場景</b>

    UDP的主要特點及其使用場景

    User Datagram Protocol的簡稱是UDP, 中文名是用戶數據報協議。UDP為應用程序提供了一種無須簡歷連接就可以發生封裝的IP數據包的方法。是開放式系統互聯參考模型中一種無連接誒
    的頭像 發表于 08-31 17:25 ?1.7w次閱讀

    TCP和UDP的特點及使用場景

    用一個不算嚴謹的說法總結 TCP 就是,女孩子如果遇到 TCP 這樣的男生,就嫁了吧。因為TCP的核心特點就是靠譜。他的特定包括,面向連接、可靠、基于字節流控制的傳輸,就像一個管道一樣將應用層和 IP 層連接起來 而與之相對應的,UDP 就像二十多歲的浪子。
    的頭像 發表于 05-18 17:20 ?1754次閱讀

    QUIC協議的特性、原理及應用場景

    QUIC(Quick UDP Internet Connection,快速UDP網絡連接)發音同 "quick",是 Google 公司在 2012 年提出的使用 UDP 進行多路并發傳輸的協議。
    的頭像 發表于 09-15 11:21 ?5389次閱讀
    QUIC協議的<b class='flag-5'>特性</b>、原理及應<b class='flag-5'>用場景</b>

    壓敏電阻的工作原理、分類、特性以及應用場景

    壓敏電阻的工作原理、分類、特性以及應用場景 壓敏電阻是一種利用壓力變化來改變電阻值的傳感器。其作用是將外部的機械壓力、力量或負荷轉化為電氣信號,從而實現對物理量的測量。壓敏電阻常用于力的測量、壓力
    的頭像 發表于 12-08 15:47 ?2680次閱讀
    主站蜘蛛池模板: 神马电影我不卡国语版| 狠狠色狠狠色综合日日92| 99精彩免费观看| 伊人久久国产| 亚洲一区精品在线| 亚洲天堂999| 亚洲无遮挡| 野花4在线观看| 一色狗影院| 在线综合 亚洲 欧美| 在线一本码道高清| 91九色麻豆| 99久久香蕉国产线看观看| 24小时日本免费看| 97草碰在线视频免费| 99精品视频在线| SORA是什么意思| 俄罗斯大肥BBXX| 国产成人啪精视频精东传媒网站| 成人在线视频播放| 国产69精品麻豆久久久久| 国产精品亚洲欧美| 国产在线高清视频无码不卡| 果冻传媒APP免费网站在线观看| 狠狠色丁香婷婷久久综合五月| 黄色三级视频在线| 理论片午午伦夜理片2021| 美女被男人撕衣舔胸| 欧美黑人巨大性极品hd欧| 日产精品久久久久久久蜜殿| 涩涩电影网| 亚洲高清中文字幕| 印度最猛性ⅹxxxxx| 92看看福利午夜影院| 纯肉高H种马艳遇风流多| 国产精品野外AV久久久| 精品国产免费第一区二区| 久久亚洲精品AV成人无码| 欧美成人无码A区在线观看免费| 日日操日日射| 亚洲精品久久区二区三区蜜桃臀|