術語簡介
RDP:可靠數據協定(RDP:Reliable Data Protocol)
可靠數據協定 RDP 是一種面向連線的傳輸協定,其主要設計來為主機監控應用程式如下載 / 上傳以及遠程調試進行有效的大批數據傳輸。RDP 嘗試只提供那些必需的服務,達到操作有效、尺度小的效果。其主要功能如下:
RDP 為每個傳輸層連線連線埠提供一個全雙工通信信道;
RDP 嘗試可靠傳送所有用戶信息,一旦傳送失敗,將向用戶報告錯誤。RDP 擴展 IP 數據報服務使之能夠可靠傳送;
RDP 嘗試偵測並刪除所有損壞的和重複的數據段,它在數據段頭使用校驗碼及序列號實現這一過程;
RDP 隨意地提供數據段序列傳送,必須在連線建立時就指定數據段的序列傳送;
RDP 會回響確認序列之外的數據段,這會釋放傳送端的資源。
與 TCP 相比,RDP 所支持的功能更為簡單。RDP 的流控制,緩衝以及連線管理模式都是相當簡單的。RDP 的目標就是能夠簡單有效地執行並能適合一系列的應用程式。
RDP 函式集也可能是子集從而進一步減小特殊執行的大小。例如,一台向其它主機請求下載的目標處理器可能執行一個僅支持默認的開放式函式和單連線的 RDP 模組。這個模組也可能選擇不執行非順序回響確認。
協定結構
RDP 第二版協定頭結構(見附圖)
Control flags ― 8個控制位劃分如下:
SYN:SYN 位表示當前為同步段。
ACK:ACK 位表示協定頭有效的承認序號。
EACK:EACK 位表示當前為擴展承認欄位。.
RST:RST 位表示該數據包為復位欄位。
NUL:NUL 位表示該數據包為空欄位。
0:表示該欄位的值必須設定為0。
Ver no:版本號,當前版本號為2。
Header length ― RDP 協定頭長度。
Source Ports ― 源地址,識別通信發生的過程。網路訪問協定頭中,源地址和目標地址的連線埠標識符的結合完全限定了連線並形成連線標識符。如此 RDP 可用於區分兩台主機間的多連線。
Destination Ports ― 目標地址,識別通信中的目標過程。
Data Length ― 該欄位中的數據長度(八位),該數據長度不包括 RDP 協定頭。
Sequence number ― 該欄位的序列號。
Acknowledgement number ― 如果 ACK 位設定在協定頭部,這就是欄位序列號,即該欄位傳送端最後正確按序列接收的順序。一旦連線成功,就應該傳送該欄位。
Checksum ― 檢驗和確保完整性。
Variable Header Area ― 用於傳輸 SYN 和 EACK 欄位的參數。