TCP提供客户与服务器之间的连接。TCP客户先与某个给定服务器建立一个连接,再跨该连接与那个服务器交换数据,然后终止这个连接。
TCP协议的特性:
可靠性(Reliability)。当TCP向另一端发送数据时,它要求对端返回一个确认。如果没有收到确认,TCP就自动重传数据并等待更长时间。
RTT(round-trip time)算法。动态估算客户和服务器之间的往返时间,以便它知道等待一个确认需要多少时间。
排序(sequencing)。TCP通过给其中每个字节关联一个序列号对所发送的数据进行排序。接收端根据序号对分节重新排序、丢弃重复的分节。
超时和重传机制。
流量控制(flow control)。TCP总是告知对端在任何时刻它一次能够从对端接收多少字节的数据,这称为通告窗口(advertised window)。在任何时刻,该窗口指出接收缓冲区中当前可用的空间量,从而确保发送端发送的数据不会使接收缓冲区溢出。
全双工(full-duplex)。在一个给定的连接上应用可以在任何时刻在进出两个方向上即发送数据又接收数据。