Tcp三次握手和四次挥手状态图
三次握手
四次挥手
正常情况下
同时挥手
SYN攻击:
在三次握手过程中,Server发送SYN-ACK之后,收到Client的ACK之前的TCP连接称为半连接(half-open connect),此时Server处于SYN_RCVD状态,当收到ACK后,Server转入ESTABLISHED状态。SYN攻击就是Client在短时间内伪造大量不存在的IP地址,并向Server不断地发送SYN包,Server回复确认包,并等待Client的确认,由于源地址是不存在的,因此,Server需要不断重发直至超时,这些伪造的SYN包将产时间占用未连接队列,导致正常的SYN请求因为队列满而被丢弃,从而引起网络堵塞甚至系统瘫痪。SYN攻击时一种典型的DDOS攻击,检测SYN攻击的方式非常简单,即当Server上有大量半连接状态且源IP地址是随机的,则可以断定遭到SYN攻击了,使用如下命令可以让之现行: #netstat -nap | grep SYN_RECV
TIME_WAIT状态是什么?
下文转载自 TIME_WAIT是什么?
在TCP断开的过程中会有四个状态变化过程,如下图所示:
在连接撤销过程中,有如下过程:
- HOST1上的应用程序关闭己方的连接导致TCP发送一个FIN消息给HOST2。
- HOST2发送一个确认消息给HOST1,并且HOST2把FIN作为EOF递交给HOST2上的应用程序。
- 一段时间过后,HOST2上的应用程序关闭它那边的连接,引发一个FIN消息给HOST1。
- HOST1给HOST2发送一个确认消息,然后HOST2关闭连接并释放资源,然而,HOST1却没有关闭连接,而是进入了TIME_WAIT状态,并为两个最大段生存时间(2MSL)保留在此状态.
为什么需要TIME_WAIT?
因为在第四步的时候,HOST1发送的ACK可能丢失并导致HOST2重新发送FIN消息,TIME_WAIT维护连接状态.
如果执行主动关闭的一方HOST1 不进入到TIME_WAIT状态就关闭连接那会发生什么呢?当重传的FIN消息到达时,因为TCP已经不再有连接的信息了,所以就用RST(重新启动)消息应答,导致HOST2进入错误的状态而不是有序终止状态,如果发送最后ACK消息的一方处于TIME_WAIT状态并仍然记录着连接的信息,它就可以正确的响应对等方HOST2的FIN消息了.TIME_WAIT为连接中”离群的段”提供从网络中消失的时间。
考虑一下,如果延迟或者重传段在连接关闭后到达时会发生什么呢?通常情况下,因为TCP仅仅丢弃该数据并响应RST消息,所以这不会造成任何问题。当RST消息到达发出延时段的主机时,因为该主机也没有记录连接的任何信息,所以它也丢弃该段。然而,如果两个相同主机之间又建立了一个具有相同端口号的新连接,那么离群的段就可能被看成是新连接的,如果离群的段中数据的任何序列号恰恰在新连接的当前接收窗口中,数据就会被重新接收,其结果就是破坏新连接。
Tcp三次握手和四次挥手状态图相关推荐
- 硬不硬你说了算!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题
来自:小林coding 每日一句英语学习,每天进步一点点: 前言 不管面试 Java .C/C++.Python 等开发岗位, TCP 的知识点可以说是的必问的了. 任 TCP 虐我千百遍,我仍待 T ...
- 握手失败_拜托了,看完这篇别再问我什么是TCP三次握手和四次挥手
TCP三次握手和四次挥手的问题在面试中是最为常见的考点之一.很多读者都知道三次和四次,但是如果问深入一点,他们往往都无法作出准确回答. 三次握手如何建立连接? 三次握手建立链接 从图中可以清楚的看到, ...
- TCP 三次握手 和 四次挥手
概述 我们都知道 TCP 是 可靠的数据传输协议,UDP是不可靠传输,那么TCP它是怎么保证可靠传输的呢?那我们就不得不提 TCP 的三次握手和四次挥手. 三次握手 下图为三次握手的流程图 下面通过我 ...
- 网络协议-网络分层、TCP/UDP、TCP三次握手和四次挥手
网络的五层划分是什么? 应用层,常见协议:HTTP.FTP 传输层,常见协议:TCP.UDP 网络层,常见协议:IP 链路层 物理层 TCP 和 UDP 的区别是什么 TCP/UDP 都属于传输层的协 ...
- TCP三次握手、四次挥手、socket,tcp,http三者之间的区别和原理
接着上一篇文章叙述: TCP/IP连接(在互联网的通信中,永远是客户端主动连接到服务端): 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接.TCP协 ...
- 脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手
转自即时通讯网:http://www.52im.net/ 1.引言 网络编程中TCP协议的三次握手和四次挥手的问题,在面试中是最为常见的知识点之一.很多读者都知道"三次"和&quo ...
- 计算机网络学习笔记(七)——传输层、TCP三次握手、四次挥手、TCP流量控制、大总结
文章目录 前言 概念 一.传输层概述 二.传输层问题 三.端到端寻址 四.TCP三次握手和四次挥手 (一)三次握手建立连接 (二)四次挥手拆除连接 五.带拥塞的TCP流量控制 六.传输层实例 计网大总 ...
- 图解TCP三次握手和四次挥手!(简单易懂)
哈喽:亲爱的小伙伴,首先祝大家五一快乐~ 本来打算节日 happy 一下就不发文了,但想到有些小伙伴可能因为疫情的原因没出去玩,或者劳逸结合偶尔刷刷公众号,所以今天就诈尸更新一篇干货,给大家解解闷~ ...
- 40张图全面解析TCP 三次握手和四次挥手
每日一句英语学习,每天进步一点点: 前言 不管面试 Java .C/C++.Python 哪种语言的开发岗位, TCP 的知识点可以说是的必问的了. 任 TCP 虐我千百遍,我仍待 TCP 如初恋. ...
最新文章
- pygame中使用事件扫描实现对按键的检测以及小游戏的编写
- 思想开放-学数学之人必备的特质(转载)
- 【机器学习】特征工程
- optional判断是否为空_乐字节Java8核心特性之Optional
- iOS7 企业应用无法安装应用程序 因为证书无效的解决方案
- hibernate hql limit的实现方式
- WebStorm-2019.2.3 下载安装
- 排序算法之 Slow Sort
- mysql计算两个月份之间的差值_MySQL如何获取两个年份月份信息中相差的月份(PERIOD_DIFF函数)呢?...
- WEB渗透测试工程师需要具备的技能
- Spring Boot 2020 官方基础68课程第十六个 Securing a Web Application
- 怎么把flv格式转成mp4?
- 全球与中国太阳能并网逆变器市场深度研究分析报告
- 阿里云 EMAS Serverless 重磅发布
- 频域处理:傅里叶变换及小波变换
- Windows版Redis和Redis Desktop Manager安装
- SQL 语句多表联查
- CSDN写博客如何自动插入目录
- Python3读取和写入excel表格数据
- 金桂香二度,橘黄蟹正肥,最是一年好景时
热门文章
- 用Tomcat构建一个简单图片服务器
- Linux进程 excel族函数的用法
- 算法章节 数组、链表、栈、队列
- 使用named_mutex和named_condition配合实现读写锁
- SpringBoot 启动报错:Failed to configure a DataSource: ‘url‘ attribute is not specified and no emb
- Java基础 —— JVM内存模型与垃圾回收
- Linux学习笔记(二)
- 让AMD在中国发声 APU14技术创新大会首次在华召开
- 解决:按截图 ctrl+alt+a QQ聊天窗口就自动最小化(QQ以外的可以截图)
- python基本语法:元组