计算机网络滑动窗口协议实验报告目录一、 实验内容和实验环境描述 (2) 1. 实验内容 (2)2. 实验目的 (2)3. 实验环境 (2)二、 协议设计 (3)三、 软件设计 (4)Part A 选择重传协议1. 数据结构 (4)2. 模块结构 (6)3. 算法流程 (7)Part B go back n 协议1. 数据结构 (8)2. 模块结构 (9)3. 算法流程 (10)四、 实验结果分析 (11)五、 探究问题 (13)六、 实验总结与心得体会 (14)一、实验内容和实验环境描述 1.实验内容利用所学数据链路层原理,自己设计一个滑动窗口协议在仿真环境下编程实现有噪音信道环境下两站点之间无差错双工通信。信道模型为 8000bps 全双工卫星信道,信道传播时延 270 毫秒,信道误码率为10−5,信道提供字节流传输服务,网络层分组长度固定为 256 字节。2.实验目的通过该实验,进一步巩固和深刻理解数据链路层误码检测的 CRC 校验技术,以及滑动窗口的工作机理。滑动窗口机制的两个主要目的:(1)实现有噪音信道环境下的无差错传输;(2)充分利用传输信道的带宽。在程序能够稳定运行并成功实现第一个目标之后,运行程序并检查在信道没有误码和存在误码两种情况下的信道利用率。为实现第二个目标,提高滑动窗口协议信道利用率,需要根据信道实际情况合理地为协议配置工作参数,包括滑动窗口的大小和重传定时器时限以及 ACK 搭载定时器的时限。3.实验环境Windows10 环境 PC 机Microsoft Visual Studio 2025 集成开发环境二、 协议设计本次试验主要设计数据链路层,实验中分别设计了 go back n协议与选择重传协议。主要涉及到的层次结构是物理层、数据链路层、网络层。物理层:为数据链路层提供的服务为 8000bps,270ms 传播延时,10−5误码率的字节流传输通道。数据链路层利用接口函数 send_frame()和 recv_frame()从物理层发送和接收一帧。网络层:利用数据链路层提供的“可靠的分组传输”服务,在站点 A 与站点 B 之间交换长度固定为 256 字节的数据分组。网络层把产生的分组交付数据链路层,并接受数据链路层提交来的数据分组。数据链路层:通过 get_packet()函数从网络层得到一个分组,将之组装成帧,向物理层发送,启动计时器;进行适当的流量控制;数据帧经信道传送给接收方;接收方数据链路层终止定时器(或启动 ack 定时器),推断数据是否出错,若正确的话,是否为欲接受数据。若所受到的数据帧是期待接受的数据...