程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 用戶數據報協議(UDP)

用戶數據報協議(UDP)

編輯:關於C++

介紹

用戶數據報協議是定義用來在互連網絡環境中提供包交換的計算機通信的協議。此協議默認認為網路協議(IP)是其下層協議。此協議提供了向另一用戶程序發送信息的最簡便的協議機制。此協議是面向操作的,未提供提交和復制保護。如果應用程序要求可靠的數據傳送應該使用傳輸控制協議(TCP)。數據報格式如下:

用戶數據報頭格式

源端口是可選域,當其有意義時,它指的是發送進程的端口,這也就假定了在沒有其它信息的情況下,返回信息應該向什麼地方發送。如果不使用它,則在此域中填0。目的端口在有特定的目的網絡地址時有意義。長度指的是此用戶數據報長度的八進制表示。(這表明最小的數據報長度是8。)校驗碼有16位,是對IP頭,UDP頭和數據中信息包頭的數位取反之和再取反得到的。

包頭從概念上說是在UDP頭信息之前的,它包括有源地址,目的地地址,所使用的協議和UDP長度。這些信息使信息不能被錯誤地接收。這個校驗過程與TCP中使用的過程一致。

如果計算出的校驗碼為零,它將被全零發送。全零的校驗值意味著發送者未產生校驗碼。

用戶接口

用戶接口應該允許創建新的接收端口,在接收端口的接收操作有:應該返回一個八進制數說明源端口和源地址,允許數據報傳送,指定數據,源和目標端口和目的地地址。

IP層接口

UDP模塊必須能夠決定源和目標的網絡地址,而且必須能夠從包頭中得知所使用的協議。一個可能的接口方式是返回整個數據報,包括接收操作返回的包頭。這樣的接口還應該允許UDP向IP傳送完整的帶包頭的數據報用於傳送。由IP來確定一致性並計算校驗碼。

協議應用

此協議的最主要的用途是網際名稱服務器和小文件傳輸協議。

協議號

在IP中使用它時,它的協議號是17(八進制中是21)。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved