【Java 网络编程】UDP 简介
文章目錄
- I UDP 簡介
- II UDP 不可靠性
- III UDP 作用
- IV UDP 報文頭
- V UDP 數(shù)據(jù)包長度
I UDP 簡介
1. UDP : User Datagram Protocol , 用戶數(shù)據(jù)報協(xié)議 , 又叫用戶數(shù)據(jù)報文協(xié)議 ;
2. UDP 協(xié)議特點 : UDP 是面向數(shù)據(jù)報的傳輸層協(xié)議 , UDP 協(xié)議是基于報文的協(xié)議 , 不是面向連接的協(xié)議 ; UDP 的發(fā)送和接收是不需要建立連接的 , 只需要發(fā)送 , 及在對應(yīng)的設(shè)備上監(jiān)聽指定端口接收即可 ;
II UDP 不可靠性
1. UDP 與 TCP : UDP 是面向數(shù)據(jù)報的 , TCP 是面向連接的 , UDP 傳輸不可靠 , TCP 傳輸可靠 ;
2. 沒有備份 : UDP 在網(wǎng)絡(luò)層中 , 將上層傳給網(wǎng)絡(luò)層數(shù)據(jù)封裝后發(fā)送出去 , 這些數(shù)據(jù)是不保留備份的 ; 如果發(fā)送失敗 , 就失敗了 ;
3. UDP 對 IP 數(shù)據(jù)報處理 : UDP 協(xié)議中在該數(shù)據(jù)報頭部加入了數(shù)據(jù)校驗字段和復(fù)用相關(guān)字段 ;
4. 發(fā)送端接收端操作 : UDP 協(xié)議傳輸中 , 發(fā)送端封裝數(shù)據(jù) , 接收端接收數(shù)據(jù)時從網(wǎng)絡(luò)中抓取發(fā)送給自己的數(shù)據(jù)包 , 如果客戶端發(fā)送的數(shù)據(jù)包與接收端抓取數(shù)據(jù)包沒有同步 , 那么接收端可能就收不到該數(shù)據(jù) ;
5. UDP 協(xié)議特點 : UDP 協(xié)議中是沒有標(biāo)準(zhǔn)的客戶端與服務(wù)器端的 , 其結(jié)構(gòu)簡單 , 不用進行數(shù)據(jù)的校驗 , 速度延遲很低 , 可以廣播 , 其缺點也很明顯 , 就是可靠性低 , 容易丟包 ;
III UDP 作用
1. 用作底層協(xié)議 : DNS , TFTP , SNMP 協(xié)議都是基于 UDP 協(xié)議的 , 其底層的數(shù)據(jù)傳輸機制使用的是 UDP 協(xié)議 ;
2. 應(yīng)用場景 : UDP 可以用于視頻 , 音頻 , 不重要的數(shù)據(jù)傳輸 ; 直播 , 電視信號傳輸可以使用 UDP 協(xié)議傳輸 , 視頻下載使用的是 TCP 傳輸 , 因為其要保證文件的正確性 ;
IV UDP 報文頭
UDP 報文頭 : 長度 64 位 , 8 字節(jié) , 0 ~ 15 位 存儲源端口號 , 16 ~ 31 位存儲目標(biāo)端口號 , 32 ~ 47 位 是數(shù)據(jù)長度 , 48 ~ 63 存儲報文頭和數(shù)據(jù)的校驗和 ;
V UDP 數(shù)據(jù)包長度
UDP 報文頭中存儲的長度信息 16 位 , 即 2 字節(jié) , 其最大可表示的數(shù)字時 216?1=655352^{16} - 1 = 65535216?1=65535 , 自身的報文頭占了 64 位 , 8 字節(jié) , UDP 數(shù)據(jù)包的最大長度是 65535?8=6550765535 - 8 = 6550765535?8=65507 字節(jié) , 大約 64 KB ;
總結(jié)
以上是生活随笔為你收集整理的【Java 网络编程】UDP 简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Java 网络编程】网络相关概念
- 下一篇: 【Java 网络编程】UDP API 简