关于tcp三次握手与四次挥手的问题

什么是三次握手?为什么要握手三次?

三次握手就是在客服端与服务端建立连接的时候发生的。由客户端发送请求连接报文,服务端回应确认报文与连接报文,客户端在发送确认报文,确认后就成功的建立了连接。
tcp三次握手
握手三次是因为客户端发送消息给客户端,服务端收到后,回应客户端,此时服务端并不知道客户端是否收到回应信息,所以客户端再发送一次确认报文给服务端。说简明点就是这个过程就是为了验证双方都具有收发数据的功能,所以这也是说tcp是可靠的传输协议之一。

什么是四次挥手呢?

四次挥手就是在客户端和服务端双方断开连接的时候发生的。由主机A向主机B发送关闭连接请求,主机B收到后回应已经收到,但是并没有回应关闭请求,只回应了是否还有数据发送,当没有数据发送了,主机B在发送关闭连接请求,主机A收到后在回应一个确认关闭连接。注意:此时关闭连接后,会有一个2MSL时间
tcp四次挥手

MSL时间是报文最大生存时间,为什么会出现2MSL时间呢?
我们假设在网络极端情况下,最后一个ACK可能会丢失,此时就会重发数据。由于主动关闭的一方发送的ACK可能会有延迟,从而触发重发数据,极端情况下,这一来一回就是2MSL时间,在此时间,不能再使用这个ip地址,因为此时再用这个ip地址建立新的连接可能会干扰旧的连接。

猜你喜欢

转载自blog.csdn.net/weixin_43224809/article/details/82801762
今日推荐