14、TCP连接如何确保可靠性【高频】
TCP通过三次握手、确认应答、校验和、超时重传、流量控制、拥塞控制等机制,可以保证传输的数据 按序到达,不会丢失和重复。
1. 三次握手与连接管理:
TCP在建立连接时采用三次握手,确保通信双方都能接受和发送数据。同时,TCP还使用四次挥手来正常终止连接,确保最后的数据能够完整传输。
2. 序列号和确认应答:
TCP为发送的每个字节都配一个序列号,接收方通过发送确认号(ACK)来确认接收到的数据。确认号就是接收方接收到的字节+1。如果发送方在一定时间内 没有收到确认号,就会进行重传
3. 校验和:
TCP报文头部包含校验和,接收方会对比自己和发送方的校验和是否一致。如果不一致,说明传输过来的报文段有问题,要丢弃这个报文段
4. 超时重传机制:
发送方会设置一个 定时器,如果 在定时器超时之前 没有收到确认,会重传数据。超时时间基于往返时间(RTT)估计,并可以根据网络状况调整
5. 流量控制:
TCP使用 滑动窗口 来控制发送方传输的数据量,来确保接收方 能够完整地接收 发送过来的数据。
6. 拥塞控制:
TCP通过慢启动、拥塞避免、快速重传和快速恢复等手段来调整传输速率,减少网络的拥塞。 拥塞控制 有助于减少数据包的丢失和延迟