【计网】三次握手与四次挥手
TCP连接的建立都是采用客户服务器方式
主动发起连接建立的应用进程叫客户(我们上网用的电脑)
被动等待连接建立的应用进程叫服务器(网站所在的服务器)
三次握手(TCP链接的建立)
第一次握手:客户请求建立SYN=1 ACK=0 seq=x 同步位为1,确认号为0,序列号为x
第二次握手:服务器回应SYN=1 ACK=1 seq=y ack=x+1 确认号为x+1
第三次握手:客户发ACK=1 seq=x+1 ack=y+1 确认号为y+1
第三次握手的意义:服务器在第二次握手时向客户发送数据包,如若没有第三次握手,服务 器将不知道刚才所发数据包是否有效,服务器将一直等待客户的反馈,会造成服务器的资源浪费,当加入第三次握手后,服务器可根据第三次握手的有无判断是否完成连接
四次挥手(TCP链接的断开)
第一次挥手:客户请求断开连接 FIN=1 seq=u
第二次挥手:服务器回应 ACK=1 seq=v ack=u+1,此时只是同意客户的关闭请求,服务器还是可以给客户发送剩余数据
第三次挥手:服务器请求断开连接 FIN=1 ACK=1 seq=w ack=u+1
第四次挥手:客户同意服务器的关闭请求 ACK=1 seq=u+1 ack=w+1
TCP连接客户端在第三次挥手收到后必须经过时间2MSL后才真正释放掉