《计算机网络系统实践》报告12 月设计题目:网络文献传输学生姓名:郑波学 号:44专业班级:计算机科学与技术 13-2 班一、 设计规定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,发送带有 SYN 的 TCP 段,并把初始序号告诉对方2、服务端收到带有 SYN 的报文,统计客户端的初始序号,选择自己的初始序号,设立控制位中的 SYN 和 ACK
由于 SYN 占用一种序号,因此确认序号设立为客户端的初始序号加 1,对客户端的 SYN 进行确认3、服务端的报文达成