TCP的三次握手和四次挥手

TCP为什么需要三次握手和四次挥手

三次握手的主要目的是保证连接是双工的。可靠更多的是通过重传机制

因为连接是全双工的,双方必须都收到对方的FIN包及确认才可关闭。

双工指的是:我的发送和接收都是可以同时执行的。并且连接的双方都可以互相发送和接收。

三次握手的详解

image.png

三次握手数据包的流向:

首先客户端去向服务端发送同步(SYN)包去请求连接,

服务端响应确认(ACK)包,表示你可以连接,

客户端相应的收到确认(ACK)包去建立这个连接,至此三次握手完毕。

 

四次挥手的详解

image.png

四次挥手数据包的流向:

主动连接方去发送同步(FIN)包去请求关闭,

被动接收方回复确认(ACK)包,表示已经收到请求。

并且在被动接收方完成关闭操作中间有一个间隙,完成关闭操作之后在回复一个同步(FIN)包,表示可以关闭了。

主动关闭方回复确认(ACK)包,表示确认关闭,至此四次挥手就此完毕。

 

抓包分析三次握手和四次挥手

image.png

首先,[s]是同步(FIN)包,[.]是确认(ACK)包,[P]是数据包,[F]是完成(finsh)包

image.png

本地IP去访问请求远程IP三次握手:

本地请求的一个SYN包,seq是1186823560,

远程响应回复一个ACK包,seq=1167235484,ack=1186823561,

本地响应ACK包,ack=1167235485

image.png

本地IP去访问请求远程IP四次挥手:

本地请求的一个FIN包,seq是1186823638,

远程响应回复一个ACK包,seq=1167235484,ack=1186823639,

远程完成关闭发送一个FIN包,seq=1167238266

本地响应ACK包,ack=1167238267

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值