成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

快速了解UDP協(xié)議

Tecode / 2200人閱讀

摘要:是什么是的縮寫,是一種用戶數(shù)據(jù)報協(xié)議,又稱為用戶數(shù)據(jù)報文協(xié)議。協(xié)議所需資源多,首部需個字節(jié)不算可選項,首部字段只需個字節(jié)。協(xié)議沒有數(shù)據(jù)邊界,有。因此容易發(fā)生粘包的現(xiàn)象。采用協(xié)議,通過服務器中轉方式。

UDP是什么?
UDP是User Datagram Protocol的縮寫,是一種用戶數(shù)據(jù)報協(xié)議,又稱為用戶數(shù)據(jù)報文協(xié)議。區(qū)別于TCP是面向連接的協(xié)議,UDP是一個簡單的面向數(shù)據(jù)報的傳輸層協(xié)議,UDP的發(fā)起和接受是不需要經(jīng)過連接的,僅僅只需要發(fā)送在對應端口上進行監(jiān)聽接受即可,不需要兩個客戶端一定是連接的

由于UDP的速度快,所以適合于在線視頻媒體,電話視頻聊天,電視廣播,多人在線游戲這些項目

UDP傳輸不可靠的原因有五點:

  1. 它一但把數(shù)據(jù)發(fā)送給網(wǎng)絡的數(shù)據(jù)發(fā)送出去,就不保留備份數(shù)據(jù)
  2. 在UDP的數(shù)據(jù)層面,只管發(fā)送或者是接受數(shù)據(jù),而不對這個數(shù)據(jù)進行保存?zhèn)浞葜匕l(fā)等等
  3. UDP在IP數(shù)據(jù)報的頭部僅僅加入了復用和數(shù)據(jù)校驗
  4. 發(fā)送端生產數(shù)據(jù)、接受端從網(wǎng)絡中抓取數(shù)據(jù),發(fā)送的時機和抓取的時機不想等,可能會導致客戶端發(fā)送的數(shù)據(jù)服務器端沒有接受到,在UDP中其實是沒有標準的客戶端和服務器端的,
  5. UDP結構簡單,無校驗,速度快,容易丟包、可廣播

TCP協(xié)議和UDP協(xié)議的區(qū)別是什么?
1.TCP協(xié)議是有連接的,有連接的意思是開始傳輸實際數(shù)據(jù)之前TCP的客戶端和服務器端必須通過三次握手建立連接,會話結束之后也要結束連接。而UDP是無連接的
2.TCP協(xié)議保證數(shù)據(jù)按序發(fā)送,按序到達,提供超時重傳來保證可靠性,但是UDP不保證按序到達,甚至不保證到達,只是努力交付,即便是按序發(fā)送的序列,也不保證按序送到。
3.TCP協(xié)議所需資源多,TCP首部需20個字節(jié)(不算可選項),UDP首部字段只需8個字節(jié)。
4.TCP有流量控制和擁塞控制,UDP沒有,網(wǎng)絡擁堵不會影響發(fā)送端的發(fā)送速率
5.TCP是一對一的連接,而UDP則可以支持一對一,多對多,一對多的通信。
6.TCP面向的是字節(jié)流的服務,UDP面向的是報文的服務。
7.TCP協(xié)議沒有數(shù)據(jù)邊界,UDP有。因此TCP容易發(fā)生粘包的現(xiàn)象。在UDP中數(shù)據(jù)包是多帶帶發(fā)送的,只有當他們到達時才會再次集成,包有明確的界限來判斷哪些包已經(jīng)收到。

例子:
QQ客戶端之間的消息傳送也采用了UDP模式,因為國內的網(wǎng)絡環(huán)境非常復雜,而且很多用戶采用的方式是通過代理服務器共享一條線路上網(wǎng)的方式,在這些復雜的情況下,客戶端之間能彼此建立起來TCP連接的概率較小,嚴重影響傳送信息的效率。

采用UDP協(xié)議,通過服務器中轉方式。大家都知道,UDP協(xié)議是不可靠協(xié)議,它只管發(fā)送,不管對方是否收到的,但它的傳輸很高效。但是,作為聊天軟件,怎么可以采用這樣的不可靠方式來傳輸消息呢?于是,騰訊采用了上層協(xié)議來保證可靠傳輸:如果客戶端使用UDP協(xié)議發(fā)出消息后,服務器收到該包,需要使用UDP協(xié)議發(fā)回一個應答包。如此來保證消息可以無遺漏傳輸。之所以會發(fā)生在客戶端明明看到“消息發(fā)送失敗”但對方又收到了這個消息的情況,就是因為客戶端發(fā)出的消息服務器已經(jīng)收到并轉發(fā)成功,但客戶端由于網(wǎng)絡原因沒有收到服務器的應答包引起的。

之所以當時應用UDP,最本質上UDP的優(yōu)勢還是帶寬的利用。這一切要回歸到99~03年的網(wǎng)絡狀況,當時網(wǎng)絡的特點就是接入帶寬很窄而且抖動特別厲害。所謂抖動可能是多方面的,例如延時突發(fā)性地暴增、也有可能是由于路由層面的變化突然導致路由黑洞,還各種等等等等的問題。TCP因為擁塞控制、保證有序等原因,在這種網(wǎng)絡狀態(tài)上對帶寬的利用是非常低的。而且因為網(wǎng)絡抖動的原因,應用層心跳超時,應用層主動斷掉socket之后TCP需要三次握手才能重新建立鏈接,一旦出現(xiàn)頻繁的小抖動就會使得帶寬利用更低。而等待四次揮手的時間,也會占用服務器上寶貴的資源。

總結來說,當網(wǎng)絡差到一定程度了,TCP的優(yōu)勢反而會成為劣勢。

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/126104.html

相關文章

  • 快速理解TCP和UDP的差異

    摘要:由于本身發(fā)送的就是一份一份的數(shù)據(jù)報,所以自然而然的就有一個上限的大小。并且由于本身的不可靠性以及無序性,如果發(fā)送了這三個數(shù)據(jù)報過來,端接收到的可能是任意順序任意個數(shù)三個數(shù)據(jù)報的排列組合。 前言 最頭疼的問題莫過于到底該選TCP還是UDP作為傳輸層協(xié)議。通過快速對比分析 TCP 和 UDP 的區(qū)別,來幫助即時通訊初學者快速了解這些基礎的知識點,從而在IM、消息推送等網(wǎng)絡通信應用場景中能準...

    tomato 評論0 收藏0
  • 每個前端都要了解點網(wǎng)絡知識

    摘要:前端主要關注于應用層的協(xié)議,傳輸層的協(xié)議斷舍離一下,就主要總結這兩種協(xié)議了。是序號,是確認序號。根據(jù)服務端發(fā)來的返回一個包給服務端。服務端接收后進入狀態(tài)。并在兩端維護了索引表,用于記錄出現(xiàn)過的,避免重復傳輸。 前端主要關注于應用層的 HTTP 協(xié)議,傳輸層的 TCP 協(xié)議,斷舍離一下,就主要總結這兩種協(xié)議了。 OSI 參考模型 與 TCP/IP 五層模型 showImg(https:/...

    wslongchen 評論0 收藏0
  • 一文講透前端開發(fā)所需網(wǎng)絡知識

    摘要:這時候超過定時器設定的時間就會再次發(fā)送丟包的數(shù)據(jù)直到對端響應,所以需要每次都備份發(fā)送的數(shù)據(jù)。 UDP 面向報文 UDP 是一個面向報文(報文可以理解為一段段的數(shù)據(jù))的協(xié)議。意思就是 UDP 只是報文的搬運工,不會對報文進行任何拆分和拼接操作。 具體來說 在發(fā)送端,應用層將數(shù)據(jù)傳遞給傳輸層的 UDP 協(xié)議,UDP 只會給數(shù)據(jù)增加一個 UDP 頭標識下是 UDP 協(xié)議,然后就傳遞給網(wǎng)絡層...

    smallStone 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<