一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

TCP協(xié)議和UDP協(xié)議對比 UDP協(xié)議的原理及應(yīng)用

454398 ? 來源:博客園 ? 作者:默語 ? 2020-10-26 15:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

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

UDP

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

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

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

UDP協(xié)議會用自己的分組結(jié)構(gòu)封裝用戶信息,其數(shù)據(jù)格式如下:

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

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

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

不保證交付順序:不設(shè)置包序號,不重排,不發(fā)生隊首阻塞;

不跟蹤連接狀態(tài):不必建立連接或重啟狀態(tài)機;

不需要擁塞控制:不內(nèi)置客戶端或網(wǎng)絡(luò)反饋機。

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

關(guān)于數(shù)據(jù)報(Datagram)詳細定義如下:

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

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

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

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

    關(guān)注

    8

    文章

    1402

    瀏覽量

    81007
  • DNS
    DNS
    +關(guān)注

    關(guān)注

    0

    文章

    226

    瀏覽量

    20442
  • 瀏覽器
    +關(guān)注

    關(guān)注

    1

    文章

    1040

    瀏覽量

    36280
  • 數(shù)據(jù)報
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    7331
  • TCP協(xié)議
    +關(guān)注

    關(guān)注

    1

    文章

    101

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    RDMA簡介3之四種子協(xié)議對比

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

    淺談HART協(xié)議和RS485協(xié)議的區(qū)別

    HART協(xié)議和RS485協(xié)議都是用于工業(yè)領(lǐng)域通信的協(xié)議,但它們有不同的應(yīng)用場景和特點。
    的頭像 發(fā)表于 03-27 10:07 ?1212次閱讀
    淺談HART<b class='flag-5'>協(xié)議和</b>RS485<b class='flag-5'>協(xié)議</b>的區(qū)別

    TCP協(xié)議UDP協(xié)議的區(qū)別

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

    什么是TCP協(xié)議及其工作原理

    在現(xiàn)代網(wǎng)絡(luò)通信中,數(shù)據(jù)的傳輸需要依賴于一套復(fù)雜的協(xié)議來確保數(shù)據(jù)的完整性和可靠性。TCP協(xié)議作為這些協(xié)議中的關(guān)鍵一環(huán),扮演著至關(guān)重要的角色。 TCP
    的頭像 發(fā)表于 01-22 09:41 ?1194次閱讀

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

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

    TCP三次握手與UDP的區(qū)別

    在計算機網(wǎng)絡(luò)中,數(shù)據(jù)傳輸?shù)目煽啃院托适莾蓚€關(guān)鍵因素。為了滿足不同的應(yīng)用需求,設(shè)計者們開發(fā)了多種傳輸層協(xié)議。其中,TCP(傳輸控制協(xié)議)和UDP(用戶數(shù)據(jù)報
    的頭像 發(fā)表于 01-03 17:35 ?847次閱讀

    一文了解Android UDP通信

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

    socket 和 UDP 協(xié)議對比

    在現(xiàn)代互聯(lián)網(wǎng)技術(shù)中,數(shù)據(jù)傳輸是核心功能之一。為了實現(xiàn)這一功能,我們依賴于各種通信協(xié)議和接口。Socket 和 UDP 是兩種廣泛使用的網(wǎng)絡(luò)通信技術(shù),它們在實現(xiàn)網(wǎng)絡(luò)通信方面各有特點和用途
    的頭像 發(fā)表于 11-12 14:28 ?895次閱讀

    TCP&UDP調(diào)試工具

    TCP&UDP調(diào)試工具
    發(fā)表于 10-30 10:41 ?3次下載

    TCP協(xié)議是什么

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

    功能強大的網(wǎng)絡(luò)通訊工具,支持各類TCP、UDP、HTTP的通訊協(xié)議

    功能強大的網(wǎng)絡(luò)通訊工具,支持各類TCP、UDP、HTTP的通訊協(xié)議,簡單方便,包含歷史記憶功能,體積小,服務(wù)器調(diào)試最合適
    發(fā)表于 09-05 11:51 ?0次下載

    深度解析TCPUDP協(xié)議

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

    tcpudp的區(qū)別和聯(lián)系

    一、引言 在現(xiàn)代網(wǎng)絡(luò)通信中,數(shù)據(jù)傳輸是至關(guān)重要的。為了確保數(shù)據(jù)的可靠傳輸,網(wǎng)絡(luò)協(xié)議發(fā)揮著關(guān)鍵作用。傳輸控制協(xié)議TCP)和用戶數(shù)據(jù)報協(xié)議UDP
    的頭像 發(fā)表于 08-16 11:06 ?1070次閱讀

    一文了解TCP/IP協(xié)議

    TCP/IP協(xié)議是現(xiàn)代計算機網(wǎng)絡(luò)通信的基礎(chǔ),是互聯(lián)網(wǎng)及局域網(wǎng)廣泛使用的一套協(xié)議TCP/IP協(xié)議集包括許多
    的頭像 發(fā)表于 08-07 15:38 ?3507次閱讀
    一文了解<b class='flag-5'>TCP</b>/IP<b class='flag-5'>協(xié)議</b>

    華納云:TCP IP協(xié)議的發(fā)展和優(yōu)勢

    TCP/IP(Transmission Control Protocol/Internet Protocol,傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議)是互聯(lián)網(wǎng)和現(xiàn)代計算機網(wǎng)絡(luò)的基礎(chǔ)協(xié)議集。它定義了數(shù)
    的頭像 發(fā)表于 07-25 16:49 ?838次閱讀