32TCP的运输连接管理
概念:
(1)TCP 是面向连接的协议。
(2)运输连接有三个阶段:
a.连接建立
b.数据传送
c.连接释放
(3)运输连接的管理就是使运输连接的建立和释放都能正常地进行。
TCP 连接建立过程中要解决的三个问题:
(1) 要使每一方能够确知对方的存在。
(2) 要允许双方协商一些参数(如最大窗口值、是否使用窗口扩大选项和时间戳选项以及服务质量等)。
(3) 能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配。
客户--服务器方式
(1)TCP连接的建立采用客户服务器方式。
(2)主动发起连接建立的应用进程叫做客户(client),
(3)被动等待连接建立的应用进程叫做服务器(server)。
重点:
1.TCP 的连接建立:
(1)TCP 建立连接的过程叫做握手。
(2)握手需要在客户和服务器之间交换三个 TCP 报文段。称之为三报文握手。
(3)采用三报文握手主要是为了防止已失效的连接请求报文段突然又传送到了,因而产生错误。
图例
2.TCP 的连接释放:
(1)TCP 连接释放过程比较复杂。
(2)数据传输结束后,通信的双方都可释放连接。
(3)TCP 连接释放过程是四报文握手。
图例
注意点:A 必须等待 2MSL 的时间
原因:
第一,为了保证 A 发送的最后一个 ACK 报文段能够到达 B。
第二,防止 “已失效的连接请求报文段”出现在本连接中。A 在发送完最后一个 ACK 报文段后,再经过时间 2MSL,就可以使本连接持续的时间内所产生的所有报文段,都从网络中消失。这样就可以使下一个新的连接中不会出现这种旧的连接请求报文段。
TCP 的有限状态机:
(1)TCP 的有限状态机可以更清晰地看出 TCP 连接的各种状态之间的关系。
(2)TCP 有限状态机的图中每一个方框都是 TCP 可能具有的状态。
(3)每个方框中的大写英文字符串是 TCP 标准所使用的 TCP 连接状态名。
(4)状态之间的箭头表示可能发生的状态变迁。
解析:
箭头旁边的字,表明引起这种变迁的原因,或表明发生状态变迁后又出现什么动作。
图中有三种不同的箭头。
粗实线箭头表示对客户进程的正常变迁。
粗虚线箭头表示对服务器进程的正常变迁。
细线箭头表示异常变迁。
相关文章
- 数据库左连接、右连接、内连接、全连接区别
- PL/SQL连接远程数据库
- Java学习(多表查询(内连接查询,外连接查询,子查询),事务(基本介绍,四大特征,隔离级别),DCL(管理用户,权限管理))
- Win2003 设置远程连接限制数
- PHP 5.3 连接 Oracle 的客户端及 PDO_OCI 模块安装
- jconsole连接远程tomcat
- 字符串连接
- 强烈推荐 git 图形化管理 连接多个不同的远程仓库 多个SSH KEYS解决方案(含windows自动化、TortoiseGit、SourceTree)
- sshclientCRT连接linux使用技巧
- ASP连接sql server实例解析
- 5G RRC——为NAS层提供连接管理,消息传递等服务; 对接入网的底层协议实体提供参数配置的功能; 负责UE移动性管理相关的测量、控制等功能
- sphinx索引部分源码续——过程:连接到CSphSource对应的sql数据源,通过fetch row取其中一行,然后解析出field,分词,获得wordhit,最后再加入到CSphSource的Hits里
- Chapter 06:连接多个图像显示
- 【TDengine】driver-go 连接器提供 database/sql 标准接口建立连接
- 传输层 TCP连接管理 释放连接四次握手