评论

收藏

Internet - TCP 的封包格式:TCP 为什么要粘包和拆包?

网络安全 网络安全 发布于:2021-07-05 10:51 | 阅读数:245 | 评论:0

  
  文章目录

  • Pre
  • TCP 的拆包和粘包


    • TCP数据发送
    • TCP Segment
    • Sequence Number 和 Acknowledgement Number
    • MSS(Maximun Segment Size)


DSC0000.jpeg

Pre  今天我们将从稳定性角度深挖 TCP 协议的运作机制
  如今,大半个互联网都建立在 TCP 协议之上,我们使用的 HTTP 协议、消息队列、存储、缓存,都需要用到 TCP 协议——这是因为 TCP 协议提供了可靠性
  简单来说,可靠性就是让数据无损送达。但若是考虑到成本,就会变得非常复杂——因为还需要尽可能地提升吞吐量、降低延迟、减少丢包率。
  TCP 协议具有很强的实用性,而可靠性又是 TCP 最核心的能力 。具体来说,从一个终端有序地发出多个数据包,经过一个复杂的网络环境,到达目的地的时候会变得无序,而可靠性要求数据恢复到原始的顺序。这里先提出两个问题:

  •   TCP 协议是如何恢复数据的顺序的?
  •   拆包和粘包的作用是什么?
  那么带着这两个问题开始今天的学习。
TCP 的拆包和粘包  TCP 是一个传输层协议
  TCP 发送数据的时候,往往不会将数据一次性发送
DSC0001.png

TCP数据发送

TCP Segment

Sequence Number 和 Acknowledgement Number

MSS(Maximun Segment Size)
  

  
关注下面的标签,发现更多相似文章