图解TCP的三次握手连接和四次握手断开连接
来源:互联网 发布:淘宝透明拉链袋 编辑:程序博客网 时间:2024/05/17 03:27
TCP三次握手建立连接过程:
(1)第一次握手:建立连接时,客户端A发送SYN包到服务器,并进入SYN_SEND状态,等待服务器B确认。
(2)第二次握手:服务器B收到SYN包,必须确认客户A的SYN,同时自己也发送一个SYN包,此时服务器B进入SYN_RECV状态。
(3)第三次握手:客户端A收到服务器B的SYN和ACK包,向服务器B发送确认包ACK.此包发送完毕,客户端A和服务器B进入ESTABLISHED状态,完成这三次握手,客户端和服务器开始传送数据。
这里有个知识点:当TCP第三次握手失败时,服务器并不会重传ack报文,在等待一定时间后直接发送RST(复位)报文段,进入CLOSED状态这样做目的是为了防止SYN洪泛攻击。(SYN攻击利用的是TCP的三次握手机制,攻击端利用伪造的IP地址向被攻击端发出请求,而被攻击端发出的响应报文将永远发送不到目的地,那么被攻击端在等待关闭这个连接过程总消耗了资源,如果有成千上万这种连接,主机资源将被耗尽,从而达到攻击的目的。)
TCP关闭连接的四次握手:由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这个原则是当一方完成他的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的的一方将执行主动关闭,而另一方执行被动关闭。
(1):客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送;
(2):服务器B收到这个FIN,它发回一个ACK,确认序号为收到的FIN序号加一;
(3):服务器B关闭与客户端A的连接,发送一个FIN给客户端A;
(4):客户端A发回ACK报文确认,并将确认序号设置为收到的FIN序号加一
- 图解TCP的三次握手连接和四次握手断开连接
- TCP 三次握手连接&四次握手断开
- TCP的三次握手和四次断开 TCP半连接
- tcp协议的”三次握手“连接与“四次握手”断开
- TCP建立连接时的三次握手和断开连接时的四次握手
- TCP 三次握手建立连接和四次挥手断开连接
- TCP连接和断开 “三次握手和四次挥手”
- TCP四次握手断开连接(图解)
- TCP四次握手断开连接(图解)
- TCP三次握手过程和四次断开连接
- TCP连接与断开(三次握手和四次挥手)
- TCP连接——三次握手和四次断开
- 图片详解TCP连接的三次握手,四次断开基本原理
- TCP\IP三次握手连接,四次握手断开分析
- TCP\IP三次握手连接,四次握手断开分析
- tcp/ip 连接三次握手,断开四次握手
- tcpip,socket ,tcp/ip 三次握手,四次断开连接握手 图解
- TCP/IP的三次握手连接和四次握手关闭
- CommonJS模块规范
- SDN控制器之OVN实验二:使用OVN配置路由器
- Scrapy 1.3.2
- 动态内存分配
- 支持Android7.0 Signature V2 Scheme 多渠道打包,并解决类似360加固后获取不到渠道信息
- 图解TCP的三次握手连接和四次握手断开连接
- R语言典型相关分析
- Map/Reduce进行排序与逆排序
- Android自动化测试工具之monkey
- linux串口编程 3种方式
- linux使用脚本杀死指定名称的进程
- JNI学习笔记 C++传递结构体、String、数组对象给JavaC++传递结构体、String、数组对象给Java
- 与Java的初次相遇
- 传智168期JavaEE hibernate 姜涛 day34~day35(2017年2月27日16:50:17)