admin管理员组文章数量:1637172
2024年3月11日发(作者:)
一 TCP四次挥手原理及抓包情况
TCP的连接的拆除需要发送四个包,因此称为四次挥手(four-way handshake)。客户
端或服务器均可主动发起挥手动作,在socket编程中,任何一方执行close()操作即可产
生挥手操作,如图1所示。
图1 四次挥手原理图
第一次挥手:主动方发送一个FIN,用来关闭主动方到被动方的数据传送;
第二次挥手:被动方收到这个FIN,它发回一个ACK,确认序号为收到的序号加1,
和SYN一样,一个FIN将占用一个序号;
第三次挥手:被动方关闭与主动方的连接,发送一个FIN给主动方;
第四次挥手:主动方发回ACK报文确认,并将确认序号设置为收到序号加1;被动方
关闭连接
通俗说就是
主动方对被动方说:我不爱你了,咱们离婚吧!--------------->(FIN_WAIT_1状态,
等待回应)
被动方回应:那离婚吧,把你的东西都拿走! --------------->(FIN_WAIT_2
状态,在关闭连接前将最后一点数据传完)
被动方又说:咱们来个Kiss Goodbye吧! --------------->( LAST_ACK,
关闭连接,并请求最后一次确认)
主动方回应:波儿~ --------------> (CLOSED,完毕)
图2 WIRESHARK抓包情况
二 思考题
2.1 、为什么建立连接协议是三次握手,而关闭连接却是四次握手呢?
这是因为服务端的LISTEN状态下的SOCKET当收到SYN报文的建连请求后,它可以
版权声明:本文标题:TCP四次挥手原理及抓包情况 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1710110858a248820.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论