三次握手:客户端为a,服务端为b;开始都是closed状态;a主动打开进入到syn_sent状态,b被动打开进入listen状态;第一次握手,a向b发送SYN=1,seq为x的包,b收到以后进入syn-rcvd状态;第二次握手,b向a发送SYN=1,ACK=1,seq=y,ack=x+1的包,a收到后进入eatablished状态;第三次握手,a向b发送ACK=1,seq=x+1,ack=y+1的包,b收到以后进入established状态。

所以在三次握手阶段:客户端是closed      syn-send   established      服务端是colsed  listen  syn-rcvd established
 
 
四次挥手:客户端是a,服务端是b,开始都是established状态;a主动关闭,发送FIN=1 seq=u,进入FIN_WAIT_1状态;b收到后,发送ACK=1,seq=v,ack=u+1,进入到close_wait状态;a收到数据进入到FIN_WAIT_2状态,,接着进行未传送完数据的传送,b发送完数据后,发送FIN=1,seq=w,ack=u+1,进入到last_ack状态;a收到后进入到time_wait状态,等待两个MSL时间(最大数据报时间),发送ACK=1,seq=u+1,ack=w+1进入到closed状态;b收到后进入到closed状态。
所以在四次挥手过程中:客户端的状态是established fin_wait_1 fin_wait_2 time_wait closed;服务端的状态是established close_wait  last_ack closed

Tcp连接和断开的更多相关文章

  1. wireshark抓包分析tcp连接与断开

    其实对于网络通信的学习,最好还是能够自己抓到包详细地一下,不然只单单通过文字和图的描述印象不够深刻.本文通过实际的抓包操作来看一下tcp的连接与断开是怎样的. 首先需要去https://www.wir ...

  2. TCP连接异常断开检测(转)

    TCP是一种面向连接的协议,连接的建立和断开需要通过收发相应的分节来实现.某些时候,由于网络的故障或是一方主机的突然崩溃而另一方无法检测到,以致始终保持着不存在的连接.下面介绍一种方法来检测这种异常断 ...

  3. (转)TCP连接异常断开检测

    TCP是一种面向连接的协议,连接的建立和断开需要通过收发相应的分节来实现.某些时候,由于网络的故障或是一方主机的突然崩溃而另一方无法检测到,以致始终保持着不存在的连接.下面介绍一种方法来检测这种异常断 ...

  4. 4个实验,彻底搞懂TCP连接的断开

    前言 看到这个标题你可能会说,TCP 连接的建立与断开,这个我熟,不就是三次握手与四次挥手嘛.且慢,脑海中可以先尝试回答这几个问题: 四次挥手是谁发起的? 如果断电/断网了连接会断开吗? 什么情况下没 ...

  5. 设置TCP_USER_TIMEOUT参数来判断tcp连接是否断开

    [TOC] 1. bug描述 前段时间遇到这样的一个问题,openstack一个控制节点宕机后,在宕机后一段时间内创建的虚拟机,一直卡在创建中的状态.有的甚至要等到16分钟之后虚拟机才会切换到下一个状 ...

  6. TCP连接与断开详解(socket通信)

    http://blog.csdn.net/Ctrl_qun/article/details/52518479 一.TCP数据报结构以及三次握手 TCP(Transmission Control Pro ...

  7. 针对TCP连接异常断开的分析

    我们知道,一个基于TCP/IP的客户端-服务器的程序中,正常情况下,我会是启动服务器使其在一个端口上监听请求,等待客户端的连接:通过TCP的三次握手,客户端能够通过socket建立一个到服务器的连接: ...

  8. 【转】TCP连接突然断开的处理方法

    TCP是因特网中的传输层协议,使用三次握手协议建立连接,下面是TCP建立连接的全过程. TCP断开连接的过程:TCP四次挥手. TCP/IP 协议簇分层结构 数据链路层主要负责处理传输媒介等众多的物理 ...

  9. TCP连接与断开

    两台宿主机 一台:作为服务器 另一台:作为客户端 服务器的步骤: 打开[控制面板]----点击[程序]---点击程序和功能中[打开或关闭Windows功能]---点击[Telnet服务器]--点击[确 ...

随机推荐

  1. Elon Mask 写作常见的三种错误

    (其实非常的文不对题,这篇文章和写作的并没有多大的关系,如果是想看关于写作的技巧,可以直接离开,节省您的时间) 这是原文 写作就是在把你自身的想法用正确,合适的方式表达出来,但是不正确的表达可能会导致 ...

  2. AST抽象语法树 Javascript版

    在javascript世界中,你可以认为抽象语法树(AST)是最底层. 再往下,就是关于转换和编译的"黑魔法"领域了. 现在,我们拆解一个简单的add函数 function add ...

  3. Dubbo学习系列之十四(Seata分布式事务方案AT模式)

    一直说写有关最新技术的文章,但前面似乎都有点偏了,只能说算主流技术,今天这个主题,我觉得应该名副其实.分布式微服务的深水区并不是单个微服务的设计,而是服务间的数据一致性问题!解决了这个问题,才算是把分 ...

  4. DOMContentLoaded vs jQuery.ready vs onload, How To Decide When Your Code Should Run

    At a Glance Script tags have access to any element which appears before them in the HTML. jQuery.rea ...

  5. Dynamics 365-当OrganizationServiceProxy是Null的时候

    不少从事D365研发工作的朋友,可能或多或少都经历过这么一种情况,使用CrmServiceClient对象初始化一个实例,然后发现OrganizationServiceProxy对象是null.不仅如 ...

  6. 25.推荐---协同过滤(Collaborative Filtering)

    协同过滤需要注意的三点: gray sheep(有人喜欢追求特别,协同过滤一般只能从共同的人或物间找相似) shilling attack(水军刷好评导致数据错误,无法带来精确的推荐) cold st ...

  7. java基础 - 形参和实参,值传递和引用传递

    形参和实参 形参:就是形式参数,用于定义方法的时候使用的参数,是用来接收调用者传递的参数的. 形参只有在方法被调用的时候,虚拟机才会分配内存单元,在方法调用结束之后便会释放所分配的内存单元. 因此,形 ...

  8. Httpclient4.5.*HttpClient请求,对于新建httpclient实例时保持会话

    package net.bill99.httpconsel; import java.io.IOException; import java.util.*; import java.util.Map. ...

  9. jQuery入门和DOM对象

    jQuery入门和DOM对象 1.开发准备 1. 下载的版本: jquery-3.3.1.min.js :压缩版,发布版84.8KB jquery-3.3.1.js :常规版,开发版265KB 2. ...

  10. verilog常见错误列表

    Error/Warning 来源:https://hdlbits.01xz.net/wiki/ 题目: 1.Quartus Warning 10235: Warning (): Verilog HDL ...