UDP協定

UDP協定

UDP是用戶數據報協定(User Datagram Protocol,UDP)的簡稱,其主要作用是將網路數據流量壓縮成數據報形式,提供面向事務的簡單信息傳送服務。UDP協定提供的是面向無連線的、不可靠的數據報投遞服務。當使用UDP協定傳輸信息流時,用戶應用程式必須負責解決數據報丟失、重複、排序,差錯確認等問題。

簡介

用戶數據報格式用戶數據報格式

UDP是用戶數據報協定(UserDatagramProtocol,UDP)的簡稱,其主要作用是將網路數據流量壓縮成數據報形式,提供面向事務的簡單信息傳送服務。與TCP協定不同,UDP協定直接利用IP協定進行UDP數據報的傳輸,UDP提供的是面向無連線的、不可靠的數據報投遞服務。當使用UDP協定傳輸信息流時,用戶應用程式必須負責解決數據報丟失、重複、排序,差錯確認等問題。
用戶數據報協定是定義用來在互連網絡環境中提供包交換的計算機通信的協定。此協定默認認為網路協定(IP)是其下層協定。此協定提供了向另一用戶程式傳送信息的最簡便的協定機制。此協定是面向操作的,未提供提交和複製保護。如果應用程式要求可靠的數據傳送應該使用傳輸控制協定(TCP)。

數據報格式

如下:
0 7 8 15 16 23 24 31
+-----------+-----------+----------+------------+
| 源連線埠 | 目的連線埠 |
+-----------+-----------+----------+------------+
| 長 度 | 校驗碼 |
+-----------+-----------+----------+------------+
| 數 據 ......
+-----------+----------.......

源連線埠是可選域,當其有意義時,它指的是傳送進程的連線埠,這也就假定了在沒有其它信息的情況下,返回信息應該向什麼地方傳送。如果不使用它,則在此域中填0。目的連線埠在有特定的目的網路地址時有意義。長度指的是此用戶數據報長度的八進制表示。(這表明最小的數據報長度是 8。)校驗碼有16位,是對IP頭,UDP頭和數據中信息包頭的數位取反之和再取反得到的。
包頭從概念上說是在UDP頭信息之前的,它包括有源地址,目的地地址,所使用的協定和UDP長度。這些信息使信息不能被錯誤地接收。這個校驗過程與TCP中使用的過程一致。
0 7 8 15 16 23 24 31
+-----------+-----------+----------+------------+
| 源地址 |
+-----------+-----------+----------+------------+
| 目的地址 |
+-----------+-----------+----------+------------+
|0 | 協定 | UDP長度 |
+-----+-----+----+------+-----+-----+----+------+
如果計算出的校驗碼為零,它將被全零傳送。全零的校驗值意味著傳送者未產生校驗碼。
用戶接口
用戶接口應該允許創建新的接收連線埠,在接收連線埠的接收操作有:應該返回一個八進制數說明源連線埠和源地址,允許數據報傳送,指定數據,
源和目標連線埠和目的地地址。
IP層接口
UDP模組必須能夠決定源和目標的網路地址,而且必須能夠從包頭中得知所使用的協定。一個可能的接口方式是返回整個數據報,包括接收操作返回的包頭。這樣的接口還應該允許UDP向IP傳送完整的帶包頭的數據報用於傳送。由IP來確定一致性並計算校驗碼。

協定套用

此協定的最主要的用途是網際名稱伺服器和小檔案傳輸協定(TFTP)。
協定號
在IP中使用它時,它的協定號是17(八進制中是21)。

特徵

(1)UDP傳送數據前並不與對方建立連線,即UDP是無連線的,在傳輸數據前,傳送方和接收方相互交換信息使雙方同步。
(2)UDP不對收到的數據進行排序,在UDP報文的首部中並沒有關於數據順序的信息,而且報文不一定按順序到達的,所以接收端無從排起。
(3)UDP對接收到的數據報不傳送確認信號,傳送端不知道數據是否被正確接收,也不會重發數據。
(4)UDP傳送數據較TCP快速,系統開銷也少。
UDP比較簡單,UDP頭包含了源連線埠、目的連線埠、訊息長度和校驗和等很少的位元組。由於UDP比TCP簡單、靈活,常用於少量數據的傳輸,如域名系統(DNS)以及簡單檔案傳輸系統(TFTP)等。TCP則適用於可靠性要求很高但實時性要求不高的套用,如檔案傳輸協定FTP、超文本傳輸協定HTTP、簡單郵件傳輸協定SMTP等。

相關搜尋

熱門詞條

聯絡我們