成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

UDP協議的那點事兒

網絡 網絡管理
UDP( User Datagram Protocol )協議,翻譯過來就是用戶數據報協議 ,跟 TCP 協議一樣,都是位于 OSI 模型的傳輸層。

UDP( User Datagram Protocol )協議,翻譯過來就是用戶數據報協議 ,跟 TCP 協議一樣,都是位于 OSI 模型的傳輸層。不過比起 TCP 協議,UDP 協議就顯得簡單多了,因為它沒有「流量控制」、「擁塞控制」等復雜的處理機制。它甚至沒有重傳機制,也就是說,如果你的數據包半路走丟了,那就是真找不回來了,所以說 UDP 協議是不可靠的。當然了,這個重傳機制是針對傳輸層而言的,你完全可以在應用層寫一個協議來進行丟包處理,比如說像 TCP 一樣,增加 ACK 和序列號機制。

那你可能會疑惑了,為什么放著可靠的 TCP 協議不用,而選擇 UDP 協議?

UDP 報文段結構

這當然要根據應用的需求來,不過在說這個話題之前,我們先來詳細了解一下 UDP 協議。

說實話,UDP 的報文段結構比 TCP 報文段簡潔多了(見下圖),畢竟 UDP 協議就沒有什么多余的機制。

言歸正傳,報文段里的「源端口號」和「目的端口號」是為了告訴傳輸層,我這個報文是從哪兒(哪個進程)來的,要到哪兒(哪個進程)去。但要注意一點:一個 UDP 套接字是由一個二元組標識的,這個二元組指的是目的 IP 地址和目的端口號,也就是說,服務器上對應的進程,不在乎你是從哪個客戶端來的,我都放進同一個套接字處理,處理完了再根據源端口號和源 IP 地址,把應答信息發送給客戶端。相較而言,TCP 套接字需要一個四元組來標識:源 IP 地址,源端口號,目的 IP 地址和目的端口號。這一點在講 TCP 協議的時候還會細講,所以這里就不贅述了。

PS:你可能會問,這報文段里怎么沒有 IP 地址啊?這是因為IP 地址保存在網絡層的 IP 協議段里,傳輸層的報文段里當然就沒有了。

無連接

每次提到 TCP 協議,我們最先想到的就是三次握手和四次揮手,對 UDP 協議來說,這都是沒有的事兒~ 使用 UDP 協議的時候,如果客戶端要發送報文段給服務端,不用握手,直接就發出去了,也正因為這樣,UDP 協議被稱為是無連接的。

很容易想到,不需要握手這一過程的話,就沒有因為建立連接而造成的時延,一個字,快!這也是 DNS(域名系統)運行在 UDP 協議之上的很大一部分原因。

但是 UDP 協議不可靠啊,傳輸過程中丟包了怎么辦?最簡單的做法就是——忽略它!(否則就得像文章開頭說的那樣,在應用層實現重傳機制)就拿 DNS 來說吧,如果數據包丟失,客戶端重發就是了(有超時機制),而且在正常情況下,丟包的概率很低。但如果使用 TCP 協議的話,因為要建立連接,域名查詢就會慢很多,除此之外,使用 UDP 協議的網絡開銷更小——UDP 報文段有 8 個字節的首部開銷,而 TCP 協議有 20 字節的開銷(看前面的關于報文段的兩張圖)。網絡開銷小,意味著 DNS 服務器能接受更多客戶端的請求。

還有一個方面,TCP 協議有擁塞控制機制,它會在網絡擁塞時遏制 TCP 發送方,以至于延遲報文段的傳送,所以對于一些要求傳輸延遲小,且能夠容忍一些數據丟失的實時程序來說,UDP 協議可能是一個更好的選擇。路由選擇協議(RIP)、 網絡管理協議(SNMP) 也都選擇了 UDP 來作為底層的傳輸協議。

最后,這是一張客戶端與服務端利用 UDP 協議通信的流程圖:

UDP 協議要講的內容不多,下次要講的 TCP 協議,就比較燒腦了,做好準備吧!

 

 

責任編輯:趙寧寧 來源: tobe的囈語
相關推薦

2015-12-08 14:49:13

SDN軟件定義網絡

2011-12-26 11:13:24

密碼

2022-05-26 15:30:21

Spring AOP框架

2022-05-26 09:03:39

AOP編程

2013-12-26 13:35:39

2017-09-12 08:03:29

數據庫MySQL主庫

2023-12-04 11:02:53

C++空類

2012-03-12 21:23:47

Windows pho

2013-09-17 10:37:03

AOPAOP教程理解AOP

2018-03-30 16:03:04

軟件無狀態”

2021-04-13 09:12:45

網絡設備無線路由器交換機

2010-05-21 15:34:02

Exchange 20

2019-02-12 11:45:05

Java數據庫開發

2009-08-18 17:55:20

C#操作符重載

2010-07-06 15:16:34

UDP協議

2012-04-17 11:21:50

Java

2017-04-19 08:35:34

2018-05-17 09:46:40

apachenginx阻塞

2013-12-04 09:46:56

Hyper-VNUMA

2011-12-07 13:54:03

筆記本常見問題
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产高清精品一区二区三区 | 97精品久久 | 国产精品电影在线观看 | 在线视频一区二区 | 视频精品一区 | 亚洲精品成人 | 亚洲二区在线 | 日韩午夜一区二区三区 | 毛片在线视频 | 欧美黑人一级爽快片淫片高清 | 亚洲成人自拍 | 久久国产精品视频 | 91精品国产综合久久久久久 | 国产精品毛片一区二区在线看 | 欧美vide | 91精品国产欧美一区二区成人 | 久久99视频免费观看 | 九色 在线| 欧美一级大片 | 精品欧美一区二区三区久久久 | 亚洲视频一区二区三区四区 | 精品免费国产视频 | 成人精品福利 | 99精品国产一区二区三区 | 黑人巨大精品欧美一区二区免费 | 91久久久久久 | 国产成人福利在线观看 | 欧美日韩免费一区二区三区 | 成人在线中文字幕 | 精品视频一区二区三区在线观看 | 欧美精品乱码99久久影院 | 欧美激情一区二区三区 | 久久久这里都是精品 | 成人av一区 | 久久久国产一区二区三区 | 欧美一级α片 | 精品国产乱码久久久久久蜜柚 | 九九九久久国产免费 | 福利视频二区 | 亚洲成人av | 国产日韩精品在线 |