对照面试题理解tcp的三次握手四次挥手

面试题:
下列TCP连接建立过程描述正确的是:A : 服务端收到客户端的SYN包后等待2*ml时间后就会进入SYN_SENT状态
B : 服务端收到客户端的ACK包后会进入SYN_RCVD状态
C : 当客户端处于ESTABLISHED状态时,服务端可能仍然处于SYN_RCVD状态
D : 服务端未收到客户端确认包,等待2*ml时间后会直接关闭连接
正确答案:C解析:
A:SYN_SENT是客户端发送SYN包之后的立即进入的状态,不用等待2mlB:服务端收到客户端的SYN包后会进入SYN_RCVD状态,服务端收到ACK包后会进入established状态。C: 当客户端处于ESTABLISHED状态时,服务端等待接收客户端的ACK,所以可能处于SYN_RCVD状态。D: 客户端收到服务端确认包后,等待2*ml时间后会直接关闭连接。若没有收到,则不会关闭连接。

三次挥手:

面试题解析:

三次握手如下:

(此图第三次握手的ack应该等于y+1,而不是y,上面看不太清楚,但不影响解这题)

四次挥手如下:

TCP四次挥手:

理解 “三次握手”,“四次挥手”

需要知道  “客户端”与  ”服务器端“

“主动方” 与“   被动方 ”   之间的语言的含义是什么,才能在心里有个印象,才能去正确理解四次挥手的含义:

下图中有几个字段需要重点介绍下:

(1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记

(2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。

(3)标志位:共6个,即URG、ACK、PSH、RST、SYN、FIN等,具体含义如下:

A)URG:紧急指针(urgent pointer)有效。

  (B)ACK:确认序号有效。

  (C)PSH:接收方应该尽快将这个报文交给应用层。

  (D)RST:重置连接。

  (E)SYN:发起一个新连接。

  (F)FIN:释放一个连接。

重点:

 需要注意的是:

  (A)不要将确认序号Ack与标志位中的ACK搞混了。

  (B)确认方Ack=发起方Req+1,两端配对。 

四次挥手的总结:能看懂的就,看不懂的回看下面的解释吧:

第一二次挥手:   主动方发送一条连接, 初始确认 确认序号为Z   发送序号为X      被动方确认 确认序号为X+1,发送序号为Z

(只有ACK标志位为1时,确认序号字段才有效)

第三四次挥手:   被动方发送一条连接 , 初始确认 确认序号为X  发送序号为Y      主动方确认 确认序号为Y        发送序号为X

四次挥手博主自我理解: :依照上方各种单词的含义总结:

可以将四次挥手看成是两个人:

四次挥手分别是   第一 ,二次是主动方挥手,被动方挥手回应  ,第三 ,四次是被动方主动挥手,,主动方挥手回应

1:(FIN:释放一个连接。)    2:确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。   3:序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记

第  一:     主动方---》发送Fin+Ack 报文,并发送序号为X

第一次挥手:主动方发送  :Fin=1  Ack=Z   Seq=X

简单理解:   1.主动方释放一个连接 Fin=1             2.主动方发送一个待被动方接受的标志ACK=Z (等待被动方接受,并以序号的方式发回到主动方)                 3. 主动方发送一个待确认的seq的序号 X(表示此序号是从TCP  的{”主动方“}    向   {”被动方“}发送的seq序号)等待被动方确认

第 二:       被动方---》发送Ack 报文,并置发送序号为Z   再确认序号为X+1

第二次挥手 : 被动方发送:ACK=X+1  Seq =Z

简单理解:  ACK=X+1 指被动方确认主动方发送的序号 X 并 +1  回应主动方(只有ACK标志位为1时,确认序号字段才有效,

Seq = Z  接受主动方发送的带接受的标志并将序号命名为Z

第三,四的挥手跟一二的相反

;;;;:  三:被动方---》  发送Fin+Ack 报文,并发送序号为Y

四:主动方---》  发送Ack 报文,并置发送序号为X   再确认序号为Y

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

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

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

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

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

  3. TCP的三次握手和四次挥手的过程?

    TCP的三次握手和四次挥手的过程? 如下2幅图 如下2幅图

  4. c++TCP的三次握手和四次挥手

    该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105043395 T ...

  5. 了解TCP的三次握手和四次挥手

    了解TCP的三次握手和四次挥手 一.    TCP/IP OSI参考模型 了解TCP的三次握手和四次挥手,我们首先从TCP/IP OSI参考模型说起. OSI(Open System Intercon ...

  6. TCP连接三次握手和四次挥手

    摘要: 本文主要介绍TCP连接三次握手和四次挥手的机制. 1.三次握手 (1)三次握手的详述 首先Client端发送连接请求报文,Server段接受连接后回复ACK报文,并为这次连接分配资源.Clie ...

  7. TCP的三次握手和四次挥手及常见面试题

    一.前言 今天上掘金查看热门文章,发现一篇好文 ★前端 100 问:能搞懂 80% 的请把简历给我 ★ ,此文包含100个前端面试问题,仔细阅读完所有题目后,顿感身中数刀无法呼吸,留下了没有技术的泪水 ...

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

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

  9. TCP和UDP区别以及TCP的三次握手和四次挥手

    TCP和UDP的概念 TCP: 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的.可靠的.基于字节流的传输层通信协议 UDP: Internet 协议 ...

  10. 【重难点】【计算机网络 02】TCP 和 UDP 的区别、TCP 的三次握手和四次挥手、HTTP 和 HTTPS、HTTP 各版本之间的区别、HTTP 如何实现长连接

    [重难点][计算机网络 02]TCP 和 UDP 的区别.TCP 的三次握手和四次挥手.HTTP 和 HTTPS.HTTP 各版本之间的区别.HTTP 如何实现长连接 文章目录 [重难点][计算机网络 ...

最新文章

  1. python 删除列表中的指定元素
  2. python pip命令技巧
  3. 瑞星linux u盘引导盘杀毒教程,瑞星杀毒U盘怎样用U盘启动电脑
  4. 小米 华为都要造车?.NET高薪潮来了!(附招聘链接)
  5. 一次 .NET Core 中玩锁的经历:ManualResetEventSlim, SemaphoreSlim
  6. php写抢票脚本,火车票抢票python代码公开揭秘!
  7. 三个快速便捷的命令行小贴士
  8. Style Report 培训开始啦!!
  9. python浮点数保留两位小数_(RPA)学习——Python 保存两位小数
  10. 费用报销管理表格计算机考试,计算机等级考试EXCEL练习题-10通讯费年度计划表...
  11. 中国科学院大学2015年数学分析高等代数考研试题
  12. ASO优化|五步解锁关键词选择优化正确姿势!
  13. 规格型号、购方名称、地址备注等格式有误、特殊字符-无法开票?
  14. 手机网络邻居访问电脑_通过WiFi局域网在手机上观看电脑上的视频
  15. 区块链应该打造国产操作系统
  16. 保底掉落装备matlab,DNF团本减负计划 保底深渊票史诗装备删除
  17. Huggingface Transformers简约教程(三)
  18. 使用 adb 对 Android 声音控制全面适配
  19. ECM麦克风电路元器件计算
  20. 计算机等级考试心得体会,计算机等级考试心得体会(2)

热门文章

  1. 计算机联锁系统故障处理流程图,铁路TYJL Ⅱ型计算机联锁操作流程图
  2. ICC 图文学习——LAB2:Design Planning 设计规划
  3. 蓝牙BQB认证 Profile测试
  4. Mac的常用快捷键(包括数学字符)
  5. spring-boot-devtools 快速重启的秘密!
  6. 向日葵 服务器连接失败怎么办
  7. 基于Linux的WebSphere性能调优与故障诊断
  8. 一不小心把此电脑删了,如何把此电脑添加到桌面?
  9. Java 14:JDK 14进入GA时的所有新功能
  10. 实验十二、十三 配置PPP协议、配置Frame-relay协议