TCP协议的三次握手, 四次挥手

 三次握手过程

  1, 服务器时刻准备接受客户端进程的连接请求, 此时服务器就进入了LISTEN(监听)状态;

  2, 客户端进程然后向服务器发出连接请求报文, 之后客户端进程进入了 SYN-SENT(同步已发送状态)状态;

  3, 服务器收到请求报文后, 如果同意连接, 则发出确认报文, 此时, 服务器进程进入了SYN-RCVD(同步收到)状态;

  4, 客户端进程收到确认后, 还要向服务器给出确认. 此时, 客户端进入ESTABLISHED(已建立连接)状态;

  5, 当服务器收到客户端的确认后也进入ESTABLISHED状态, 此后双方就可以开始通信了.

  举个列子:

    A: " 喂我是A, 你能听到我讲话吗? " (客户端发起连接请求)

    B: " 听到了, 我是B, 那你能听到我讲话吗? "  (服务端接收到请求, 同意连接后向客户端发出确认报文)

    A: " 嗯嗯, 我能听得到. "  (客户端收到服务端发出的确认报文后, 给出确认, 表明客户端处于连接已建立状态)

    B: " ...... "  (服务端收到客户端的确认后, 也进入连接已建立状态)

 

 四次挥手过程:

  数据传输完毕后,双方都可释放连接。最开始的时候,客户端和服务器都是处于ESTABLISHED状态,然后客户端主动关闭,服务器被动关闭。

  1, 客户端进程发出连接释放报文,并且停止发送数据. 此时,客户端进入FIN-WAIT-1(终止等待1)状态;

  2, 服务器收到客户端的连接释放报文,服务器发出确认报文, 此时,服务端就进入了CLOSE-WAIT(关闭等待)状态(此时客户端已经没有数据要发送了, 但是服务器若发送数据, 客户端依然要接受);

  3, 客户端收到服务器的确认请求后, 客户端就进入FIN-WAIT-2(终止等待2)状态, 等待服务器发送连接释放报文(在这之前还要接受服务器发送的最后数据);

  4, 服务器发送完最后的数据后, 就向客户端发送连接释放报文, 此时,服务器就进入了LAST-ACK(最后确认)状态, 等待客户端的最后确认;

  5, 客户端收到服务器的连接释放报文后, 必须发出确认, 此时客户端就进入了TIME-WAIT ( 时间等待 )状态(此时连接还没有释放, 必须经过2∗∗MSL(最长报文段寿命)的时间后, 当客户端撤销相应的TCB连接后,才进入CLOSED状态)。

  6, 服务器只要收到了客户端发出的确认,立即进入CLOSED状态(服务器结束TCP连接的时间要比客户端早一些)。

  举个例子:

    A: " 喂, 我不说了, 我要挂电话了 "  (客户端发出连接释放请求, 客户端并且停止发送数据)

    B: " 嗯我知道, 我刚才那句话还没说完 "  (服务器收到客户端的连接释放报文, 并发出确认报文给客户端, 表示服务器收到请求了)

    B: " 好了, 说完了, 我不说了 "  (服务器在发送完最后的数据后, 给客户端发出最后连接释放报文, 服务器等待客户端的最后确认)

    A: " 我知道了 "  (客户端收到服务端的最后请求后并给出确认, 客户端经过2MSL时间后, 撤销TCP连接)

    B: 挂断电话....  (服务器收到客户端的最后确认后立即断开TCP连接)

符号说明

   Seq:"sequance"序列号
  Ack:"acknowledge"确认号
  SYN:"synchronize"请求同步标志
  ACK:"acknowledge"确认标志"
  FIN:"Finally"结束标志

python摸爬滚打之----tcp协议的三次握手四次挥手的更多相关文章

  1. OSI七层协议&TCP协议(三次握手四次挥手)

    今日内容 python 基础回顾 软件开发架构 网络理论前戏 OSI 七层协议(五层) TCP协议 三次握手与四次挥手 UDP协议 内容详细 一.python 基础回顾 1.基本数据类型 整型 int ...

  2. tcp协议:三次握手四次挥手详解-转

    https://www.cnblogs.com/welan/p/9925119.html

  3. 网络架构,七层协议,三次握手四次挥手,socket套接字简单编程

    一.单机架构 应用领域: 植物大战僵尸 office 二.CS架构 应用领域: QQ 大型网络游戏 计算机发展初期用户去取数据,直接就去主机拿,从这里开始就分出了客户端和服务端. 客户端:用户安装的软 ...

  4. web服务-1、http协议的三次握手四次挥手

    知识点:http协议:它是基于tcp协议的,浏览器访问服务器,服务器把资源回给浏览器,这个过程都是遵循http协议的,否则无法完成,http早些年是1.0版本,现在基本上都是1.1版本了,俩个版本的区 ...

  5. TCP/IP报文 三次握手 四次挥手

    1.TCP报文格式  TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图:图1 TCP报文格式  上图中有几个字段需要重点介绍下:  (1)序号:Seq序 ...

  6. 关于TCP传输的三次握手四次挥手策略

    简单小总结: 一般为了能够准确无误地把数据送达目标处,TCP协议采用了三次握手策略.用TCP协议把数据包送出去后,TCP不会对传送后的情况置之不理,它一定会向对方确认是否成功送达. 注:握手过程中使用 ...

  7. TCP传输的三次握手四次挥手策略

    为了准确无误地数据送达目标处,TCP协议采用了三次握手策略.用TCP协议把数据包送出去后,TCP不会对传送后的情况置之不理,它一定会向对方确认是否成功送达.握手中使用了TCP的标志:SYN和ACK 发 ...

  8. TCP/IP,三次握手四次挥手,TCP/UDP , HTTP/HTTPS

    internet:通用名词,由多个计算机网络组成的网络,网络间的通信协议是任意的 Internet:专用名词,当前全球最大的开放计算机网络,采用TCP/IP协议族作为通信的规则.www万维网是广泛应用 ...

  9. TCP连接为什么三次握手四次挥手

    前几天面试某电商被问住了,问的很细,我就说了说连接过程,必然凉凉.在csdn上找了一篇很详细的博客.https://blog.csdn.net/hyg0811/article/details/1023 ...

随机推荐

  1. codeforces 1082G - Petya and Graph 最大权闭合子图 网络流

    题意: 让你选一些边,选边的前提是端点都被选了,求所有的边集中,边权和-点权和最大的一个. 题解: 对于每个边建一个点,然后就是裸的最大权闭合子图, 结果比赛的时候我的板子太丑,一直T,(不会当前弧优 ...

  2. OpenCV使用中的一些总结

    一.threshold阈值操作 1.阈值可以被视作最简单的图像分割方法.例如,从一副图像中利用阈值分割出我们需要的物体部分,这样的图像分割方法基于图像中的物体与背景之间的灰度差异. 2.thresho ...

  3. Java面试题复习笔记(数据库)

    1.数据库分类? 关系型数据库和非关系型. 常用关系型:Myspl.Oracle.SQLServer 非关系型:Redis.Hadoop.Memcache.Mogobd 2.关系数据库三范式? 范式就 ...

  4. linux在telnet情况下root登录提示login incorrect

    root登录时总是提示 login incorrect SSH可以登录 别的用户也可以通过telnet登录 唯独root不可以   解决方法: vi /etc/pam.d/login # auth r ...

  5. MySql在Mac上的安装与配置详解

    Mac下安装mysql5.7 完整步骤(图文详解) 转载---原文地址:https://www.jb51.net/article/103841.htm 本篇文章主要介绍了Mac下安装mysql5.7 ...

  6. 2018年冬季寒假作业4--PTA 打印沙漏

    1.实验代码: #include<stdio.h> int main() { int i,j,k,s,t,l,n,res; char a; ]={,,,}; ;i<;i++) { s ...

  7. AtCoder Grand Contest 027 (AGC017) D - Modulo Matrix 构造

    原文链接https://www.cnblogs.com/zhouzhendong/p/AGC027C.html 题解 首先我们假装 max mod min = 1 然后对着这个构造. 将各自黑白染色, ...

  8. mybatis循环、mybatis传map

    mybatis中使用循环.mybatis传入map案例 <!-- 根据id修改商户提成配置--> <update id="editStopAll" paramet ...

  9. 利用yarn capacity scheduler在EMR集群上实现大集群的多租户的集群资源隔离和quota限制

    转自:https://m.aliyun.com/yunqi/articles/79700 背景 使用过hadoop的人基本都会考虑集群里面资源的调度和优先级的问题,假设你现在所在的公司有一个大hado ...

  10. react + axios实践

    本文只要介绍如何在项目中把react和axios结合起来使用,想了解更多关于axios详细知识以及api,可以到官网查看 https://www.npmjs.com/package/axios 首先安 ...