UDP簡介

UDP

UDP提供儘量少的傳輸層服務,除了複用和解複用外,還提供了輕量級的錯誤檢查。UDP將進程消息加上源端口號和目的端口號(用來複用和解複用),再加上兩個域,直接將段傳送給網絡層。在發送段之前兩個傳輸層實體之間沒有握手,因此成爲無連接的。
有許多應用適合UDP的原因是:

  • 很好的應用層控制(發送什麼數據和什麼時候發送)
    UDP可以直接將封裝好的段傳給網絡層進行傳輸,而TCP有擁塞控制和握手,不管這些機制耗時多少
  • 不需要建立連接
    TCP在發送信息之前需要三次握手建立連接,而UDP直接發送信息,沒有延遲。這也就是DNS使用UDP的原因,而http使用TCP是因爲對於web網頁,可靠性很重要。
  • 不需要連接狀態
    TCP需要在端系統中保存連接狀態,包括接收端和發送端的緩衝信息,擁塞控制參數,序號和確認號,而UDP不需要保存這些信息,因此一個使用UDP的服務器可以支持更多的客戶端
  • 更小的頭部載荷
    TCP段有20字節頭部,UDP只有8字節頭部

UDP的段結構

UDP段包括4個域,每個域佔兩個字節:

  • 源端口號
  • 目的端口號
  • 段長度(頭部+數據)
  • 校驗和,用來檢查段中頭部是否有錯誤

UDP校驗和

將除了校驗和的三個域的二進制按位相加,得到的和進行取反,填入校驗和域。在接收端將這四個域的二進制數按位相加,如果不全爲1,則傳輸中發送錯誤。
儘管UDP提供錯誤檢驗,但是卻沒有提供錯誤校正的機制

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章