1、提供面向连接的可靠的字节流服务(一个报文发送端可以一次或多次发,接收端可以一次或多次收,不必来一个读一个);UDP是面向数据报的无连接,客户端发一个,服务端就收一个,不会合并几个UDP数据报。
2、一个TCP连接仅有两方进行通信,所以不能用于多播和广播。
全双工。
3、3次握手和4次挥手
MSS选项:最大分段大小,以字节数定义一个计算机或通信设备所能接受的分段的最大数据量。它并不会计算 TCP 或 IP 协议头的大小。默认的 TCP 最大分段大小是 536。[2]当一个主机想要把 MSS 设置到一个非默认的值时,MSS 大小会以一个 TCP 可选项的方式在握手时的 SYN 包中定义。由于最大分段大小被一个 TCP 参数控制,主机可以在接下来的任意分段中改变它。每个数据流的方向都可以使用不同的 MSS。
只出现在SYN报文中。MSS = MTU - 20 - 20 避免分段
4、TCP状态变迁
TCP同时打开只建立一条连接,也支持同时关闭
RST异常终止或中途终止
捎带ack时延200ms
Nagle算法:一个TCP连接上最多只能有一个未被确认的未完成的小分组。(广域网上采用,局域网内很少采用)
慢启动:观察新分组进入网络的速率应该与另一端返回确认的速率相同而进行工作,不必一次发完滑动窗口内的数据;发送方取拥塞控制与通告窗口中的最小值作为发送上限。拥塞窗口是发送方使用的流量控制,通告窗口是接收方使用的流量控制。
5、超时与重传
对每个TCP连接,有4个不同的定时器:重传定时器、坚持定时器、保活定时器和2MSL定时器
RTT估时器
6、Telnet比Relogin复杂
FTP:两条TCP链路,控制连接与数据连接