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

UDP協(xié)議-看這篇就夠了

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
每一個程序員應(yīng)該都知道TCP,UDP協(xié)議。UDP是用戶數(shù)據(jù)報文協(xié)議,屬于OSI模型中的傳輸層。它是一種無連接的協(xié)議,也就說上一報文和下一報文在協(xié)議層沒有任何聯(lián)系,同時提供了簡單的不可靠的傳輸服務(wù)。

每一個程序員應(yīng)該都知道TCP,UDP協(xié)議。UDP是用戶數(shù)據(jù)報文協(xié)議,屬于OSI模型中的傳輸層。它是一種無連接的協(xié)議,也就說上一報文和下一報文在協(xié)議層沒有任何聯(lián)系,同時提供了簡單的不可靠的傳輸服務(wù)。

[[273925]]

也就是說UDP是不可靠的,如果要想讓數(shù)據(jù)可靠,就需要在業(yè)務(wù)層做糾錯和檢錯功能。比如:TFTP。

那可能就會有同學(xué)問了,既然是不可靠的,為什么不直接使用IP協(xié)議呢?還要這么大費周章增加一種協(xié)議UDP呢?

其實其中一個最重要的原因就是IP協(xié)議中沒有端口(port)的概念,它只是規(guī)定了兩臺主機之間的通信,并沒有解決不同主機上應(yīng)用程序之間的通信。如果一個主機上的多個應(yīng)用程序需要通信,直接用IP協(xié)議就無法數(shù)據(jù)區(qū)分數(shù)據(jù)到底哪個應(yīng)用程序了。 

UDP協(xié)議-看這篇就夠了

可以理解為一個端口就是一個通信通道,當然UDP在IP協(xié)議的基礎(chǔ)上增加了一些功能,所以我們來總結(jié)下:

  1. UDP無連接,沒有連接。所以它的發(fā)送和接受的開銷就會小很多。
  2. UDP不保證數(shù)據(jù)可靠交付,只是盡最大可能。所以不需要維護復(fù)雜的連接關(guān)系。
  3. UDP是面向報文的,添加在應(yīng)用層下來數(shù)據(jù)頭部,直接塞給IP層。
  4. UDP沒有擁塞控制
  5. UDP至支持多播。
  6. UDP頭部小,說明傳輸更多的數(shù)據(jù)內(nèi)容

下圖展示是UDP和上下層的關(guān)系:

UDP協(xié)議-看這篇就夠了

UDP的首部到底是怎樣的呢?

先看下圖:

UDP協(xié)議-看這篇就夠了

從圖中可以看出,UDP的首部由四部分組成:

  • 各16bit的來源端口和目的端口用來標記發(fā)送和接受的應(yīng)用進程。因為UDP不需要應(yīng)答,所以來源端口是可選的,如果來源端口不用,那么置為零。當運輸層從IP層收到UDP數(shù)據(jù)報時,就是根據(jù)首部中的目的端口,把UDP數(shù)據(jù)報通過相應(yīng)的端口,上交最后的終點--應(yīng)用程序。
  • 如果接收方UDP發(fā)現(xiàn)收到的報文中的目的端口號不正確,就會丟棄改報文,并由網(wǎng)際控制協(xié)議ICMP發(fā)送“端口不可達”差錯報文給發(fā)送方。ICMP應(yīng)用Traceroute,就是讓發(fā)送的UDP用戶數(shù)據(jù)報故意使用一個非法的UDP端口,結(jié)果ICMP返回“端口不可達”差錯報文,因而達到了測試的目的。
UDP協(xié)議-看這篇就夠了

在目的端口后面是長度固定的以字節(jié)為單位的報文長度域,用來指定UDP數(shù)據(jù)報包括數(shù)據(jù)部分的長度,長度最小值為8byte。

首部剩下地16bit是用來對首部和數(shù)據(jù)部分一起做校驗和(Checksum)的,這部分是可選的,但在實際應(yīng)用中一般都使用這一功能。

UDP和TCP的校驗和都覆蓋到了他們的首部和數(shù)據(jù),而IP首部的校驗和只覆蓋了IP首部。

UDP和socket怎樣配合使用

隨著我們進入傳輸層,我們也可以調(diào)用操作系統(tǒng)中的API,來構(gòu)建socket。Socket是操作系統(tǒng)提供的一個編程接口,它用來代表某個網(wǎng)絡(luò)通信。應(yīng)用程序通過socket來調(diào)用系統(tǒng)內(nèi)核中處理網(wǎng)絡(luò)協(xié)議的模塊,而這些內(nèi)核模塊會負責具體的網(wǎng)絡(luò)協(xié)議的實施。

這樣,我們可以讓內(nèi)核來接收網(wǎng)絡(luò)協(xié)議的細節(jié),而我們只需要提供所要傳輸?shù)膬?nèi)容就可以了,內(nèi)核會幫我們控制格式,并進一步向底層封裝。因此,在實際應(yīng)用中,我們并不需要知道具體怎么構(gòu)成一個UDP包,而只需要提供相關(guān)信息(比如IP地址,比如端口號,比如所要傳輸?shù)男畔?,操作系統(tǒng)內(nèi)核會在傳輸之前會根據(jù)我們提供的相關(guān)信息構(gòu)成一個合格的UDP包(以及下層的包和幀)。看下圖吧。

UDP協(xié)議-看這篇就夠了

UDP使用場景

需要資源少,在網(wǎng)絡(luò)情況比較好的內(nèi)網(wǎng),或者對于丟包不敏感的應(yīng)用。如DHCP協(xié)議就是基于UDP的。一般的獲取IP地址都是內(nèi)網(wǎng)請求,而且一次獲取不到IP又沒事。又比如基于UDP的RTP,TFTP,丟一幀數(shù)據(jù)問題也不大。再比如一些設(shè)備發(fā)現(xiàn)協(xié)議等等。

不需要一對一溝通,建立連接,而是可以廣播的應(yīng)用。DHCP就是一種廣播的形式。VXLAN也是需要用到組播,也是基于UDP協(xié)議的。

需要處理速度快,時延低,可以容忍少數(shù)丟包,但是要求即便網(wǎng)絡(luò)擁塞,也毫不退縮,一往無前的時候。

QUIC是Google提出的一種基于UDP改進的通信協(xié)議,其目的是降低網(wǎng)絡(luò)通信的延遲,提供更好的用戶互動體驗。

結(jié)語

UDP沒有TCP那么復(fù)雜,但是網(wǎng)絡(luò)體系中不可缺少的協(xié)議。需要熟練的掌握該協(xié)議。

 

責任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2021-09-30 07:59:06

zookeeper一致性算法CAP

2023-06-08 18:17:07

OSPF路由協(xié)議

2021-05-07 07:52:51

Java并發(fā)編程

2022-03-29 08:23:56

項目數(shù)據(jù)SIEM

2024-08-27 11:00:56

單例池緩存bean

2017-03-30 22:41:55

虛擬化操作系統(tǒng)軟件

2023-09-25 08:32:03

Redis數(shù)據(jù)結(jié)構(gòu)

2021-09-10 13:06:45

HDFS底層Hadoop

2023-10-04 00:32:01

數(shù)據(jù)結(jié)構(gòu)Redis

2023-11-07 07:46:02

GatewayKubernetes

2021-07-28 13:29:57

大數(shù)據(jù)PandasCSV

2021-10-21 06:52:17

ZooKeeper分布式配置

2023-12-07 09:07:58

2018-09-26 11:02:46

微服務(wù)架構(gòu)組件

2021-04-11 08:30:40

VRAR虛擬現(xiàn)實技術(shù)

2021-11-10 07:47:48

Traefik邊緣網(wǎng)關(guān)

2022-08-18 20:45:30

HTTP協(xié)議數(shù)據(jù)

2023-11-22 07:54:33

Xargs命令Linux

2021-12-13 10:43:45

HashMapJava集合容器

2020-10-19 10:35:18

數(shù)據(jù)庫監(jiān)控 系統(tǒng)
點贊
收藏

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

主站蜘蛛池模板: 日韩精品一区二区三区在线播放 | 亚洲精品视频一区 | 欧美中文字幕一区二区三区亚洲 | 免费一级淫片aaa片毛片a级 | 国内自拍偷拍视频 | 成人在线一区二区 | 羞羞的视频免费看 | 精品91久久| www.yw193.com| 久久国产欧美日韩精品 | 亚洲精品在线看 | 成人免费看黄 | 欧美一级黄色片免费观看 | 欧美三级久久久 | 日韩精品在线播放 | 特a毛片| 免费同性女女aaa免费网站 | 国产一区二区中文字幕 | 一级片网址 | 国产伦精品一区二区三区高清 | 99热精品在线| 日本一级淫片免费啪啪3 | 国产精品国产精品国产专区不卡 | 国产午夜精品视频 | 一区二区三区亚洲视频 | 国产欧美一区二区在线观看 | 国产精品永久久久久 | 国产精品 欧美精品 | 特级做a爱片免费69 精品国产鲁一鲁一区二区张丽 | 亚洲一区毛片 | 欧美精品一区在线发布 | 精品视频一区二区三区在线观看 | 中文字幕一区在线观看视频 | 久久久精品一区二区三区 | 在线成人 | 亚洲一区免费在线 | 亚洲精品一区在线 | 欧美三级三级三级爽爽爽 | 午夜视频一区二区三区 | 丝袜 亚洲 欧美 日韩 综合 | 成人欧美一区二区三区白人 |