一、TCP的特点
1. TCP是面向连接的,两台主机想要通过TCP则必须先建立连接
2. TCP提供了可靠性(reliability)。当TCP想另一端发送数据时,它要求对端返回一个确认,如果没有收到确认,TCP就会自动重传数据并等待更长时间。
注:TCP并不保证数据一定会被对方端点接收。如果不能成功发送数据就会通知用户,它提供的是数据的可靠传输或故障的可靠通知。
提供可靠性的机制有:确认,序列号,RTT估算、超时和重传。
3. TCP提供流量控制(flow control)。TCP总是告知对端在任何时刻它一次能够从对端接收多少字节的数据,这被称为通告窗口(adertised window)。该窗口之处接收缓冲区中当前可用的空间量,从而确保发送端发送的数据不会使接收缓冲区溢出。
4. TCP连接是全双工(full-duplex)的。这意味着在一个给定的连接上,应用可以在任何时刻同时发送和接受数据。
二、TCP连接建立和终止