- 本实验需要根据TCP的标准文档,在应用层实现TCP协议,称为TJU_TCP。
- 协议中需要实现连接管理,通过“三次握手与四次挥手”实现建立连接与关闭连接的功能;对于流量控制,协议需要建立发送以及接收窗口,通过窗口滑动的原理实现,已达到消除发送方使接收方缓存溢出的可能性的目的;此外,协议需要实现可靠数据传输,在网络出现不可靠的状态时,也能可靠传输指定的文件并得以按序接收;最后,协议需要实现拥塞控制功能,可以实时根据网络中的业务状况动态调整拥塞窗口的大小。
- 协议中的功能全部得以实现,并在本地与自动验收网站全部通过测试,已成功验证了四个基本功能。
- 连接管理:TCP发送方与接收方在数据传输前需要进行三次握手建立连接,在数据传输完之后需要进行四次挥手断开连接,需要利用SYN,FIN,ACK等报文中的字段。
- 流量控制:要实现流量控制功能,消除发送方使接收方缓存溢出的可能性,具体途径是设计滑动窗口,并利用SWS更新算法等,发送方维护rwnd。
- 可靠数据传输:可靠数据传输服务确保一个进程从其接收缓存中读出的数据流是无损坏、无间隙、非冗余和按序的数据流;即该字节流与连接的另一方端系统发送出的字节流是完全相同。TCP利用报文段头部结构中的检验和,序号,确认号来实现这一功能,并通过设重传计时器,利用快速重传以及选择确认的方式来提高数据传的输性能和数据传输的可靠性。
- 拥塞控制需要解决网络引起的拥塞问题,具体要实现的是慢启动、拥塞避免、快速恢复算法。