计算机网络之传输层

时间:2022-03-31 14:36:08

计算机网络之传输层

明天就考计算机网络,暂时先简单的写一写 TCP 协议,日后再继续写完这一层吧。

1. 什么是 TCP 协议?

实际的传输信道总是不够理想的,不可避免的会发生一些差错,这就需要我们制定一些规则来使得传输变得可靠,TCP 协议就这样应运而出。

1.1 停止等待协议

这是 TCP 协议中采用的最简单的一种实现可靠传输的协议。如下图,「停止等待」就是发送端发送一个分组后,等待接收端返回的确认消息,收到确认消息后才发送下一个分组。

计算机网络之传输层

A 发送第一个分组后,会建立一个「超时计时器」,不管发生了任何事 ( 分组丢失、超时,或者 确认消息丢失、超时),只要 A 端未在规定时间内收到 B 端发送的确认消息,A 端都会重新发送此分组,也称作「自动重传协议」 ARQ 协议。

但是此种方式使得信道利用率非常低,如图:

计算机网络之传输层

这里引入信道利用率的计算公式:

A 发送分组的时间 TD,往返时间 RTT ,确认发送时间 TA,忽略 A 和 B 确认分组的时间,信道的利用率 U 可用以下公式计算: U = TD / ( TD + RTT + TA )

那么如何改进这种方式呢?这就牵扯出了「连续 ARQ 协议」,即一次性发送多个分组出去,极大提高信道利用率。如图:

计算机网络之传输层

1.2 TCP 的拥塞控制

当对网络中某一资源的的需求大于该资源所能处理数据的能力时,称作「拥塞」。

那么处理拥塞的解决方法有哪些呢?

  • 慢开始
  • 拥塞避免
  • 快重传
  • 快恢复

1.3 TCP 的连接管理