ToB企服应用市场:ToB评测及商务社交产业平台

标题: [Linux#63][TCP] 常见标记位 | 为什么是三次握手,四次挥手? [打印本页]

作者: 曂沅仴駦    时间: 2024-10-12 06:57
标题: [Linux#63][TCP] 常见标记位 | 为什么是三次握手,四次挥手?
目次
一. 6 个标记位
二.连接管理机制
TCP连接与握手、挥手详解
1. TCP连接的建立与断开
2. 连接的明白
三次握手
1. 三次握手的可靠性
2. 1/2/3 次握手对比
三次握手的利益⭕
1. 服务器是否会受到SYN洪水攻击
思考
1. 四次、五次或更多次握手是否可行
2. 三次握手的明白
3. 为什么要连接?
4. UDP不需要连接的缘故原由
四次挥手
1.明白
2. 特殊状态
状态转换总结

本文将介绍六个标记位,与详解三次握手四次挥手
一. 6 个标记位

虽然有的 TCP 尺度包含 8 个标记位,但我们主要学习其中 6 个最常用的。
上面说过数据段在往返通信的时候,有的是正常的数据报文,有的是确认报文。 这里我们就可以明白tcp报文也是有范例的!


在 TCP 通信过程中,数据段有时是正常的数据报文,有时是确认报文。为了区分不同范例的报文,TCP 使用 6 个标记位来表示不同范例的报文。
站在服务器的角度它一定会收到各种各样的tcp报文!所以接收方要根据不同的tcp报文,要有不同的处理动作!
将URG标记位置为1 ,表明这个报文中的有用载荷是涵盖有紧急数据的,注意我并没有说报文中有用载荷都是紧急数据!
   
  这个时候就有16位紧急指针来标识,16位紧急指针表达的是在有用载荷中的偏移量。如果紧急指针写个20,也就是说该报文中有用载荷偏移量为20的数据开始是要紧急处理的!
   
  并不是,根据16位紧急指针找到偏移量以字节位单位,往后读取一个字节就是紧急数据。紧急数据不需要列队直接被上层读取,一样平常这个URG这个1字节数据也成为带外数据。


带外数据并不是tcp帮我们主动弄这个功能,而是tcp提供这个功能供上层选择,我们自己在写服务器的时候可以自己选择正常读数据之前有没有带外数据




设置这个就可以读写带外数据


应用场景:

6.RST 标记位
RST是reset的简写。在写套接字TCP协议的时候我们曾经说过,通信双方在通信之前必须要把三次握手建立好才气举行通信。
应用场景分析:
   ❓ 三次握手建立连接,三次握手一定能包管握手成功吗?不一定!
  这个世界上没有100%一定成功的,而且我们也知道三次握手最后一次ACK是没有应答的,可能会出现握手失败的环境。
同理四次挥手也一样!人家只是在TCP这里设立了建立连接三次握手、断开连接四次挥手,但可没说一定成功。

   ❓ 但是客户端知不知道服务器重启过呢?并不知道,你服务器又没有给我四次挥手。
  
如果client认为连接还存在会出现什么问题?是不是就直接发报文了。



到现在为止我们已经把TCP报头都学完了。自己也可以把选项部分可以看一看。



二.连接管理机制

(这个导图是第二遍做了 qwq,第一遍做的重点都标红了,更漂亮,结果没来得及保存就断电了...买的电脑电池还没到,之后写一篇文章将如何给电脑换电池叭,最有学习动力的一集(o-ωq)).oO


TCP连接与握手、挥手详解

1. TCP连接的建立与断开




2. 连接的明白


三次握手








1. 三次握手的可靠性

(关于三次握手关注问题的角度

2. 1/2/3 次握手对比





三次握手的利益⭕

1. 服务器是否会受到SYN洪水攻击



2. 三次握手才可以阻止重复历史连接的初始化






3. 三次握手才可以同步双方的初始化序列号
⭕TCP协议通信的双方,都必须要维护序列号,序列号是实现可靠传输的一个关键因素,其作用如下:
   
  



   思考

  1. 四次、五次或更多次握手是否可行

四次握手

五次、六次等更多次握手

2. 三次握手的明白

三次握手的另一种解释

3. 为什么要连接?


4. UDP不需要连接的缘故原由



四次挥手

1.明白








2. 特殊状态




无论是主动还是被动和是客户端大概是服务器没关系,因为TCP是地位对等的协议。
   ❓ 如何让服务器不停处于CLOSE_WAIT状态,不继续往下走?
  让服务器不要调用close!那服务器只是被动触发完成两次挥手,因为不会调用close所以也不会给客户端发送FIN也就不会进入LAST_ACK状态。服务器不停处于CLOSE_WAIT状态。
我们可以把以前代码拿过来修改,在下篇文章中验证一下这个场景~

状态转换总结



客户端状态转换

服务器端状态转换


下篇文章将通过代码实行,对网络状态举行测试与检察,和对到思维导图中的后半部分继续讲解~

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4