RUDP:可靠用戶數據報協議

RUDP:可靠用戶數據報協議
  (RUDP:Reliable UDP)

  可靠用戶數據報協議(RUDP)是一種基於可靠數據協議 (RDP: RFC908 和 1151 (第二版 )) 的簡單分組傳輸協議。作爲一個可靠傳輸協議, RUDP 用於傳輸 IP 網絡間的電話信號。它允許獨立配置每個連接屬性,這樣在不同的平臺可以同時實施不同傳輸需求下的協議。 UDP/IP 協議中的 RUDP 是分層的併爲虛擬連接提供可靠有序發送(直到重新發送的最大數目)。 RUDP 設計靈活,便於多種傳輸層使用。傳輸電訊號協議就是其應用之一。

  RUDP 提供一組數據服務質量增強機制,如擁塞控制的改進、重發機制及淡化服務器算法等,從而在包丟失和網絡擁塞的情況下, RTP 客戶機(實時位置)面前呈現的就是一個高質量的 RTP 流。在不干擾協議的實時特性的同時,可靠 UDP 的擁塞控制機制允許 TCP 方式下的流控制行爲。

  爲了與網絡 TCP 通信量同時工作, RUDP 使用類似於 TCP 的重發機制和擁塞控制算法。在最大化利用可用帶寬上,這些算法都得到了很好的證明。  

  RUDP 特徵包括:

  • 客戶機確認響應服務器發送給客戶機的包;
  • 視窗和擁塞控制,服務器不能超出當前允許帶寬;
  • 一旦發生包丟失,服務器重發給客戶機;
  • 比實時流更快速,稱爲“緩存溢出”。

協議結構

1 2 3 4 5 6 7 8 16bit
SYN ACK EAK RST NUL CHK TCS 0 Header Length
Sequence number Ack number
Checksum

  Control Bits ― 表示數據包當前狀態,具體細節如下:

  • SYN:SYN 位表示當前爲同步段
  • ACK:ACK 位表示協議頭有效的承認序號。
  • EACK:EACK 位表示當前爲擴展承認字段。
  • RST:RST 位表示該數據包爲復位字段。
  • NUL:NUL 位表示該數據包爲空字段。.
  • CHK:CHK 位表示檢驗和字段是否包含協議頭或協議頭與主體(數據)的檢驗和。
  • TCS:TCS位表示該數據包是傳輸連接狀態字段。
  • 0:表示該字段的值必須設置爲0。

  Header Length ― 表示數據包中的用戶數據起始位置。

  Sequence Number ― 當打開第一個連接,每個對等結構任意選取一個初始序列號。該序列號用於SYN字段打開連接。在發送數據、空或復位字段之前,每個傳送方會相應增加序列號。

  Acknowledgement Number ― 該字段表示傳送方最後傳送接收方接收的數據包的序列。

  Checksum ― 協議頭中總會計算出檢驗和以確保完整性。這裏檢驗和的算法與UDP和TCP協議頭檢驗和的算法相同。


相關協議 UDPRDPIPTCP
組織來源 RUDP 由 IETF(http://www.ietf.org)討論商榷,記錄在文件備忘錄中。
相關鏈接 http://www.javvin.com/protocol/reliable-UDP.pdf:Reliable UDP protocol
http://www.javvin.com/protocol/rfc908.pdf:Reliable Data Protocol(RDP)
http://www.javvin.com/protocol/rfc1151.pdf:Version 2 of the Reliable Data Protocol(RDP)

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