CS144网络编程Lab3:TCP发送器指南

需积分: 17 2 下载量 105 浏览量 更新于2024-08-05 收藏 733KB PDF 举报
本篇文档是CS144《计算机网络入门》秋季2021年的实验指导书,专注于Lab 3:TCP发送器部分。该实验的截止日期是2021年10月22日星期五下午5点,但有一个宽限期,即9月24日晚上11:59,这是最后一天可以收到反馈,并且占总成绩的三分之二。实验强调了独立完成的重要性,学生必须自己编写所有代码,除已提供的任务部分外,禁止从Stack Overflow、GitHub或其他来源复制粘贴。如果参考网上或其他地方的示例,必须在提交的源代码注释中提供引用链接。 实验协作政策规定,不允许与他人共享代码或查看他人的解决方案,只能与同学讨论作业,但需在代码中明确指出交流对象。对于不清楚的地方,学生应查阅课程行政手册并可在Ed平台上提问,但不要发布源代码。 实验概述部分建议学生仔细阅读整个实验指南,因为这将帮助他们理解TCP(Transmission Control Protocol)的基本原理以及如何实现一个TCP发送器,可能涉及的内容包括TCP协议的工作原理、套接字编程、数据包发送和接收机制、错误检测和重传等关键概念。学生将学习如何设计和实现一个能够可靠地发送数据的应用程序,同时确保正确处理网络延迟和连接问题。 在进行实验时,学生将要掌握的技术包括: 1. **TCP原理**:理解TCP作为面向连接的传输层协议,其三次握手、滑动窗口、确认机制和流量控制等特点。 2. **套接字编程**:运用socket API创建和管理客户端和服务器端的通信连接。 3. **数据编码与解码**:正确处理数据格式,包括序列化和反序列化数据。 4. **错误处理**:实现错误检测和恢复机制,如超时处理、重传策略。 5. **性能优化**:考虑网络效率,如何有效地使用网络带宽和减少延迟。 完成这个实验将有助于加深对计算机网络底层工作的理解,提升编程实践能力和问题解决能力,为后续网络编程和系统设计打下坚实的基础。务必确保在截止日期前提交符合要求的代码,同时遵循学术诚信的原则。