計算機網絡---傳輸層的udp協議

首先我們認識要在應用層對數據封裝之後需要傳輸到傳輸層進行封裝,但是在應用層只是對數據進行了處理,所以在傳輸層上需要對傳輸到那個進程進行設置,所以在傳輸層需要對port進行設置。所以port是標誌一個進程,就是一個應用程序。
一個端口能被一個應用程序所使用
一個應用程序可以使用多個端口

udp的協議格式
在這裏插入圖片描述

16位源端口:標誌發送數據的進程
16位目的端口號:標誌數據發送到的進程
16位udp長度:表示整個數據包(udp頭部+udp數據)的最大長度,最長的長度是64K。若sendto大於64K的數據就報錯
16位udp校驗和:二進制反碼求和。將傳輸的數據每兩個字節求反相加,但是不加16位udp校驗和的兩個字節。
udp的特點

  • 無連接
  • 不可靠
  • 面向數據報
    無連接:數據在發送的時候不需要知道在建立連接的情況下就可以發送數據,比如我們實現udp的訪問的時候我們客戶端可以發送數據直接綁定地址之後就發送,不清楚的夥伴可以看看udp代碼實現
    不可靠:在沒有互聯連接的情況下是不可靠的,因爲在發送數據之後對方不回覆,不知道是不是收到數據,或者在連接的時候就不知道是否已經連接上了。
    面向數據報:數據是按照報文的格式來發送的。整條數據發送整條數據接收。不會造成粘包的問題。
    udp傳輸並不保證數據報的有序到達,因需要用戶在應用層進行包序管理。
    udp的數據處理
    udp提供整條數據嚮應用層交付()不會出現半個數據,因爲頭部中有報文長度標示)。也正是因爲數據報在協議頭中有表示,所以udp不會產生粘包問題。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章