Chapter 1 Introduction¶
基本概念
- 计算机网络(Computer Network):一组互联的、自治的计算设备。
- 互联(Interconnected):两台计算机能够交换信息。
- 互联网(Internet):最著名的网络之网络(network of networks)。
1 Uses of Computer Networks¶
| 客户-服务器模型(Client-Server Model) | 对等通信(Peer-to-Peer Communication, P2P) | |
|---|---|---|
| 定义 | 客户端显式地向保存信息的服务器请求信息。 | 一个松散的群体中的成员可以彼此通信,不再固定区分客户端和服务器。 |
| 示意图 | ![]() |
![]() |
1. 1 Client-Server Model¶
- Client process 向服务器发送请求消息,并等待回复。
- Server process 接收请求、完成相应工作或查找数据,再发送回复消息。

Client-Server Model 的局限
- 客户端过多时,服务器可能过载。
- 服务器可能成为单点故障(single point of failure)。
- 解决思路包括部署多个服务器,或让客户端之间互相提供服务。
1. 2 Peer-to-Peer Communication¶
每个节点原则上既可以充当 client,也可以充当 server。节点之间直接交换信息,系统不必依赖单一的中心服务器,常用于音乐、视频和文件共享。
BitTorrent

- 客户端从公开的 Torrent Repository Server 获取元数据文件(
.torrent),其中包含 Tracker 地址和内容信息。 - 客户端向 Tracker 声明自己希望加入某个内容的 swarm,Tracker 返回正在共享该内容的 peers 列表。
- 客户端与其他 peers 建立连接,通过 TCP 和 PeerWire Protocol 交换内容。
- 文件被划分为许多 piece blocks,节点一边下载已有片段,一边把自己拥有的片段上传给其他节点。
Person-to-Person Communication
网络支持音频、视频、文本和图片的交换。社交网络中的信息流由用户之间声明的关系驱动。例如用户可以创建、更新个人资料,并向朋友共享更新,Wiki 则允许一个社区共同编辑网站内容,Wikipedia 是最著名的例子之一。
Electronic Commerce
电子商务的典型应用包括在线购物、金融科技和在线拍卖。
| 缩写 | 全称 | 示例 |
|---|---|---|
| B2C | Business-to-consumer | 在线购买图书 |
| B2B | Business-to-business | 汽车制造商向供应商订购轮胎 |
| G2C | Government-to-consumer | 政府在线发放税务表格 |
| C2C | Consumer-to-consumer | 在线拍卖二手商品 |
| P2P | Peer-to-peer | 音乐或文件共享、Skype |
Entertainment
网络娱乐包括通过互联网传输音乐、广播、电视节目和电影、IPTV、媒体流、多人实时游戏和虚拟世界。
网络使用户可以查找、购买、下载或流式观看内容,并可在家庭中的不同设备、显示器和扬声器之间传输内容。更进一步的形式包括交互式电影、交互式电视节目,以及由大量用户共同参与的三维虚拟世界。
Internet of Things
- 泛在计算(Ubiquitous Computing):把计算能力嵌入日常生活环境中。
- 物联网(Internet of Things, IoT):把几乎所有电子设备连接到 Internet。
2 Types of Computer Networks¶
| 类型 | 主要作用 |
|---|---|
| Access networks | 移动接入和宽带接入,为用户提供 Internet 接入 |
| Data-center networks | 放置数据和应用 |
| Transit networks | 在接入网络与数据中心之间传输流量 |
| Enterprise networks | 在校园、办公楼或其他组织内部运行 |
2. 1 Access networks¶
① Broadband Access Networks¶
宽带接入网络通过铜线(例如电话线)、同轴电缆、光纤、移动无线介质等介质把计算设备接入网络(例如 Internet)。
Metcalfe's Law
网络的价值大致与用户数的平方成正比。用户数为 \(n\) 时,可能建立的连接数大致随 \(n^2\) 增长。
② Mobile and Wireless Access Networks¶
移动计算设备包括 laptop、tablet 和 smartphone,它们是计算机产业中增长最快的部分之一。用户在汽车、船舶、飞机等场景中无法使用固定有线连接,因此需要无线网络接入 Internet。
常见的无线接入网络包括蜂窝网络(cellular networks)、无线热点(wireless hotspots)和基于 IEEE 802.11 的 Wi-Fi 网络。
Wireless 与 Mobile 不完全相同
Wireless 强调不使用物理线路的连接方式,Mobile 强调设备可以移动。
无线连接不一定意味着设备具有移动性,移动设备也可能暂时使用有线连接。在高性能场景下,有线网络通常仍然优于无线网络。
| Wireless | Mobile | 典型应用 |
|---|---|---|
| No | No | 办公室中的桌面计算机 |
| No | Yes | 酒店房间中使用的 laptop |
| Yes | No | 没有预先铺设网线的建筑物中的网络 |
| Yes | Yes | 使用手持设备进行库存盘点 |
2. 2 Data-center networks¶
① Data-Center Networks and Cloud¶
数据中心网络承载大量 Web 服务和云服务。一个数据中心可能包含数十万甚至数百万台服务器,服务器之间以及数据中心和 Internet 之间需要传输大量数据,网络面临规模、吞吐量和能耗方面的挑战。
Cross-section bandwidth
网络中任意两台服务器之间能够提供的数据速率,是数据中心网络吞吐量的重要指标。
早期数据中心网络常采用包含 access、aggregate、core 三层交换机的树形拓扑,但这种设计扩展性较差,也容易受到故障影响。
② Content Delivery Network¶
内容分发网络(Content Delivery Network, CDN)由地理位置分散的大量服务器组成,将内容复制到尽可能靠近请求用户的位置。
CDN 选择为用户提供哪个副本时,需要综合考虑副本到用户的距离、各 CDN 服务器的负载以及网络上的流量负载和拥塞情况。
2. 3 Transit Networks¶
当内容提供商与用户的 ISP 没有直接连接时,二者通常通过 Transit Network 传输流量。Transit network 通常同时向 ISP 和内容提供商收费。如果内容网络与接入网络之间的流量足够大,双方可能建立直接互联。
Transit network 过去也被称为 backbone network。但随着以下趋势出现,大型网络越来越少依赖 transit:
- 内容集中到少数大型内容提供商,云服务和大型 CDN 迅速发展。
- 接入 ISP 的覆盖范围从区域扩展到全国甚至国际范围。
- 大型内容提供商和接入 ISP 具有更强的议价能力,也更容易直接互联。
因此,transit network 在许多场景下更像是备用路径。
2. 4 Enterprise Networks¶
企业网络(Enterprise Network)连接组织内的计算机,使员工共享数据、信息和计算资源。
- 资源与信息共享:VPN(Virtual Private Network)把不同地点的独立网络连接成一个逻辑网络,使用户可以像访问本地数据一样访问远程数据,减轻地理位置带来的限制。
- 通信媒介:Email、IP telephony / VoIP(Voice over IP)、视频会议、Desktop sharing、Telemedicine。
- 电子商务:企业可以通过网络与客户和供应商进行电子商务,例如在线销售、在线下单和供应链协作。网络可以减少库存需求并提高业务效率。
3 Pervasive Computer Networks¶
3. 1 Personal Area Networks¶
个人区域网络(Personal Area Network, PAN)覆盖一个人的活动范围,使个人设备彼此通信。常见技术包括短距离无线通信,例如蓝牙。

3. 2 Local Area Networks¶
局域网(Local Area Network, LAN)是在单个建筑物内部或附近运行的私有网络,例如家庭、办公室和工厂。LAN 常用于连接个人计算机和消费电子设备、共享打印机等资源和交换信息。

① Wireless LAN¶
在无线 LAN 中,每台计算机通常具有无线电调制解调器和天线,并与 AP(Access Point)、无线路由器(wireless router)和基站(base station)通信,其中 AP 既负责在无线计算机之间转发数据包,也负责在无线计算机与 Internet 之间转发数据包。
Mesh Network

附近设备互相转发数据包,转发节点可以同时是通信端点,也可以由专门的中继节点组成,适合部署有线连接困难或成本较高的地区,也越来越常见于面积较大的家庭网络。
② Wired LAN¶
有线 LAN 常使用铜线、同轴电缆和光纤,速度约为 \(100 \, \text{Mbps}\) 到 \(40 \, \text{Gbps}\)。有线 LAN 网络规模有限,最坏情况下的传输时间有界且可预知,延迟低,传输错误少。相比无线 LAN,有线 LAN 通常具有更低的延迟、更少的丢包和更高的吞吐量。
Ethernet
IEEE 802.3(Ethernet)是最常见的有线 LAN 类型。
- 所有数据包在一条共享的线性电缆上广播。
- 同一时刻最多只有一台机器能够成功发送。
- 设备在检测到电缆空闲时发送;如果多个数据包发生碰撞,各设备等待随机时间后重试。
Switched Ethernet
- 每台计算机通过点到点链路连接到 switch 的一个 port。
- Switch 根据数据包中的地址决定转发给哪台计算机。
- Switch 可以通过多个 port 连接多台设备,也可以把多个 switch 互相连接起来。
- 如果 switch 互相连接形成环路,需要使用防环算法决定数据包的安全转发路径。
③ Virtual LAN¶
VLAN(Virtual LAN)把一个物理 LAN 划分为多个逻辑 LAN。
- 物理上位于同一个网络中的设备,可以按照组织结构被划分到不同逻辑网络。
- 交换机端口可以用不同标签区分,例如用不同的颜色表示不同 VLAN。
- 一个 VLAN 中的广播数据包不会被另一个 VLAN 接收,效果类似于两个独立的物理 LAN。
Resource Allocation in Broadcast LAN
| 分配方式 | 特点 |
|---|---|
| Static allocation | 把时间划分为离散时隙,使用 round-robin 让每台机器轮流发送 |
| Dynamic allocation | 按需分配信道,避免设备无数据时浪费时隙 |
④ Home Networks¶
家庭网络是 LAN 的一种,但连接的设备种类更多,且使用者通常不是专业网络管理员,其特点是易安装、易维护、安全性和可靠性要求高、有机演化、利润空间小。
3. 3 Metropolitan Area Networks¶
城域网(Metropolitan Area Network, MAN)覆盖一个城市,最典型的例子是有线电视网络,早期主要用于把电视信号分发到用户家庭。Internet 普及后,有线电视运营商开始利用未使用的频谱提供双向 Internet 服务。Cable head-end 也称 CMTS(Cable Modem Termination System),负责把电视和 Internet 信号送入有线网络,再分发到用户家庭。用户侧使用 cable modem。

其他 MAN 技术
- IEEE 802.16 / WiMAX(Worldwide Interoperability for Microwave Access)
- LTE / 4G LTE
- 5G
3. 4 Wide Area Networks¶
广域网(Wide Area Network, WAN)覆盖很大的地理区域,可以跨越国家、洲甚至多个洲。WAN 可以是为组织服务的私有企业 WAN,也可以是由商业网络运营商提供的 transit network。

- Host:运行用户或应用程序的计算机。
- Communication subnet:连接 hosts 的通信子网。
- Transmission line:在机器之间传输比特,可使用铜线、同轴电缆、光纤或无线链路。
- Switching element / Router:连接两条或多条传输线路,并决定数据包从哪条线路转发出去。
Routing and Forwarding
- Routing algorithm:网络决定连接两个路由器时应选择哪条路径的算法。
- Forwarding algorithm:每个路由器决定数据包下一跳发送到哪里所使用的算法。
WAN 与 LAN 的区别
- Host 和通信子网通常由不同主体拥有和管理。
- WAN 中的路由器可能连接不同种类的网络技术。
- 子网可以连接单台计算机,也可以连接整个 LAN,因此更大的网络可以由更小的网络构成。
- WAN using a VPN:利用 Internet 把不同地点连接成虚拟链路。

- WAN using an ISP:使不同站点互联并接入整个 Internet。

Other WAN Media
- Satellite system:地面设备通过天线与卫星交换数据,天然具有广播特征,适合广播需求大或缺少地面基础设施的地区。
- Cellular telephone network:已经经历 1G 到 5G 多代演进。
- SD-WAN(Software-Defined WAN):用多种互补技术连接分散站点,但对外提供统一的 SLA(Service-Level Agreement)。软件实时重新配置交换设备,在成本和性能之间进行优化。
3. 5 Internetworks and Internet¶
- Internetwork:一组互联的、彼此独立运行的网络。
- Gateway:负责连接两个或多个网络,并在硬件和软件层面提供必要的转换。Gateway 所处的协议层次决定了它可以连接的网络类型。
- 过低层的 gateway 只能处理底层传输技术,难以连接不同类型网络。
- 过高层的 gateway 只能支持特定应用。
- 位于中间、以网络层交换数据包的 gateway 通常就是 router。
4 Examples of Computer Networks¶
The Internet
Internet 是使用共同协议并提供共同服务的大量不同网络的集合。它没有由某一个组织统一规划或控制,其发展历史主要从 ARPANET 和 NSFNET 开始。
4. 1 ARPANET¶
Design Motivation
20 世纪 50 年代末,冷战期间,美国国防部(DoD, Department of Defense)希望建立一种在核战争中仍能工作的指挥控制网络。
当时军方通信依赖公共电话网络,但电话网络具有层次化结构,冗余很少,但关键交换局被摧毁后,网络可能被分割成相互隔离的部分。
RAND 公司的 Paul Baran 提出了高度分布式、具有容错能力的设计。由于任意两个交换局之间的路径更长,模拟信号难以无失真地传输,因此方案采用数字分组交换技术。AT&T 当时认为该方案不可行,拒绝了这一设计。

ARPA(Advanced Research Projects Agency)设计的子网由以下部分组成:
- IMP(Interface Message Processor):用小型计算机实现的接口消息处理器。为提高可靠性,每个 IMP 至少连接两个其他 IMP。
- 每个数据包都带有完整的目的地址,当线路或 IMP 损坏时,后续数据包可以自动选择其他路径。
- 每个节点包含一个 host 和一个 IMP,二者位于同一地点并通过短线路连接。
- 数据包必须完整接收后才能转发,因此 ARPANET 子网是最早的电子式 store-and-forward packet-switching network。

| 方式 | 含义 |
|---|---|
| Packet switching | 数据分成数据包,数据包可以独立转发 |
| Circuit switching | 通信前建立一条专用固定路径,通信期间一直保持 |
| Message switching | 把整个消息作为一个整体在网络中传输 |
| Store-and-forward | 转发设备先完整接收并临时保存数据,再转发到下一跳或目的地 |
Packet Switching vs. Circuit Switching
Packet switching 通常是无连接的(connectionless):
- 每个数据包独立路由。
- 路由器故障时,只要网络能够重新配置,后续数据包可以选择其他路径。
- 多个数据包可能经过不同路径,导致乱序;乱序会影响 TCP 等协议,因此 Internet 通常尽量让同一数据流沿同一路径传输。
- 如果短时间内到达路由器的数据包过多,路由器可能拥塞并丢包,发送方需要重传,服务质量可能波动。
Circuit switching 通常是面向连接的(connection-oriented):
- 通信前先建立连接并确定路径。
- 可以提前预留链路带宽、交换机缓存空间和 CPU 时间,更容易提供稳定的服务质量。
- 如果资源不足,连接建立会被拒绝,类似电话系统中的忙音。
- 路径中的线路或交换机发生故障时,整个连接可能中断,因此容错性较差。
ARPANET 的节点规模随着时间不断增长

4. 2 NSFNET¶
NSFNET(National Science Foundation Network)是最早的 TCP/IP WAN,后来升级为 ANSNET(Advanced Networks and Services)。
4. 3 Internet Architecture¶
- Modem(modulator-demodulator):在数字比特和模拟信号之间进行转换的设备。
- POP(Point of Presence):用户数据包进入 ISP 网络并获得服务的位置。
- ISP backbone:连接不同城市 POP 中路由器的长距离传输线路。
- IXP(Internet eXchange Point):ISP 交换流量的地点。直接连接并交换流量的 ISP 称为相互 peer,小 ISP 可能向大型 ISP 支付 transit 以到达远端主机。两个大型 ISP 也可能互相交换流量而不支付 transit。

Internet 路径不一定是最短路径
数据包选择的路径可能是拥塞最少的路径,也可能是对 ISP 成本最低的路径,而不一定是地理距离最短的路径。
hierarchical structure

flat structure

Internet 传统上被看作层次结构,但近些年结构明显趋于扁平化。因此,用户到内容提供商的常见路径可能直接经过 access ISP,而不再经过传统 transit network。
4. 4 Mobile Networks¶
以 4G LTE 为例,移动网络可以概括为 \(\text{UE} \rightarrow \text{RAN} \rightarrow \text{Core Network} \rightarrow \text{Internet}\)。

当用户从一个蜂窝基站覆盖范围移动到另一个基站覆盖范围时,数据流需要从旧基站重新路由到新基站,这个过程称为 handover / handoff。当信号质量下降时,移动设备或基站都可能发起 handover。
- Soft handover:先连接新基站,再断开旧基站,短时间内同时连接两个基站,因此服务基本不会中断。
- Hard handover:先断开旧基站,再连接新基站,可能出现短暂中断。

- Security:采用可插拔 SIM 卡(用户识别模块,Subscriber Identity Module)存储用户身份与账户信息,供移动电话网络完成用户身份认证。
- Privacy:利用 SIM 卡内的加密密钥对传输数据进行加密。
由于无线频谱稀缺,蜂窝网络把覆盖区域划分为多个 cell。同一个 cell 内给用户分配互不干扰的信道。邻近 cell 之间控制干扰,使频率可以在空间上重复使用。

4. 5 Wireless Networks: Wi-Fi¶
IEEE 802.11 是无线 LAN 标准,通常称为 Wi-Fi。802.11 工作在免许可频段,例如 ITU-R 定义的 ISM(Industrial, Scientific, and Medical)频段。所有设备都可以使用这些频谱,但必须限制发射功率,使不同设备能够共存。
| 模式 | 特点 |
|---|---|
| AP-based network | 客户端通过 AP 通信,AP 连接有线网络,并在客户端之间转发数据 |
| Ad hoc network | 无需 AP,处于无线电范围内的客户端直接通信 |

- Multipath fading(多径衰落):无线电信号会被固体物体反射,同一次传输的多个回波可能沿不同路径到达接收端,回波可能相互抵消或增强,使接收信号强度发生很大波动。
- Path diversity(路径分集):沿多个相互独立的路径发送信息,使某一条路径衰落时仍可能通过其他路径正确接收。实现方式包括:
- 在允许频段中使用不同频率
- 使用不同天线对形成不同空间路径
- 在不同时间段重复发送比特

- OFDM(Orthogonal Frequency Division Multiplexing):把较宽的频谱划分成许多窄频段,在这些频段上并行发送不同的比特。
- CSMA(Carrier Sense Multiple Access):用于减少无线广播介质中的碰撞。发送前先侦听信道,发送者等待一个短的随机时间。如果检测到其他设备正在发送,则推迟自己的发送。若发生碰撞,则等待更长的随机时间后重传。
Hidden Terminal Problem
假设 A 正在向 B 发送数据,但 A 的无线电覆盖范围无法到达 C。C 侦听信道时听不到 A,于是认为信道空闲并向 B 发送数据,最终 A 和 C 的信号在 B 处发生碰撞。

Security protection
由于无线传输是广播的,附近设备可能收到并非发给自己的数据包,因此需要加密和身份认证。
| 机制 | 说明 |
|---|---|
| WEP(Wired Equivalent Privacy) | 早期无线加密方案,设计存在缺陷,后来被破解 |
| WPA(Wi-Fi Protected Access) | 用于替代 WEP 的改进方案 |
| WPA2 | 在 WPA 基础上进一步改进的方案 |
| 802.1X | 支持基于证书的 AP 到客户端认证,以及多种客户端到 AP 的认证方式 |

