哈工大1140320206霍峻杰:UDP时钟协议实验与问题解决
需积分: 0 195 浏览量
更新于2024-08-04
收藏 608KB DOCX 举报
本实验报告主要围绕计算机网络传输协议TCP和UDP展开,针对哈尔滨工业大学11403202班学生霍峻杰的实验内容,题目为"用UDP实现一个时钟协议"。UDP(用户数据报协议)作为一种无连接的传输协议,尽管存在不可靠性,例如数据包可能丢失、无法确认接收、可能出现粘包等问题,但由于其传输速度快,仍被广泛应用,如DNS查询。
实验中,客户端首先向服务器发送包含自身时间Ts的消息,服务器在接收到后随机延迟一段时间,获取当前时间Tn,再次延迟后将时间Tn发送回客户端。客户端通过接收到的时间Tn和本地接收到应答的时间Tr计算出最终的时间T。UDP的不可靠性体现在无法知道数据包是否成功送达,因此设置了超时重传机制,当数据包在预定时间内未到达,就会尝试重新发送,这里使用setsockopt函数中的SO_RCVTIMEO参数实现。
实验中特别提到,为了解决客户端可能发送多个请求且无法匹配返回包的问题,每个发送的UDP包都附加了一个随机数作为标识符,使得服务器可以根据返回包中的随机数识别出对应的发送请求。
实验结果显示,当数据包丢失时,客户端能够正确执行超时重传,设定的重传间隔为10秒。同时,为了验证多包发送问题,实验者故意使服务器返回的随机数与发送的不匹配,客户端会不断重试,直到找到正确的对应包。
本实验不仅考察了UDP协议的基本工作原理,还涉及到了如何处理其固有的不可靠性问题,通过实践加深了对无连接协议的理解和应用。
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
2022-08-08 上传
呆呆美要暴富
- 粉丝: 37
- 资源: 339
最新资源
- Employee_Tracker
- 8-coming-soon
- raffaello:将照片发送到您当地的照片零售商-开源
- todoredux:使用React,Redux和Scss的todo应用程序
- crud_app:一个在React中编辑用户记录的CRUD应用程序
- PV-Battery:该项目的目标是为弗拉芒语参考家庭设计光伏和电池系统,其中要考虑由电费以及屋顶类型和方向决定的不同情况。 光伏和电池系统的设计涉及输入数据的使用,组件的选择,功率流的计算等,以从财务角度提供针对具体案例的最佳解决方案。 当然,设计还应考虑相关的实践,操作和法规方面
- BayesianEstimatorSelfing:一种用于估计自我受精率和其他交配系统参数的贝叶斯方法
- ruah44.github.io:得益于https,结构清晰
- torch-scatter和torch-sparse用于处理图形数据和稀疏张量·「下載地址」
- accessibility:媒体可访问性的提示,资源和提示的集合
- react-todolistt:在线React Editor和IDE:编译,运行和托管React应用
- Practise_Makes_Perfect
- a-stream:用于管理异步事件的库
- kb:知识库说明
- 愤怒的小鸟java程序源码-BallBattle:小鱼成长游戏
- fast bev修改版最终板端测试结果,由之前的9提升至25FPS