前言
计算机网络可靠传输的工作原理主要依赖于一系列协议和机制,以确保数据在传输过程中能够准确无误地到达目的地。
一、基本概念
可靠传输指的是数据链路层的发送端发送什么,在接收端就收到什么,即保证数据的完整性、正确性和顺序性。由于网络环境的复杂性和不确定性,如误码、丢包、乱序等问题时有发生,因此需要通过可靠传输机制来应对这些问题。
二、主要机制
停止-等待协议:
- 这是最简单的可靠传输协议。发送方每发送一个分组就停止发送,等待接收方的确认。如果收到确认,则发送下一个分组;如果超时未收到确认,则重传前一个分组。
- 该协议的优点是简单易懂,但缺点是信道利用率低,因为发送方在等待确认的过程中无法发送其他分组。
连续ARQ协议:
- 为了提高信道利用率,引入了连续ARQ协议。发送方可以连续发送多个分组,而不必每发送一个分组就等待确认。
- 接收方采用累积确认的方式,即对按序到达的最后一个分组发送确认,表示到这个分组为止的所有分组都已经正确收到。
- 如果发送方在超时时间内未收到某个分组的确认,则会重传该分组及其之后的所有未确认分组(在回退N帧协议GBN中)或仅重传未确认的分组(在选择重传协议SR中)。
滑动窗口协议:
- 滑动窗口协议是连续ARQ协议的一种实现方式。它通过维护一个发送窗口和一个接收窗口来控制数据的发送和接收。
- 发送窗口的大小决定了发送方在未收到确认之前可以连续发送的分组数量。接收窗口的大小则决定了接收方可以接收但尚未确认的分组数量。
- 滑动窗口协议通过调整窗口的大小来平衡传输效率和可靠性。窗口越大,传输效率越高,但可靠性可能降低;窗口越小,可靠性越高,但传输效率可能降低。
三、关键技术
- 校验和:在数据发送前,发送方会计算数据的校验和并将其附加在数据后。接收方在收到数据后,会重新计算校验和并与发送方的校验和进行比较,以检测数据是否在传输过程中发生错误。
- 确认和重传:接收方在收到正确的数据后,会向发送方发送确认信息。如果发送方在超时时间内未收到确认信息,则会认为数据丢失或出错,并触发重传机制。
- 序号管理:每个数据分组都会被分配一个唯一的序号,以便接收方能够按序接收和处理分组。同时,序号也可以用于检测重复分组和乱序分组。
- 流量控制和拥塞控制:流量控制用于防止发送方发送数据过快而导致接收方无法及时处理;拥塞控制则用于防止网络中的数据包过多而导致网络拥塞和性能下降。
四、实现层次
在计算机网络中,可靠传输通常是在运输层实现的,如TCP协议。TCP协议通过一系列复杂的机制和算法来保证数据的可靠传输,包括三次握手建立连接、四次挥手断开连接、超时重传、拥塞控制等。相比之下,数据链路层通常只提供尽最大努力的服务,不保证数据的可靠传输。
总结
综上所述,计算机网络可靠传输的工作原理是一个复杂而精细的系统工程,它依赖于多种协议和机制来确保数据的完整性、正确性和顺序性。在实际应用中,需要根据具体场景和需求选择合适的可靠传输机制和参数配置。
结语
认识未来是一回事
而走向未来是另一回事
!!!