什么是三次握手

  1. TCP是网络传输层的协议,提供面向连接的可靠的字节流服务,要通信得先建立连接
  2. 所谓三次握手就是指,建立一个TCP连接时,需要CLient与Server发送三个包,确认连接的建立
  3. 这一过程由Client执行connect触发

简单描述下三次握手的具体过程

第一次握手:

Client将SYN置为1,seq=随机值j,将该数据包发送给Server,
进入SYN_SENT状态,等待Server确认

第二次握手:

Server收到数据包由标志位SYN=1知道,是请求建立新连接,
将ACK置为1,ack=j+1,作为响应Client的请求,
将SYN置为1,seq=随机值k,发送给Client等待确认,
Server进入SYN_RECV状态
因为是建立连接,这些信息在一个数据包中

第三次握手:

Client收到响应
检查ACK==1?,ack==j+1?,若都符合
将ACK置为1,ack=k+1,发送给Server,Client进入establish状态
Server收到响应
检查ACK==1?,ack==k+1?,若都符合
进入establish状态,三次握手完成,TCP连接建立,开始通信

TCP报文图:



如何回答三次握手问题相关推荐

  1. 怎么回答TCP的三次握手问题

    怎么回答TCP的三次握手问题 目录 怎么回答TCP的三次握手问题 三次握手的目的 三次握手的内容 目的1 三次握手的过程 目的2 三次握手的过程 状态变化 总结 面试官:说一下三次握手. 我:好,.. ...

  2. android http 三次 握手,面试解析:3次握手与4次挥手

    在面试中,三次握手和四次挥手可以说是问的最频繁的一个知识点了,我相信大家也都看过很多关于三次握手与四次挥手的文章.今天的这篇文章,重点是围绕着面试,我们应该掌握哪些比较重要的点,哪些是比较多被面试官给 ...

  3. 三次握手和四次挥手(面试必问)

    三次握手 当面试官问你为什么需要有三次握手.三次握手的作用.讲讲三次握手的时候,我想很多人会这样回答: 首先很多人会先讲下握手的过程: 1.第一次握手:客户端给服务器发送一个 SYN 报文. 2.第二 ...

  4. 网络 卧槽!牛皮了,面试官居然把TCP三次握手四次挥手问的这么详细

    TCP的定义 TCP全称为Transmission Control Protocol(传输控制协议),是一种面向连接的.可靠的.基于字节流的传输层通信协议.TCP是为了在不可靠的互联网络上提供可靠的端 ...

  5. 关于三次握手与四次挥手面试官想考我们什么?--- 不看后悔系列

    在面试中,三次握手和四次挥手可以说是问的最频繁的一个知识点了,我相信大家也都看过很多关于三次握手与四次挥手的文章,今天的这篇文章,重点是围绕着面试,我们应该掌握哪些比较重要的点,哪些是比较被面试官给问 ...

  6. 面试问你,三次握手和四次挥手怎么回答?

    面试必备 | 小伙伴栽在了JVM的内存分配策略... 垃圾收集器(CMS.G1)及内存分配策略 Java虚拟机何谓垃圾及垃圾回收算法 你真的知道Integer和int的区别吗? 三次握手和四次挥手是各 ...

  7. 【运维面试】面试官问到tcp/ip三次握手,四次挥手,这么回答就对了

    我之前面试过很多运维人员,每次都绕不开tcp/ip三次握手,四次挥手: 面试者的回答也是八仙过海各显神通 有讲故事的,有画图的,有把自己讲晕了的: 那这个该怎么回答呢? 我总结下来可以这么来说: 三次 ...

  8. TCP 为什么是三次握手,而不是两次或四次?

    三次握手 两次握手(情况1) 两次握手(情况2) OK,下面正经地来回答下这个问题,要搞清楚这个问题,首先得了解TCP究竟是如何保证可靠传输的. PS:TCP协议中,主动发起请求的一端称为『客户端』, ...

  9. 淘宝二面,面试官居然把TCP三次握手问的这么详细

    TCP 的三次握手和四次挥手,可以说是老生常谈的经典问题了,通常也作为各大公司常见的面试考题,具有一定的水平区分度.看似是简单的面试问题,如果你的回答不符合面试官期待的水准,有可能就直接凉凉了. 本文 ...

最新文章

  1. L1-046. 整除光棍(模拟除法)
  2. watir添加新标签
  3. 为什么做了梦第二天想不起来_元旦提醒:为什么有人睡觉爱把脚伸到被子外面?其实与身体状况有关…切勿忽视...
  4. python棋盘放米问题_Python基于回溯法子集树模板解决马踏棋盘问题示例
  5. stm32f103振镜_激光打标机运动控制器的设计与实现
  6. WebDriver使用入门
  7. sql server中case的简单示例
  8. 判断当前用户与审批人是否属于同一个部门
  9. tf入门-池化函数 tf.nn.max_pool 的介绍
  10. mysql 自动复制_MySQL复制 自动监控脚本-阿里云开发者社区
  11. java多线程同步synchronized,浅析Java多线程同步synchronized,javasynchronized
  12. 计算机毕业设计ssm文档资料管理系统
  13. 【论文阅读】The Generals’ Scuttlebutt: Byzantine-Resilient Gossip Protocols
  14. 集中型计算机控制有什么特点,什么叫分散控制系统?它有什么特点?
  15. ST17H66 低功耗蓝牙SOC开发(3)—— OSAL系统简介
  16. 美团/饿了么外卖CPS联盟返利公众号小程序核心源码代码
  17. 【机器人学】机器人开源项目KDL源码学习:(4)机械臂逆动力学的牛顿欧拉算法
  18. java md5库_Java常用类库API之MD5简单使用
  19. 浅析深度学习mini_batch的BP反传算法
  20. ubuntu chromium代码编译

热门文章

  1. 【WSL】配置zsh
  2. uboot readme
  3. lululemon最新报告建立全球幸福感基准
  4. 文件夹只读属性不能更改如何去除
  5. web开发中cab文件 使用
  6. linux系统日志文件介绍
  7. pve rust 能拆家吗_文明重启有哪些游戏模式应该怎么玩
  8. 眼界 思维 意识 习惯
  9. 写给英语和数学都不怎么好的游戏开发爱好者
  10. 安卓开发ESC/POS打印机打印