保证数据能到达对端: 超时重传和确认应答机制、滑动窗口(发送方发送速率与接收端的接收缓冲区空间匹配) 、拥塞控制(发送方发送速率与网络环境匹配)
保证数据不乱序,不重复:TCP报头中的32位序号,序号值为随机值ISN+报文段所携带数据的第一个字节在整个字节流中的偏移量。
保证数据不失真: TCP报头中的16位冗余校验码,接收端对TCP的头部和数据部分通过CRC算法进行冗余校验
1.检验和冗余校验位
- TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段。
- 监测数据在传输过程中的变化。
2.序列号
- 通过序列号,可以去重、超时重传、数据有序到达(数据有序指的是数据全部到达对端之后会进行重组)。
3.确认应答
- 可以确认ACK之前的数据肯定到达了,保证了可靠性。