美文网首页程序员
TCP建立连接三次握手和释放连接四次握手

TCP建立连接三次握手和释放连接四次握手

作者: whoami2019 | 来源:发表于2018-06-10 11:49 被阅读0次

TCP建立连接三次握手

1)主机A: 主机B,在线吗? 收到请回复。

2)主机B:收到,那你还在线吗?收到请回复。

3)主机A,收到,我还在线;会话连接成功,下面开始说正事吧。

为什么是三次握手

假设只有二次握手,就有可能出现以下的情况:主机A请求连接时,因为网络延迟问题,这条消息主机B迟迟没有收到,因为主机A等待超时又发了一个连接请求,主机B收到请求后同意了连接,所以这次的连接建立了,这时上一次的请求连接消息主机B才收到,主机B当然也是同意的,但是这个连接在主机A看来是过时的,主机A当然不能正常连接,主机B却连接了,这就导致主机B创建了一个无意义的连接,白白浪费了系统资源。

TCP释放连接四次挥手

1)主机A:主机B,我没有要发送的数据了,我请求关闭连接,收到请回复。

2)主机B: 收到,但是你得先等等,我得先确认一下我还有没有数据要发送给你,若有我要发送完毕再联系你。

3)主机B:主机A,我的数据也已经发送完毕,咱们现在关闭会话吧,收到请回复。

4)主机A:收到,可是我要等待2分钟后才能关闭连接,2分钟后连接将会自动关闭。

为什么要等待2分钟呢?

2分钟对应的专业术语是MSL即Maximum Segment Lifetime,也就是最大报文生存时间,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。引用《TCP/IP详解》中的话:“它(MSL)是任何报文段被丢弃前在网络内的最长时间”。RFC 793中规定MSL为2分钟,实际应用中常用的是30秒,1分钟和2分钟等。

因为主机A在对主机B进行回复确认时,可能网络会丢失数据,如果丢失数据了,主机B会重发FIN给主机A的,因为主机B要等收到了主机A的确认时才会close连接,但是如果主机A再回复确认后马上close连接,那就可能会导致主机B不能close连接,所以主机B是比主机A遭关闭的。

为什么是四次挥手

 TCP建立连接要进行三次握手,而断开连接要进行四次。这是由于TCP的半关闭造成的。因为TCP连接是全双工的(即数据可在两个方向上同时传递)所以进行关闭时每个方向上都要单独进行关闭。

相关文章

  • TCP10问

    1.TCP建立连接时需要几次握手, 断开连接需要几次握手? TCP建立连接需要三次握手, 断开连接要四次握手。现有...

  • TCP三次握手和四次挥手以及缺陷

    建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示: 1、TCP连接建立——三次握手 几...

  • 知识点总结1-计算机网络

    1.TCP的三次握手和四次握手 建立TCP的话,需要三次握手才能建立,而断开连接则需要四次挥手 三次握手:通俗描述...

  • 2018-06-11(TCP三次握手、四次挥手)

    三次握手: 每一次TCP连接都需要三个阶段:连接建立、数据传送和连接释放。三次握手就发生在连接建立阶段。 三次握手...

  • TCP三次握手建立连接和四次挥手断开连接(个人理解)

    TCP三次握手建立连接和四次挥手断开连接(个人理解) TCP协议通过三次握手的方式建立连接: 1.客户端(李二狗)...

  • TCP三次握手和四次挥手

    建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示: 建立连接的过程: TCP 连接是通...

  • TCP四次挥手过程

    TCP通过三次握手建立连接,通过四次挥手来释放连接,对于三次握手的过程之前学习的时候就记录过http://www....

  • TCP(一) 建立连接 & 连接释放

    TCP是一个面向连接的服务,建立连接需要经过三次握手,释放连接需要经过四次挥手。 三次握手 客户端与服务器交互需要...

  • TCP的3次握手&4次挥手

    详解 TCP 连接的“ 三次握手 ”与“ 四次挥手 ” 为什么“握手”是三次,“挥手”却要四次? 建立连接时,被动...

  • 三次握手和四次挥手

    三次握手是TCP建立连接时进行的,四次挥手是TCP断开连接是进行的,要弄明白三次握手和四次挥手,需要了解TCP的协...

网友评论

    本文标题:TCP建立连接三次握手和释放连接四次握手

    本文链接:https://www.haomeiwen.com/subject/hrefeftx.html