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

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

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

3天內不再提示

TCP協議和UDP協議對比 UDP協議的原理及應用

454398 ? 來源:博客園 ? 作者:默語 ? 2020-10-26 15:05 ? 次閱讀

前言

TCP協議在不可靠的網絡環境上提供了可靠的通信通道,隱藏了大量的底層細節,使應用程序更加簡潔。但有些應用并不需要這么高的可靠性,并不需要按序交付,而且TCP為了提高可靠性也增加了延時,在某些對延時或抖動要求很高的情景下并不適用。為此,UDP(User Datagram Protocol,用戶數據報協議)被提出。UDP雖然應用較為廣泛,比如DNS查詢等,但一直不是重要的角色。自從WebRTC被提出以來,它可以使瀏覽器在UDP的基礎上實現原生的語音和視頻實時通信及其他形式的P2P通信,UDP在這種境況下顯得更加重要。本文大致介紹UDP的原理及應用,以求加深對其理解。

UDP

TCP是面向連接的,需要三次握手建立連接之后再傳輸數據,而是UDP面向無連接的,它并不能保證信息交付,也不能保證按序交互,也不跟蹤連接狀態,也不需要擁塞控制。

要了解UDP和為什么它通常被稱為“空協議”,我們首先需要了解一下互聯網協議(IP),它位于TCP和UDP協議層下面。IP層主要任務就是基于地址將數據報從源主機發送到目的主機。要做到這一點,消息都封裝在一個IP包,標識源和目的地址,以及一些其他路由參數。

我們再次強調一下上面提到的數據報這個術語的含義:IP層提供了不可靠的數據傳輸,既沒有消息確認,也沒有丟失通知, IP層直接把這一層的不可靠性暴露給上層。如果一個數據報在傳輸過程中因為某個路由節點擁塞,高負荷,或因其他原因丟失,那么由IP上層的協議來檢測,恢復,并重傳數據 - 當然這是在上層有這個需求的時候!IPv4的首部結構如下:

UDP協議會用自己的分組結構封裝用戶信息,其數據格式如下:

如上圖所示,我們在UDP數據報里增加了源端口和目標端口,這樣就使得當IP分組被送到接收端后,接收端就可以拆開UDP分組,根據目標端口找到對應的應用程序,然后再把數據傳遞給應用程序。

從IP和UDP的數據格式可以看到,它們的首部都帶有校驗和,都可以用來校驗數據,那么應用程序即使忽略UDP的校驗和也不影響數據完整性,校驗和字段是可選的。這意味著UDP層所有的錯誤檢測和糾錯,可以委托給上述應用層校驗。說到底,UDP僅僅是在IP層上通過嵌入應用程序的源端口和目標端口,提供了一個“應用程序多路復用”機制。由此可以得到UDP的特征如下:

不保證消息交付:不確認,不重傳,無超時;

不保證交付順序:不設置包序號,不重排,不發生隊首阻塞;

不跟蹤連接狀態:不必建立連接或重啟狀態機;

不需要擁塞控制:不內置客戶端或網絡反饋機。

TCP是一個面向字節流的協議,能夠通過多個分組的形式發送應用程序的消息數據,包內本身沒有任何明確的消息邊界。為了實現這一目標,連接兩端都分配了連接狀態,并且數據包被排序,重發丟包,按順序發送。相反UDP數據報有明確的界限:每一個數據報都被打包到一個IP包中,應用層讀到的每一個UDP包都是完整的信息 -數據報不能被分割

關于數據報(Datagram)詳細定義如下:

數據報:一個自包含的,獨立的數據實體,其承載了足夠的信息,使其可以從源路由到達目標路由,而不依賴于在網絡節點前的數據交換和傳輸網絡沒有任何依賴。

數據報文(Datagram)和數據包(Packet)兩個術語往交替使用,但其實二者有一些細微差別。數據包(packet)一般用來描述任何格式的數據塊,而數據報(Datagram)往往被保留用來描述通過一個不可靠的服務傳輸的數據包(Packet) - 沒有傳輸保障,沒有失敗通知。所以UDP包一般或者說更準確的被稱為數據報(Datagram)。

UDP是一個簡單的,無狀態的協議,適合于引導上層的其他應用層協議 - 幾乎所有的協議決策都留給它上面的應用層。然而,在你想實現自己的協議來取代TCP,你應該仔細考慮有關的復雜性,如UDP與其它層的交互(比如NAT穿越),以及網絡協議一些最佳實踐。沒有仔細的規劃和設計,設計一個新的協議不是一個好主意,最終也許實現成一個的簡陋的TCP版本。
編輯:hfy

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

    關注

    8

    文章

    1395

    瀏覽量

    80085
  • DNS
    DNS
    +關注

    關注

    0

    文章

    221

    瀏覽量

    20169
  • 瀏覽器
    +關注

    關注

    1

    文章

    1040

    瀏覽量

    35957
  • 數據報
    +關注

    關注

    0

    文章

    4

    瀏覽量

    7321
  • TCP協議
    +關注

    關注

    1

    文章

    101

    瀏覽量

    12288
收藏 人收藏

    評論

    相關推薦

    淺談HART協議和RS485協議的區別

    HART協議和RS485協議都是用于工業領域通信的協議,但它們有不同的應用場景和特點。
    的頭像 發表于 03-27 10:07 ?513次閱讀
    淺談HART<b class='flag-5'>協議和</b>RS485<b class='flag-5'>協議</b>的區別

    TCP協議UDP協議的區別

    UDP(用戶數據報協議) : 無連接 :UDP不建立連接,數據可以直接發送,不需要任何握手過程。 不可靠性 :UDP不保證數據的可靠傳輸,數據包可能會丟失,不會重傳。 2. 數據傳
    的頭像 發表于 01-22 09:44 ?489次閱讀

    Web端TCP/UDP測試工具!小白必學~

    Web端TCP/UDP測試工具,方便大家進行各種基于TCP和TDP的模擬測試。該測試工具不僅支持TCPUDP測試,還支持SSL,使用極為便
    的頭像 發表于 01-08 18:17 ?832次閱讀
    Web端<b class='flag-5'>TCP</b>/<b class='flag-5'>UDP</b>測試工具!小白必學~

    TCP三次握手與UDP的區別

    在計算機網絡中,數據傳輸的可靠性和效率是兩個關鍵因素。為了滿足不同的應用需求,設計者們開發了多種傳輸層協議。其中,TCP(傳輸控制協議)和UDP(用戶數據報
    的頭像 發表于 01-03 17:35 ?675次閱讀

    ID讀卡器TCP協議QT小程序開發

    、基本概念 TCP是一種面向連接的、可靠的、基于字節流的傳輸層通信協議。它工作在OSI模型的第四層,即傳輸層,為用戶提供可靠的、有序的和無差錯的數據傳輸服務。TCP協議
    的頭像 發表于 12-31 10:19 ?415次閱讀
    ID讀卡器<b class='flag-5'>TCP</b><b class='flag-5'>協議</b>QT小程序開發

    一文了解Android UDP通信

    協議。發送方的UDP對應用程序交下來的報文,在添加首部后就向下交付IP層。UDP對應用層交下來的報文,既不合并,也不拆分,而是保留這些報文的邊界。 首部開銷小: UDP的首部開銷只有8
    發表于 12-30 10:56

    socket 和 UDP 協議對比

    在現代互聯網技術中,數據傳輸是核心功能之一。為了實現這一功能,我們依賴于各種通信協議和接口。Socket 和 UDP 是兩種廣泛使用的網絡通信技術,它們在實現網絡通信方面各有特點和用途
    的頭像 發表于 11-12 14:28 ?689次閱讀

    TCP&UDP調試工具

    TCP&UDP調試工具
    發表于 10-30 10:41 ?3次下載

    TCP協議是什么

    在網絡通信的廣闊領域中,TCP(Transmission Control Protocol,傳輸控制協議)扮演著舉足輕重的角色。作為TCP/IP協議族中的核心
    的頭像 發表于 10-09 13:54 ?1307次閱讀

    功能強大的網絡通訊工具,支持各類TCPUDP、HTTP的通訊協議

    功能強大的網絡通訊工具,支持各類TCPUDP、HTTP的通訊協議,簡單方便,包含歷史記憶功能,體積小,服務器調試最合適
    發表于 09-05 11:51 ?0次下載

    深度解析TCPUDP協議

    計算機與網絡設備要相互通信,它們必須遵循一種共同的方法或標準。對于不同硬件平臺和操作系統之間的交互而言,這種共同遵循的規范尤為關鍵。我們將這一系列指導通信過程的規則稱為“協議”。TCPUDP
    的頭像 發表于 09-02 14:53 ?617次閱讀
    深度解析<b class='flag-5'>TCP</b>與<b class='flag-5'>UDP</b><b class='flag-5'>協議</b>

    tcpudp的區別和聯系

    一、引言 在現代網絡通信中,數據傳輸是至關重要的。為了確保數據的可靠傳輸,網絡協議發揮著關鍵作用。傳輸控制協議TCP)和用戶數據報協議UDP
    的頭像 發表于 08-16 11:06 ?852次閱讀

    調試ESP8266集成LWIP協議棧用UDP方式發送數據時,無法正常發送數據是哪里的問題?

    我在調試8266集成LWIP協議棧用UDP方式發送數據時,參考別的環境的UDP例程,發現無法正常發送數據,反復檢查了,并確認8266已經通過WIFI連上網了,但是使用LWIP協議棧的
    發表于 07-12 07:44

    西門子S7協議TCP協議的區別

    在工業自動化領域,通信協議的選擇對于確保設備間的順暢通信和數據的可靠傳輸至關重要。西門子S7協議和TCP協議作為兩種常用的通信協議,各自具有
    的頭像 發表于 06-19 15:54 ?5661次閱讀

    mqtt協議和tcp協議區別

    在數字化的宇宙中,無數的信息以電脈沖的形式穿梭于無形的空間之中。它們遵循著既定的規則——通信協議,在此背景下,TCP與MQTT兩大協議赫然而立,各具特色。 TCP/IP(Transmi
    的頭像 發表于 04-30 14:02 ?1337次閱讀
    主站蜘蛛池模板: 欧美一级视频精品观看 | 农村一级片 | 在线免费影视 | 亚洲欧美高清 | 2021韩国理论片ok电影天堂 | 国产夜夜爽| 香蕉爱爱视频 | 天天操操操操操操 | 午夜免费网站 | 免费观看视频在线观看 | 亚洲最新黄色网址 | 国产一级簧片 | 日本黄色大片网站 | 狼人 成人 综合 亚洲 | 国产乱理论片在线观看理论 | 国产色妞妞在线视频免费播放 | 欧美最猛性xxxx高清 | 最新人妖shemaletube人妖 最新日本免费一区二区三区中文 | 国产三级日产三级韩国三级 | 丁香五婷婷 | 精品卡1卡2卡三卡免费视频 | 夜夜se | 天天操天天干视频 | 免费人成网站在线高清 | 欧美一区a| 黄色网址日本 | 黄a在线| 视频免费黄色 | 欧美一区二区三区大片 | 亚洲人成www在线播放 | 色婷婷成人网 | 日韩成人免费观看 | 女性一级全黄生活片 | 日鲁夜鲁鲁狠狠综合视频 | 最近在线视频免费观看2019 | 狠狠色丁香婷婷综合激情 | 久操天堂 | 特别毛片 | 中文字幕在线看精品乱码 | 国产精品免费看久久久 | 天天艹天天射 |