历代rdt的变化

rdt1.0

假设前提:在传输通道中不发生错误,不丢包(reliable channel)

流程:单纯的由发送方发出,接收方接收

rdt2.0

假设前提:在1.0的前提下,加入了可能出错(bit error),仍然无丢包

改进:加入了停等协议,差错检测,接收方会发ACK/NAK,重传等机制解决错误。

缺点:ACK/NAK也可能发生错误

rdt2.1

假设前提:跟2.0一样

改进:为每个分组加了序列号(0,1),发送方看ACK/NAK是否正确,同时接收方看是否重复

rdt2.2

假设前提:跟2.0一样

改进:只用ACK,取消NAK。在ACK中加入最后被确认接收的分组。因为有停等协议的存在,还是只用0和1就足够

rdt3.0

假设前提:在2.0的基础上加入了丢包

改进:加计时器,到时间后自动重传。

缺点:由于停等协议的存在,性能非常差

猜你喜欢

转载自www.cnblogs.com/enheng123/p/11801659.html