本章沿着“网络由什么组成、数据如何传输、性能如何衡量、协议如何组织”建立整体框架,为后续逐层学习协议作准备。课程背景见 Chapter 0 Overview。
1.1 什么是计算机网络
单台计算机可以独立计算;当多台设备需要通信、交换数据和共享资源时,就需要把它们连接成网络。
定义:计算机网络(Computer Network)
由通信链路连接、能够按照协议交换数据的计算机和其他设备的集合。各设备具有自主运行能力,通过网络实现通信与资源共享。
Internet 是计算机网络的一个重要实例,但“计算机网络”还包括局域网等其他网络;Web 则是运行在 Internet 之上的应用。
1.2 什么是 Internet,什么是协议
理解 Internet 可以从两面入手:它由哪些部件构成,以及这些部件共同向应用提供什么服务。
1.2.1 从组成看 Internet
Internet 的基本部件包括终端设备、通信链路和分组交换设备。
| 部件 | 作用 | 例子 |
|---|---|---|
| 主机/端系统(host / end system) | 运行网络应用,产生或接收数据 | PC、手机、服务器、联网设备 |
| 通信链路(communication link) | 在相邻设备间传输数据 | 铜线、光纤、无线电、卫星链路 |
| 分组交换设备(packet switch) | 将分组转发到下一段链路 | 路由器、交换机 |
Internet 是“网络的网络”:家庭、校园、企业和移动网络等,通过 ISP(Internet Service Provider,互联网服务提供商)及 ISP 之间的互联连接起来。它没有一个统一管理所有内部细节的中心。
不同设备要能互通,必须遵循共同的协议。IETF(Internet Engineering Task Force)推动 Internet 标准的制定,RFC(Request for Comments)文档记录协议规范及相关技术内容;RFC 并非全部都是正式标准。
1.2.2 从服务看 Internet
对应用而言,Internet 提供通信基础设施,支撑 Web、邮件、语音、游戏等服务。应用通过编程接口请求发送和接收数据,不必自行实现每一段物理链路。
服务描述的是“向上层提供什么能力”;协议描述的是“通信各方如何交互来实现这些能力”。不同服务可以提供不同的可靠性、时序等性质。
定义:协议(Protocol)
规定通信实体之间交换消息的格式、次序,以及发送或接收消息、发生其他事件时应采取的动作。
协议同时约定消息长什么样、先后如何进行、收到后如何响应。HTTP、TCP、IP 和 IEEE 802.11 分别处理不同层次的通信问题。
例子:协议不仅规定消息格式
人类问时间时,可以先打招呼,再提问,再回答。网络通信也有相应的交互规则:以使用 TCP 的 HTTP 通信为例,先建立 TCP 连接,再发送 HTTP 请求、接收响应。
只知道某个请求的字节格式,还不足以确定何时发送、收到后如何处理、出错后怎么办。
1.3 网络边缘:端系统、接入网络与物理介质
应用运行在网络边缘的端系统上,端系统经接入网络连接到边缘路由器,再通过网络核心到达其他网络。
flowchart LR accTitle: 端系统之间的数据路径 accDescr: 源端系统通过接入网络连接到边缘路由器,经过网络核心和目标侧接入网络到达目标端系统。 source_host["源端系统"] --> source_router["接入网络与边缘路由器"] source_router --> network_core["网络核心:互联路由器"] network_core --> destination_router["目标侧接入网络"] destination_router --> destination_host["目标端系统"]
客户端通常发起请求,服务器提供服务;服务器常部署于数据中心。边缘负责运行应用,核心负责将数据向目的地转发。
1.3.1 物理介质
比特要通过物理信号在发送端与接收端之间传播。按信号是否沿实体介质受到引导,可分为导引型和非导引型介质。
| 介质 | 主要特点 | 典型用途 |
|---|---|---|
| 双绞线(twisted pair) | 绝缘铜线成对绞合,减小电磁干扰;成本低 | 电话线、以太网布线 |
| 同轴电缆(coaxial cable) | 同轴结构与屏蔽提供较好的带宽和抗干扰能力 | 有线电视、HFC、早期以太网 |
| 光纤(fiber optics) | 用光信号传输;带宽大、衰减低、抗电磁干扰 | 长距离骨干、接入与高速互联 |
| 无线电(radio) | 电磁波在空间传播;受到反射、遮挡和干扰影响 | WiFi、蜂窝网络、微波、卫星 |
双绞线、同轴电缆和光纤属于导引型介质,无线电属于非导引型介质。光纤纤芯的折射率高于包层,利用全内反射约束光的传播。
同轴电缆的基带传输(baseband)将介质用于一个信道;宽带传输(broadband)可划分多个频率信道。介质本身、使用的标准和传输距离共同影响可实现的速率。
1.3.2 带宽与数据率
比较接入方式前,先区分两个性能概念:物理介质能通过哪些频率,以及它每秒能传多少比特。
定义:频率带宽与数据率
- 频率带宽 :信道能够有效传输而不被严重衰减的频率范围的宽度,单位为 Hz。
- 数据率 (data rate / bit rate):每秒能够传输的比特数,单位为 bit/s,也写作 bps。
一个信号包含不同的频率分量。若信道带宽太窄,部分分量被强烈衰减,接收到的波形就会失真。带宽、噪声和所用传输方式共同影响可达到的数据率,不能把 Hz 与 bit/s 直接等同。
结论:香农容量公式(Shannon's Theorem)
在带限加性高斯白噪声信道模型下,带宽为 Hz、信噪比为 的信道,其理论最大数据率为
、 分别为信号与噪声功率, 使用线性比值, 的单位为 bit/s。
在信噪比不变时,增大带宽可以提高容量;在带宽不变时,增大信噪比也可提高容量,但呈对数增长。这是理论上限,具体系统的实际速率可能更低。
补充例题:Hz 如何与 bit/s 联系起来?
设 、,则
得到 4 Mbps 需要同时使用带宽和信噪比条件,不能仅由“1 MHz”推出。
网络性能讨论中,“链路带宽”也常用来指链路速率,单位是 bit/s;后文的 都采用这一含义。计算中采用 、。
1.3.3 接入网络
接入网络解决“端系统如何连接到第一个路由器”。比较接入方案时,要关注接入速率,以及资源由单个用户独享还是由多个用户共享。
| 接入场景 | 典型方式 | 资源特点 |
|---|---|---|
| 家庭接入 | 住宅接入网络连接 ISP | 是否共享取决于具体技术与网络段 |
| 企业/校园接入 | 端系统接以太网交换机,再接机构路由器 | 单条主机链路可独享,上联仍可能共享 |
| 无线局域网 | 终端经 AP(Access Point,接入点)接入 | 共享无线信道,典型技术是 IEEE 802.11 |
| 广域移动接入 | 终端经运营商基站接入 | 覆盖范围较大,典型技术是 LTE、5G |
以太网的示例速率包括 10 Mbps、100 Mbps、1 Gbps、10 Gbps;早期 WiFi 的示例包括 11、54、450 Mbps。这些是特定标准下的标称速率,不等于每个用户的实际吞吐量,也不代表技术上限。
1.4 网络核心:交换方式与 Internet 结构
数据进入网络后,需要经过相互连接的路由器。核心问题是:多个通信过程怎样共享链路资源,数据怎样逐段前进?
1.4.1 电路交换(Circuit Switching)
电路交换在通信开始前先建立连接,为一次通信预留端到端资源,例如各段链路上的一部分传输能力。
资源分给该连接后,即使暂时没有数据,其他连接也不能使用这份预留资源。因此性能较稳定,但突发通信中的空闲时间会造成浪费。
预留资源可以按频率或时间划分:
| 方式 | 资源如何划分 | 一个用户如何使用 | 主要开销 |
|---|---|---|---|
| FDM(Frequency Division Multiplexing,频分复用) | 不同用户占不同频带 | 可持续使用自己的频带 | 需要频带隔离,通常留保护频带 |
| TDM(Time Division Multiplexing,时分复用) | 时间划分为循环的帧与时隙 | 仅在自己的时隙使用链路 | 需要时间同步,可能等待下一时隙 |
这里的 TDM 是固定分配时隙:某用户暂时不发送,它的时隙也不会自动分给其他用户。两种方式都可以为连接预留固定份额。

1.4.2 分组交换与统计复用
数据通信常有突发性:用户发送一阵后就暂停。分组交换把数据流分成分组(packet),让不同用户按实际需要共享链路。
一个分组被发送时,以该输出链路的完整传输速率占用链路;其他分组等待,而不是每个用户始终固定占据其中一份速率。如果到达的总需求超过链路处理能力,就会排队,缓冲区满时还会丢包。
定义:统计复用(Statistical Multiplexing)
根据实际到达的数据动态分配共享资源,不为每个用户预先固定保留周期性时隙或带宽份额。不同用户分组的交错次序由实际需求与调度决定。
统计复用利用“并非所有用户总在同时发送”这一特点,提高资源利用率;它不保证每个用户随时都能得到自己的峰值速率。
| 比较项 | 电路交换 | 分组交换 |
|---|---|---|
| 资源分配 | 通信前预留 | 按分组需求共享 |
| 用户空闲时 | 预留份额可能闲置 | 其他用户可利用链路 |
| 高负载时 | 资源不足可能无法建立新连接 | 分组排队,缓冲区满时丢失 |
| 时延特点 | 建立后传输较可预测 | 排队时延随负载变化 |
例题:为何分组交换可以容纳更多用户?
链路速率为 ,每个用户活跃时需要 ,且在任一时刻活跃的概率为 。
电路交换为每人预留峰值速率,最多支持
分组交换若接入 35 人,并假定各用户是否活跃相互独立,则同时活跃人数 。需求超过链路速率的概率为
即约 。35 人的平均需求只有 ,但平均值本身不能排除短时拥塞,仍需考察同时活跃的概率。
这一数值是某时刻需求超出容量的概率,不直接等于丢包率;是否丢包还取决于持续时间和缓冲空间。
1.4.3 存储转发(Store-and-Forward)
在本章的存储转发模型中,路由器收到一个完整分组后,才能把它发到下一条链路。长度为 bit 的分组,以 bit/s 的速率发送到一条链路,需要 秒。
对单个分组,若经过 条链路,忽略传播、排队与处理时延,则
若各链路速率均为 ,则为 。要数的是链路数; 条链路之间有 个中间转发节点。
例题:三条链路的存储转发
一个 的分组通过三条 的链路。每条链路需要 ,因此最后一个比特到达终点需要
第一台路由器要在第 5 秒收到完整分组后才开始转发,第二台在第 10 秒收到后再转发。
多个分组可以在不同链路上同时前进,形成流水线,因此不能将单个分组的 机械乘以分组数。
补充例题:等速链路上的分组流水线
将消息分成 个等长分组,每个 bit,经 条速率均为 的链路。忽略其他时延、分组首部与竞争流量。
第一个分组经过全部链路需 ;此后每隔 ,目的地收到下一个完整分组。因此全部接收完成的时间为
若 ,完成时刻依次为 ,而不是等到 。
1.4.4 Internet 是网络的网络
接入 ISP 把终端连接到 Internet,但不同接入 ISP 还必须互联,才能让它们的用户相互通信。
若 个接入 ISP 两两直连,需要 条连接,规模按 增长,难以扩展。通过提供转接服务的 ISP 汇聚连接,可以减少这种直接互联的需求。
实际结构进一步包含:
- 转接 ISP(transit ISP):为客户网络提供通往其他网络的连通性,双方通常有商业协议。
- 对等互联(peering):网络之间直接交换约定范围的流量。
- Internet 交换点(IXP,Internet Exchange Point):供多个网络互联、交换流量的设施。
- 区域网络(regional network):汇聚接入网络,再连接其他 ISP。
因此 Internet 同时包含层次连接和横向互联,其结构受到技术、经济和政策影响,不能简单视为一棵严格的树。

1.5 网络性能:时延、丢包与吞吐量
分组交换按需共享资源,但数据无法瞬间到达,也未必总能被接收。分析性能时,要分别问“一个分组多久到达”“是否丢失”和“单位时间能传多少数据”。
1.5.1 四种节点时延
分组经过一个节点并前往下一节点时,可能经历处理、等待发送、把比特发上链路,以及信号沿链路传播四个过程。
定义:节点时延(Nodal Delay)
在本章模型中,一跳的节点时延为
| 时延 | 含义 | 主要影响因素 |
|---|---|---|
| 处理时延 | 检查差错、确定输出链路等 | 节点处理能力与处理工作 |
| 排队时延 | 在输出队列中等待发送 | 到达流量、拥塞与前方积压 |
| 传输时延 | 把整个分组的比特送上链路 | 分组长度与链路速率 |
| 传播时延 | 信号从链路一端传播到另一端 | 链路长度与传播速度 |
| ![[Pasted image 20261017223134.png | 520]] |
设 为分组长度(bit), 为链路速率(bit/s), 为链路长度(m), 为信号传播速度(m/s),则
传输时延取决于“发送多少、每秒能发多少”;传播时延取决于“走多远、信号走多快”。提高 会减小 ,不会直接改变 ;分组更长也不会使信号在介质中传播得更慢。
1.5.2 传输与传播可以同时进行
第一个比特被送入链路后就开始传播,不必等整个分组发完。因此即使最后一个比特仍在发送端,第一个比特也可能已经到达接收端。
对一条链路,若忽略处理与排队,从开始发送到整个分组到齐的时间为
存储转发要求的是“下一节点收齐分组后再向下一条链路转发”,与比特在当前链路上边发送边传播并不矛盾。
例题:收费站与车队类比
把一个分组看成 10 辆车组成的车队,一辆车对应一个比特。收费站每辆车服务 12 秒,两站相距 100 km,车速 100 km/h。
- 全部车辆通过第一站,需要 ,对应传输时延。
- 最后一辆车离开第一站后,还需 到达第二站,对应传播时延。
- 从第一辆车开始服务,到车队全部到达第二站,共 。
若车速改为 1000 km/h,每辆服务 1 分钟,则传播需 6 分钟。第一辆车在第 分钟到达第二站,此时第一站还未送走全部车辆。
补充例题:分组长度和距离分别影响哪种时延?
设 ,,,。
全部分组到达需 。若速率提高到 100 Mbps,传输时延变为 ,传播时延仍为 。
多跳路径的端到端时延,要把各跳的相关时延相加:
其中不存在的处理或排队项取零。忽略相应项,才得到前面的单分组存储转发公式。
1.5.3 排队时延与流量强度
链路一次只能发送有限的数据。即使平均到达流量不大,多个分组也可能集中到达,导致后来的分组等待。
设平均分组到达率为 (分组/s),分组长度为 (bit),输出链路速率为 (bit/s),则平均到达比特率为 ,流量强度(traffic intensity)为
- 接近 0:链路较空闲,平均排队时延通常较小。
- 从下方接近 1:在随机、突发到达下,平均排队时延通常显著增大。
- 持续存在:到达工作量超过处理能力;在无限缓冲模型中,积压不能稳定,队列会不断增长。
不表示没有排队;流量到达的时间分布也很重要。仅知道 ,一般不能唯一确定平均排队时延。
1.5.4 丢包(Packet Loss)
真实路由器的缓冲空间有限。分组到达时如果缓冲区已满,就会被丢弃;因此短时拥塞也可能造成丢包,不必等到平均负载超过容量。
丢失分组是否重传,取决于使用的协议:可能由前一节点重传、由源端系统重传,也可能不重传。不能把“网络会丢包”与“所有分组最终都会被自动补回”混为一谈。
1.5.5 吞吐量与瓶颈链路
时延描述一次传输所需的时间,吞吐量描述数据传送的速率,两者并不是同一个指标。
定义:吞吐量(Throughput)
发送端与接收端之间单位时间实际传送的比特数,单位为 bit/s。可以考察某时刻的瞬时吞吐量,也可以用一段时间内传送的数据量除以时长,得到平均吞吐量。
在持续有数据发送、无其他流量竞争的理想模型中,经过速率分别为 的两条链路,稳定后的端到端吞吐量受较慢的一条限制:
限制端到端吞吐量的链路称为瓶颈链路(bottleneck link)。多条串联链路的速率不能简单相加,也不能通过缩短其中一段距离消除其速率瓶颈。
若 10 条持续发送的连接公平共享速率为 的核心链路,每条连接的服务器接入速率为 ,客户端接入速率为 ,则理想情况下每条连接的吞吐量为
“公平共享”是这里的模型假设,实际网络不一定恰好均分。链路标称速率给出传输能力,实际吞吐量还会受到共享、协议开销、拥塞等影响。
补充例题:找出一条连接的瓶颈
若 、,10 条连接公平共享 的核心链路,则每条连接获得
对 的长文件,忽略启动、传播与协议开销,传送时间约为 。即使客户端接入升到 100 Mbps,共享核心链路仍把该连接限制在 5 Mbps。
1.6 协议分层与服务模型
前面已经涉及应用、路由器和物理链路等不同对象。分层将复杂通信任务拆成职责相对明确的部分,使某层内部实现的变化尽量不影响其他层。
1.6.1 为什么分层
每层向上一层提供服务,并使用下一层的服务。同层实体在逻辑上按照该层协议通信,实际数据则要经过下层传送。
分层的主要好处是职责清楚、便于讨论,以及模块化实现、维护和更新。只要服务接口与行为保持兼容,下层可以更换实现,上层不必跟着重写。
1.6.2 Internet 五层协议栈
从应用需求向下看,数据逐步转化为适合网络、链路与物理介质传送的形式。
| 层 | 核心任务 | 典型协议或技术 | 本章采用的数据名称 |
|---|---|---|---|
| 应用层(application) | 支持网络应用及其消息交互 | HTTP、SMTP、FTP | 报文 message |
| 运输层(transport) | 进程到进程的数据传输 | TCP、UDP | 报文段 segment;UDP 常称数据报 |
| 网络层(network) | 将数据从源主机送向目的主机,处理选路与转发 | IP、路由协议 | 数据报 datagram |
| 链路层(link) | 在相邻网络节点间传输数据 | Ethernet、IEEE 802.11、PPP | 帧 frame |
| 物理层(physical) | 通过介质发送和接收比特信号 | 铜线、光纤、无线信号传输 | 比特 bit |
运输层面向应用进程,网络层面向主机间交付,链路层面向相邻节点;三者解决的问题范围不同。
1.6.3 封装与解封装
发送端逐层向下交付数据时,各层加入完成本层任务所需的控制信息;接收端再逐层解释和去除相应信息。
设应用报文为 ,运输层、网络层、链路层首部分别为 。用方括号表示字段依次拼接,简化的封装过程为
本层把上一层的数据作为负载(payload)。实际帧还可能有尾部等字段,以上形式只突出逐层封装的关系。
接收方从物理信号恢复比特,识别帧并去除链路封装,随后向上交给网络层、运输层,最后将应用数据交给相应进程。
中间设备处理到的层次不同:
- 普通二层交换机主要按链路层信息转发帧。
- 路由器需要处理物理层、链路层与网络层:接收输入帧,取出 IP 数据报,决定输出接口,再按输出链路重新封装。
- 源和目的端系统运行完整的端系统协议栈,处理应用数据。
所以链路层帧是逐跳传输的;同一个 IP 数据报跨越不同链路时,会被放进相应链路的帧中。路由器的普通转发不要求像目的端一样把数据一直交给应用层。

1.7 网络安全:网络会受到哪些攻击
Internet 早期的设计环境更偏向相互信任的参与者。如今设备和流量并不都可信,安全问题贯穿终端、协议与基础设施。
| 威胁 | 主要方式 | 后果 |
|---|---|---|
| 恶意软件(malware) | 通过恶意附件、程序或漏洞感染主机 | 窃取信息、控制设备、继续传播 |
| 拒绝服务(DoS) | 用大量流量或请求耗尽服务器、带宽等资源 | 正常用户无法使用服务 |
| 分布式拒绝服务(DDoS) | 多个攻击源同时发起 DoS | 分散地产生大规模攻击流量 |
| 分组嗅探(packet sniffing) | 监听可见链路上的流量 | 泄露明文数据和敏感信息 |
| IP 欺骗(IP spoofing) | 发送带伪造源 IP 地址的分组 | 伪装数据来源,干扰可信判断 |
病毒(virus)通常依附于宿主文件或程序,随接收和执行而感染;蠕虫(worm)能够借助网络和漏洞自动传播。间谍软件可记录键盘输入、访问记录等;受感染主机还可能组成僵尸网络(botnet),被用于垃圾邮件或 DDoS。
共享介质上的节点可能观察到其他节点的流量,但“能抓到包”不等于“能解密内容”,也不表示任意位置都能看到全网流量。源 IP 地址本身同样不能充当可靠的身份认证。
1.8 Internet 历史与设计原则
Internet 从早期分组交换实验,发展为连接不同网络的体系,再走向商业化、移动化和大规模内容服务。历史有助于解释其互联方式与设计取舍。
| 阶段 | 主要进展 |
|---|---|
| 1961–1972:早期分组交换 | 排队论支持分组交换分析;ARPAnet 启动,1969 年首个节点运行;1972 年公开演示并发展早期主机协议与邮件应用 |
| 1970 年代:不同网络互联 | ALOHAnet、Ethernet 等网络出现;Cerf 与 Kahn 提出网络互联体系,探索连接自主网络 |
| 1980 年代:协议与规模发展 | 1983 年 ARPAnet 切换到 TCP/IP;SMTP、DNS、FTP 等协议发展,1988 年引入 TCP 拥塞控制 |
| 1990 年代至 2000 年代:Web 与商业化 | ARPAnet 退役;Web、浏览器、电子商务、即时通信和 P2P 推动普及,安全问题日益突出 |
| 2005 年以来的演进趋势 | 宽带与移动接入普及;社交网络、云服务发展;大型服务商建设自己的网络与基础设施 |
早期互联思想留下几条关键原则:
- 最小化改动与自治:不同网络可以保留内部实现,通过共同的互联机制通信。
- 尽力而为(best effort):网络层尽力交付,不承诺每个数据报都按时、按序、无损到达。
- 无每连接状态的转发思路:普通数据报转发不要求核心为每条端到端连接建立电路状态;这不表示路由器没有路由表、队列等状态。
- 分散控制:由多个自主部分协作,不依赖一个全网统一控制中心。
这些原则把较复杂的功能留给适当的层次与端系统,也解释了为什么可靠传输、安全和服务质量需要进一步的协议机制。
