TCP 3次握手4次挥手 复习

9人阅读 评论(0) 收藏 举报
分类:

学习自https://blog.csdn.net/qq_18425655/article/details/52163228


握手

syn

syn+ack

ack


未连接队列

服务端维护一个未连接队列,当客户端发来ack时,服务器会入队列一个相应的标识,那个标识是已接收ack状态,然后会发syn ack,当客户端再次发送ack后,出队列那个相应的标识,正式建立连接


为何要3次握手?

假如客户端发送syn,但是莫名滞留了,于是重传了,建立了一个连接。但在连接之后,那个syn又到达了服务端,如果服务端仅仅凭借一个syn就和客户端建立连接了,资源就会被浪费。


挥手

fin

ack

fin

ack


为何要4次挥手?

那是因为要把剩余的资源发发光。如果直接就终止了,客户端收到的数据的尾部就会缺失。


为何最后一个ack发了后还要等一会?

那是因为这个ack可能发送失败需要重发。如果没有重发,服务器得不到确认,连接就一直保持了,资源就大大浪费了,而且服务器绝对会崩。


ps:保活计时器

如果客户端服务端已经建立连接了,突然客户端炸了,但是连接还在。服务端如果2小时(假定的数据)内没收到客户端的数据,会发个信号——“老哥你还在吗???”,发个10个左右,就火了!lz生你气了,嘤嘤嘤,然后就关闭连接了。

查看评论

Tcp协议中的3次握手与4次挥手过程分析

在客户端与服务端的通信中,首先要建立Tcp连接,再进行数据传输,数据传输完成后,客户端再与服务端断开连接。 建立Tcp连接有3个步骤,就是一般说得3次握手;而断开Tcp连接有4个步骤,就是一般说得4次...
  • u012824097
  • u012824097
  • 2016-09-09 19:39:05
  • 266

TCP为什么需要3次握手与4次挥手

为什么需要“三次握手”             在谢希仁著《计算机网络》第四版中讲“三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误”。在另一部经典的《计算机网络》...
  • xifeijian
  • xifeijian
  • 2014-03-14 22:36:08
  • 48045

tcp二次、三次、四次握挥手

为什么tcp建立连接是三次握手而不是两次或四次,释放连接的时候是四次挥手 由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这个原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这...
  • huanongjingchao
  • huanongjingchao
  • 2015-07-27 22:54:58
  • 974

详解HTTP的3次握手和4次挥手

为什么有3次握手 每当建立一个TCP/IP连接的时候都要经历3次握手,这是为了保证建立一个可靠的连接。 什么是3次握手 上图中的三次挥手说的是,客户端向服务器发请求,服...
  • kingov
  • kingov
  • 2017-08-14 10:19:11
  • 1202

TCP三次握手和四次挥手过程分析

TCP(Transmission Control Protocol) 传输控制协议 三次握手 TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: 位码即tcp...
  • xuyue1987
  • xuyue1987
  • 2011-09-27 15:36:19
  • 11173

理论经典:TCP协议的3次握手与4次挥手过程详解

摘要: 本文将分别讲解经典的TCP协议建立连接(所谓的“3次握手”)和断开连接(所谓的“4次挥手”)的过程。 1、前言 尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与...
  • omnispace
  • omnispace
  • 2016-09-29 14:42:52
  • 21559

TCP的三次握手与四次挥手(详解+动图)

背景描述 通过上一篇中网络模型中的IP层的介绍,我们知道网络层,可以实现两个主机之间的通信。但是这并不具体,因为,真正进行通信的实体是在主机中的进程,是一个主机中的一个进程与另外一个主机中的一个进...
  • qzcsu
  • qzcsu
  • 2017-06-04 21:53:54
  • 8003

为什么是三次握手而不是两次握手为什么是四次挥手

为什么是三次握手捏:::          三次握手可以简单看做是客户发送请求,服务器对客户的请求进行确认,客户对服务器的确认再进行确认。          如果采用两次握手,假设下面这种情况,客...
  • yangliuhepanpan
  • yangliuhepanpan
  • 2016-06-07 09:49:59
  • 2490

计算机网络——TCP协议中的三次握手四次挥手以及11种状态转换

TCP的传输连接分为3个阶段:连接建立(三次握手)、数据传送和连接释放(四次挥手)。TCP传输连接的管理就是使传输连接的建立和释放都能正常地进行。...
  • a987073381
  • a987073381
  • 2016-08-14 20:37:19
  • 13613

TCP协议的3次握手与4次挥手过程详解

TCP协议的3次握手与4次挥手过程详解尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务。TCP提供一种面向连接的、可靠的字节流服务。 面向连接意味着两个使用T...
  • harris135
  • harris135
  • 2017-07-17 11:30:34
  • 192
    个人资料
    持之以恒
    等级:
    访问量: 4万+
    积分: 4818
    排名: 7457
    文章存档
    最新评论