1.TCP 提供一种面向连接的、可靠的字节流服务
2.在一个 TCP 连接中,仅有两方进行彼此通信。广播和多播不能用于 TCP
3.TCP 使用校验和,确认和重传机制来保证可靠传输
4.TCP 给数据分节进行排序,并使用累积确认保证数据的顺序不变和非重复
5.TCP 使用滑动窗口机制来实现流量控制,通过动态改变窗口的大小进行拥塞控制
头部信息
三次握手
四次挥手
滑动窗口协议:
慢启动、拥塞控制、快重传、快恢复
发送方维护一个拥塞窗口(cwd)和慢启动门限(ssthresh)。
cwd开始为1,确认一次之后变成2,成指数增加。直到到达ssthresh,改为拥塞避免算法。
之后若发生拥堵,cwd变为1,ssthresh减半,又进入慢启动。
若连续收到3次某个包的ack,则进入快启动,快重传。
ssthresh减半,cwd减为ssthresh减半后是数值,执行拥塞避免算法(高起点,线性增长)
拥塞避免算法(让窗口缓慢增长,每经过一个往返时间RTT就把发送方的cwd加1,线性缓慢增长)
TCP中的四个计时器包括重传计时器、坚持计时器、保活计时器、时间等待计时器