tcp那些事

本文详细介绍了TCP协议的三次握手和四次挥手过程,旨在解决面试中常遇到的问题。三次握手确保了连接的可靠性,协商了序号和窗口大小;四次挥手则确保了双方在关闭连接前完成所有消息的处理。
摘要由CSDN通过智能技术生成

关于tcp三次握手四次挥手相关的问题,面试经常问,所以临阵磨枪,稍微整理一下。

tcp协议漫谈

tcp是传输层协议,该协议的设计目标为通信双发提供可靠的字节流传输服务。

一个消息可能很大,所以一般需要把消息拆分为较小的报文分批发送。如此以来,就有了下面这些问题:

  1. 如果保证发送的消息不丢失?
  2. 如何保证接收方接收的消息顺序与发送方一致?
  3. 如何处理网络拥堵与对方处理速度过慢的问题?

问题1.的解决方案是请求确认机制。
问题2.的解决方案是问发送的每条消息编号,同时1.中的确认机制也基于这个发送的消息的序号(ACK=SYN+1)。
问题3.的方法是滑动窗口。

一次完整tcp事务包括:

  1. 建立连接
  2. 在双方传输数据
  3. 关闭连接

三次握手

靡不有初,鲜克有终。建立连接是为可靠的数据传输做好准备工作。由于网络状况复杂,所以双发首先需要确定自己收发消息的链路都是OK的。这就有了三次握手。

三次握手状态图

为什么是三次握手呢?两次不可以吗?如果是两次的话,假设只有最先的两次握手,那么A是可以去确认自己的收发都是没有问题的。但是B却不能确定自己发送给A的消息是否可以收到。有了第三次握手就不同了,第三次握手相当于A对B的应答࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值