计算机网络传输中的三部曲:连接、通信与释放

运输连接的三个阶段

TCP 是面向连接的协议。

运输连接有三个阶段:

  • 连接建立
  • 数据传送
  • 连接释放

运输连接的管理就是使运输连接的建立和释放都能正常地进行。

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

(1) 要使每一方能够确知对方的存在。

(2) 要允许双方协商一些参数(如最大窗口值、是否使用窗口扩大选项和时间戳选项以及服务质量等)。

(3) 能够对运输实体资源(如缓存大小、连接表中的项目等)进行分配。

客户——服务器方式

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

主动发起连接建立的应用进程叫做客户 (client)。

被动等待连接建立的应用进程叫做服务器 (server)。

TCP 的连接建立(三次握手)

TCP 建立连接的过程叫做握手

握手需要在客户和服务器之间交换三个 TCP 报文段。称之为三报文握手

采用三报文握手主要是为了防止已失效的连接请求报文段突然又传送到了,因而产生错误

TCP 的连接释放(四次挥手)

TCP 连接释放过程比较复杂。

数据传输结束后,通信的双方都可释放连接。

TCP 连接释放过程是四报文握手

通俗理解其过程:

女朋友:我们分手吧~

男的:为什么?

(女方无回应)

男的:好吧

前女友:恩

A 必须等待 2MSL 的时间

第一,为了保证 A 发送的最后一个 ACK 报文段能够到达 B。

第二,防止 “已失效的连接请求报文段”出现在本连接中。A 在发送完最后一个 ACK 报文段后,再经过时间 2MSL,就可以使本连接持续的时间内所产生的所有报文段,都从网络中消失。这样就可以使下一个新的连接中不会出现这种旧的连接请求报文段。

TCP 的有限状态机

  • TCP 的有限状态机可以更清晰地看出 TCP 连接的各种状态之间的关系。
  • TCP 有限状态机的图中每一个方框都是 TCP 可能具有的状态。
  • 每个方框中的大写英文字符串是 TCP 标准所使用的 TCP 连接状态名。
  • 状态之间的箭头表示可能发生的状态变迁。

箭头旁边的字,表明引起这种变迁的原因,或表明发生状态变迁后又出现什么动作。

  • 图中有三种不同的箭头。
  1. 粗实线箭头表示对客户进程的正常变迁。
  2. 粗虚线箭头表示对服务器进程的正常变迁。
  3. 细线箭头表示异常变迁。

​​

希望对你有帮助!加油!

若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!