国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

    文章

    1424

    瀏覽量

    83496
  • DNS
    DNS
    +關注

    關注

    0

    文章

    229

    瀏覽量

    21147
  • 瀏覽器
    +關注

    關注

    1

    文章

    1043

    瀏覽量

    37075
  • 數據報
    +關注

    關注

    0

    文章

    4

    瀏覽量

    7384
  • TCP協議
    +關注

    關注

    1

    文章

    101

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    TCP/IP(Socket)協議深度剖析

    TCP/IP協議作為互聯網通信的基礎架構,其核心機制Socket編程承載著全球數據交換的使命。本文將深入剖析這一協議的七層架構、三次握手與四次揮手的精妙設計、流量控制與擁塞控制的動態平衡,以及現代互聯網環境下面臨的挑戰與演進方向
    的頭像 發表于 03-03 17:06 ?458次閱讀

    工業級4G路由器:TCP/IP與UDP協議,解鎖工業物聯網高效傳輸新范式

    /以太網能力,正重新定義工業數據傳輸的邊界。其核心優勢,在于對TCP/IP與UDP協議的深度適配,為不同場景提供精準的通信解決方案。 ?? ?TCP/IP
    的頭像 發表于 01-19 18:25 ?183次閱讀
    工業級4G路由器:<b class='flag-5'>TCP</b>/IP與<b class='flag-5'>UDP</b><b class='flag-5'>協議</b>,解鎖工業物聯網高效傳輸新范式

    MQTT協議為什么成為物聯網協議

    不穩定環境下的通信需求。以下是具體分析: 1. 輕量級設計,適配資源受限設備 極簡協議頭 :MQTT協議頭最小僅2字節,遠低于HTTP(通常數百字節)或CoAP(雖輕量但基于UDP,可靠性較弱)。例如,傳輸一條包含少量數據的消息
    的頭像 發表于 12-10 09:15 ?444次閱讀

    TCPUDP的區別

    首先概括一下基本的區別: TCP是一個面向連接的、可靠的、基于字節流的傳輸層協議。 而UDP是一個面向無連接的傳輸層協議。(就這么簡單,其它TC
    發表于 12-09 07:24

    請問TCPUDP 可以使用同一個端口嗎?

    TCPUDP 可以使用同一個端口嗎?
    發表于 12-03 08:01

    為什么會有TCP/IP協議

    見了面,完全不能交流信息。因而他們需要定義一些共通的東西來進行交流,TCP/IP就是為此而生。TCP/IP不是一個協議,而是一個協議族的統稱。 里面包括了IP
    發表于 12-03 06:28

    SIP協議和私有協議廣播區別

    電子發燒友網站提供《SIP協議和私有協議廣播區別.docx》資料免費下載
    發表于 11-06 16:31 ?1次下載

    以太網通訊在FPGA上的實現

    最底層,分為接收RX和發送TX兩個部分,主要用來實現上文所述的IP協議和MAC層協議。TX部分接收上層發來的UDPTCP報文,將其添加IP頭并封裝為一個完整的以太網幀后由RMII接口
    發表于 10-30 07:45

    溫度傳感器一般走哪些協議和接口

    溫度傳感器常用的通信協議和接口可根據應用場景(如工業控制、智能家居、物聯網等)和傳輸需求(距離、速度、功耗等)分為有線和無線兩大類,具體協議和接口的選擇需結合傳感器類型、系統架構及成本等因素綜合考量
    的頭像 發表于 09-23 17:22 ?1364次閱讀

    第五章 W55MH32 UDP示例

    本文介紹了在 W55MH32?芯片上實現 UDP?通信及數據回環測試的方法。闡述了 UDP?協議的概念、特點、應用場景、報文傳輸流程和報文結構,展示了實現過程,借助網絡調試工具完成測試。
    的頭像 發表于 07-24 09:13 ?1042次閱讀
    第五章 W55MH32 <b class='flag-5'>UDP</b>示例

    什么是Modbus TCP協議

    Modbus TCP是一種基于TCP/IP協議的Modbus通信協議,用于在客戶機和服務器之間進行數據通信。它常用于工業自動化控制、電力監控與管理、溫濕度監測等領域。Modbus
    的頭像 發表于 07-23 17:18 ?4259次閱讀
    什么是Modbus <b class='flag-5'>TCP</b><b class='flag-5'>協議</b>

    常見的工業自動化協議有哪些?

    ,允許使用TCP/IP和UDP/IP等協議通過以太網進行通信。主要協議之一是現場總線協議,它替代了一系列普遍的
    的頭像 發表于 07-17 13:08 ?501次閱讀
    常見的工業自動化<b class='flag-5'>協議</b>有哪些?

    RDMA簡介3之四種子協議對比

    CPU卸載到RDMA網卡處理。僅需要使用普通以太網交換機和iWARP網卡即可實現路由。但在大規模部署時,由于TCP/IP協議點對點連接的特性,將會占用大量的內存資源,對系統規格的要求更高在對比這四種
    發表于 06-04 16:05

    DLT645協議和Modbus協議有什么區別

    DLT645協議和Modbus協議的區別主要體現在協議定位、數據幀結構、操作類型與功能、適用場景等方面,以下為具體分析: 協議定位與適用領域 DLT645
    的頭像 發表于 05-15 17:47 ?1785次閱讀

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

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