TCP 的三次握手流程图

标志位

SYN: 表示连接请求 ACK: 表示确认 FIN: 表示关闭连接 seq:表示报文序号 ack: 表示确认序号

图解流程如下:

第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Client进入SYN_SENT状态,等待Server确认。

第二次握手:Server收到数据包后由标志位SYN=1知道Client请求建立连接,Server将标志位SYN和ACK都置为1,ack (number )=J+1,随机产生一个值seq=K,并将该数据包发送给Client以确认连接请求,Server进入SYN_RCVD状态。

第三次握手:Client收到确认后,检查ack是否为J+1,ACK是否为1,如果正确则将标志位ACK置为1,ack=K+1,并将该数据包发送给Server,Server检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入ESTABLISHED状态,完成三次握手,随后Client与Server之间可以开始传输数据了。

TCP的三次握手流程图相关推荐

  1. 在深谈TCP/IP三步握手四步挥手原理及衍生问题—长文解剖IP

    如果对网络工程基础不牢,建议通读<细说OSI七层协议模型及OSI参考模型中的数据封装过程?> 下面就是TCP/IP(Transmission Control Protoco/Interne ...

  2. TCP的三次握手详解

    TCP的三次握手 传输控制协议TCP简介: 1.面向连接的.可靠的.基于字节流的传输层通信协议 2.将应用层的数据流分割成报文段并发送给目标节点的TCP层 3.数据包都有序号,对方收到则发送ACK确认 ...

  3. 再深谈TCP/IP三步握手四步挥手原理及衍生问题—长文解剖IP

    转载地址: https://www.zhoulujun.cn/html/theory/ComputerScienceTechnology/network/2015_0708_65.html 如果对网络 ...

  4. TCP 为什么三次握手而不是两次握手(正解版)

    参考文章 Why do we need a 3-way handshake? Why not just 2-way 大部分网络博客的错误解读 首先需要声明的是, 百度搜索到的大部分网络博客关于这个问题 ...

  5. 一文搞懂TCP的三次握手和四次挥手

    目录 1.三次握手 2.四次挥手 3.11种状态名词解析 TCP的三次握手和四次挥手实质就是TCP通信的连接和断开. 三次握手:为了对每次发送的数据量进行跟踪与协商,确保数据段的发送和接收同步,根据所 ...

  6. java tcp 三次握手_用Java代码分析TCP的三次握手四次挥手过程

    (1)客户端发送一个带SYN标志的TCP报文到服务器.这是三次握手过程中的报文1. (2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志.因此它表示对刚才客户 ...

  7. wireshark抓包理解TCP的三次握手

    一.实验目的 通过wireshark抓包工具,抓取客户机访问FTP服务器的连接过程进一步理解TCP的三次握手 二.实验拓扑 三.实验步骤 1.根据拓扑图搭建实验环境. 2.在客户机上安装安装Wires ...

  8. 简析TCP的三次握手与四次分手【转】

    转自 简析TCP的三次握手与四次分手 | 果冻想 http://www.jellythink.com/archives/705 TCP是什么? 具体的关于TCP是什么,我不打算详细的说了:当你看到这篇 ...

  9. 为什么有TCP 的三次握手 和 四次挥手

    由于我们的设备上的通信程序很直接,所以当时没有仔细想过TCP的三次握手和四次挥手这个问题,有的时候自己写的时候 会忘掉这个问题,就是为什么会有三次握手的过程和4次挥手的过程 简单来说就一句话 &quo ...

最新文章

  1. ajax调取json接口,通过 Ajax 调取后台接口将返回的 json 数据绑定在页面上
  2. 五大点,搞懂单线程的Redis到底快在哪里
  3. cpu使用率 htop显示_Linux查看CPU和内存使用情况
  4. Geany整体增加减少缩进快捷键
  5. chrome 插件 vimium 介绍
  6. java oracle临时表,JdbcTemplate操作oracle的临时表
  7. 7.0上的新KIE持久性API
  8. 【CVPR2019】Workshops 研讨会列表及链接
  9. calibration trl 设计_校准:怎样设计和验证TRL校准件以及TRL校准的具体过程
  10. 素数/质数的判断(C++)
  11. 图像处理基础(四)_图像分辨率、图像模式及通道讲解
  12. java国际象棋棋牌_java使用swing绘制国际象棋棋盘
  13. linux入门基础命令详解
  14. 嵌入式用HTTP请求下载bin文件
  15. Deepin安装和设置Kodi,实现手机APP投屏和IPTV功能
  16. 屏通触控大师(PM Designer)快速入门
  17. exceptions - Pitfall: the Lost Exception
  18. 卓训教育:给孩子讲故事,打造学习愿景
  19. python爬虫实战——猫眼电影案例
  20. 为什么双赞安卓ARM工控主板应用前景那么好?

热门文章

  1. 通过颜色来生成一个纯色图片
  2. 小学计算机课第二课堂活动,趣味课堂 童真飞扬 ——我校小学部开设丰富多彩的第二课堂...
  3. 改进YOLOv5系列:13.添加CrissCrossAttention注意力机制
  4. C++基于MFC课程设计——学习公社
  5. 【Python】逆向爬虫-----模拟微信公众平台登录(MD5)
  6. 2017 年度读书总结
  7. CSS给元素添加边框(样式、颜色、宽度)
  8. 邮件常见异常:javax.mail.MessagingException: Could not connect to SMTP host
  9. js实现文件下载并重命名
  10. 高一女孩成 AI 赛事奖项收割机,05 后新星如何踏上 CV 之路?