UDP協(xié)議

什么是UDP協(xié)議?

User Datagram Protocal 屉更,用戶數(shù)據(jù)報協(xié)議徙融,它跟TCP協(xié)議不同,TCP協(xié)議是基于流的瑰谜,發(fā)送的數(shù)據(jù)跟IP數(shù)據(jù)報個數(shù)無關欺冀。而UDP數(shù)據(jù)則直接封裝成IP數(shù)據(jù)報發(fā)送(當然,如果UDP數(shù)據(jù)過長萨脑,會導致IP數(shù)據(jù)報分片發(fā)送)隐轩。所以UDP是簡單的基于IP數(shù)據(jù)報的傳輸,而IP數(shù)據(jù)報的傳輸是不保證可到達渤早,不保證傳輸順序职车,所以UDP不提供任何的可靠性。

首部格式

  • 「Source port」 源端口號,可選的悴灵,如果不用可全部置0.如果喜歡接收方能回復扛芽,則源端口號很重要,要不然別人也不知道回復哪個端口称勋,我們知道胸哥,系統(tǒng)內核是通過端口號來映射應用程序的
  • 「Destination port」 和「 「Source port」 一樣的語義,通過指定接收方的端口號來指定特定應用程序接收到此UDP數(shù)據(jù)報
  • 「Length」 指UDP數(shù)據(jù)報的長度赡鲜,注意空厌,包括「首部」 和 「數(shù)據(jù)報內容」 的總長度
  • 「Check sum」 檢驗和,和 「IP」 檢驗和一樣银酬,不同的是UDP的檢驗和針對首部和內容全部計算得出檢驗和嘲更。
    *「Data octets」 UDP數(shù)據(jù)報內容,可以為空


    UDP協(xié)議格式

IP分片

前面已經說過揩瞪,UDP協(xié)議是基于IP協(xié)議的簡單封裝赋朦,而IP協(xié)議對應的鏈路層有MTU的概念 ,即物理鏈路傳輸數(shù)據(jù)時有最大傳輸單元限制李破,這樣當IP數(shù)據(jù)包長送的時候宠哄,會將MTU和當前的數(shù)據(jù)包長度進行比較,如果必要嗤攻,則要進行IP分片傳輸毛嫉。我們知道,以太網(wǎng)鏈路層的MTU是1500妇菱,則每次傳輸?shù)淖畲髷?shù)據(jù)不能超過1500字節(jié)(byte)承粤,如果超過了就要進行分片傳輸。

IP分片

上圖所描述的示例中闯团,如果我們發(fā)送一個超過了MTU長度的UDP數(shù)據(jù)辛臊,比如1473字節(jié),加上IP首部20字節(jié)和UDP首部8個字節(jié)房交,即1501字節(jié)彻舰,它比以太網(wǎng)鏈路層的MTU:1500多1個字節(jié),所以要進行IP分片后傳輸涌萤。分片的第一個分組包含了UDP首部(8個字節(jié))和UDP數(shù)據(jù)(1472)個字節(jié)淹遵。第二個分組只包含了UDP數(shù)據(jù)的最后一個字節(jié)內容。我們可以了解到负溪,對于分片發(fā)送的UDP數(shù)據(jù),只有第一個分組擁有UDP首部的信息济炎,如果所有的分組中第一片分組丟失的話川抡,則所有分組都要丟棄,因我們知道UDP首部中包含了重要的信息,如「Destination port」崖堤,如果不知道目的地端口號侍咱,則系統(tǒng)不知道將該數(shù)據(jù)交給哪個應用程序去處理。所以密幔,利用UDP傳輸?shù)膽贸绦蛐ǜ瑧摽刂茢?shù)據(jù)報的升序,盡量避免分片進行胯甩。

關于接收端在接收到一個IP數(shù)據(jù)報的分片數(shù)據(jù)時昧廷,如果進行重組,即把所有分片數(shù)據(jù)再次按順序組合起來呢偎箫,這就要利用IP首部中一些字段標識木柬,我們一起來復習下前面文章中的IP協(xié)議:

  • Identification(唯一標識): 每一個IP數(shù)據(jù)報都要有唯一的標識字段,這樣在分片和重組時不至于混淆兩個完全不同的分片數(shù)據(jù)淹办。就是說眉枕,一個IP數(shù)據(jù)報分片后隧出,每個分片的IP首部中录别,該字段相同,這樣接收端就知道這些分片來自一個數(shù)據(jù)報
  • Flages(標志): 這個字段也是為IP數(shù)據(jù)報的分片和重組作用的锋爪。用于標識收到的分片后續(xù)是否還有分片待接收副硅。1代表后續(xù)還有分處姥宝,0代表分片結束,所以最后一個分片該值為0
  • Fragment offset(分片偏移):指當前分片數(shù)據(jù)在整體IP數(shù)據(jù)報中所處的偏移量想许,以8字節(jié)(64比特)為單位伶授。由此可見,「identification」,「Flages」,「Fragment offset」這三個字段是為IP數(shù)據(jù)報分片和重組功能作用的字段
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末流纹,一起剝皮案震驚了整個濱河市糜烹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌漱凝,老刑警劉巖疮蹦,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異茸炒,居然都是意外死亡愕乎,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門壁公,熙熙樓的掌柜王于貴愁眉苦臉地迎上來感论,“玉大人,你說我怎么就攤上這事紊册”纫蓿” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長芳绩。 經常有香客問我掀亥,道長,這世上最難降的妖魔是什么妥色? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任搪花,我火速辦了婚禮,結果婚禮上嘹害,老公的妹妹穿的比我還像新娘撮竿。我一直安慰自己,他們只是感情好吼拥,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布倚聚。 她就那樣靜靜地躺著,像睡著了一般凿可。 火紅的嫁衣襯著肌膚如雪惑折。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天枯跑,我揣著相機與錄音惨驶,去河邊找鬼。 笑死敛助,一個胖子當著我的面吹牛粗卜,可吹牛的內容都是我干的。 我是一名探鬼主播纳击,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼续扔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了焕数?” 一聲冷哼從身側響起纱昧,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎堡赔,沒想到半個月后识脆,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡善已,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年灼捂,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片换团。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡悉稠,死狀恐怖,靈堂內的尸體忽然破棺而出艘包,到底是詐尸還是另有隱情偎球,我是刑警寧澤洒扎,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布辑甜,位于F島的核電站衰絮,受9級特大地震影響,放射性物質發(fā)生泄漏磷醋。R本人自食惡果不足惜猫牡,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望邓线。 院中可真熱鬧淌友,春花似錦、人聲如沸骇陈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽你雌。三九已至器联,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間婿崭,已是汗流浹背拨拓。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留氓栈,地道東北人渣磷。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像授瘦,于是被迫代替她去往敵國和親醋界。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內容

  • 11.1 引言 UDP是一個簡單的面向數(shù)據(jù)報的運輸層協(xié)議:進程的每個輸出操作都正好產生一個UDP數(shù)據(jù)報提完,并組裝成一...
    張芳濤閱讀 2,814評論 1 6
  • 1 運輸層協(xié)議概述 1.1 進程之間的通信 網(wǎng)絡層是為主機之間提供邏輯通信形纺,而運輸層為應用進程之間提供端到端的邏輯...
    Mr希靈閱讀 8,093評論 0 34
  • 個人認為,Goodboy1881先生的TCP /IP 協(xié)議詳解學習博客系列博客是一部非常精彩的學習筆記氯葬,這雖然只是...
    貳零壹柒_fc10閱讀 5,054評論 0 8
  • 1.這篇文章不是本人原創(chuàng)的挡篓,只是個人為了對這部分知識做一個整理和系統(tǒng)的輸出而編輯成的,在此鄭重地向本文所引用文章的...
    SOMCENT閱讀 13,068評論 6 174
  • 計算機網(wǎng)絡七層模型中帚称,傳輸層有兩個重要的協(xié)議:(1)用戶數(shù)據(jù)報協(xié)議UDP (User Datagram Proto...
    Q南南南Q閱讀 1,714評論 0 3