计算机网络实验:滑动窗口协议实现

需积分: 1 1 下载量 63 浏览量 更新于2024-09-16 收藏 177KB PPT 举报
"滑动传输讲义主要涵盖了滑动窗口协议在计算机网络协议开发中的应用,包括1比特滑动窗口协议、回退N帧(Go-Back-N)协议和选择性重传(Selective Repeat)协议的实验内容。实验中,学生主要负责实现发送方的功能,而接收方功能由系统提供。实验的目的是让学生理解并实践如何在不可靠的数据链路上实现可靠传输、保持帧序以及进行流量控制。" 滑动窗口协议是通信协议中的一个重要概念,广泛应用于数据链路层和传输层,旨在提供在不可靠的网络环境下可靠的帧传输服务。它允许发送方在等待确认之前发送多个数据帧,从而提高了数据传输的效率。协议主要有三种类型:无确认的无连接服务、有确认的无连接服务和有确认的面向连接服务。 在1比特滑动窗口协议中,发送方需要管理一个至少可以存储10个帧的缓存,根据接收到的messageType来决定发送、确认接收或重传帧。当接收到服务器的确认后,发送方可以从缓存中释放已确认的帧,并继续发送新的帧。如果在等待确认时超时,发送方会重传未确认的帧。值得注意的是,这个协议不涉及超时定时器和源、目的地址的设置。 回退N帧协议是在1比特滑动窗口的基础上扩展的,其发送窗口大小固定为4。与1比特协议相似,发送方同样需要处理帧的发送、确认接收和超时重传。然而,当出现错误时,回退N帧协议会重传自错误帧以来发送的所有帧,这可能导致一定程度的效率损失。 选择性重传协议则更加高效,它只重传发生错误的特定帧,而不是整个窗口的帧。同样,发送方需要缓存帧并处理发送、确认接收、超时重传以及接收服务器的否定应答后的重传。尽管如此,选择性重传协议的实现也无需考虑超时定时器和源、目的地址的设置。 在实验中,学生只能看到一个包含系统预定义函数和结构的代码文件,而main函数和其他函数的实现是隐藏的。这样设计的目的是让学生专注于协议的核心功能实现,更好地理解和掌握滑动窗口协议的工作原理和操作流程。通过这三个协议的实践,学生将能够深入理解可靠数据传输的关键机制和流量控制的重要性。