计算机网络数据链路层实验报告

阅读: 评论:0

计算机网络数据链路层实验报告
粉尘收集
目录
一、实验内容和实验环境描述
(1)实验内容和目的
(2)实验环境
二、软件设计
(1)数据结构
(2)模块结构
(3)算法流程
三、实验理论分析
四、实验结果:
(1)性能测试记录表
(2)截图(由于截图近200张,这里只列出最优参数的情况,其余参数对比图及其log文件在“参数对比“文件夹里)
安全带包
五、源程序清单
六、实验结果分析
比例混合器七、研究和探索的问题
八、实验总结和心得体会
一、实验内容和实验环境描述
(1)实验内容和目的
利用所学数据链路层原理,自己设计一个滑动窗口协议,在仿真环境下编程实现有音
信道环境下两站点之间无差错双工通信。信道模型为8000bps 全双工卫星信道,信道传播时延270毫秒,信道误码率为10-5,信道提供字节流传输服务,网络层分组长度固定为256字节。通过该实验,
进一步巩固和深刻理解数据链路层误码检测的CRC 校验技术,以及滑动窗口的工作机理。滑动窗口机制的两个主要目标:(1) 实现有噪音信道环境下的无差错传输; (2)充分利用传输信道的带宽。在程序能够稳定运行并成功实
现第一个目标之后,运行程序并检查在信道没有误码和存在误码两种情况下的信道利
用率。为实现第二个目标,提高滑动窗口协议信道利用率,需要根据信道实际情况合
理地为协议配置工作参数,包括滑动窗口的大小和重传定时器时限以及ACK 搭载定时器的时限。这些参数的设计,需要充分理解滑动窗口协议的工作原理并利用所学的理
论知识,经过认真的推算,计算出最优取值,并通过程序的运行进行验证。通过该实
验提高同学的编程能力和实践动手能力,体验协议软件在设计上各种问题和调试难度,设计在运行期可跟踪分析协议工作过程的协议软件,巩固和深刻理解理论知识并利用
这些知识对系统进行优化,对实际系统中的协议分层和协议软件的设计与实现有基本
的认识。
(2)实验环境
WindowsXP环境PC机,Microsoft Visual C++ 6.0 集成化开发环境。
二、软件设计
(1)数据结构
悬浮触控
(selective)
#define MAX_SEQ 15
#define NR_BUFS ((MAX_SEQ+1)/2)
#define DATA_TIMER  3000      //帧超时时间间隔
#define ACK_TIMER 240          //ack的超时间隔
struct FRAME {
unsigned char kind;
unsigned char ack;
unsigned char seq;
unsigned char data[PKT_LEN];
unsigned int  padding;
};
int no_nak=1;                        //标志是否已经发送过nak
static int phl_ready = 0;
unsigned char oldest_frame=MAX_SEQ+1;
其中kind表示数据的类型;ack表示确认帧;seq表示帧的序列号;data[PKT_LEN]表示数据内容;padding此处没有用到。
电热手套
static unsigned char frame_nr=0,buffer[MAX_SEQ+1][PKT_LEN],nbuffered=0; static unsigned char frame_expected=0;
static unsigned char ack_expected=0;
static unsigned char next_frame_to_send=0;
static int phl_ready=0;
其中frame_nr表示帧的当前序号;buffer表示缓存,用来存放网络层分组来的数据;nbuffered表示已被发送但未收到确认的帧;frame_expected表示该站期望收到的下一帧;ack_expected表示该站期望收到的确认帧;next_frame_to_send表示将要发送的帧的序号,即当前发送的帧号;phl_ready表示当前物理层的状态,为1表示物理层准备好了,为0表示未准备好。
int event,arg,i,len=0;
event表示接收方等待的发生事件;arg表示物理层到达的字节数;i表示主函数中for 循环用到的变量;len表示帧的长度。
struct FRAME f 表示变量帧。
(go_back_n)
#define DATA_TIMER  3000
#define MAX_SEQ 7
束胸衣
struct FRAME {
unsigned char kind; /* FRAME_DATA */
unsigned char ack;
unsigned char seq;
unsigned char data[PKT_LEN];
unsigned int  padding;
};
static unsigned char frame_nr = 0,buffer[MAX_SEQ+1][PKT_LEN], nbuffered=0; static unsigned char frame_expected = 0;
static int phl_ready = 0;
static unsigned char ack_expected=0;//最早一个送出去但是还没确认的帧号static unsigned char next_frame_to_send=0;//下一个在缓冲区装备要发送的帧

本文发布于:2023-05-14 09:14:58,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/99201.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:表示   信道   协议   实验   环境
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图