TCP构成

本文深入解析TCP/IP协议,包括IP负责的路由选择和寻址,TCP如何在不可靠的传输信道之上提供可靠的数据传输服务,以及三次握手过程对网络性能的影响。探讨了TCP快速打开(TFO)如何减少握手时间,提升短连接效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

  • 所有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快速打开,它虽然有助于减少三次握手的往返时间,但却只能在某些情况下有效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值