TCP三次握手和四次挥手

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP三次握手和四次挥手相关的知识,希望对你有一定的参考价值。

             TCP三次握手和四次挥手


在了解TCP三次握手和四次挥手之前我们先来了解一下TCP的标志位,这样有助于我们理解TCP三次握手和四次挥手的过程



TCP标志位:

URG:表示TCP包的紧急指针域有效,用来保证TCP连接不被中断 

ACK:表示确认序号有效

PSH:表示Push操作; 所谓Push操作就是指在数据包到达接收端以后, 立即传送给应用程序,不在缓冲区排队

RST:表示连接复位请求; 用来复位那些产生错误的连接

SYN:表示同步序号, 用来建立连接;SYN和ACK搭配使用,请求连接时,SYN=1,ACK=0;响应连接时,SYN=1,ACK=1

FIN:表示发送端已经达到数据末尾,也就是说双方的数据传送完成,发送FIN标志位的TCP数据包后,连接将被断开



TCP三次握手:(如图)

1、建立连接时,主机A发送请求包(SYN=1)到主机B,并进入SYN_SEND状态,等待主机B确认


2、主机B收到SYN包,确认是主机A的请求包(ACK=x+1),向主机A发送一个包(SYN=1,ACK=1),主机B进入SYN_RECV状态,也正是主机B进入SYN_RECV(阻塞)所有才有了DDOS攻击


3、主机A收到主机B的回复包(ack=y+1),向主机B发送确认包(ACK=1),主机A和主机B进入ESTABLISHED状态

注:seq是序列号,是为了以后传送数据时使用

技术分享


TCP四次挥手:(如图)

1、主机A发送一个FIN,用来关闭主机A到主机B的数据传送

2、主机B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1 

3、主机B关闭与主机A的连接,发送一个FIN给客户端A

4、主机A发回ACK报文确认,并将确认序号设置为收到序号加1

技术分享



本文出自 “自动化运维” 博客,请务必保留此出处http://hongchen99.blog.51cto.com/12534281/1911498

以上是关于TCP三次握手和四次挥手的主要内容,如果未能解决你的问题,请参考以下文章

TCP的三次握手和四次挥手

TCP三次握手和四次挥手

TCP三次握手和四次挥手

TCP-三次握手和四次挥手简单理解

图解TCP的三次握手和四次挥手(简单明了)

关于TCP的三次握手和四次挥手及其衍生问题