1、实验三 滑动窗口协议的实现实验目的 理解滑动窗口协议对连续ARQ协议的改进,及其在流量控制中的意义实验内容 在Visual C+环境中,通信的双方在应用中根据滑动窗口协议的思想进行流量控制。需要处理正常数据与应答、出错数据、丢失数据、丢失应答等各种情况,并进行统计。 要求提供图形化输出,具体可参考实验要求中的详细说明。实验要求1. 任何一个节点都具备发送和接收的功能,主操作界面如图1。图1 主界面发送窗口的大小在发送参数中设置,发送时,界面上的发送窗口动态变化,对应当前已发送的数据,图中,黄色表示不在当前发送窗口中的序号;绿色表示在发送窗口中已经发送了的数据序号;蓝色表示在发送窗口中,还没有发
2、送的数据序号。接收窗口也需要动态表示当前的可接收序号(蓝色表示)。2. 发送文件1) 设置发送参数在中输入文件的接收方IP地址,点击图1的“发送参数设置”按钮,出现图2的界面,对停等协议的发送方参数进行设定。图2 设置发送参数2) 选择发送文件从图1的点击“浏览”,出现图3的弹出窗口,可从本机选择需要发送的文件,要求文件大于1M字节。图3 选择发送的文件3)发送文件选定文件后点击“发送”按钮,发送数据的信息在图1 显示,包括所有分组的传输信息。4)根据确认状态,完成下一步操作 ACK:正确接收,已收到确认-发送下一个数据分组未ACK:未收到确认信息 -在到达设置的超时时间后仍未收到确认,则重新
3、发送原分组NAK:收到否定确认 -直接重传原来的分组5)发送完成,显示统计信息统计信息可包括:文件总长度,发送的分组数目,收到ACK、NAK等的次数,超时重发次数、错误重发次数等相关信息。6)保存发送过程明细记录点击图1左下方的按钮,调用类似图3的界面,将发送的明细信息保存到文件中,以便查看。3. 接收文件当节点作为信息的接收方,首先可以选择两种应答方式:自动应答和手动应答。1)在收到某个用户的第一个分组时,给出如图4的接收提示。图4 接收提示2)点击图4的“确定”按钮,在如图5的界面中选择接收文件存放的目录和文件名。图5 选择接收文件的目录和文件名3) 接收数据,给出应答收到的每个分组,显示在图1的数据接收情况中。自由点击“ACK”、 “NAK”或“不应答”按钮,对应的操作分别为:给发送方发肯定的确认ACK、出错的否定确认NAK和没有应答,导致超时。4) 接收完成,显示统计信息统计信息可包括:文件总长度,发送方的IP地址,发送的分组数目,发送ACK、NAK等的次数,不应答次数等相关信息。5)保存发送过程明细记录点击图1右下方的按钮,调用类似图3的界面,将发送的明细信息保存到文件中,以便查看。