咨询热线:023-63853373

24小时热线:13372636650

新闻中心

首页

产品方案

服务项目

开发案例
新闻资讯
联系我们

【网络】TCP3次握手与4次挥手

2020/02/08  来源:乐潮信息

客户端与服务端的通信中步骤

 

    1建立Tcp连接

        3次握手

    2再进行数据传输

    3数据传输完成后,断开连接。

        4次挥手

 

建立Tcp连接

 

1 Client ---> Server:(员工:老板看到我发的消息没)

 

设置SYN=1,seq=J,并将该数据包和SYN请求信号发送给Server,Client进入syn_sent(发送)状态,等待Server确认。

 

2Server --->Client :(老板:看到了,你确定下看到我消息没)

 

接收数据包后,设置SYN=1,ACK=1,ack=J+1 ,seq=K,发送给Client,表示确认收到了Client的请求,Server进入syn_rcvd(已收到)状态;

 

3 Client---> Server:(员工:我也收到你的回复的,你看下收到我的回复了没,收到说明我们通信连接成功了)

 

Client:检查是否 ACK=1 && ack=J+1,如果是则设置ACK=1,ack=K+1,并将数据包发送给Server;

 

Server:检查ack是否为K+1,ACK是否为1,如果正确则连接建立成功,Client和Server进入established(确认)状态,三次握手完成,

 

注意

 

半连接

 

在三次握手过程中,Server发送SYN+ACK之后,收到Client的ACK之前的TCP连接称为半连接(half-open connect)

 

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攻击了,使用如下命令可以让之现行:

 

断开连接:

Client发送一个FIN,用来关闭Client到Server的数据传送,Client进入FIN_WAIT_1状态。

 

1 Client---> Server(数据发送完了,关闭连接吧)

 

Client发送一个FIN,表示Client要发送的数据已经发送完成,请求结束连接,Client进入fin_wait_1状态;

 

2 Server---> Client(收到你的信息,请确定你也收到我的信息)

 

Server收到Client的FIN后,会向Client发送一个ACK,表示收到了Client的FIN请求,确认序号为收到序号(A)+1(即ack=A+1),Server进入close_wait状态(此时Server可能没有完成向Client的数据传输);

 

3 Server---> Client(收到你的信息,我的信息已发送完毕,请确定收到我的信息)

 

 当Server完成向Client的数据传输后,向Client发送一个FIN ,,表示Server已经完成发送,Client可以断开连接,Server进入last_ack状态;

 

4 Client---> Server(收到你的信息,我过一定就关闭了,你也关闭吧)

 

 Client:接收到Server的FIN后,Client进入time_wait状态,并向Server发送一个ACK,确认序号为收到序号(C)+1(ack=C+1)

 

Server:检查客户端信息正确,Server进入closed状态,Client断开连接,Server关闭连接,四次挥手完成。

注意

 

在time_wait状态中,如果TCP client端最后一次发送的ACK丢失了,它将重新发送。TIME_WAIT状态中所需要的时间是依赖于实现方法的。典型的值为30秒、1分钟和2分钟。等待之后连接正式关闭,并且所有的资源(包括端口号)都被释放。

网络转载

开发三级分销系统APP的好处

重庆APP开发乐潮科技认为:三级分销系统是各路商家的最爱,这句话说的绝对没毛病。

重庆APP开发多少钱

根据app应用软件开发的难易程度可以将重庆app开发价格大致分为一下几类

手机app定制开发要根据用户市场来

重庆app开发公司乐潮科技认为,随着移动互联网技术的不断发展,手机app开发现在已经

点击我更换图片

公司地址:

重庆市渝北区冉家坝时光城写字楼

联系方式:

023-63853373

13372636650(24h热线)

重庆市渝北区冉家坝时光城写字楼

© 2020 乐潮信息

渝ICP备15006414号-2      渝公网安备 50011202502110号