基于C语言的可靠数据传输协议的设计与实现 |
您所在的位置:网站首页 › c语言传输数据 › 基于C语言的可靠数据传输协议的设计与实现 |
资源下载地址:https://download.csdn.net/download/sheziqiong/86799219 资源下载地址:https://download.csdn.net/download/sheziqiong/86799219 可靠数据传输协议的设计与实现 实验目的:理解可靠数据传输的基本原理;掌握停等协议的工作原理;掌握基于 UDP 设计并实现一个停等协议的过程与技术。 理解滑动窗口协议的基本原理;掌握 GBN 的工作原理;掌握基于 UDP 设计并实现一个 GBN 协议的过程与技术。 实验内容:可靠数据传输协议-停等协议的设计与实现 基于 UDP 设计一个简单的停等协议,实现单向可靠数据传输(服务器到客户的数据传输)。 模拟引入数据包的丢失,验证所设计协议的有效性。 改进所设计的停等协议,支持双向数据传输;(选作内容,加分项目,可以当堂完成或课下完成) 基于所设计的停等协议,实现一个 C/S 结构的文件传输应用。(选作内容,加分项目,可以当堂完成或课下完成) 可靠数据传输协议-GBN 协议的设计与实现 基于 UDP 设计一个简单的 GBN 协议,实现单向可靠数据传输(服务器到客户的数据传输)。 模拟引入数据包的丢失,验证所设计协议的有效性。 改进所设计的 GBN 协议,支持双向数据传输;(选作内容,加分项目,可以当堂完成或课下完成) 将所设计的 GBN 协议改进为 SR 协议。(选作内容,加分项目,可以当堂完成或课下完成) 实验过程:停等协议: 基于 UDP 实现的停等协议,可以不进行差错检测,可以利用 UDP 协议差错检测;为了验证所设计协议是否可以处理数据丢失,可以考虑在数据接收端或发送端引入数据丢失。在开发停等协议之前,需要先设计协议数据分组格式以及确认分组格式。计时器实现方法:对于阻塞的 socket 可用 int setsockopt(int socket,int level, int option_name, const void* option_value, size_t option_len)函数设置套接字发送与接收超时时间;对于非阻塞 socket 可以使用累加 sleep 时间的方法判断 socket 接受数据是否超时(当时间累加量超过一定数值时则认为套接字接受数据超时)。 GBN 协议: 基于 UDP 实现的 GBN 协议,可以不进行差错检测,可以利用 UDP 协议差错检测;自行设计数据帧的格式,应至少包含序列号 Seq 和数据两部分;自行定义发送端序列号 Seq 比特数 L 以及发送窗口大小 W,应满足条件 W+1 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |