本章沿着“网络由什么组成、数据如何传输、性能如何衡量、协议如何组织”建立整体框架,为后续逐层学习协议作准备。课程背景见 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 分别处理不同层次的通信问题。

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。

在信噪比不变时,增大带宽可以提高容量;在带宽不变时,增大信噪比也可提高容量,但呈对数增长。这是理论上限,具体系统的实际速率可能更低。

网络性能讨论中,“链路带宽”也常用来指链路速率,单位是 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)

根据实际到达的数据动态分配共享资源,不为每个用户预先固定保留周期性时隙或带宽份额。不同用户分组的交错次序由实际需求与调度决定。

统计复用利用“并非所有用户总在同时发送”这一特点,提高资源利用率;它不保证每个用户随时都能得到自己的峰值速率。

比较项电路交换分组交换
资源分配通信前预留按分组需求共享
用户空闲时预留份额可能闲置其他用户可利用链路
高负载时资源不足可能无法建立新连接分组排队,缓冲区满时丢失
时延特点建立后传输较可预测排队时延随负载变化

1.4.3 存储转发(Store-and-Forward)

在本章的存储转发模型中,路由器收到一个完整分组后,才能把它发到下一条链路。长度为 bit 的分组,以 bit/s 的速率发送到一条链路,需要 秒。

对单个分组,若经过 条链路,忽略传播、排队与处理时延,则

若各链路速率均为 ,则为 。要数的是链路数; 条链路之间有 个中间转发节点。

多个分组可以在不同链路上同时前进,形成流水线,因此不能将单个分组的 机械乘以分组数。

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.png520]]

设 为分组长度(bit), 为链路速率(bit/s), 为链路长度(m), 为信号传播速度(m/s),则

传输时延取决于“发送多少、每秒能发多少”;传播时延取决于“走多远、信号走多快”。提高 会减小 ,不会直接改变 ;分组更长也不会使信号在介质中传播得更慢。

1.5.2 传输与传播可以同时进行

第一个比特被送入链路后就开始传播,不必等整个分组发完。因此即使最后一个比特仍在发送端,第一个比特也可能已经到达接收端。

对一条链路,若忽略处理与排队,从开始发送到整个分组到齐的时间为

存储转发要求的是“下一节点收齐分组后再向下一条链路转发”,与比特在当前链路上边发送边传播并不矛盾。

多跳路径的端到端时延,要把各跳的相关时延相加:

其中不存在的处理或排队项取零。忽略相应项,才得到前面的单分组存储转发公式。

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 条持续发送的连接公平共享速率为 的核心链路,每条连接的服务器接入速率为 ,客户端接入速率为 ,则理想情况下每条连接的吞吐量为

“公平共享”是这里的模型假设,实际网络不一定恰好均分。链路标称速率给出传输能力,实际吞吐量还会受到共享、协议开销、拥塞等影响。

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):网络层尽力交付,不承诺每个数据报都按时、按序、无损到达。
  • 无每连接状态的转发思路:普通数据报转发不要求核心为每条端到端连接建立电路状态;这不表示路由器没有路由表、队列等状态。
  • 分散控制:由多个自主部分协作,不依赖一个全网统一控制中心。

这些原则把较复杂的功能留给适当的层次与端系统,也解释了为什么可靠传输、安全和服务质量需要进一步的协议机制。