计算机网络讲义:数据链路层的滑动窗口协议

版权申诉
0 下载量 82 浏览量 更新于2024-07-02 收藏 3.08MB PPT 举报
"该资源是计算机网络课程的第11讲,主要讲解了数据链路层的相关内容,包括差错控制、可靠性传输以及滑动窗口协议。" 在计算机网络中,数据链路层是OSI七层模型中的第二层,负责在节点间的物理链路上提供可靠的数据传输服务。这一讲义重点探讨了数据链路层如何实现数据的无差错传输,以及如何通过流量控制确保网络的高效运行。 差错控制是数据链路层的关键功能之一,目的是检测并纠正传输过程中可能出现的错误。讲义中提到了几种不同的错误处理策略,如完全理想化的数据传输、最简单的停止等待协议、连续ARQ(自动重传请求)协议等。在停止等待协议中,主机A发送数据帧到主机B,B接收到正确数据后发送ACK确认。如果数据帧丢失或出错,A会根据超时机制重传;如果ACK丢失,A则会收到NAK(否定确认),同样会重传数据帧。 接着,讲义详细介绍了滑动窗口协议,这是一种更高效的流量控制方法。滑动窗口协议允许发送端在等待确认之前发送多个数据帧,从而提高了链路的利用率。发送窗口和接收窗口的设定使得发送方可以连续发送一定数量的数据,而接收方只需接收指定编号的数据帧,并通过发送ACK来确认接收。当发送方收到ACK后,窗口会向前滑动,允许发送更多的数据。在示例中,发送窗口大小为K,允许连续发送K个数据帧,接收窗口通常设为1,以保证按序接收。窗口的前后沿和发送指针的移动规则确保了数据的有序传输和有效的重传策略。 滑动窗口协议有多种变体,如Go-Back-N和选择重传,它们在实际网络中广泛应用于实现高效的数据链路层通信。Go-Back-N允许发送方在窗口内的所有帧都未被确认前继续发送,而选择重传则仅重传出错的单个帧,这两种协议在提高带宽利用率和减少延迟方面各有优势。 这份讲义深入浅出地阐述了数据链路层的关键概念和技术,对于理解网络中的数据传输过程和流量控制机制具有重要价值。通过学习这些内容,读者可以更好地理解计算机网络中的数据传输可靠性以及如何通过控制策略优化链路的使用。