傳輸層——UDP

簡介

RFC768定義的UDP只是做了傳輸協議能夠做的最少工作,它僅在IP的數據報服務上增加了兩個最基本的服務:複用和分用以及差錯檢測。UDP是非面向連接的、不可靠的傳輸協議。

  • 不需要建立連接
  • 不支持流量控制和擁塞控制,沒有確認/重傳機
  • UDP段在傳輸過程中可能會丟失、失序和延遲
  • 支持廣播和組播,這對多媒體傳輸是非常有用的

和TCP的區別

  1. UDP無需建立連接,因此UDP不會引入建立連接的時延。
  2. 無連接狀態。TCP需要在端系統中維護連接狀態,此狀態包括髮送接收緩存、擁塞控制參數、確認號、順序號等。而UDP不維護連接狀態,也不跟蹤這些參數。
  3. 分組頭部開銷小。TCP頭部有20B,而UDP只有8B。
  4. UDP沒有擁塞控制,因此網絡中的擁塞不會影響主機的發送速率。某些應用要求以穩定的速率發送,但不允許有較大的延遲,UDP正好滿足。 
  5. UDP提供盡最大努力的交付,即不保證可靠交付,但這並不意味着應用對數據的要求事不可靠的,因此所有維護傳輸可靠性工作需要用戶在應用層來完成。應用實體可以根據應用的需求來靈活設計自己的可靠性原則。
  6.  UDP事面向報文的。發送方UDP對應用層交下來的報文,在添加首部後就交給IP層,既不合並,也不拆分,而是保留這些報文的邊界;接收方UDP對於IP層交上來的UDP用戶數據報,在去除首部後就原封不動的交付給上層應用進程,一次性交付一個完整的報文。因此報文不可分割,是UDP數據報處理的最小單位。

UDP報文段格式

                                                                                                                                              

  • 源端口:在需要對方回信是選用,不需要時可用全0;
  • 目的端口:目的端口號,在終點交付報文時必須使用到
  • 長度:UDP數據報的長度(包括首部和數據),最小值爲8B(僅含首部)
  • 校驗和:檢測UDP數據報在傳輸中是否有錯。有錯就丟棄。該字段是可選的,當源主機不想計算校驗和時,直接令該字段全爲0

基於UDP的應用層協議

  • NFS:網絡文件系統
  • TFTP:簡單文件傳輸協議
  • DHCP:動態主機配置協議
  • BOOTP:啓動協議(用於無盤設備啓動)
  • DNS:域名解析協議
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章