三次握手“释放”连接

我们通常会背书,Tcp 三次握手建立连接,四次握手释放连接。但其实,这只是常见现象。通过抓包,发现了 Tcp 三次握手“释放”连接。

背景:

192.168.40.1 主机:zookeeper 服务器,dubbo provider

192.18.40.8 主机:dubbo consumer

zookeeper 默认端口 2181,dubbo 服务默认端口 20880,

consumer 调用服务后,结束程序,并会断开所有连接。使用 wireshark 抓取释放连接的 Tcp 包:

从上图可以看出,zk 和 consumer 之间的 Tcp 连接,三次握手就断开了,而 consumer 和 provider 的连接是四次握手释放的。

这里有一个疑问是:consumer 关闭程序,为什么却是 zk 主动释放连接?

原文地址:https://www.cnblogs.com/allenwas3/p/8973274.html

时间: 2024-10-16 04:49:26

三次握手“释放”连接的相关文章

Linux Socket过程详细解释(包括三次握手建立连接,四次握手断开连接)

我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web 服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型 有哪些?还有socket的基本函数,这些都是本文想介绍的.本文的主要内容如下: 1.网络中进程之间如何通信? 2.Socket是什么? 3.socket的基本操作 3.1.socket()函数 3.2.bind()函数 3.3.listen().

Socket过程详细解释(包括三次握手建立连接,四次握手断开连接)

本文的主要内容如下: 1.网络中进程之间如何通信? 2.Socket是什么? 3.socket的基本操作 3.1.socket()函数 3.2.bind()函数 3.3.listen().connect()函数 3.4.accept()函数 3.5.read().write()函数等 3.6.close()函数 4.socket中TCP的三次握手建立连接详解 5.socket中TCP的四次握手释放连接详解 6.一个例子(实践一下) 7.留下一个问题,欢迎大家回帖回答!!! 1.网络中进程之间如何

TCP 三次握手建立连接,四次挥手断开连接,图解详细分析,有个疑点求帮忙解答????

继文章  http://blog.csdn.net/simonchi/article/details/41722511   之后,我觉得有必要来详细的说一下TCP的三次握手和四次挥手的过程,帮助大家理解这个过程. 首先来看一下tcpdump抓取的网络数据包,如何抓包分析参考 上面给出的链接 图中红色框选的是三次握手建立连接 第一次:客户端发送SYN报文,并设置seq=0, 第二次:服务端收到SYN报文,知道对方要求建立连接,发送SYN和ACK报文,并设置seq=0,ack=0(第一次的seq)+

HTTP 三次握手  建立连接 和  四次握手断开连接

三次握手建立连接 第一次握手:主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,主机B由SYN=1知道,A要求建立联机: 第二次握手:主机B收到请求后要确认联机信息,向A发送ack number=(主机A的seq+1),syn=1,ack=1,随机产生seq=7654321的包 第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,主机A会再发送ack number=(主机B的se

三次握手建立连接

建立连接的步骤例如以下: client发送一个SYN段表示发起连接请求,该段中包括一个初始序号ISN. server也发送一个SYN段并包括它自己的初始序号ISN.同一时候设置ACK标志表示对上一个client的SYN的确认.确认序号为client的ISN值加1,该确认序号表示server希望下一次收到的起始序号. client再发送一个ACK以确认server发来的SYN,确认序号为serverISN加1,含义同上. 三次握手完毕,连接建立. 以下以HTTP为例. 在HTTP发送第一个请求之前

TCP的三次握手(建立连接)和四次挥手(关闭连接)

http://www.cnblogs.com/Jessy/p/3535612.html http://blog.csdn.net/whuslei/article/details/6667471

TCP中三次握手建立和四次握手释放以及相关问题

本文基于个人所学和网上博文所整理,若有不妥处,欢迎留言指出 TCP连接过程中标志位的意义: 字符缩写 描述 SYN 同步序号,表示此报文是一个连接请求或连接接受报文 ACK 确认位,对接收到的报文的确认 FIN 终止位,表示发送方完成数据发送,用来释放一个连接 RST 复位连接,表示TCP连接中出现严重错误 PSH 推送位,尽可能快递将数据送往接受进程 一.三次握手建立 1.三次握手建立连接详解 TCP建立连接要进行"三次握手",即交换三个分组.大致流程如下: (1)客户端向服务器发送

小tips:TCP的三次握手、长连接、 短连接、 SPDY 协议

当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次握手的,而释放则需要4次挥手,所以说每个连接的建立都是需要资源消耗和时间消耗的. TCP的三次握手 三次握手建立连接: 第一次握手:客户端发送syn包(seq=x)到服务器,并进入SYN_SEND状态,等待服务器确认: 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包

TCP连接的三次握手和四次解散过程

客户端和服务器在使用TCP连接传输数据的过程中,需要经过三次握手建立连接和四次握手断开连接操作. 具体如下图所示 上图描述了TCP连接从建立到断开的详细过程,以下就其中的具体报文细节展开讨论. 在TCP三次握手建立连接阶段,客户端首先向服务器发送一个SYN=1,Sequence=p的请求包. 如果服务器同意授予客户端该链接,则发送ACK=p+1,SYN=1,Sequence=q的回应包. 最后在客户端收到服务器的回应包以后,也会向服务器发送一个回应包,具体内容为ACK=q+1,SYN=0,Seq