TCP传输层协议 特性

客户A和服务器B都处于建立连接的状态,此时客户A主动与服务器B发出断开连接的请求: 第一步:客户A会发送一个序号为Seq=u的报文给服务器B,此时控制位中的断开位FIN=1,即请求与服务器B断开连接。(PS:此时客户A处于等待断开连接的状态,服务器B的数据传送未结束)

第二步:服务器B需要先将数据传输全部传输结束才能同意断开连接,服务器B会进行下面两步操作:

2.2 服务器B会回复一个报文序号为v的报文给客户A(Seq=1)

需要客户A能回复一个报文序号为u+1的报文给服务器B(确认号ack-u+1)

此时服务器B与客户A仍处于建立连接的状态所以控制位的确认位ACK=1

2.3 服务器B同意了客户A的断开连接请求:服务器B会回复一个同意断开连接的报文:

服务器B发出的报文的序号为w(Seq=w)

需要客户A回复一个报文序号为u+1的报文给服务器B(Ack=u+1)

此时的控制位中,断开位FIN=1,确认位ACK=1(2个控制位表示同意断开连接)

第三步:客户A接收完服务器传输的数据后,收到了服务器B的同意断开连接请求,这个时候客户A会发送一个确认报文给服务器B:

按照服务器B要求,客户A回复了一个报文序号为u+1的报文给服务器B(Seq=u+1)

控制位中确认位为1(ACK=1)

需要服务器B回复客户A一个报文序号为w+1的报文给客户A(此时客户A与服务器相当于完全断开连接,所以客户A最后发送的报文将会被服务器B拒收,服务器B将不再回复客户A)

Original: https://www.cnblogs.com/fengxia6/p/16661795.html
Author: 风夏呀
Title: TCP传输层协议 特性

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/577792/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • CentOS 压缩解压

    打包:将多个文件合成一个总的文件,这个总的文件通常称为 “归档”。 压缩:将一个大文件通过某些压缩算法变成一个小文件。 1.1、tar 压缩格式: tar …

    Linux 2023年6月8日
    084
  • Mysql 5.7开启binlog日志

    Mysql 5.7开启binlog日志 前言 binlog是MySQL的二进制日志,并且是MySQL中最重要的日志。binlog记录了对MySQL数据库执行更改的所有操作,包括对数…

    Linux 2023年6月6日
    095
  • 【电子取证:FTK Imager篇】FTK Imager制作镜像详细介绍

    以DD镜像制造为例,详细介绍了FTK Imager创建镜像的过程,记得大学的时候学习这些没什么教程,找到的资料也是语焉不详,故在此啰嗦一番—【suy】 一、磁盘镜像制作…

    Linux 2023年6月13日
    01.3K
  • 优化gcc

    优化gcc 目的是改善程序的执行性能,通过编译选项(On)来控制优化代码生成,(n)是一个代表优化级别的整数, 典型的有(0, 1, 2, 3) 其中(-O)等价于(-O_1), …

    Linux 2023年6月7日
    0104
  • pip 换源与python虚拟环境的创建

    pip换源 临时换源: pip install pypi源下载源码,在国外,比较慢—》镜像(pypi在国内备份)—>豆瓣,清华,阿里 pip install -i 源…

    Linux 2023年6月14日
    083
  • VMware ESXi 7.0 U2 SLIC 2.6 & Unlocker 集成 Intel NUC 网卡、USB 网卡和 NVMe 驱动

    404. 抱歉,您访问的资源不存在。 可能是URL不正确,或者对应的内容已经被删除,或者处于隐私状态。 [En] It may be that the URL is incorre…

    Linux 2023年5月27日
    093
  • 零成本搭建个人博客之图床和cdn加速

    本文属于零成本搭建个人博客指南系列 为什么要使用图床 博客文章中的图片资源文件一般采用本地相对/绝对路径引用,或者使用图床通过外链进行引用展示。本地引用的弊端我认为在于: 图片和博…

    Linux 2023年6月7日
    0106
  • 什么?Android上面跑Linux?

    前言 众所周知,现在程序员因为工作、个人兴趣等对各种系统的需求越来越大,部分人电脑做的还是双系统。其中,比较常见的有各种模拟器、虚拟机在windows上面跑Android、Linu…

    Linux 2023年5月27日
    083
  • win11下配置vue3版本

    安装node.js PS:全局需要使用管理员权限打开CMD** 下载nodejs的地址 选择左边就好 下载安装后,选择自己需要安装的盘符,即可,不再叙述。 打开CMD查看node是…

    Linux 2023年6月14日
    092
  • pycharm 设置默认换行符

    作者:Outsrkem原文链接:https://www.cnblogs.com/outsrkem/p/16488693.html本文版权归作者所有,欢迎转载,但未经作者同意必须保留…

    Linux 2023年6月6日
    098
  • 面试复盘(1)

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    094
  • MySQL的主从复制+双主模式

    部署环境: MySQL master 192.168.40.21 MySQL slave 192.168.40.22 思路: I/O线程是对主MySQL上二进制日志文件进行读取,读…

    Linux 2023年6月8日
    096
  • redis 学习指南

    2、 redis.windows.conf各项配置参数介绍 默认情况下,redis不是在后台模式运行的,如果需要在后台进程运行,把该项的值更改为yes,默认为no daemoniz…

    Linux 2023年5月28日
    079
  • sql server查询(SELECT ,where,distinct,like 查询,in,is null,group by 和having,order by,as)

    基本查询: 实例表 1 示例表 2 –部门表 3 4 create table dept( 5 6 deptno int primary key,–部门编号 7 8 dname…

    Linux 2023年6月7日
    092
  • Vim 文本替换介绍与使用

    range 作用范围 空 # 默认为光标所在的行 . # 光标所在的行 n # 第 n 行(1表示第 1行,10表示第 10行),可使用:set nu 显示vim行号 $ # 最后…

    Linux 2023年6月6日
    080
  • Linux安装nginx

    Linux安装nginx (1)安装c++编译环境装备yum install gcc gcc-c++ (2)安装PCRE库tar -zxvf pcre-8.38.tar.gzcd …

    Linux 2023年6月13日
    065
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球