《计算机网络系统实践》报告2024 年 12 月一、 设计要求1、实现单线程文件传输功能2、在以上的基础上,掌握多线程技术,在文件网络传输时,可选择单线程或多线程3、加入异常控制机制,增强程序的鲁棒性(Robust)4、了解如何提高套接字传输的速率,以及如何加强传输的稳定性二、开发环境与工具Windows7 下 Microsoft Visual Stuio三、设计原理1、网络传输协议TCP/IP 协议栈中的两个协议:TCP(Transmission Control Protocol):传输控制协议UDP(User Datagrm Protocal):用户数据报协议TCP 是面对连接的通信协议,TCP 提供两台计算机之间的可靠无错的数据传输
应用程序利用 TCP 进行通信时,源和目标之间会建立一个虚拟连接
该连接一旦建立,两台计算机之间就可以把数据当做一个双向字节流进行交换
UDP 是无连接的通信协议,UDP 不保证可靠数据的传输,但能够向若干个目标发送数据,接受发自若干个源的数据
就是说,假如一个主机向另外一台主机发送数据,这个数据就会立即发出,而不管另外一台主机是否已准备接收数据
假如另外一台主机接收到了数据,它不会确认收到与否
本次工程目的是传输文件,显然需要用 TCP 建立连接,而 TCP 连接需要“三次握手"
2、三次握手 三次握手具体过程:1、客户端主动与服务器联系,TCP 首部控制位中的 SYN 设置为 1,发送设计题目:网络文件传输学生姓名:郑波学 号:2024211644专业班级:计算机科学与技术 13-2 班带有 SYN 的 TCP 段,并把初始序号告诉对方2、服务端收到带有 SYN 的报文,记录客户端的初始序号,选择自己的初始序号,设置控制位中的 SYN 和 ACK
因为 SYN 占用一个序号,所以确认序号设置为客户端的初始序号加 1,对客户端的 SYN