RUDP论文阅读笔记

毕设的选题是《轻量可靠传输协议的设计与实现》,在开始做之前读几篇论文,了解一下相关的研究背景。这篇博客的内容就是将各篇论文的重点研究部分摘出来,以便自己之后的研究和实现。

Reliable user datagram protoco

[1]Thammadi, Abhilash. "Reliable user datagram protocol (RUDP)." (2011).

这篇论文简单实现了RUDP协议,主要的关注点在于在UDP协议之上实现可靠传输,文章详述了滑动窗口协议的原理以及实现。

在chapter1中,论文简单阐述了TCP协议和UDP协议的特点。

在chapter2中,论文详述了三种滑动窗口协议:单比特滑动窗口协议、回退N帧协议和选择性重传协议。

在chapter3中,论文给出了选择性重传协议的一种实现,文章给出了类的关系图和伪代码。需要注意的是文中提到了使用信号量来防止多线程的读写冲突。

在chapter4中,论文评估了其所实现的RUDP协议的性能,分别在PC机和移动设备上进行实验,主要研究了传输时延和数据包大小、网络延迟、数据总量之间的关系。

在chapter5中,论文主要总结了RUDP相对于TCP协议在特定包大小条件下的优势,并展望未来工作:希望能在内存使用方面有所优化,并且信息安全相关的服务也可以在RUDP协议中提供。

Reliable User Datagram Protocol as a Solution to Latencies in Network Games

[2]Huh, Jun-Ho. "Reliable user datagram protocol as a solution to latencies in network games." Electronics 7.11 (2018): 295.

本文主要讲述使用RUDP协议来减小网络游戏延迟的手段,文章首先介绍了导致网络延迟的主要因素:玩家的电脑硬件、带宽大小、丢包率以及服务器宕机。

在3.1章中,文章先是比较了TCP相较UDP的特性:无数据错误、无丢包、数据按序到达,然后介绍RUDP应该如何实现这些特性(利用与TCP相似的滑动窗口,这个与上一篇论文类似,不再详述)

在3.2中,文章介绍了重传机制的设计,主要是根据RTT和窗口大小来决定超时重传的定时器和最大重传的帧数,公式如下:

RetransmissionTimeout=(n12+1)RTTMaxRetransmissionCount=ceiling(DataPacketAgingRetransmissionTimeout)Retransmission Timeout = (\frac{n-1}{2}+1)RTT\\ Max Retransmission Count = ceiling\left(\frac{Data Packet Aging}{Retransmission Timeout}\right)

其中nn为最大累积确认的大小(窗口大小),RTT是数据报往返的时间。

在第4章中文章使用模拟手段来评估将RUDP应用于网络游戏的性能,其速度和丢包率均在TCP和UDP之间。

第5章总结并展望,指出了RUDP是网络游戏设计的最优选,有着比TCP协议更快的速度和比UDP协议更好的可靠性。

Keyed user datagram protocol: concepts and operation of an almost reliable connectionless transport protocol

[3]Garcia N M, Gil F, Matos B, et al. Keyed user datagram protocol: concepts and operation of an almost reliable connectionless transport protocol[J]. IEEE Access, 2019, 7: 18951-18963.

这篇文章首先介绍了TCP和UDP的特点,然后在综述了其他文献提出的可靠轻量传输协议(如STCP等)。文中主要提到KUDP,这是一种基于端口变换的可靠传输协议,数据包会通过事先预定的或临时协商的若干个端口号来轮询发送,通过这个手段,接收方就可以知道哪些数据包丢失或哪些数据包乱序到达。

文章同时指出KUDP协议的一些不足,例如在结果使用NAT协议的设备时端口会发生变化,以及端口协商的过程可能仍然需要建立TCP的连接。

Enhanced user datagram protocol for video streaming in VANET

Zaidi S, Bitam S, Mellouk A. Enhanced user datagram protocol for video streaming in VANET[C]//2017 IEEE International Conference on Communications (ICC). IEEE, 2017: 1-6.

这篇文章主要介绍一种Enhanced UDP,这种协议主要运用于交通工具上的视频数据流传输,主要是应用方面的介绍。

A RELIABLE DATAGRAM TRANSPORT PROTOCOL FOR DISTRIBUTED COMPUTING

[5]Ananda A L, Tay B H. A RELIABLE DATAGRAM TRANSPORT PROTOCOL FOR DISTRIBUTED COMPUTING[C]//SINGAPORE INTERNATIONAL CONFERENCE ON NETWORKS. 114.

这篇文章讲的也是轻量可靠传输协议的应用,文章介绍了一种可靠传输协议RDTP,此协议用于分布式系统的进程间的数据传输,具有高可靠、低延迟的特点。

文章中介绍了RDTP协议的几种机制以及如何实现:

  1. 流控制和差错控制:通过滑动窗口协议和接收端维护的最大序号来实现,而计时器等机制参考了TCP协议的若干算法;
  2. 状态信息的的保持:通过MPL(Max Packet Lifetime)和MRI(Max Retransmission Interval);
  3. 紧急信息:利用一种类似TCP协议的带外数据的机制来实现。

A new congestion control algorithm for datagram congestion control protocol (DCCP) based real-time multimedia applications

[7]Rahman J, Saha S, Hasan S F. A new congestion control algorithm for datagram congestion control protocol (DCCP) based real-time multimedia applications[C]//2012 7th International Conference on Electrical and Computer Engineering. IEEE, 2012: 533-536.

本文介绍另一种可靠轻量传输协议DCCP(Datagram Congestion Control Protocol),这个协议主要应用于实时音视频通话,网络游戏等对数据实时性高的领域。文中介绍DCCP协议的“TCP Like”和“TCP Friendly”机制,此机制可以更好地保证数据能够以恒定的速率传输,而非严格的按序到达。

下面是文中对DCCP协议各种机制的简要概括:

  1. DCCP连接:半连接状态,DCCP连接是由两个无向连接构成的,连接双方都可以发送数据,而另一方接收。
  2. 不可靠传输:由于DCCP是一种不可靠传输协议,所以这个协议并没有提供差错控制手段。
  3. 连接控制:连接的建立和销毁较为复杂,这里略过
  4. DCCP差错控制:利用了CCID 2和CCID3两种机制。

文章中间引用了实验结果来证明在网络中,DCCP的新算法使得数据传输的比特率相较于传统方法更稳定,这个优点的代价是数据包的大小会随网络拥堵程度变化,因为较小的数据报在网络中的传输更加顺利。

CDP: a coded datagram transport protocol bridging UDP and TCP

这篇文章主要讲的似乎是编码系统,由于我对编码系统不太了解,就不深究文中的细节了,主要摘取文章的introduction和conclusion部分概括一下。

文章的主要目的大同小异,也是为了设计一款速率优于TCP,而可靠性优于UDP的通信协议。CDP协议对数据报的确认方式做出调整,传统的ACK仅对数据包自身确认,而CDP协议在确认数据报的同时完成对符号的解码,这种微妙的修改允许动态调整无速率编码以便无论通道如何,自然地跟踪解码器进度状况。

SCTP_new_transport_protocol_for_TCP_IP

Stewart R, Metz C. SCTP: new transport protocol for TCP/IP[J]. IEEE Internet Computing, 2001, 5(6): 64-69.

这篇文章讲的是SCTP协议,下面是文中提到的SCTP协议与TCP协议的区别:

  1. SCTP协议支持多宿,即一个主机可以通过多个网卡设备与其他主机建立连接。这是SCTP协议相对TCP协议的最大特点。
  2. SCTP协议的数据传输是以块为单位,而TCP是以字节为单位。
  3. SCTP并没有像TCP协议一样严格的按序到达机制,而是部分按序到达。

SCTP对需求可靠交付和快速处理的多数据流应用有很好的支持作用。


RUDP论文阅读笔记
http://zhf-xdu.top/2023/12/24/RUDP-paper-read/
作者
周洪锋
发布于
2023年12月24日
许可协议