因特网有两个核心协议:IP和TCP。
IP:Internet Protocol因特网协议,负责联网主机之间的路由选择和寻址。
TCP:transmission control proptocol传输控制协议,负责在不可靠的传输信道之上提供可靠的抽象层。
TCP/IP也常被称为因特网协议套件

TCP负责在不可靠的传输信道之上提供可靠的抽象层,向应用层隐藏了大多数网络通信的复杂细节,比如丢包重发,按序发送,拥塞控制及避免,数据完整等。采用TCP数据流可以确保发送的所有字节能够完整的被接收到,而且到达客户端的顺序也是一样的。TCP专门为精确传送做了优化,但并未过多的顾及时间(影响浏览器性能)。

HTTP标准并未规定TCP就是唯一的传输协议。还可以通过UDP(用户数据报协议)或者其他可用协议来发送HTTP消息。

  • 所有TCP连接一开始都要经过三次握手,客户端与服务器在交换应用数据之前,必须就起始分组***以及其他一些连接相关的细节达成一致,出于安全考虑,***由两端随机生成。

TCP构成

  • SYN:客户端选择一个随机***X,并发送一个SYN分组,其中可能还包括其他TCP标志和选项。

  • SYN ACK:服务器给X加1,并选择自己的一个***Y,追加自己的标志和选项,然后返回响应。

  • ACK:客户端给X和Y加1,并发送握手期间的最后一个ACK分组。

    三次握手完成后,客户端与服务器之间就可以通信了。客户端可以在发送ACK分组之后立即发送数据,而服务器必须等接受到ACK分组之后才能发送数据。这个启动通信的过程适用于所有的TCP连接,因此对所有使用TCP的应用具有非常大的性能影响,因为每次传输应用数据之前,都必须经历一次完整的往返。

三次握手带来的延迟是的每创建一个新的TCP连接都要付出很大的代价,而这也决定了提高TCP应用性能的关键,在于想办法重新连接。

由于非常短的TCP连接在互联网上随处可见,握手阶段已经成为影响网络总延迟的一个重要因素。
TFO(TCP fast open)TCP快速打开,它虽然有助于减少三次握手的往返时间,但却只能在某些情况下有效。

相关文章:

  • 2021-09-09
  • 2021-07-09
  • 2022-12-23
  • 2021-12-29
猜你喜欢
  • 2021-10-02
  • 2021-11-26
  • 2021-07-09
  • 2021-12-04
  • 2022-01-19
相关资源
相似解决方案