TCP如何保证可靠传输?
这是一个面试中经常被问到的问题,下面写一个详细的总结。
首先是一个简略版的回答:

  1. 建立连接
  2. 序号机制
  3. 合理分片(可以不说,是与UDP相比的,有些八股文上面没有这一条)
  4. 数据校验
  5. 超时重传
  6. 流量控制
  7. 拥塞控制

下面是详细版回答:

  1. 建立连接:通过三次握手建立连接,保证连接实体真实存在
  2. 序号机制:保证数据是按序、完整到达
  3. 合理分片:tcp会按最大传输单元(MTU)合理分片,接收方会缓存未按序到达的数据,重新
    排序后交给应用层。
  4. 数据校验:TCP报文头有校验和,用于校验报文是否损坏
  5. 超时重传:如果发送一直收不到应答,可能是发送数据丢失,也可能是应答丢失,发送方再等待一段时间之后都会进行重传。
  6. 流量控制:当接收方来不及处理发送方的数据,能通过滑动窗口,提示发送方降低发送的速率,防止包丢失。
  7. 拥塞控制:网络层拥堵造成的拥塞,包括慢启动,拥塞避免,快速重传三种机制

参考资料:计算机网络,自顶向下方法 7th edition

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐