基于C语言的可靠数据传输协议的设计与实现

您所在的位置:网站首页 c语言传输数据 基于C语言的可靠数据传输协议的设计与实现

基于C语言的可靠数据传输协议的设计与实现

2023-08-11 10:14| 来源: 网络整理| 查看: 265

资源下载地址: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