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

UDP協(xié)議的那點(diǎn)事兒

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
UDP( User Datagram Protocol )協(xié)議,翻譯過(guò)來(lái)就是用戶數(shù)據(jù)報(bào)協(xié)議 ,跟 TCP 協(xié)議一樣,都是位于 OSI 模型的傳輸層。

UDP( User Datagram Protocol )協(xié)議,翻譯過(guò)來(lái)就是用戶數(shù)據(jù)報(bào)協(xié)議 ,跟 TCP 協(xié)議一樣,都是位于 OSI 模型的傳輸層。不過(guò)比起 TCP 協(xié)議,UDP 協(xié)議就顯得簡(jiǎn)單多了,因?yàn)樗鼪](méi)有「流量控制」、「擁塞控制」等復(fù)雜的處理機(jī)制。它甚至沒(méi)有重傳機(jī)制,也就是說(shuō),如果你的數(shù)據(jù)包半路走丟了,那就是真找不回來(lái)了,所以說(shuō) UDP 協(xié)議是不可靠的。當(dāng)然了,這個(gè)重傳機(jī)制是針對(duì)傳輸層而言的,你完全可以在應(yīng)用層寫(xiě)一個(gè)協(xié)議來(lái)進(jìn)行丟包處理,比如說(shuō)像 TCP 一樣,增加 ACK 和序列號(hào)機(jī)制。

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

UDP 報(bào)文段結(jié)構(gòu)

這當(dāng)然要根據(jù)應(yīng)用的需求來(lái),不過(guò)在說(shuō)這個(gè)話題之前,我們先來(lái)詳細(xì)了解一下 UDP 協(xié)議。

說(shuō)實(shí)話,UDP 的報(bào)文段結(jié)構(gòu)比 TCP 報(bào)文段簡(jiǎn)潔多了(見(jiàn)下圖),畢竟 UDP 協(xié)議就沒(méi)有什么多余的機(jī)制。

言歸正傳,報(bào)文段里的「源端口號(hào)」和「目的端口號(hào)」是為了告訴傳輸層,我這個(gè)報(bào)文是從哪兒(哪個(gè)進(jìn)程)來(lái)的,要到哪兒(哪個(gè)進(jìn)程)去。但要注意一點(diǎn):一個(gè) UDP 套接字是由一個(gè)二元組標(biāo)識(shí)的,這個(gè)二元組指的是目的 IP 地址和目的端口號(hào),也就是說(shuō),服務(wù)器上對(duì)應(yīng)的進(jìn)程,不在乎你是從哪個(gè)客戶端來(lái)的,我都放進(jìn)同一個(gè)套接字處理,處理完了再根據(jù)源端口號(hào)和源 IP 地址,把應(yīng)答信息發(fā)送給客戶端。相較而言,TCP 套接字需要一個(gè)四元組來(lái)標(biāo)識(shí):源 IP 地址,源端口號(hào),目的 IP 地址和目的端口號(hào)。這一點(diǎn)在講 TCP 協(xié)議的時(shí)候還會(huì)細(xì)講,所以這里就不贅述了。

PS:你可能會(huì)問(wèn),這報(bào)文段里怎么沒(méi)有 IP 地址啊?這是因?yàn)镮P 地址保存在網(wǎng)絡(luò)層的 IP 協(xié)議段里,傳輸層的報(bào)文段里當(dāng)然就沒(méi)有了。

無(wú)連接

每次提到 TCP 協(xié)議,我們最先想到的就是三次握手和四次揮手,對(duì) UDP 協(xié)議來(lái)說(shuō),這都是沒(méi)有的事兒~ 使用 UDP 協(xié)議的時(shí)候,如果客戶端要發(fā)送報(bào)文段給服務(wù)端,不用握手,直接就發(fā)出去了,也正因?yàn)檫@樣,UDP 協(xié)議被稱為是無(wú)連接的。

很容易想到,不需要握手這一過(guò)程的話,就沒(méi)有因?yàn)榻⑦B接而造成的時(shí)延,一個(gè)字,快!這也是 DNS(域名系統(tǒng))運(yùn)行在 UDP 協(xié)議之上的很大一部分原因。

但是 UDP 協(xié)議不可靠啊,傳輸過(guò)程中丟包了怎么辦?最簡(jiǎn)單的做法就是——忽略它!(否則就得像文章開(kāi)頭說(shuō)的那樣,在應(yīng)用層實(shí)現(xiàn)重傳機(jī)制)就拿 DNS 來(lái)說(shuō)吧,如果數(shù)據(jù)包丟失,客戶端重發(fā)就是了(有超時(shí)機(jī)制),而且在正常情況下,丟包的概率很低。但如果使用 TCP 協(xié)議的話,因?yàn)橐⑦B接,域名查詢就會(huì)慢很多,除此之外,使用 UDP 協(xié)議的網(wǎng)絡(luò)開(kāi)銷更小——UDP 報(bào)文段有 8 個(gè)字節(jié)的首部開(kāi)銷,而 TCP 協(xié)議有 20 字節(jié)的開(kāi)銷(看前面的關(guān)于報(bào)文段的兩張圖)。網(wǎng)絡(luò)開(kāi)銷小,意味著 DNS 服務(wù)器能接受更多客戶端的請(qǐng)求。

還有一個(gè)方面,TCP 協(xié)議有擁塞控制機(jī)制,它會(huì)在網(wǎng)絡(luò)擁塞時(shí)遏制 TCP 發(fā)送方,以至于延遲報(bào)文段的傳送,所以對(duì)于一些要求傳輸延遲小,且能夠容忍一些數(shù)據(jù)丟失的實(shí)時(shí)程序來(lái)說(shuō),UDP 協(xié)議可能是一個(gè)更好的選擇。路由選擇協(xié)議(RIP)、 網(wǎng)絡(luò)管理協(xié)議(SNMP) 也都選擇了 UDP 來(lái)作為底層的傳輸協(xié)議。

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

UDP 協(xié)議要講的內(nèi)容不多,下次要講的 TCP 協(xié)議,就比較燒腦了,做好準(zhǔn)備吧!

 

 

責(zé)任編輯:趙寧寧 來(lái)源: tobe的囈語(yǔ)
相關(guān)推薦

2015-12-08 14:49:13

SDN軟件定義網(wǎng)絡(luò)

2011-12-26 11:13:24

密碼

2022-05-26 15:30:21

Spring AOP框架

2022-05-26 09:03:39

AOP編程

2017-09-12 08:03:29

數(shù)據(jù)庫(kù)MySQL主庫(kù)

2013-12-26 13:35:39

2012-03-12 21:23:47

Windows pho

2023-12-04 11:02:53

C++空類

2013-09-17 10:37:03

AOPAOP教程理解AOP

2018-03-30 16:03:04

軟件無(wú)狀態(tài)”

2021-04-13 09:12:45

網(wǎng)絡(luò)設(shè)備無(wú)線路由器交換機(jī)

2019-02-12 11:45:05

Java數(shù)據(jù)庫(kù)開(kāi)發(fā)

2009-08-18 17:55:20

C#操作符重載

2010-05-21 15:34:02

Exchange 20

2010-07-06 15:16:34

UDP協(xié)議

2017-04-19 08:35:34

2013-12-04 09:46:56

Hyper-VNUMA

2018-05-17 09:46:40

apachenginx阻塞

2018-11-01 17:06:06

cell自適應(yīng)高主

2012-04-17 11:21:50

Java
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 嫩草国产| www.色综合| 在线观看成人小视频 | 国产成人精品一区二区三区四区 | 日韩高清在线 | 我爱操 | 日韩午夜在线观看 | 久久久久国产一区二区三区四区 | 99视频在线播放 | 国产精品资源在线观看 | 久久亚洲精品国产精品紫薇 | 成人免费大片黄在线播放 | 日韩精品视频一区二区三区 | 黄色片在线免费看 | 亚洲经典一区 | 黄网站涩免费蜜桃网站 | 国产区久久 | 久久视频免费观看 | 国产精品一区二区久久久久 | 国产激情视频网 | 免费在线观看h片 | 国产精品免费看 | 成人小视频在线观看 | 国产你懂的在线观看 | 男人的天堂亚洲 | 6080亚洲精品一区二区 | 亚洲精品视频在线观看免费 | 久久久免费毛片 | 毛片一级片 | 日韩欧美在线观看 | 国产高清自拍视频在线观看 | 久久久成人免费视频 | 亚洲精品久久久久久国产精华液 | 欧美日韩国产精品激情在线播放 | 成人小视频在线免费观看 | 欧美精品1区2区3区 精品国产欧美一区二区 | 亚洲经典一区 | 久久免费高清视频 | 三极网站| 亚洲视频免费在线观看 | 亚洲精品日韩欧美 |