实验3:可靠数据传输协议-GBN协议的设计与实现
1.实验目的
理解滑动窗口协议的基本原理;掌握GBN的工作原理;掌握基于UDP 设计并实现一个GBN 协议的过程与技术。
2.实验环境
接入Internet 的实验主机;
Windows xp 或Windows 7/8;
开发语言:C/C++(或Java)等。
3.实验内容
1)基于UDP 设计一个简单的GBN 协议,实现单向可靠数据传输(服务器到客户的数据传输)。
2)模拟引入数据包的丢失,验证所设计协议的有效性。
3)改进所设计的GBN 协议,支持双向数据传输;
4.实验设计
1)Client:
函数列表:
各函数功能:
函数名传入参数功能
client_GBN_5sentence:须发送的内容客户端主函数
PACKER sentence:须打包的内容
data_len:每包默认长度把要发送的内容按照默认长度进行打包,返回数据包列表与数据包格式
sender pl:数据包列表
fmt:数据包格式
nextseqnum:下一序列号
base:基序列号
recver nextseqnum:下一序列号
base:基序列号
状态转换图:
2)Server:
状态转换图:
3)数据包结构:
发送方:数据包包括序列号与内容接收方:只含接收到的数据包的序号
5.实验结果1)Client:
2)Server:
详细对照: