最通俗的四次挥手

1.天下没有不散之宴席,数据传输结束后,现在服务器和客户机都处于ESTABLISHED状态,客户机想要和服务器断开连接,就会向服务器发送一个标志位FIN=1的报文(FIN=1表示请求断开连接)这时客户机就处于FIN—WAIT—1状态

2.当服务器收到请求断开的数据包以后立即发出确认,确认号acknowledge number等于序列号加一,标志位ACK=1,此时服务器进入CLOSE_WAIT状态

当客户机得到服务器的确认后,就进入FIN—WAIT—2状态,等待服务器发出连接断开报文

3.若服务器已经没有要向客户机发送的数据。那么服务器就向客户机发送一个标志位FIN=1的报文,表示自己也将关闭连接,此时服务器进入LAST—ACK状态

4.当客户机收到请求断开的报文以后,必须对此发出确认,于是就发送一个标志位ACK=1的报文给服务器,然后进入到TIME—WAIT状态,这时TCP连接还没有断开,必须经过时间等待计时器设置的时间之后,客户机才会进入到CLOSED状态

时间: 2024-10-28 22:44:33

最通俗的四次挥手的相关文章

TCP协议三次握手与四次挥手通俗解析

TCP/IP协议三次握手与四次握手流程解析 一.TCP报文格式 TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图: 图1 TCP报文格式 上图中有几个字段需要重点介绍下: (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记. (2)确认号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1. (3)标志位:共6个,即URG.ACK.PSH.RST.SYN.FIN等,具体含

TCP三次握手四次挥手最通俗理解

工作过程TCP标志位:TCP共有6个标志位,分别是: SYN(synchronous),建立联机.ACK(acknowledgement),确认.PSH(push),传输.FIN(finish),结束.RST(reset),重置.URG(urgent),紧急.图解三次握手和四次挥手的过程: 三次握手建立连接阐述:第一次握手:客户端要和服务端进行通信,首先要告知服务端一声,遂发出一个SYN=1的连接请求信号,"服务端哥哥,我想给你说说话". 第二次握手:当服务端接收到客户端的连接请求,此

TCP三次握手和四次挥手通俗理解

一.TCP报文格式 在了解三次握手和四次挥手之前,先知道TCP报文内部包含了哪些东西. TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接.TCP在发送数据前必须在彼此间建立连接,这里连接意思是:双方需要内保存对方信息(例如:IP,Port…) 报文主要段的意思 序号:表示发送的数据字节流,确保TCP传输有序,对每个字节编号 确认序号:发送方期待接收的下一序列号,接收成功后的数据字节序列号加 1.只有ACK=1时才有效. ACK:确认序号的标志,ACK=1表

tcp三次握手四次挥手原理(个人总结的特殊理解)

三次握手的比喻: 两个素未谋面的人遇见了,一个人(client端)想认识对方(server端)..于是那个人(client端)主动向对方(server端)挥手(意味着接下来有握手的冲动,即是带SYN标志的TCP报文到服务器),而对方(server端)也向那个人(client端)挥手(对刚才客户端SYN报文的回应:同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯),这时候对方(server端)是否愿意握那个人(client端)的手(取决于防火墙等定义的规则决定),那个人(client端)

TCP报文格式,TCP的三次握手和四次挥手&amp;hosts文件

1.TCP报文格式 TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接 序号(4字节=32位): 37 59 56 75 用来标识TCP发端向TCP收端发送的数据字节流 确认序号(4字节=32位): 由于该报文为SYN报文,ACK标志为0,故没有确认序号(ACK标志为1时确认序号才有效)TCP协议规定,只有ACK=1时有效,也规定连接建立后所有发送的报文的ACK必须为1 一旦连接建立,该值将始终发送(同ACK标志) 头部长度:该字段占用4位,用来表示报文首部

第五章 运输层(UDP和TCP三次握手,四次挥手分析)

序言   通过这章,可以知道其实三次握手和四次挥手其实真的好简单,通过这章的学习,我相信你也会同样的认为,以后在也不需要听到别人问三次握手的过程而自己一脸懵逼了,觉得人家好屌,其实也就是他懂你不懂,仅此而已,不懂就去学.学了你就会觉得其实也就那样,没有什么厉害的,这让我回想以前刚学习编程的时候,那时候刚学C,别人就说会写java的helloworld,真TM觉得屌啊,我连helloworld是什么度不知道.一直羡慕人家,怎么这么厉害,然后自己心里很虚,自己这么菜啊,其实不然,不懂的就去学习,学懂

面试题之------三次握手与四次挥手过程

首先,客户端与服务器均处于未连接状态,并且是客户端主动向服务器请求建立连接: 客户端将报文段中的SYN=1,并选择一个seq=x,(即该请求报文的序号为x)  将这个报文发送到服务器.此时,客户端进入同步已发送状态(SYN-SEND).SYN报文段不能携带数据,但是要消耗掉一个序号. 服务器收到请求报文后,若同意建立连接,则回复报文中,SYN=1,ACK=1,并选择一个seq = y,且报文中确认号为x+1,序号为y   .此时服务器进入同步已接收状态(SYN-RCVD) 客户端收到服务器的同步

[转帖]脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手

脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手 http://www.52im.net/thread-1729-1-1.html 1.引言 网络编程中TCP协议的三次握手和四次挥手的问题,在面试中是最为常见的知识点之一.很多读者都知道"三次"和"四次",但是如果问深入一点,他们往往都无法作出准确回答. 本篇文章尝试使用动画图片的方式,来对这个知识点进行"脑残式"讲解(哈哈),期望读者们可以更加简单.直观地理解TCP网络通信交互的本

tcp的三次握手和四次挥手转自https://www.jianshu.com/p/d3725391af59

三次握手(three-way handshaking) 1.背景:TCP位于传输层,作用是提供可靠的字节流服务,为了准确无误地将数据送达目的地,TCP协议采纳三次握手策略. 2.原理: 1)发送端首先发送一个带有SYN(synchronize)标志地数据包给接收方. 2)接收方接收后,回传一个带有SYN/ACK标志的数据包传递确认信息,表示我收到了. 3)最后,发送方再回传一个带有ACK标志的数据包,代表我知道了,表示’握手‘结束. 通俗的说法 1)Client:嘿,李四,是我,听到了吗? 2)