三次握手与四次挥手的学习笔记

三次握手示意图
在这里插入图片描述

代入几个关键词,

  • “半连接队列”,
    “ISN是固定的吗(也叫初始化序列号)”,
    “SYN攻击”
    “三次握手是否可以中断”

  • ①什么是半连接队列?
    客户端向服务端发送完SYN同步位之后,服务端处于SYN_RCVD状态,此时客户端还没有与服务端完成三次握手,服务端会此种状态下的请求放入一个连接队列中,我们会此种状态下的队列称之为半连接队列。已经完成三次握手的连接队列称之为全连接队列。

  • ②ISN是动态生成的,它可能会随着时间的变化而变化,如果它是固定的话,很容易被猜出后续的序列号,有很大的安全隐患。

  • ③SYN攻击,黑客伪造大量不存在的IP地址,向服务端发送SYN请求包,由于原地址不存在,所以服务端会不断的发送着响应包直至请求超时,这些伪造的SYN请求包会长时间占据着半连接队列,浪费服务端的有限资源,严重时会导致正常的客户端因为队列已满而无法连接或者是被丢弃,造成网络拥塞甚至系统瘫痪。

  • 解决方法?
    如果在短时间内看到服务端半连接队列剧增,且源主机地址都是随机的,基本可以断定这是一次SYN攻击,可以使用linux自带的命令来检查SYN攻击。
    或者增加半连接队列,缩短连接超时时间
    netstat -n -p TCP | grep SYN_RECV

  • ④三次握手是否可以中断,可以中断!服务端收到连接请求之后会将客户端发送连接确认,如果一直收不到客户端的连接确认,就会将他移出半连接队列,释放资源。

在这里插入图片描述
为什么挥手断开连接需要四次?

  • 服务端收到了客户端发送的FIN关闭请求之后,已经处于等待关闭状态,在收到一条关闭请求之后,服务端的socket连接并不会立即关闭,会先发送一条对客户端关闭请求信息的确认,然后进入最后确认状态,主动向客户端发送FIN关闭请求的确认,在收到客户端的确认请求之后,才会真正关闭连接。

2MSL等待是怎么个回事儿?

  • 首先,1个MSL的意思是一个报文段在被丢弃前在网络上的最大生存时间。2个MSL等待时间正好是接收端与接收端一次发送与接收确信报文包的时间。也就是说发送端发送完最后的确认关闭报文时会等待2MSL,如果这个时间段再次收到了服务端的确认报文,就代表着确认关闭可能丢失了,发送端会重新发送确认关闭的报文,同时重新计时。当2MSL之后,没有收到接收端的报文段,发送端就会关闭,连接也就就此关闭了。
基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip 个人大四的毕业设计、课程设计、作业、经导师指导并认可通过的高分设计项目,评审平均分达96.5分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 [资源说明] 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设或者课设、作业,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96.5分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),供学习参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值