前言

笔记部分基于王道考研系列课程,习题部分来自谢希仁第八版《计算机网络》,格式方面由OpenAI ChatGPT-4o优化完善。

第一章 计算机网络体系结构

1.1 计算机网络概述

1.1.1 计算机网络的概念

  1. 计算机网络(简称网络)由若干结点(node)和连接结点的链路(link)组成。
  2. 通过路由器(router)互连构成的覆盖范围更广的计算机网络,称作互连网(internet)。
  3. 当前全球最大的、开放的、由众多网络和路由器互连形成的计算机网络,通常用专有名词互联网(Internet)表示。
  4. 互连网(internet)内部不一定使用 TCP/IP 协议,而互联网(Internet)为了统一,一般使用 TCP/IP 协议族作为通信规则。

1.1.2 计算机网络的组成和功能

  1. 计算机网络的组成:
从组成成分看

image-20250219192501788.png

从工作方式看

image-20250219192749200.png

从逻辑功能看

image-20250219193034385.png

  1. 计算机网络的功能:数据通信(最基本、最重要)、资源共享、分布式处理、提高可靠性、负载均衡、其它。

1.1.3 电路交换、报文交换、分组交换

电路交换

通过物理线路连接,动态地分配传输线路资源。

image-20250219200537042.png

电路交换的过程:建立连接 $\rightarrow$ 通信 $\rightarrow$ 释放连接。

优点:建立一条专用物理通路,用户双方独占线路资源,数据传输速率高。

缺点

  1. 建立/释放连接需要额外的时间开销;
  2. 线路被通信双方独占,利用率低;
  3. 线路分配的灵活性差;
  4. 交换结点不支持“差错控制”。

因此,电路交换更适用于:低频次、大量地传输数据。

报文(Message)交换

由控制信息和用户数据组成。

优点

  1. 通信前无需建立连接;
  2. 数据以“报文”为单位被交换结点间“存储转发”,通信线路可以灵活分配;
  3. 通信时间内,两个用户无需独占一整条物理线路,相比于电路交换,线路利用率高;
  4. 交换节点支持“差错控制”。

缺点

  1. 报文不定长,不方便存储转发管理;
  2. 长报文的存储转发时间开销大、缓存开销大;
  3. 长报文容易出错,重传代价高。
分组交换(基于报文交换)

由报文拆分成定长的分组(Packet),每一个分组由首部(Header)和数据组成,其中首部即分组的控制信息,由源地址、目的地址、分组号等组成。

image-20250219201318999.png

优点:继承报文交换的全部优点,但改善了不定长的问题:

  1. 方便存储转发管理;
  2. 分组存储转发时间开销小、缓存开销小;
  3. 分组不易出错,重传代价低。

缺点

  1. 相比于报文交换,控制信息占比增加;
  2. 相比于电路交换,依然存在存储转发时延;
  3. 报文被拆分为多个分组,传输过程中可能出现失序、丢失或重复分组的问题。
虚电路交换技术(基于分组交换)
电路交换、报文交换、分组交换的性能分析:

image-20250219202047084.png

image-20250219203149030.png

1.1.4 计算机网络的分类

按分布范围分类
  • 广域网(WAN)、城域网(MAN)、局域网(LAN)、个域网(PAN)。
  • 城域网和局域网的通信技术:以太网技术。“以太网”现在几乎成为了“局域网”的代名词。
  • 通常通过无线技术将个人设备连接起来的网络也称为无线个域网(WPAN):网关 + 设备。
按传输技术分类
  • 广播式网络、点对点网络。
按拓扑结构分类

逻辑上存在四类:

  1. 总线形结构:数据“广播式”传输;存在“总线争用”的问题(集线器连接)。
  2. 环形结构:数据“广播式”传播;通过“令牌”解决总线争用问题,令牌顺环形依次传递,持令牌者可使用总线(令牌环网)。
  3. 星形结构:由中央设备实现数据的“点对点”传输;不存在总线争用问题(以太网交换机)。
  4. 网状结构:由中间结点统一存储转发,属于“点对点”传输(广域网)。
按使用者分类
  • 公用网、专用网。
按传输介质分类
  • 有线网络、无线网络。

1.1.5 计算机网络的性能指标

PART I 速率、带宽、吞吐量

  1. 信道:表示向某一方向传送信息的通道。

    • 信道 ≠ 通信线路
    • 一条通信线路在逻辑上往往对应一条发送信道和一条接收信道。
  2. 速率:连接到网络上的节点在信道上传输数据的速率,也称数据率或比特率、数据传输速率。

    • 速率单位:bit/sb/sbps,有时也用 B/s(1 Byte = 8 Bit)。
    • 常用数量前缀:$k(10^3)$, $M(10^6)$, $G(10^9)$, $T(10^{12})$。

    注意:在计组、操作系统中,数据前缀含义不同:
    $K(2^{10})$, $M(2^{20})$, $G(2^{30})$, $T(2^{40})$。

  3. 带宽(bandwidth):某信道所能传输的最高数据率。

    • 节点间通信实际能达到的最高速率由带宽和节点性能共同限制。
    • 常见带宽单位:bps

    注意:在《通信原理》中,带宽表示某信道允许通过的信号频带范围,单位为 Hz(相关理论如香农定理、奈式准则)。

    image-20250224234351098.png

  4. 吞吐量:单位时间内通过某个网络(或信道、接口)的实际数据量,受到带宽限制及复杂网络负载情况的影响。

PART II 时延、时延带宽积、往返时延

  1. 时延(Delay):指数据从网络的一端传送到另一端所需要的时间,有时也称为延迟或迟延。
    总时延 = 发送时延 + 传播时延 + 处理时延 + 排队时延

    • 发送时延(传输时延):节点将数据推向信道所花费的时间:
      $$\text{发送时延} = \frac{\text{数据长度 (bit)}}{\text{发送速率 (bit/s)}}$$
    • 传播时延:电磁波在信道中传播一定距离所花费的时间:
      $$\text{传播时延} = \frac{\text{信道长度 (m)}}{\text{电磁波在信道中的传播速度 (m/s)}}$$
    • 处理时延:被路由器处理所花费的时间(一般不考虑)。
    • 排队时延:数据排队进入、排队发出路由器所花费的时间(一般不考虑)。
  2. 时延带宽积(bit)
    $$\text{时延带宽积} = \text{传播时延 (s)} \times \text{带宽 (bit/s)}$$
    含义:一条链路中,已经从发送端发出但尚未到达接收端的最大比特数(常用于设计最短帧长)。
  3. 往返时延(RTT):表示从发送方发送完数据,到发送方接收到来自接收方确认总共经历的时间。

PART III 信道利用率

信道利用率:某个信道有百分之多少的时间是有数据通过的。
$$\text{信道利用率} = \frac{\text{有数据通过的时间}}{\text{有数据通过的时间} + \text{没有数据通过的时间}}$$

1.2 计算机网络的分层结构

1.2.1 “分层”的设计思想

  1. 类比“快递网络”的分层体系结构,将计算机网络分为五层:应用层、传输层、网络层、数据链路层、物理层;并将各种不同“功能”安排在合适的层次中。
  2. 不同类型的节点实现的功能层次可能不一样(分层结构的设计并不唯一)。

1.2.2 三种计算机网络体系结构

  1. OSI参考结构(法律上标准,由 ISO 组织提出):

    • 应用层、表示层、会话层、运输层、网络层、数据链路层、物理层。
  2. TCP/IP模型(事实上标准,ARPANET 项目成果):

    • 应用层、运输层、网际层(也称 IP 层)、网络接口层。
  3. 五层模型(教学用标准):

    • 应用层、传输层、网络层、数据链路层、物理层。

    image-20250224234457897.png

网络体系结构的概念:是计算机网络的各层及其协议的集合,即构建计算机网络时需要完成的功能的精确定义(不涉及实现)。

1.2.3 计算机网络中各层之间的关系

水平视角
  1. 实体:将第 n 层的活动元素(软件 + 硬件)称为第 n 层实体。
  2. 不同机器上同一层称为对等层,同一层的实体称为对等实体。
  3. 协议:即网络协议,是控制对等实体之间通信的规则集合,是水平的。主机或路由器中的协议层称为协议栈。

    image-20250224234913661.png

垂直视角
  1. 接口:即同一节点内相邻两层的实体交换信息的逻辑接口,又称为服务访问点(SAP)。
  2. 服务:指下层为紧邻的上层提供的功能调用,是垂直的。

    image-20250224234929400.png

1.2.4 PDU、SDU、PCI

  1. 协议数据单元(PDU):对等层次之间传送的数据单位,第 n 层的 PDU 记为 n-PDU。
  2. 服务数据单元(SDU):为完成上一层实体所要求的功能而传送的数据,第 n 层的 SDU 记为 n-SDU。
  3. 协议控制信息(PCI):控制协议操作的信息,第 n 层的 PCI 记为 n-PCI。
  4. 三者间关系
    $$n\text{-SDU} + n\text{-PCI} = n\text{-PDU} = (n-1)\text{-SDU}$$

    image-20250224234949380.png

1.2.5 协议

定义:即网络协议(Network protocol),是控制对等实体之间通信的规则集合,是水平的。
协议的三要素:语法、语义、同步。

  1. 语法:数据与控制信息的格式。
  2. 语义:即需要发出何种控制信息、完成何种动作以及做出何种应答。
  3. 同步(或时序):执行各种操作的条件、时序关系等,即事件实现顺序的详细说明。

1.2.6 两种参考模型

OSI 参考模型

  1. 物理传输媒体(如网线)。
  2. 物理层:实现相邻节点之间比特的传输。
  3. 数据链路层

    :确保相邻节点之间的链路逻辑上无差错。

    • 功能:差错控制、流量控制。
  4. 网络层

    :把“分组”从源节点转发到目的节点。

    • 功能:路由选择、分组转发、拥塞控制、网际互连等。
  5. 传输层

    :实现端到端通信,即实现进程到进程的通信(端指“端口”)。

    • 功能:复用和分用等。
  6. 会话层:通过会话管理管理进程间会话。
  7. 表示层:解决不同主机上信息表示不一致的问题。
  8. 应用层:实现特定的网络应用。

各层数据传输单位

  • 应用层、表示层、会话层:报文(Message)
  • 传输层:报文段(Segment)
  • 网络层:分组(Packet)
  • 数据链路层:帧(Frame)
  • 物理层:比特(Bit)

image-20250225094300566.png

TCP/IP 模型

  1. 物理传输媒体
  2. 网络接口层:实现相邻节点间的数据传输,但具体传输方式不做规定。
  3. 网络层

    • 功能:路由选择、分组转发、拥塞控制、网际互连。
    • 注意:差错控制、流量控制等功能交由传输层实现。
  4. 传输层
  5. 应用层:实现特定的网络应用(按需)。

各层数据传输单位

  • 应用层:报文(Message)
  • 传输层:报文段(Segment)
  • 网络层:分组(Packet)
  • 网络接口层:帧(Frame)

image-20250225101536455.png

OSI 与 TCP/IP 模型对比

层次OSI 模型TCP/IP 模型
应用层应用层、表示层、会话层应用层
传输层传输层传输层
网络层网络层网络层
数据链路层/物理层数据链路层、物理层网络接口层

image-20250225101715906.png

1.3 第一章习题

1-02 试简述分组交换的要点。

答:将报文拆分为若干分组(Packet),每个分组定长且由首部(Header)与数据构成,其中首部包含控制信息如目的地址、源地址、分组号等。优点:高效灵活,分组转发时间、缓存开销小;不易出错、重传代价低。缺点:控制信息占比增加,存在额外开销;分组在路由器存储转发时需排队,存在时延。

1-03 试从多个方面比较电路交换,报文交换和分组交换的主要优缺点

答:

1) 电报交换:独占通信线路,可以连续传送大量数据的效率高;但也有通信线路利用率低、线路灵活性差、不支持差错控制的问题。

2) 报文交换:通信线路灵活性高,支持差错控制,相比电报交换线路利用率高;但由于报文不定长,不利于存储转发管理,并且长报文存在转发存储开销大、易出错、重传代价高的问题。

3) 分组交换:继承了报文交换的优点的同时通过分组改进了报文不定长的问题;但仍存在存储转发时延,并且控制信息比例相比报文交换增加,存在一定的额外开销。

1-10 试在下列条件下比较电路交换和分组交换。要传送的报文共 $x$(bit)。从源点到终点共经过 $k$ 段链路,每段链路的传播时延为 $d$(s),数据率为 $b$ (b/s)。在电路交换时电路的建立时间为 $s$ (s)。在分组交换时分组长度为 $p$ (bit),且各结点的排队等待时间可忽略不计。问在怎样的条件下,分组交换的时延比电路交换的要小?(提示:画一下草图观察 $k$ 段链路共有几个结点。)

对于电路交换:

发送时延 $t_1 = \frac{x}{b}$,传播时延 $t_2 = k \cdot d$,电路建立时间 $t_3 = s$。

总时延 $T_{\text{电路}} = t_1 + t_2 + t_3 = \frac{x}{b} + k \cdot d + s$。

对于分组交换:

发送时延 $t_1 = \lceil \frac{x}{p} \rceil \cdot \frac{p}{b}$,传播时延 $t_2 = k \cdot d$,$k-1$ 个节点的发送时延 $t_3 = (k-1) \cdot \frac{p}{b}$。

总时延 $T_{\text{分组}} = t_1 + t_2 + t_3 = \lceil \frac{x}{p} \rceil \cdot \frac{p}{b} + k \cdot d + (k-1) \cdot \frac{p}{b}$。

则要使 $T_{\text{分组}} < T_{\text{电路}}$ 的条件为:$x \gg p$ 或 $x = k \cdot p$ 且 $k$ 为整数。

1-17 收发两端之间的传输距离为 $1000$ km,信号在媒体上的传播速率为 $2 \times 10^8$ m/s。试计算以下两种情况的发送时延和传播时延:
(1) 数据长度为 $10^7$ bit, 数据发送速率为 $100$ kb/s。
(2) 数据长度为 $10^3$ bit, 数据发送速率为 $1$ Gb/s。
从上面的计算中可以得到什么样的结论?

(1)发送时延 $\frac{10^7 \, \text{bit}}{100 \, \text{kb/s}} = 100 \, \text{s}$,传播时延 $\frac{1000 \, \text{km}}{2 \cdot 10^8 \, \text{m/s}} = 0.005 \, \text{s}$。

(2)发送时延 $\frac{10^3 \, \text{bit}}{1 \, \text{Gb/s}} = 10^{-6} \, \text{s}$,传播时延 $\frac{1000 \, \text{km}}{2 \cdot 10^8 \, \text{m/s}} = 0.005 \, \text{s}$。

结论:数据量大,发送速率低时,主要时延由发送时延引起;数据量少,发送速率高时,主要时延由传播时延引起。

1-18 假设信号在媒体上的传播速度为 $2.3 \times 10^8$ m/s。媒体长度 $l$ 分别为:
(1)10 cm(网络接口卡)
(2)100 m(局域网)
(3)100 km(城域网)
(4)5000 km(广域网)
现连续传输数据,试计算出当数据率为 $1$ Mb/s 和 $10$ Gb/s 时在以上媒体中正在传播的比特数。

(即求时延带宽积)

(1) $I = 10 \, \text{cm}$

传播时延 $t = \frac{10 \, \text{cm}}{2.3 \cdot 10^8 \, \text{m/s}} = 4.35 \cdot 10^{-10} \, \text{s}$。

$1 \, \text{Mb/s}$ 时:时延带宽积 $= (4.35 \cdot 10^{-10} \, \text{s}) \cdot 1 \, \text{Mb/s} = 4.35 \cdot 10^{-4} \, \text{bit}$。

$10 \, \text{Gb/s}$ 时:时延带宽积 $= (4.35 \cdot 10^{-10} \, \text{s}) \cdot 10 \, \text{Gb/s} = 4.35 \, \text{bit}$。

(2)(3)(4) 同理。

1-19 长度为 100 字节的应用层数据交给传输层传送,需加上 20 字节的 TCP 首部。再交给网络层传送,需加上 20 字节的 IP 首部。最后交给数据链路层的以太网传送,加上首部和尾部共 18 字节。试求数据的传输效率。数据的传输效率是指发送的应用层数据除以所发送的总数据(即应用数据加上各种首部和尾部的额外开销)。若应用层数据长度为 1000 字节,数据的传输效率是多少?

$$\frac{100}{100+20+20+18} = 63.3\%$$

$$\frac{1000}{1000+20+20+18} = 94.5\%$$

1-26 试解释以下名词:协议栈、实体、对等层、协议数据单元、服务访问点、客户、服务器、客户-服务器方式。
  • 协议栈:主机或路由器中的协议层。
  • 实体:任何可发送或接收信息的硬件或软件。
  • 对等层:网络体系中,通信双方实现相同功能的层。
  • 协议数据单元 (PDU):对等层次之间传送的数据单位。
  • 服务访问点 (SAP):即同一系统内相邻两层实体交换信息的逻辑接口。
  • 客户 (Client):通信的应用进程中的服务请求方。
  • 服务器 (Server):通信的应用进程中的服务提供方。
  • 客户-服务器方式 (C/S):客户请求服务,服务器提供服务的通信方式。
1-28 假定要在网络上传送 1.5MB 的文件。设分组长度为 1KB,往返时间 RTT = 80ms。传送数据之前还需要有建立 TCP 连接的时间,这时间是 $2 \cdot RTT = 160ms$。试计算在以下几种情况下接收方收完该文件的最后一个比特需要的时间。

分组数量:
$$\frac{1.5 \, \text{MB}}{1 \, \text{KB}} = \frac{1.5 \cdot 2^{20} \, \text{B}}{2^{10} \, \text{B}} = 1536$$

(1) 数据发送速率为 10Mbit/s,数据分组可以连续发送。

发送时延:
$$t_1 = 1536 \cdot \frac{1 \, \text{KB}}{10 \, \text{Mbit/s}} = 1536 \cdot \frac{8 \, \text{Kb}}{10^7 \, \text{bit/s}} = 1.258 \, \text{s}$$

传播时延:
$$t_2 = \frac{\text{RTT}}{2} = \frac{80 \, \text{ms}}{2} = 40 \, \text{ms} = 0.04 \, \text{s}$$

处理时延:
$$t_3 = 0 \, \text{s}$$

总时延:
$$t = 2 \cdot RTT + t_1 + t_2 = 2 \cdot 0.08 \, \text{s} + 1.258 \, \text{s} + 0.04 \, \text{s} = 1.458 \, \text{s}$$

(2) 数据发送速率为 10Mbit/s,但每发送完一个分组后要等待一个 RTT 时间才能再发送下一个分组。

发送时延:
$$t_1 = 1536 \cdot \frac{1 \, \text{KB}}{10 \, \text{Mbit/s}} = 1.258 \, \text{s}$$

传播时延:
$$t_2 = \frac{\text{RTT}}{2} = 0.04 \, \text{s}$$

处理时延:
$$t_3 = (1536 - 1) \cdot RTT = 1535 \cdot 0.08 \, \text{s} = 122.8 \, \text{s}$$

总时延:
$$t = 2 \cdot RTT + t_1 + t_2 + t_3 = 0.16 \, \text{s} + 1.258 \, \text{s} + 0.04 \, \text{s} + 122.8 \, \text{s} = 124.258 \, \text{s}$$

(3) 数据发送速率极快,可以不考虑发送数据所需要的时间。但规定在每一个 RTT 往返时间内只能发送 20 个分组。

发送时延:
$$t_1 = 0 \, \text{s}$$

传播时延:
$$t_2 = \frac{\text{RTT}}{2} = 0.04 \, \text{s}$$

处理时延:
$$t_3 = \left\lfloor \frac{1536}{20} \right\rfloor \cdot RTT = 77 \cdot 0.08 \, \text{s} = 6.16 \, \text{s}$$

总时延:
$$t = 2 \cdot RTT + t_2 + t_3 = 0.16 \, \text{s} + 0.04 \, \text{s} + 6.16 \, \text{s} = 6.36 \, \text{s}$$

(4) 数据发送速率极快,可以不考虑发送数据所需要的时间。但在第一个 RTT 往返时间内只能发送一个分组,在第二个 RTT 内可以发送两个分组,在第三个 RTT 内可以发送四个分组。

第 $n$ 个 RTT 后,已经发送了 $2^n - 1$ 个分组。
由于 $2^{10} - 1 < 1536 < 2^{11} - 1$,则在第 11 个 RTT 之前就可以发送完。

总时延:
$$t = 2 \cdot RTT + 10 \cdot RTT + \frac{\text{RTT}}{2} = 2 \cdot 0.08 \, \text{s} + 10 \cdot 0.08 \, \text{s} + 0.04 \, \text{s} = 0.96 \, \text{s}$$

以下是对上述内容的进一步修改和整理:

1-29 有一个对点链路,长度为 50KM。若数据在此链路上的传播速率为 $2 \times 10^8 \, \text{m/s}$,试问链路的带宽为多少才能使传播时延和发送 100 字节的分组的发送时延一样大?如果发送的是 512 字节长的分组,结果又是如何?

设带宽为 $x \, \text{bps}$,则发送一个分组的发送时延为:
$$t_1 = \frac{100 \, \text{B}}{x \, \text{bps}} = \frac{800}{x} \, \text{s}$$

传播时延:
$$t_2 = \frac{50 \, \text{km}}{2 \times 10^8 \, \text{m/s}} = 2.5 \times 10^{-4} \, \text{s}$$

要使 $t_1 = t_2$,则:
$$\frac{800}{x} = 2.5 \times 10^{-4}$$
$$x = \frac{800}{2.5 \times 10^{-4}} = 3.2 \times 10^6 \, \text{bps}$$

若分组大小为 512 字节,则:
$$t_1 = \frac{512 \, \text{B}}{x \, \text{bps}} = \frac{4096}{x} \, \text{s}$$
$$\frac{4096}{x} = 2.5 \times 10^{-4}$$
$$x = \frac{4096}{2.5 \times 10^{-4}} = 1.6384 \times 10^7 \, \text{bps}$$

1-32 以 1 Gbit/s 的速率发送数据。试问在以距离或时间为横坐标时,一个比特的宽度分别是多少?

以时间为横坐标:
1 Gbit/s 即每秒传输 $10^9 \, \text{bit}$,则一个比特的时间宽度为:
$$T = \frac{1}{10^9} = 10^{-9} \, \text{s}$$

以距离为横坐标:
传播速率 $v = 2 \times 10^8 \, \text{m/s}$,则一个比特的距离宽度为:
$$D = v \cdot T = 2 \times 10^8 \, \text{m/s} \cdot 10^{-9} \, \text{s} = 0.2 \, \text{m}$$

1-34 主机 A 向主机 B 发送一个长度为 $10^7$ 比特的报文。中间要经过两个节点交换机,即一共经过三段链路。设每条链路的传输速率为 2 Mbit/s。忽略传播、处理和排队时延。

(1) 如果采用报文交换,即整个报文不分段,每台节点交换机收到整个的报文后再转发。问从主机 A 把报文传送到第一个节点交换机需要多少时间?从主机 A 把报文传送到主机 B 需要多长时间?

(2) 如果采用分组交换。报文被划分为 1000 个等长的分组,并连续发送。节点交换机能够边接受边发送。试问从主机 A 把第一个分组传送到第一个节点交换机需要的时间?从主机 A 把第一个分组传送到主机 B 需要多少时间?从主机 A 把 1000 个分组传送到主机 B 需要多少时间?

(3) 就一般情况而言,比较用整个报文来传送和用划分多个分组来传送的优缺点。

解答:
A -> 交换机 1 -> 交换机 2 -> B

(1) 报文交换:
第一段链路传输时长:
$$t_1 = \frac{10^7 \, \text{bit}}{2 \, \text{Mbps}} = 5 \, \text{s}$$

主机 A 到主机 B 的传输时长:
$$t = 3 \cdot t_1 = 3 \cdot 5 \, \text{s} = 15 \, \text{s}$$

(2) 分组交换:
单个分组大小:
$$\frac{10^7 \, \text{bit}}{1000} = 10^4 \, \text{bit}$$

单个分组到达交换机 1 的传输时延:
$$t_1 = \frac{10^4 \, \text{bit}}{2 \, \text{Mbps}} = 5 \times 10^{-3} \, \text{s}$$

单个分组到达主机 B 的传输时延:
$$t_2 = 3 \cdot t_1 = 3 \cdot 5 \times 10^{-3} \, \text{s} = 0.015 \, \text{s}$$

主机 A 到主机 B 的总传输时长(1000 个分组):
$$t = t_2 + (1000 - 1) \cdot t_1 = 0.015 \, \text{s} + 999 \cdot 5 \times 10^{-3} \, \text{s} = 5.01 \, \text{s}$$

(3) 比较:

  • 分组交换

    • 优点:传输速度快;若某个分组出错,只需重传该分组;可以通过不拥堵的链路传输。
    • 缺点:缺少一个分组会导致无法重组报文;分组首部带来额外开销。
  • 报文交换

    • 优点:没有额外开销。
    • 缺点:若某个比特出错,需要重传整个报文。

1-35 主机 A 向主机 B 连续传送一个 600,000 比特的文件。A 和 B 之间有一条带宽为 1 Mbit/s 的链路相连,距离为 5000KM,在此链路上的传播速率为 $2.5 \times 10^8 \, \text{m/s}$。

(1) 链路上的比特数目的最大值是多少?
(2) 链路上每比特的宽度是多少?
(3) 若想把链路上每比特的宽度变为 5000KM,这时应把发送速率调整到什么数值?

解答:

(1) 链路上的比特数目的最大值:
传播时延:
$$t_{\text{传播}} = \frac{5000 \, \text{km}}{2.5 \times 10^8 \, \text{m/s}} = 0.02 \, \text{s}$$

时延带宽积:
$$\text{时延带宽积} = t_{\text{传播}} \cdot \text{带宽} = 0.02 \, \text{s} \cdot 1 \, \text{Mbit/s} = 0.02 \, \text{Mb} = 20,000 \, \text{bit}$$

(2) 链路上每比特的宽度:
时间宽度:
$$T = \frac{1}{1 \, \text{Mbit/s}} = 10^{-6} \, \text{s}$$

距离宽度:
$$D = v \cdot T = 2.5 \times 10^8 \, \text{m/s} \cdot 10^{-6} \, \text{s} = 250 \, \text{m}$$

(3) 若距离宽度 $D = 5000 \, \text{km}$,则时间宽度:
$$T = \frac{D}{v} = \frac{5000 \, \text{km}}{2.5 \times 10^8 \, \text{m/s}} = 0.02 \, \text{s}$$

发送速率:
$$\text{发送速率} = \frac{1 \, \text{bit}}{T} = \frac{1}{0.02} = 50 \, \text{bps}$$