TCP的三次握手和四次挥手

22 阅读1分钟

image.png

握手:(模拟甲请乙吃饭场景)

1、客户端发送一个SYN码给服务器,要求建立数据连接;(甲:来我家吃饭,给你一张SYN门卡)

2、服务器拿到SYN和自己处理一个SYN(标志);叫SYN+ACK(确认包);发送给客户端,可以建立连接;(乙:我收到你的门卡了,我也给你一张叫ASK的卡)

3、客户端再次发送ACK向服务器,服务器验证ACK没有问题,则建立起连接;(甲:来了啊进来吧!乙:出示你的ASK卡,我看看走错没,甲:这不是吗?快进来吧)

image.png

image.png

挥手:

1、客户端发送FIN(结束)报文,通知服务器数据已经传输完毕;(甲:小声嘀咕..这货吃完了吧?该走了吧)

2、服务器接收到之后,通知客户端我收到了FIN,发送ACK(确认)给客户端,数据还没有传输完成(乙:我听到你说的话了,你确定赶我走吗?但是我还没吃完哎!)

3、服务器已经传输完毕,再次发送FIN通知客户端,数据已经传输完毕(乙:我吃完了,别解释了,果然不爱了,我走了)

4、客户端再次发送ACK,进入TIME_WAIT状态;服务器和客户端关闭连接;(甲:把你的ACK还给你,把我家米都吃空了)

image.png

image.png