三次握手四次挥手过程剖析

news2024/11/25 14:32:39

【一】预备知识:
1.三次握手并不一定非得成功,最担心得其实就是最后一个akc(应答)丢失,但是还是有配套得解决方案,比如超时重传机制。

2.连接是需要被保存下来得,是需要被os管理起来得,所以需要先描述再组织,这个是有时间和空间成本得。

3.syn洪水:当多个主机对你的服务器发起syn请求,导致你的服务器内部对连接的保存失败,从而导致服务器崩溃的网络攻击。

【二】为什么需要三次握手,一次两次握手不行吗?

一次握手,客户端仅发送一次syn信息即代表链接建立成功,当多个主机同时对你的服务器发起请求,这个时候,你不就直接炸裂?

两次握手,客户端发送syn请求,服务端接受后发送syn+ack请求,表示我接受到了信息且同意了建立链接,这从理论上来说和一次握手一样,只要你客户端发送请求成功了,链接就算建立了。

三次握手,客户端发送syn请求,服务端接收后发送syn+ack请求,客户端接受后再次发送afile:///C:/Users/吴神/Desktop/20230603_tcp_链接管理_滑动窗口.pngck请求,表示自己收到了服务端发送来的信息,可以建立链接了。这就有效的防止了syn洪水攻击。

tips:三次握手是用最小的成本来验证通信双方的全双工通信是流畅的。

 

【三】三次握手,四次握手~~~可以吗?

        其实这都不用我回答都是可以的,你三次握手都能做到的东西,为啥我四次握手,五次握手做不到呢?我不仅能做到,而且我能做的更好,那我为什么不做呢?其实主要还是三次就能做到的东西,我为啥要花费额外的成本去多做几次?通信也是有时间和空间的成本在里面的。

tips:其实关于syn攻击的问题还是没有得到根本上的解决,但是你想想,服务器收到攻击了,这本身就不是咱这握手解决的事情。

【四】为什么是四次挥手?

        你要把自己带入到这个网络协议里面,想象你和你的对象就是服务端和客户端,你们表白的时候的一般情况不就是,“xxx你能当我女朋友吗?”,“好的啊”,“xxx我爱死你了”,一般情况下,基本上就是这个流程了。(咱也没表过白,也不知道具体流程,纯靠脑部)

        但是你们分手的时候就会出现这种情况,“我们分手吧”,“好”,“真的分手了?”,“真的分了”,一般情况下,情侣之间的分手就是这么个流程。(手动狗头)

        因为断开连接是两个人的事情,所以需要两个人的同意,且双方要做好相应的事宜,需要各自把曾经对方送的东西给退回去。

【五】四次挥手的流程

        首先由一方发送fin信号,表示自己想要断开这个连接(在tcp协议中,服务端和客户端是对等的,谁发送fin信号都行),另一方返回ack连接表示自己收到了这个信号,在发送回一条fin信号,表示自己也要断开连接,最开始发送fin信号的一方收到之后返回ack信号,表示自己收到,并处于time_wait状态,另一方接收到ack信号后,立马关闭连接。有人又要问,为啥处于等待状态?不直接关闭,因为你没有办法包装最后一条ack报文被一定接收到,方便重传。且双方在断开连接的时候,网络中还有残存的报文,保证滞留的报文进行消散。

        

 【六】time_wait导致的问题

        不知道小伙伴们有没有写过简单的服务器程序,有时候中止了程序后,重新启动会发现你之前使用的端口号是没有办法用的,只能被迫的换一个端口号。

        其实这种情况对我们的影响是小的,但是对那些大公司呢?一单重启,换端口号,所有的客户端都找不到服务器了,tcp只有你主动连接了我我才能找到你的机制哎。

        其实在刚开始的绑定里设置绑定状态就可以解决这个问题了。

这就是本期的全部内容了,麻烦给个一件三连啊哈哈哈哈。

           

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/630157.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

被一个gpio口搞死的一天

今天是新项目调试的第一天。 我起的很早,起早的原因很简单,我家楠哥要我送他上学,他说爸爸没有起到一个当爸爸的责任,他也想让爸爸送他上学,然后我就送了。 7点30起来,8点出发,然后回来看了一下…

IDEA把css/js压缩成一行min文件,idea实现右键压缩css和js文件

前言 发布时有些css和js文件较长多行,导致加载的时候略慢,所以想把指定的css或js压缩 实现 整合 yuicompressor-2.4.8.jar 下载地址1:https://github.com/yui/yuicompressor/releases 下载地址2:https://github.com/yui/yuicom…

小学生开“卷”AIGC,绝不能输在起跑线上

图片来源:由无界AI生成 OpenAI的研究报告称,未来,大量工作岗位将受到AI冲击,首当其冲的岗位是作家、数学家、网页设计师、记者、律师…… 自从ChatGPT问世以来,人类会被AI替代的讨论甚嚣尘上,焦虑情绪无处不…

chatgpt赋能python:Python中的倒序遍历:如何使用Python倒序遍历?

Python中的倒序遍历:如何使用Python倒序遍历? Python是一种高级编程语言,它非常适合数据科学、机器学习和人工智能等领域。Python的强大之处在于它有很多内置功能,其中包括倒序遍历。 在本篇文章中,我们将介绍如何使…

EmbodiedGPT|具身智能或将成为实现AGI的最后一公里

卷友们好,我是穆尧。 最近由Chatgpt所引爆的新一代人工智能的革命正在如火如荼的进行,几乎重塑了所有的互联网产品,如办公软件、浏览器插件、搜索引擎、推荐系统等。这样巨大的改变,让大家对通用人工智能又燃起了新的希望&#xf…

CTPN文本检测详解 面试版本

二.关键idea 1.采用垂直anchor回归机制,检测小尺度的文本候选框 2.文本检测的难点在于文本的长度是不固定,可以是很长的文本,也可以是很短的文本.如果采用通用目标检测的方法,将会面临一个问题:**如何生成好…

Autosar诊断实战系列01-手把手教你增加一路31Routine服务

本文框架 1.系列概述2. UDS Routine服务添加3. DcmDspRoutine配置3.1 DcmDspRoutineInfos配置3.2 DcmDspRoutines配置1.系列概述 在本系列笔者将结合工作中对诊断实战部分的应用经验进一步介绍常用UDS服务的进一步探讨及开发中注意事项, Dem/Dcm/CanTp/Fim模块配置开发及注意…

编译tolua——2、基础编译tolua

目录 1、编译工具和环境说明 2、基础编译tolua 大家好,我是阿赵。 继续来讲tolua的各个常用平台的编译。 这里使用官方的tolua_runtime-master项目来做编译 具体需要的编译软件和源码地址,在上一篇文章已经介绍过了,先把环境准备好&#xff…

飞桨AI4S污染物扩散快速预测模型,亮相全国数据驱动计算力学研讨会

5月19-21日,第一届全国数据驱动计算力学研讨会在大连召开。本次研讨会由中国力学学会主办,大连理工大学运载工程与力学学部承办,北京理工大学先进结构技术研究院协办。 会议共吸引了400多位来自全国各地高校与企业的老师与学生参会&#xff0…

DNSPod十问林洪祥:顶级带货主播,其实是数字人?

本期嘉宾 林洪祥 风平智能CEO 林洪祥,风平智能CEO。风平智能拥有全球领先的数字人AIGC预训练大模型技术,利用数字人AI知识大模型打造视频版ChatGPT,实现数字人名师、数字人医生、数字人保险客服、数字广告模特、数字人AI直播等,…

百度大模型算法实习岗上岸经验!

Datawhale干货 作者:J同学,学校:天津大学 写在前面 大家好,我是天大J同学,2023找暑期实习期间也算是历经坎坷,最后去了百度做大模型相关工作,虽然本硕均为计算机科班但本身实力尚浅&#xff0c…

全景浏览技术在虚拟现实中的应用

随着虚拟现实技术的发展,全景浏览技术越来越受到人们的关注。全景浏览技术是一种可以将场景全方位呈现给用户的虚拟现实技术,可以为用户带来身临其境的视觉和听觉体验。本文将介绍全景浏览技术在虚拟现实中的应用以及如何利用代码实现这些应用。 一、全…

报名 | 2023中国高校计算机大赛—大数据挑战赛火热开启!

2016年,教育部高等学校计算机类专业教学指导委员会、教育部高等学校软件工程专业教学指导委员会、教育部高等学校大学计算机课程教学指导委员会、全国高等学校计算机教育研究会联合创办了“中国高校计算机大赛”(China Collegiate Computing Contest&…

2023最新SpringCloud Alibaba全彩版笔记开源,阿里大牛带你手撸微服务结构项目实战

Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,依托Spring Cloud Alibaba,只需要添加一些注解和少量配置,就可以将Spring Cloud 应用接入阿里微服务解决方案,通过阿里中…

迅捷pdf实现多页插入

之前我们使用福昕阅读器实现了在每一页插入logo 这里我们用迅捷pdf再来一次,别问,问就是公司买了会员 首先声明,这里已经有会员了,所以不知道别人操作是不是需要会员,担心的话可以看看上一篇福昕阅读器版本 打开编辑…

3 年换了 6 份工作,失业了!

见字如面,我是军哥! 我 4 月份的时候写过一篇文章《三年换 3 份工作,再也找不到工作了!》如下图,有读者留言,三年换了六家公司,我是惊呆了! 但凡看过我之前文章的,也不至…

chatgpt赋能python:Python如何保存文件到桌面

Python如何保存文件到桌面 在编程中,常常需要将程序生成的文件保存到指定的位置。当然,最常见的目标就是桌面。本文将介绍如何在Python中将文件保存到桌面,以及可能出现的错误及解决方法。 保存文件到桌面 首先,我们需要导入Py…

Grafana Node Graph 使用教程

Grafana 可以显示图数据,例: 依赖 Grafana > 7.5.0 下载地址 https://grafana.com/grafana/download # 启动 Grafana $ ./grafana-severGrafana Node Graph API Plugin # 安装插件 $ grafana-cli plugins install hamedkarbasi93-nodegraphapi-d…

mybatis-plus用法(二)

(5条消息) mybatis-plus用法(一)_渣娃工程师的博客-CSDN博客 AR模式 ActiveRecord模式,通过操作实体对象,直接操作数据库表。与ORM有点类似。 示例如下 让实体类User继承自Model package com.example.mp.po; import com.bao…

爱奇艺大数据加速:从Hive到Spark SQL

01 导语 爱奇艺自2012年开展大数据业务以来,基于大数据开源生态服务建设了一系列平台,涵盖了数据采集、数据处理、数据分析、数据应用等整个大数据流程,为公司的运营决策和各种数据智能业务提供了强有力的支持。随着数据规模的不断增长和计算…