中一方处于被动方式( 监听), 一方处于主动方式( 请求连接)。 TCP 协议中使用三次握手( 一次握手为一次数据传输)实现连接,其正常的连接释放通过四次握手,如图 4 所示。 10 图4 TCP 协议的数据传输工程 TCP 采取一种可变大小的滑动窗口机制来进行流量控制,以防止发送方的数据发送得过快, 以致接收方来不及处理得情况。并且通过拥塞控制来防止网络过载。 TCP 采用一种自适应的重传计时策略。一般情况下, 一个 TCP 段发送后启动这个计时器, 如果在计时器超时前收到这个 TC P 段的确认,则停止该计时器,否则重发该 TCP 段[1]。注意:整个 TCP 包长度是有限制的,它一方面受 IP 数据包(包括数据和协议头)最大值 65,535 字节的限制; 另一方面, 每个网络都有一个最大传送单位( Maximun Transfer Unit , MTU ), 每个段长度不能超过这个 MTU ,通常 MTU 为几 K 。而以太网的 MTU 为 1526B ,数据段帧的长度不能超过 1500B 。在 TCP 协议中把一个 TCP 数据段携带的用户数据的限制成为最大分段大小( Maximum Segment Size , MMS ), MMS 的取值一般和 TCP 协议的具体实现相关,而且这个数据是可以配置的, 常见的配置值为 1460B 、 536B 和 512B 。( 一般地, bit用b 表示, Byte 用B表示。) 通讯双方会根据双方提供的 MS S 值得最小值确定为这次连接的最大 MS S值。具体详见 MT U 和 MSS 。最后,我们对比一下 TCP 和 UDP 。它们的主要区别在于,前者提供的是面向连接的服务( Connection-Oriented Service ), 而后者提供的是无连接的服务( Connectionless Service )。凡是提