tcp那些事

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

tcp协议漫谈

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

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

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

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

一次完整tcp事务包括:

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

三次握手

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

三次握手状态图

为什么是三次握手呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值