文档介绍:实验3:可靠数据传输协议-;掌握 GBN 的工作原理;掌握基于UDP 设计并实现一个 GBN 协议的过程与技术。Ø 接入  的实验主机;Ø Windows xp 或 Windows 7/8;Ø 开发语言:C/C++(或 Java)等。) 基于 UDP 设计一个简单的 GBN 协议,实现单向可靠数据传输(服务器到客户的数据传输)。2) 模拟引入数据包的丢失,验证所设计协议的有效性。3) 改进所设计的 GBN 协议,支持双向数据传输;) Client:函数列表:各函数功能:函数名传入参数功能client_GBN_5sentence:须发送的内容客户端主函数PACKERsentence:须打包的内容data_len:每包默认长度把要发送的内容按照默认长度进行打包,返回数据包列表与数据包格式senderpl:数据包列表fmt:数据包格式nextseqnum:下一序列号base:基序列号recvernextseqnum:下一序列号base:基序列号状态转换图:2) Server:状态转换图:3) 数据包结构:发送方:数据包包括序列号与内容接收方:) Client:2) Server:详细对照:CLIENTSERVER确定服务器与客户端地址、接口socket:('',50000)bindedclient:('',50000)server:('',50001)socket:('',50)client:('',50)server:('',50)准备发送的文本序列:[b'\x00\x00\x00\x00Iamtheboneofmy',b'\x01\x00\x00\',b'\x02\x00\x00\x00dy,andfireismyb',b'\x03\x00\x00\',b'\x04\x00\x00\x00overathousandblad',b'\x05\x00\x00\,',b'\x06\x00\x00\',b'\x07\x00\x00\x00vewithstoodpaint',b'\x08\x00\x00\x00ocreatemanyweapon',b'\t\x00\x00\,thosehandswi',b'\n\x00\x00\x00llneverholdanythi',b'\x0b\x00\x00\,Unl',b'\x0c\x00\x00\x00imitedBladeWorks\x00\x00']进行收发starttimergotonextpacketrecver:goon!base:0starttimergotonextpacketrecver:goon!base:1starttimergotonextpacketrecver:goon!base:2starttimergotonextpacketrecver:go