目录

  • 1 运输连接概述
  • 2 TCP的连接建立
  • 3 TCP的连接释放

1 运输连接概述

  • TCP 是面向连接的协议
  • TCP 连接有三个阶段:连接建立,数据传送,连接释放
  • TCP 连接的管理就是使 TCP 连接的建立和释放都能正常地进行

TCP 连接建立过程中要解决的三个问题:

  1. 要使每一方能够确知对方的存在,确认双方接收和发送的功能是能够正常工作的
  2. 要允许双方协商一些参数(如最大窗口值、是否使用窗口扩大选项和时间戳选项以及服务质量等)
  3. 能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配

TCP连接的建立采用的是客户—服务器方式:

  • 主动发起连接建立的应用进程叫做客户 (client)
  • 被动等待连接建立的应用进程叫做服务器 (server)

2 TCP的连接建立

  • TCP 建立连接的过程叫做握手
  • 握手需要在客户和服务器之间交换三个 TCP 报文段。称之为三报文握手
  • 采用三报文握手主要是为了防止已失效的连接请求报文段突然又传送到了,因而产生错误

三次报文握手的过程:


注意:大写的ACK和小写的ack代表的含义不同,大写ACK代表确认位,小写ack代表确认号,ack=x+1代表之前序号x报文已经正确收到了,并期待收到x+1报文,服务器B也选择了序号seq=y,这里的xy代表双方各自发送的序号的独立的


注意:当A收到B的确认后还会发送一次确认报文给B,即确认的确认,主要是为了防止已失效的连接请求报文段突然又传送到了,因而产生错误,考虑这样一种情况,比如说A的第一个连接报文由于在某个站点滞留,B收到之后会认为A又重新发了一次连接,这个时候B会发送确认报文同意建立新的连接,当A收到确认连接的报文时由于这个确认是对一个并不存在的连接请求,A不去理睬B的确认,B如果没有对确认的再次确认么就会误以为连接已经建立好了而等待A去发送数据,但A并没有数据要发送,双方就进入了一个误会的状态,所以第三次的握手对确认的再确认时非常必要的

3 TCP的连接释放

  • TCP 连接释放过程比较复杂,数据传输结束后,通信的双方都可释放连接
  • TCP 连接释放过程是四报文握手

四次报文握手的过程:

注意:上述操作实际上是A告诉B,A的数据已经发送完了,现在需要把发送方向这个连接释放掉

注意:B接收到了A的释放连接报文,会发出确认报文,ack=u+1表示已经收到了A发出的释放连接报文,而自己的序号seq=v,这里uv仍然是独立的,意味着B这个时刻不一定需要释放连接,因为B可能还有数据要发送,所以说TCP连接处于半关闭状态


注意seq=vseq=w中的vw是相互独立的,实际上是B在发送数据时,又消耗了一部分字节。在最后一次A到B的确认报文中,seq=u+1这里的u和第一轮B向A发送的确认报文中的ack=u+1u是一样的


注意:A 必须等待 2MSL 的时间(MSL即报文最长寿命时间)

  • 第一,为了保证 A 发送的最后一个 ACK 报文段能够到达 B
  • 第二,防止 “已失效的连接请求报文段”出现在本连接中,简单来说就是设一个长一点的等待时间,在这段时间内所有请求都消失在网络里,这样让新的请求来的时候不会产生误会

计算机网络-TCP运输连接管理相关推荐

  1. 计算机网络-基本概念(10)【传输层】TCP运输连接管理

    三次握手 A主动建立连接.发送SYN=1,seq=x,进入SYN-SENT(同步已发送)状态. B收到请求,同意建立连接,则向A发送确认.发送SYN=1,ACK=1,seq=y,ack=x+1.进入S ...

  2. 计算机网络·详解TCP流量控制,拥塞控制,运输连接管理

    文章目录 一.TCP流量控制 二.TCP拥塞控制 三.TCP运输连接管理 一.TCP流量控制 目的:让发送方不要发太快(既让接收方接收得过来,又不让网络发生拥塞) 取决于接收方rwnd接收能力 利用连 ...

  3. TCP的运输连接管理——TCP的连接建立

    TCP的连接建立 TCP运输连接有以下三个阶段: 建立TCP连接 数据传送 释放TCP连接 三报文握手 一开始,两端的TCP进程都处于关闭状态. 然后,TCP服务器首先创建传输控制块,用来存储控制块的 ...

  4. linux内核参数调优,缓冲区调整,tcp/udp连接管理,保持,释放优化,gossary,terms

    linux内核参数调优,缓冲区调整,tcp/udp连接管理,保持,释放优化,gossary,terms changing a readonly file (linu single user mode) ...

  5. 【计算机网络微课堂】5.8 TCP的运输连接管理

    目录 TCP连接建立 TCP使用"三报文"建立连接 "三报文"是否多余? TCP连接释放 TCP通过"四报文"挥手释放连接 客户进程有必要时 ...

  6. 计算机网络-TCP的运输连接管理(三次握手,四次挥手)补充一下为什么不能将四次挥手改为三次挥手

    hello,朋友们.今天咱们分享一下TCP连接建立与释放问题(三次握手与四次挥手问题) 1.简单介绍 基础知识了解(仅代表个人简单理解) SYN        同步(一个信号   代表自己的状态) F ...

  7. 计算机网络-TCP协议

    目录 1 概述 2 TCP的主要特点 3 TCP的连接 4 可靠传输的工作原理 4.1 停止等待协议 4.1.1 无差错情况 4.1.2 出现差错 4.2 自动重传请求ARQ 4.3 连续 ARQ 协 ...

  8. TCP协议-TCP连接管理

    一.TCP概述 TCP协议是 TCP/IP 协议族中一个非常重要的协议.它是一种面向连接.提供可靠服务.面向字节流的传输层通信协议. TCP(Transmission Control Protocol ...

  9. 网络——TCP连接管理

    TCP连接管理 一.TCP连接建立 二.TCP的连接释放 真题嗅探 一.TCP连接建立 TCP是面向连接的协议,它基于运输连接来传送TCP报文段. TCP运输连接的建立和释放是每一次面向连接的通信中必 ...

最新文章

  1. 使用LVS(Linux Virtual Server)在Linux上搭建负载均衡的集群服务
  2. 【星球知识卡片】换脸算法和人脸驱动都有哪些核心技术,如何对其长期深入学习...
  3. svg入门经典pdf_机器学习最好的入门课程是什么?
  4. python gamma函数_python gamma矫正
  5. jeecg 分布式部署附件共享问题(Linux软连接和硬链接)
  6. 崛起于Springboot2.X之redis集群搭建(17)
  7. 【手写数字识别】基于matlab RBF手写数字识别【含Matlab源码 471期】
  8. 关于silverlight打印功能
  9. java HTML5 学习资料汇总
  10. Visual C++ 2010 Express 中文版的下载地址
  11. Python功能实现:为pdf电子书籍生成书签目录
  12. 如何在EverEdit编辑器中一键编译运行JAVA并接收键盘输入数据
  13. 练习 用C语言编写一个程序,解释高等数学中的映射、单射和一一映射,并表示为函数。
  14. html网页配色,#0000ff表示什么颜色,设计师谈网页配色:按颜色分类(黄色)
  15. Python(函数与面向对象)
  16. 技巧 | 如何画出漂亮的深度学习模型图
  17. 大数据技术原理与应用(1)
  18. Excel函数大全-07财务函数
  19. 联想ghost重装系统_使用一键ghost安装win7系统详细教程
  20. 个人项目-地铁出行路线

热门文章

  1. sicily 1150. 简单魔板
  2. 信息资源管理的标准与法规
  3. 只能是数字、字母、-和_
  4. 波形捕捉:(7)“捕捉缓冲区”特效
  5. 三. python面向对象(私有属性和私有方法 私有静态方法 私有类方法)
  6. 【咸鱼教程】基于系统时间的计时器DateTimer(不受FPS影响)
  7. VMware vSphere学习整理
  8. Linux:运行级别,root密码重置,救援模式,安装图形化界面
  9. 运行nltk示例 Resource u'tokenizers punkt english.pickle' not found解决
  10. (多图) 基于FPGA的FIR数字滤波器设计与仿真