文件传输软件的设计1、设计分析1.1 TCP 的工作原理和服务的特性 TCP 是 Transmission Control Protocol(传输控制协议)的简称,是 TCP/IP 体系中面对连接的运输层协议,在网络中提供全双工的和可靠的服务。TCP 协议最主要的特点是:1) 是一种基于连接的协议。 2) 保证数据准确到达。3) 保证各数据到达的顺序与数据发出的顺序相同。 4) 传输的数据无消息边界。1.1.1 TCP 协议通讯工作原理(TCP 三次握手) 传输控制协议(Transport Control Protocol)是一种面对连接的,可靠的传输层协议。面对连接是指一次正常的 TCP 传输需要通过在 TCP 客户端和 TCP 服务端建立特定的虚电路连接来完成,该过程通常被称为“三次握手”。可靠性可以通过很多种方法来提供保证,在这里我们关怀的是数据序列和确认。TCP 通过数据分段(Segment)中的序列号保证所有传输的数据可以在远端根据正常的次序进行重组,而且通过确认保证数据传输的完整性。要通过 TCP 传输数据,必须在两端主机之间建立连接。举例说明,TCP 客户端需要和 TCP 服务端建立连接,过程如下所示: TCP 三次握手 在第一步中,客户端向服务端提出连接请求。这时 TCP SYN 标志置位。客户端告诉服务端序列号区域合法,需要检查。客户端在 TCP 报头的序列号区中插入自己的 ISN。服务端收到该 TCP 分段后,在第二步以自己的 ISN 回应(SYN 标志置位),同时确认收到客户端的第一个 TCP 分段(ACK 标志置位)。在第三步中,客户端确认收到服务端的 ISN(ACK 标志置位)。到此为止建立完整的 TCP 连接,开始全双工模式的数据传输过程。1.1.2 TCP 的特性TCP 有以下特性: 面对数据流的处理方式:TCP 采纳连续方式对数据进行处理,即 TCP 能够以每次接收一个字节的方式来接收数据,而不是按预先格式化的数据块的方式来接收。 TCP 将数据格式化成可变长的数据流,然后传送给网际层。 完全的可靠性:TCP 通过面对连接的传输方式,以及一些差错控制、流量控制的手段确保了数据不会丢失;同时 TCP 还能对接收到的 IP 数据报进行重新排序,解决了数据乱序的问题。所有的这些,都保证了 TCP 传输的完全可靠性。 全双工通信:TCP 连接允许数据在任何一个方向流动,并允许任何一个应用程序在任何时刻发送数据。TCP 能够在两个方向上缓冲输入和输出的数据,这使得一个应用在发送数据以后,可以在数据传输的同时,进行别的工作。 流量控制:TCP 的...