停止等待协议模拟程序实现课件

上传人:枫** 文档编号:569958800 上传时间:2024-08-01 格式:PPT 页数:14 大小:918KB
返回 下载 相关 举报
停止等待协议模拟程序实现课件_第1页
第1页 / 共14页
停止等待协议模拟程序实现课件_第2页
第2页 / 共14页
停止等待协议模拟程序实现课件_第3页
第3页 / 共14页
停止等待协议模拟程序实现课件_第4页
第4页 / 共14页
停止等待协议模拟程序实现课件_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《停止等待协议模拟程序实现课件》由会员分享,可在线阅读,更多相关《停止等待协议模拟程序实现课件(14页珍藏版)》请在金锄头文库上搜索。

1、停止等待协议停止等待协议模拟程序实现模拟程序实现n n实验目的:实验目的:加深对停止等待协议、滑动窗口协议的理解,编制和开发停止等待协议模拟程序。n n实验内容实验内容n编写停止等待协议模拟程序,实现数据帧编号、超时重传等机制,确保数据可靠传输 n总结实验过程(实验报告):方案、编程、调试、结果、分析、结论 实验原理实验原理n n实验目的:实验目的:加深对停止等待协议、滑动窗口协议的理解,编制和开发停止等待协议模拟程序。n n实验内容实验内容n编写停止等待协议模拟程序,实现数据帧编号、超时重传等机制,确保数据可靠传输 n总结实验过程(实验报告):方案、编程、调试、结果、分析、结论 发送结点工作

2、流程发送结点工作流程 (1) (1) 从主机取一个数据帧,送交发送缓存。从主机取一个数据帧,送交发送缓存。(2) V(S)0(2) V(S)0。 (3) N(S)V(S)(3) N(S)V(S)。(4) (4) 将发送缓存中的数据帧发送出去。将发送缓存中的数据帧发送出去。 (5) (5) 设置超时计时器。设置超时计时器。(6) (6) 等待。等待。 等待以下等待以下(7)(7)和和(8)(8)这两个事件中最先出现的一个这两个事件中最先出现的一个 (7) (7) 收到确认帧收到确认帧 ACKACKn n, 若若 n n = 1 = 1 V(s) V(s),则:,则: 从主机取一个新的数据帧,放入

3、发送缓存;从主机取一个新的数据帧,放入发送缓存; V(S)1 V(S)1 V(S) V(S),转到,转到 (3)(3)。 否则,丢弃这个确认帧,转到否则,丢弃这个确认帧,转到(6)(6)。 (8) (8) 若超时计时器时间到,则转到若超时计时器时间到,则转到(4)(4)。实验原理实验原理停止等待协议算法停止等待协议算法(1) V(R)0(1) V(R)0。(2) (2) 等待。等待。(3) (3) 收到一个数据帧;收到一个数据帧; 若若 N(S) = V(R)N(S) = V(R),则执行,则执行(4)(4); 否则丢弃此数据帧,然后转到否则丢弃此数据帧,然后转到(6)(6)。(4) (4)

4、将收到的数据帧中的数据部分送交上层软件将收到的数据帧中的数据部分送交上层软件 (也就是数据链路层模型中的主机)。(也就是数据链路层模型中的主机)。(5) V(R)1 (5) V(R)1 V(R) V(R)。(6) (6) n nV(R)V(R); 发送确认帧发送确认帧 ACKACKn n,转到,转到(2)(2)。 接收结点工作流程接收结点工作流程 实验步骤实验步骤算法分析算法分析send_frame(); /发送数据帧差错判断receive_frame(); /接收帧while(!kbhit() /非键盘输入 Y一、主程序工作流程一、主程序工作流程一、主程序工作流程一、主程序工作流程 二、二、

5、send_frame() 函数流程函数流程waiting_flag=1sendNackn=-1 &time1TIMEOUTackn=-1YNNYsendstart=clock(); waiting_flag=1; newsend_flag=1; ackn=-1; start=clock(); waiting_flag=1; newsend_flag=1; ackn=-1;returnYackn is expectedTime not outsendstart=clock(); waiting_flag=1; newsend_flag=1; ackn=-1;三、三、network_transmi

6、ssion() 函数流程函数流程delay(Network_Delay);randomize();random(100)70frame_error_flag=1; /出错printf(frame:%d transmission errort,ns); frame_error_flag=0;newsend_flag=0;四、四、receive_frame()函数流程函数流程ns=vrstrcpy(receiving_frame_buf,receiving frame); strcat(receiving_frame_buf,sending_frame_buf+13); printf(%sn,receiving_frame_buf); vr=1-vr; delay(Network_Delay);ackn=vr;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号