计算机网络基础小记 02 - 数据交换与多路复用

数据交换

为什么需要数据交换?

  • $N^2$ 链路问题:N 台主机要两两互连,需要 $\frac{N(N-1)}{2}$ 条链路,规模大的时候不切实际

  • 动态分配传输资源

数据交换的类型

  1. 电路交换
  2. 报文交换
  3. 分组交换

电路交换

最典型的电路交换网络:电话网络

电路交换的三个阶段:

  1. 建立连接(呼叫 / 电路建立)
  2. 通信
  3. 释放连接(拆除电路)

独占资源

电路交换如何共享中继线?

  • 多路复用(Multiplexing)

多路复用

多路复用,简称复用,是通信技术中的基本概念

20211123_multiplexing_01

  • 将链路/网络资源(如带宽)划分为 “资源片”
  • 将资源片分配给各路 “呼叫”
  • 每路呼叫独占分配到的资源片进行通信
  • 资源片可能 “闲置”(无共享)

典型多路复用方法

  1. 频分多路复用(FDM)

    各用户占用不同的带宽资源(带宽指频率带宽,Hz,区分于数据发送速率)

    每个用户分配到一定的频带后,在通信过程中自始至终都占用这个频带

    频分多路复用

  2. 时分多路复用(TDM)

    将时间划分为一段段等长的时分复用帧(TDM 帧),每个用户在每个 TDM 帧中占用固定序号的时隙

    每个用户所占用的时隙是周期性出现的(其周期就是 TDM 帧的长度)

    所有用户是在不同的时间占用相同的频带宽度

    时分多路复用

  3. 波分多路复用(WDM)

    光的频分复用,分的是光波的波长

    利用光调制器和光解调器来复用和分用

  4. 码分多路复用(CDM)

    广泛应用于无限链路共享(蜂窝网、卫星通信等)

    每个用户分配一个唯一的 m bit 的码片序列,“0” 用 “-1” 表示,“1” 用 “+1” 表示,如(-1 -1 -1 +1 +1 -1 +1 +1)

    各用户使用相同频率载波,利用各自码片序列编码数据

    编码信号 =(原始数据)$\times$ (码片序列)

    • 发送比特 1(+1),则发送自己的 m bit 码片序列
    • 发送比特 0 (-1),则发送该码片序列的 m bit 码片序列的反码

    解码:码片序列与编码信号的内积

    各用户码片序列相互正交:非自身码片序列与自身编码信号的内积为 0

    码分多路复用

报文交换

报文交换(message switching)

报文:源(应用)发送信息整体,如:一个文件

分组交换

分组交换(package switching)

分组:报文分拆出来的一系列相对较小的数据包,每个分组需要额外的分组头

分组交换需要报文的拆分重组

会产生额外的开销(分组头、拆分、重组)

统计多路复用:A & B 在通信链路中的分组序列不确定,按需共享链路分组交换

报文交换和分组交换均采用存储-转发交换方式:

  • 报文交换以完整报文进行存储-转发
  • 分组交换以较小分组进行存储- 转发

报文交换于分组交换的对比

分组交换:

  • 每个分组(packets):L bits
  • 链路的传输速率:R bits/sec
  • 分组传输延迟(时延)delay = L / R

报文长度为 M bits,如 7.5 Mbits

分组长度为 L bits,如 1500 bits

链路带宽为 R bps,如 1.5 Mbps

路由器数:n,如 2(相当于跳步数 h = n + 1 = 3)

2021123_05

报文交换

直接发送 M bits 报文:

  1. 第一段 M / R = 7.5 / 1.5 = 5 s

  2. 第二段 M / R = 7.5 / 1.5 = 5 s

  3. 第三段 M / R = 7.5 / 1.5 = 5 s

共计:15 s,需要 M bits = 7.5 Mbits 缓存

分组交换

分为 5000 组,每组 1500 bits:

  1. 第 1 个分组,第一段 L / R = $1500 / (1.5 \times 10^6$) = 1 ms

  2. 第 1 个分组,第二段 1 ms

    此时,第 2 个分组处于第一段

  3. 第 1 个分组,第三段 1 ms

    此时,第 2 个分组处于第二段,第 3 个分组处于第一段

  4. 当第 4998 个到达时,第 5000 个分组在第一段

  5. 还需 2 $\times$ 1 ms 的时间到达

共计:5002 ms = 5.002 s,需要 L bits = 1500 bits

分组交换的报文交付时间:$T=\frac{M}{R} + (h-1)\frac{L}{R}=\frac{M}{R}+n\frac{L}{R}$

分组交换一定优于电路交换吗?

  • 分组交换允许更多的用户同时使用网络
  • 分组交换适用于突发数据传输网络
    • 资源充分共享
    • 简单、无需呼叫建立
  • 分组交换可能产生拥塞(congestion):分组延迟和丢失
    • 需要协议处理可靠数据传输和拥塞控制