目录
- 0 引言
- 1 RDT的原理
- RDT的原理:
- 2 RDT的机制与作用
- 2.1 重要协议
- 停等协议(Stop-and-Wait):
- 连续ARQ协议:
- 2.2 机制与作用
- 实现机制:
- RDT的作用:
- 🙋♂️ 作者:海码007
- 📜 专栏:计算机四大基础专栏
- 📜 其他章节:网络快速入门系列、计网概述、计网应用层详解、计网Web和HTTP、计网FTP、计网EMail、计网DNS、计网P2P
- 💥 标题:【计网 可靠数据传输RDT】 中科大笔记 (十 一)
- ❣️ 寄语:书到用时方恨少,事非经过不知难。
- 🎈 最后:文章作者技术和水平有限,如果文中出现错误,希望大家能指正!
0 引言
这是计算机网络TOP10问题之一,所以还是非常重要的。RDT在应用层、传输层和数据链路层都很重要
RDT(Reliable Data Transfer)是一个协议概念,通常用于在传输层(Transport Layer)上实现可靠的数据传输。在OSI模型中,传输层负责在网络中的端到端通信中提供可靠的数据传输服务。
具体来说,在TCP/IP协议族中,RDT的功能主要由传输层的TCP协议来实现。TCP是一个面向连接的协议,提供可靠的、字节流的数据传输。TCP通过序号、确认、重传、流控制等机制,确保数据在两个端之间的可靠传输,同时处理丢包、乱序、重复等问题。
因此,RDT的概念和机制通常体现在传输层协议中,如TCP,而不是在更低层的数据链路层或物理层。在传输层上实现可靠的数据传输允许应用程序在不可靠的网络上进行稳定的通信。(IP协议提供的就是不可靠的传输
)
1 RDT的原理
将下层提供的不可靠服务,转换成可靠的服务并向上层提供。
RDT(Reliable Data Transfer)是一种可靠的数据传输协议,用于在不可靠的通信信道上提供可靠的数据传输。RDT的目标是确保数据在发送方和接收方之间的可靠交付,即使通信信道可能出现丢包、乱序或重复等问题。有两种主要的RDT协议:停等协议(Stop-and-Wait)和连续ARQ协议(Continuous Automatic Repeat reQuest)。
RDT的原理:
-
停等协议(Stop-and-Wait):
- 发送方发送数据帧,等待确认帧。
- 接收方接收数据帧,发送确认帧。
- 发送方等待确认,直到超时或接收到正确的确认。
- 如果超时,发送方重传当前帧。
-
连续ARQ协议:
- 发送方可以连续发送多个数据帧而无需等待确认。
- 接收方接收数据帧,发送确认帧。
- 发送方定期检查确认情况,如果收到确认,继续发送下一个数据帧。
- 如果发送方的某个帧超时没有收到确认,重传该帧及之后的所有帧。
-
数据帧结构:
- 每个数据帧都包含序列号,用于标识帧的顺序。
- 帧中可能包含校验和,用于检测传输中是否发生了错误。
- 帧中可能包含确认号,用于指示接收方期望接收的下一个帧。
-
超时处理:
- 发送方设置定时器,等待接收方的确认。
- 如果定时器超时,发送方认为帧丢失,触发重传机制。
-
确认机制:
- 接收方向发送方发送确认帧,确认已成功接收数据。
- 发送方根据确认情况决定是否继续发送下一个数据帧。
总的来说,RDT协议在面对不可靠的通信信道时,通过一系列的策略和机制,使得数据的传输更加可靠、有序、可控,确保了通信的稳定性和正确性。这对于网络通信和分布式系统等应用中非常重要。
2 RDT的机制与作用
RDT(Reliable Data Transfer)的实现通常发生在传输层,具体地说,是在OSI模型或TCP/IP协议栈的传输层。在这个层次上,RDT主要涉及两个重要的协议:停等协议(Stop-and-Wait)和连续ARQ协议(Continuous Automatic Repeat reQuest)。
2.1 重要协议
停等协议(Stop-and-Wait):
- 发送方:
- 发送方发送一个数据帧,然后等待接收方的确认。
- 如果在一定时间内未收到确认,发送方假定数据帧已丢失,触发重传。
- 接收方:
- 接收方收到数据帧后,发送确认。
- 如果收到重复的数据帧,只发送上一次正确接收的帧的确认。
连续ARQ协议:
- 发送方:
- 发送方可以连续发送多个数据帧而无需等待确认。
- 使用窗口(Window)机制控制发送的帧数,确保网络负载适中。
- 接收方:
- 接收方收到数据帧,发送确认。
- 接收方使用窗口机制来控制接收的帧数,确保按序接收。
2.2 机制与作用
实现机制:
-
序号与确认号:
- 每个数据帧都有一个唯一的序号,用于标识帧的顺序。
- 确认帧中包含确认号,表示接收到的下一个希望接收的序号。
-
校验和:
- 数据帧通常包含校验和,用于检测在传输过程中是否发生了错误。
-
定时器与超时处理:
- 发送方设置定时器,如果在规定时间内未收到确认,触发超时机制。
- 超时时,发送方重新发送相应的帧。
-
流控制:
- 使用滑动窗口(Sliding Window)等机制来控制发送和接收的速率。
-
确认和重传机制:
- 发送方接收到确认后,移动发送窗口。
- 如果发生超时或收到重复的确认,进行相应的重传。
RDT的作用:
-
可靠性: RDT协议通过重传机制、确认机制和校验和等手段,确保数据的可靠传输,即使在不可靠的通信信道上也能提供稳定的数据传输服务。
-
流控制: RDT协议通过控制发送方的发送速率,避免了数据的过快发送,以适应接收方的处理能力,防止数据的丢失或溢出。
-
错误检测与纠正: RDT协议在数据帧中使用校验和等机制,能够检测并有时纠正在传输过程中发生的错误,提高通信的可靠性。
-
顺序控制: RDT通过序列号的使用,保证数据帧的正确有序传输,防止数据帧的乱序到达。
总体而言,RDT的作用在于在不可靠的通信信道上提供可靠的数据传输服务,为应用层提供了一个稳定和有序的通信环境。 RDT的实现通常是TCP等协议的基础,为网络通信和分布式系统提供了可靠性和正确性。