一个基于UDP实现TCP功能的问题
caomo 2001-09-03 05:11:22 : 1。在UDP上层实现一个可靠的协议
: 功能要求:
: (1)扩充公共函数库,包括创建Socket,bind,close,send,write
: 处理按顺序接收数据,帧损坏,丢失帧的情况
: (2)处理Ack/Check sum
: (3)一个server对多个client,以客户/服务器方式,应用所做的基本函数调用
: 例:客户端参数:hostname,prot,数据包数量,数据包大小
: server: Echo
: 应用实例要调用函数库,公共函数对高层隐藏实现细节:序号->不显示应用使用
: time
: 任选一:
: a.超时重发
: b.分段
: c.滑动窗口
: d.测试(在socket以下,模拟数据出错):丢失,损坏等
是不是要在UDP的数据部分定义一些TCP特有的字段,例如Checksum和序列号,顺序控制、滑动窗口和超时重发的功能是不是仿照链路层的相关功能来实现啊?有谁有相关的源代码啊,好多情况得考虑啊!如何模拟数据出错?
需不需要创建原始套结字来改变UDP的包头呢?校验和得算哪部分得校验和?
: 2。TCP性能测试
: 要求:(选)缓冲区对象与TCP性能关系
: 测试:在同一台pc(client/server)
: 在同一Lan,不同pc上(client/server)
: 参数输出:Buffersize(rB) 缺省对象,向上,向下
: Average(Mbps) 平均速率
: Standard,Deviation(Mbps) 标准差
这个是不是只需要检查一定时间类发出的数据量和接受的数据量即可。是不是把底层当个收发机一个整体来使用,计算与底层无关?