一个基于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) 标准差
这个是不是只需要检查一定时间类发出的数据量和接受的数据量即可。是不是把底层当个收发机一个整体来使用,计算与底层无关?

...全文
356 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
caomo 2001-09-11
  • 打赏
  • 举报
回复
有没有人给点思路啊?
Julienjut 2001-09-11
  • 打赏
  • 举报
回复
有道理!
不过难道说想使用多播,数据包的有序性、完整性就不可能了吗
duuyuu 2001-09-11
  • 打赏
  • 举报
回复
这类问题在csdn上已经出现了好多次了。
在udp上实现tcp事实上相当于在ip上实现tcp!
而tcp的实现是整个tcp/ip实现最难的地方,
tcp不好用尽可以改呀,为什么非要再udp上把tcp给模拟出来呢?费力不讨好!
有这个时间和能力的话,足以重写一个更漂亮的tcp出来了!
game_boy 2001-09-06
  • 打赏
  • 举报
回复
可是我感觉你问的问题就是想要实现部分协议,这部分恰好就是tcp层的实现,不是么?
Julienjut 2001-09-06
  • 打赏
  • 举报
回复
不会吧!要是那样,那就可以设计系统了。
game_boy 2001-09-04
  • 打赏
  • 举报
回复
这些算法在《TCP/IP祥解》、《用TCP/IP进行网际互连》里都有,可以去看看。
建立socket等函数不用什么算法,只是给开发者做个接口,
测试是后来的编程,和协议本身没有太多关系了。
你是要做嵌入式系统么?怎么可以有选择余地呢?呵呵,奇怪
allanic 2001-09-04
  • 打赏
  • 举报
回复
怎么感觉象是学校里的操作系统课程设计作业题?
Julienjut 2001-09-03
  • 打赏
  • 举报
回复
有没有现成的差错控制的算法,现在

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧