三次握手:

第一次握手:客户端发送建立连接请求,进入 SYN_SEND状态 等待服务端确认。

第二次握手:服务端收到报文进行确认 ,进入 SYN_RECV状态。

第三次握手:客户端收到服务端发送的报文 向服务器发送ACK报文 ,发送完成后 客户端和服务端进入 ESTABLISHED状态。

四次挥手:

第一次挥手:客户端向服务端发送FIN报文 客户端进入FIN_WAIT_1状态表示客户端没有数据要发送了。

第二次挥手:服务端收到客户端发送的报文段,向客户端回复ACK 客户端进入 FIN_WAIT_2状态 表示可以关闭。

第三次挥手:服务端 向客户端发送FIN报文段 请求关闭连接 服务端进入LAST_ACK

第四次挥手:客户端收到服务端发送的FIN报文段 向服务端发送ACK报文  客户端进入 TIME_WAIT  状态  服务端收到ACK报文 关闭连接 客户端等待了两个最大段生命周期(2MSL,2 Maximum Segment Lifetime)之后,没有收到服务器端的 ACK ,认为服务器端已经正常关闭连接,于是自己也关闭连接,进入 CLOSE 状态。

参考:https://blog.csdn.net/silenceoo/article/details/77508439

   https://hit-alibaba.github.io/interview/basic/network/TCP.html

转载于:https://www.cnblogs.com/xigualixiang/p/10876490.html

TCP 三次握手 四次挥手相关推荐

  1. java锁一次交互二次握手_Java后台开发面试实战(二):TCP三次握手四次挥手

    感谢牛客网网友提供的面试经验! 1. 解释一下TCP三次握手四次挥手 图片来源于微信公众号:码农求职小助手 答: 嗯(稍作思考)- 三次握手简单来说,在数据传输开始前: 第一次握手:客户端向服务端发送 ...

  2. [计算机网络][总结][常见问题][TCP][三次握手][四次挥手]

    TCP三次握手 四次挥手 三次握手 目的:保证传输的可靠性,为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误.主要防止资源的浪费. 具体过程:当客户端发出第一个连接请求报文段时并没有丢 ...

  3. TCP三次握手四次挥手(图解)

    <TCP-IP协议栈概略图与TCP三次握手四次挥手> 目录 1 TCP过程详解 1.1 三次握手 1.2 四次挥手 2 使用tcpdump分析三次握手的过程 2.1 tcpdump抓包和t ...

  4. TCP三次握手四次挥手过程及其中的状态量

    网上看到过一些有关TCP三次握手四次挥手的过程,觉得有必要总结一下了,对于了解TCP的过程还是有帮助的 1.变量含义 SYN表示建立连接, FIN表示关闭连接, ACK表示响应, PSH表示有 DAT ...

  5. java 中的网络编程(Socket、TCP三次握手四次挥手、TCP/UDP/URL)

    文章目录 前言 一.网络编程概述 二.网络通信要素概述 1.如何实现网络中的主机互相通信 2.网络通信协议 3.IP和端口号 4.InetAddress类 5.网络协议 6.TCP/IP协议簇 7.T ...

  6. TCP三次握手四次挥手简介

    TCP三次握手四次挥手简介 图解三次握手.四次挥手 建立连接:三次握手 关闭连接:四次挥手 上图传递过程中出现的几个字符(SYN,ACK,FIN,seq,ack)各代表什么意思 SYN,ACK,FIN ...

  7. TCP三次握手四次挥手详解

    TCP三次握手四次挥手 1. TCP报文格式 2. TCP连接需要解决的问题 3. 三次握手 4. 四次挥手 5. 一些补充问题 1. TCP报文格式 在了解三次握手和四次挥手之前,先知道TCP报文内 ...

  8. TCP三次握手四次挥手 TCP/UDP区别

    三次握手 第一次握手: 建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认:  SYN:同步序列编号(Synchronize Sequence Numbe ...

  9. Wireshark验证TCP三次握手四次挥手

    本文介绍如何通过Wireshark抓包工具验证TCP的三次握手四次挥手过程. 首先本地起了一个tomcat服务器,跑了一个简单的基于SpringMVC的rest服务. 打开Wireshark,捕获指定 ...

  10. TCP三次握手四次挥手(三国版)

    TCP的三次握手四次挥手 TCP的三次握手和四次挥手不管是我们自己使用还是面试都是需要掌握的,本文先将原理,然后以三国为例讲个小栗子帮助理解.先来一张图: 标志位 TCP在其协议头中使用大量的标志位或 ...

最新文章

  1. 在vs2010或者vs2008中配置PC-lint9.0版
  2. 多云战略:企业如何精益求精?
  3. [html] 怎样计算首屏和白屏的时间?
  4. java两种绑定方式_Javascript绑定事件的两种方式的区别
  5. Android中ButterKnife的详细使用
  6. 计算机网络—UDP协议
  7. 最好的git命令行基础使用教程 windows
  8. SQL数据导出至Excel
  9. 计算机图形学(七)——画一个可以由鼠标键盘控制的立方体
  10. office每次退出时,提示更改会影响共用模板normal
  11. 【MATLAB项目实战】基于SPI指数的某地区地区干旱时空特征分析
  12. 暴力推导 Beta 函数与 Gamma 函数关系式
  13. 剑指 Offer II 009. 乘积小于 K 的子数组
  14. java.lang.ExceptionInInitializerError异常
  15. 前端做大屏显示,缩放比,分辨率怎样适配?
  16. php 生日还剩多少天,请教PHP中计算离生日还剩下多少天问题?
  17. 键盘布局及各按键功能介绍(超超超详细的哟~)
  18. 一文理解UART通信
  19. 杰理ac18芯片_杰理科技推出:「梧桐」系列双模音视频 AIoT 芯片
  20. linux7防火墙端口映射,使用centos7防火墙firewall实现端口映射,实现远程内网3389桌面...

热门文章

  1. 云桌面三大谎言之GPU虚拟化
  2. FastSocket学习笔记~再说客户端与服务端的组成
  3. 【贪心】hdu5969 最大的位或
  4. Numpy 数组的切片操作
  5. oracle主机修改IP后客户端无法连接
  6. Android使用AsyncTask设置请求超时的注意事项
  7. php5.3.3以后php-fpm进程管理方式
  8. 微软将Silverlight主要定位在Windows Phone,其他平台更多推向HTML5
  9. jQuery 调用后台方法
  10. 【编程好习惯】永远将头文件作为定义和引用的桥梁