当前位置:文档之家› 计算机网络实验报告1数据链路层协议设计与实现

计算机网络实验报告1数据链路层协议设计与实现

南昌航空大学实验报告

2019年 4 月18日

课程名称:计算机网络与通信实验名称:数据链路层协议设计与实现

班级:学生姓名:学号:

指导教师评定:签名:

一.实验目的

1)掌握 Visual C++网络编程的基本方法和客户机/ 服务器架构的工作原理。

2)设计数据链路层协议,并通过试验仿真测试协议算法。

二.实验内容

1)根据提供的参考程序和连续ARQ协议的伪代码,设计数据链路层通信协议-带有滑

动窗口的选择性重传ARQ协议和回退N重传ARQ协议,由“发送端程序”和“接收端

程序”实现。

2)要求能检测差错和丢失,判断重复帧,实现重传,确保数据可靠传输。

3)发送端和接收端窗口能正确反映客户端和服务器端数据通信过程。

4)总结实验过程(实验报告),方案、编码、调试、结果、分析和结论。

三.实验过程

1.“发送端程序”、“信道仿真程序”和“接收端程序”采用UDP 协议( TCP/IP)进行

通信;

2.若单机实验:“发送端程序“、“信道仿真程序”和“接收端程序”的IP 地址设置

尾127.0.0.1(本机)。

3.“发送端程序“的端口= 6666 ,“信道仿真程序”的端口= 7777,“接收端程序”的

端口= 8888,端口号也可自行定义;

4.用户程序(“发送端程序”和“接收端程序” )的信息发送到信道(“信道仿真程

序” ),信道经过处理产生丢失、差错和时延,然后发送到对方。

5.仿真过程中可通过对信道仿真程序软件的环境进行设定,来模拟链路特性。

四.实验结果

1.发送的数字 1为 81H,它的确认信号为 9FH,由于第一次发送 1确认丢失,所以再次发

送. (次序 2丢失)

2. 发送数字 1为 81H,但接受的是 80H出现差错,所以不予确认, A继续重发 81H(次序 1

差错) .

3.发送的数字 3 为 12H,它的确认信号为0FH,由于第一次发送 3 延时 1000ms,所以再次发送4:12H , 1000ms后 3: 12H到达,但已经之前接收并确认,所以3: 12H不被受理 . (次序 3时延

1000ms)

4.发送的数字 2为 9FH,它的确认信号为 9FH,由于发送 2确认丢失,所以再次发送 ; 发送数字 3 为81H,但接受的是 80H出现差错,所以不予确认, A继续重发 81H. (2

丢失, 3差错)

5.当前为 A 发送丢失, B 并未收到结果, A 未收到 B 发回的反馈, A 重新发送, B 并未收到结果,

A 未收到

B 发回的反馈, A 重新发送, B 接收到正确数据后, B 返送反馈, B 发送的反馈延迟。

A 未收到

B 发来的反馈, A 从新发送, B 接收到正确数据后, B 返送反馈, A 受到正确反馈后,发送下一个值。

6.当前为 A 发送丢失, B 并未收到结果, A 未收到 B 发回的反馈, A 重新发送, B 收到 A 发送的数据, B 发送反馈, B 发聩出错, A 收到错误反馈, A 重新发送。

五. 实验体会

初步掌握了协议算法并通过试验仿真测试。利用程序,了解了帧发送的各种错误情况,

并能成功分析错误发生后产生的结果。对链路层帧打包发送有了更深的理解.

相关主题