Android开发Android开发Android技术知识

计算机网络:图文解析TCP的三次握手、四次挥手

2021-08-24  本文已影响0人  Carson带你学安卓

前言


1. TCP建立连接:三次握手

1.1 示意图

示意图

1.2 流程解析

示意图

成功进行TCP的三次握手后,就建立起一条TCP连接,即可传送应用层数据。需要注意的是:

  1. TCP提供的是全双工通信,故通信双方的应用进程在任何时候都能发送数据
  2. 三次握手期间,任何1次未收到对面的回复,则都会重发

1.3 特别说明:为什么TCP建立连接需三次握手?

具体描述

SYN洪泛攻击:

  • 从上可看出:服务端的TCP资源分配时刻 = 完成第二次握手时;而客户端的TCP资源分配时刻 = 完成第三次握手时
  • 这就使得服务器易于受到SYN洪泛攻击,即同时多个客户端发起连接请求,从而需进行多个请求的TCP连接资源分配

2. TCP释放连接:四次挥手

2.1 示意图

示意图

2.2 流程解析

示意图

2.3 特别说明

说明1:为什么TCP释放连接需四次挥手?

即释放连接后,都无法接收 / 发送消息给对方

示意图

(延伸疑问)说明2:为什么客户端关闭连接前要等待2MSL时间?

  1. TIME - WAIT 状态的作用是什么;
  2. MSL = 最长报文段寿命(Maximum Segment Lifetime
示意图

即 在下1个新的连接中就不会出现早已失效的连接请求报文

3. 总结


请点赞!因为你的鼓励是我写作的最大动力!

相关文章阅读
Android开发:最全面、最易懂的Android屏幕适配解决方案
Android事件分发机制详解:史上最全面、最易懂
Android开发:史上最全的Android消息推送解决方案
Android开发:最全面、最易懂的Webview详解
Android开发:JSON简介及最全面解析方法!
Android四大组件:Service服务史上最全面解析
Android四大组件:BroadcastReceiver史上最全面解析


欢迎关注Carson_Ho的简书!

不定期分享关于安卓开发的干货,追求短、平、快,但却不缺深度

上一篇 下一篇

猜你喜欢

热点阅读