本文内容基于 2025 秋季《计算机网络》课程讲述,如有差错,欢迎指正
计算机网络中的主要问题#
- 实体(peers): 对等实体的识别与命名(Naming)、实体的组织形式
- 服务: 面向上层的传输接口、服务性能、可靠性/安全等保障
- 协议: 传输内容的格式、语义、顺序
- 实现与管理: “功能、协议 -> 实体”的映射、网络资源分配与调度
计算机网络的构成#
根据传输规模或传输距离的大小,计算机网络可以分为以下几类:
| 简称 | 全称 | 覆盖范围 | 示例 |
|---|---|---|---|
| PAN | 个域网 (Personal Area Network) | 10米半径以内 | 便携设备间通信,蓝牙耳机 |
| LAN | 局域网 (Local Area Network) | 局部地区 | 如一栋建筑或办公室,企业网,校园网 |
| MAN | 城域网 (Metropolitan Area Network) | 覆盖一个城市的网络 | 由一些运营商维护 |
| WAN | 广域网 (Wide Area Network) | 覆盖很大地理区域、地区和国家 | - |
今天的互联网是“网络的网络”,可以看作许多网络的组合,也可以不断划分
在连接到网络的过程中,那些负责把我们的设备接入因特网,并且在网络与网络之间提供服务的机构被称为互联网服务提供商 (ISP, Internet Service Provider),比如我国的电信、联通和移动
接下来我们要考虑的问题是:
- 每个网络内部包含了什么?
- 谁来把网络内部组件以及各个网络连接到一起?
如今所有网络的组成都是类似的,我们可以将其划分成三大部分:
- 网络边缘:由各种端系统组成
- 端系统:位于互联网边缘与互联网相连的计算机和其他设备
- 端系统由各类主机(host)构成:桌面计算机、移动计算机、服务器、其他智能终端设备
- 接入网:把端系统接入网络内部
- 连接边缘端系统与网络核心
- 通信链路 (光纤、铜缆、无线电、激光链路)
- 网络核心:由大量节点和通讯链路组成
- 由互联端系统的分组交换设备和通信链路构成的网状网
- 关键技术:分组交换(路由器、链路层交换机)
网络边缘#
我们把网络边缘的设备都称为主机(Host),主要包括客户端(手机、平板等)和服务器,其功能主要是运行应用程序、发送/接收用户数据
主机中一般包含以下几个模块:
- 网络设备硬件:网卡、无线网卡等,负责对外通信
- 内核软件:内核驱动、协议栈等,负责处理网络数据,网卡管理与访问
- 应用软件:浏览器、聊天工具等,调用内核接口,负责与用户交互
主机的命名(三个层次):
- 每个网卡都有一个全球唯一的物理地址(48位MAC地址),不可修改,由厂商统一分配
- IP 地址:由一组数字构成,IPv4(32位)/ IPv6(128位),可配置,方便管理
- 主机名:字符串,方便记忆
这些命名之间的转换依赖于不同的网络协议:
- ARP 协议:IP 地址 MAC 地址
- DNS 协议:主机名 IP 地址
接入网#
接入网的目的是把主机连接到网络中去,与主机相连的最近的网络节点称为边缘路由器(第一跳路由器)
通过各种物理链路(引导型/非引导型)将主机连接到边缘路由器
- 引导型介质(有线):信号在固体介质中传播,例如双绞线(电话线,网线)、光纤、同轴电缆(有限电视)
- 非引导型介质(无线):信号自由传播,例如无线电(陆地无线电、卫星无线电信道)
网络中传输常用比特(bit),K/M/G 层级为 进制()
网络核心#
目的:把海量的端系统连接到一起
网络核心是由各类路由器(交换机)和链路构成的网状网络
Internet 结构#
端系统通过本地网络提供商(access ISP)接入Internet,而本地网络提供商之间也需要互相连接,产生了一个结构极度复杂的当今Internet

每个Access ISP接入全局ISP(Global ISP),ISP之间签署服务协议,全局ISP之间也需要互连
ISP 层级结构

大型公司如 Google、Facebook 等会自己建设网络,使得数据中心与用户距离更近,这种网络常称为内容提供网络,由于他们的流量巨大,因此可以和 T1 ISP 直接互连
一些概念:
- Access ISP (本地 ISP): 连接端系统接入 Internet
- Regional Net (地区 ISP): 连接 Access ISP 与 Global ISP
- Tier-1 ISP (全球主干 ISP): 全球最高级别 ISP,互相之间流量不收费(如中国电信、AT&T),但会向下级 ISP 收费
- IXP (Internet Exchange Point): 互联网交换点,ISP 之间通过 IXP 互连
- Content Provider Network (内容提供网络): 大型互联网公司(如 Google)组建,用于连接自己的数据中心与用户,不服务于其他流量
计算机网络服务#
网络的两大功能#
网络的最终目的:将数据发往目标主机,可以拆发成两个功能。
- 路由 (Routing) - 规划(全局操作): 计算通往目标主机的路径(节点序列)。
- 实现:通过路由算法计算,结果存储在路由表里 。
- 转发 (Forwarding) - 执行(本地操作): 每个节点将数据交给路径上的下一跳 。
- 实现:根据目的主机,查找本地路由表,确定下一跳 。
两种工作方式#
分组交换(Packet Switching)
特点:
- 将大消息(message)拆分成多个小分组(packet)
- 以分组作为数据传输单元
- 使用存储-转发机制,实现数据交互的通信方式
- 每个分组的首部都含有地址(目的地址和源地址)等控制信息
- 每个分组在互联网中独立地选择传输路径
- 支持灵活的统计多路复用

电路交换(Circuit Switching)
特点:
- 先呼叫建立连接,实现端到端的资源预留
- 预留的资源包括:链路带宽资源、交换机的交换能力
- 电路交换连接建立后,物理通路被通信双方独占,资源专用,即使空闲也不与其他连接共享
- 由于建立连接并预留资源,因此传输性能好
- 但如果传输中发生设备故障,则传输被中断
分为频分多路复用(FDM)和时分多路复用(TDM)两种方式

无法应对互联网中广泛存在的“突发”(Burst)流量
两者对比:
| 特点 | 分组交换 (Packet Switching) | 电路交换 (Circuit Switching) |
|---|---|---|
| 数据单位 | 分组 (Packet) | 比特流 |
| 连接 | 无需事先建立连接,随时发送 | 传输前需建立连接,进行资源预留 |
| 资源使用 | 支持统计多路复用,共享链路 | 资源专用,即使空闲也不共享 |
| 优点 | 灵活、抗毁性强、突发数据利用率高 | 性能保障(资源预留) |
| 缺点 | 无资源预留、易拥塞(排队延迟、丢包) | 难以实现灵活复用 |
| 机制 | 存储-转发 (Store-and-Forward) | 频分多路复用 (FDM) / 时分多路复用 (TDM) |
两种调用方式#
-
面向连接 (Connection-oriented): 传输数据前先建立对话连接,有请求/响应/确认等动作(类比电话系统)。
-
无连接 (Connectionless): 数据传输前不需要事先建立连接(类比邮政系统)
性能指标#
| 指标 | 含义 | 单位 |
|---|---|---|
| 带宽 (Bandwidth) | 单位时间内网络某通道能通过的最高数据率 | b/s (bps) |
| 比特率 (Bit Rate) | 单位时间内,主机往数字信道上传输的数据量 (数据率) | b/s |
| 吞吐量 (Throughput) | 单位时间内,通过某个网络位置的数据量 | b/s |
| 有效吞吐量 (Goodput) | 单位时间内,目的地正确接收到的有用信息的数目 | b/s |
| 包转发率 (PPS) | 网络设备以包为单位的转发速率 | Packet/s |
| 丢包率 (Loss Rate) | 所丢失数据包的数量占所发送数据包的比率 | - |
| 利用率 (Utilization) | 信道或全网络信道被利用的时间百分比 | - |
| 往返时间 (RTT) | 数据发送到接收到确认消息的时间 | - |
线速转发:交换机端口在满负载的情况下,对帧进行转发时能够达到该端口线路的最高速度
- 大数据包更容易实现线速转发,因为同样带宽下,大数据包每秒传输的包数更少,处理开销更小
时延 (Delay)
总时延 = 传输时延 + 传播时延 + 处理时延 + 排队时延
- 传输时延 (): 数据从节点进入传输媒体所需时间,又称为发送时延
- 公式:
- 传播时延 (): 电磁波在信道中传播距离所需时间
- 公式:
- 处理时延 (): 主机或路由器处理分组(如分析首部、查找路由)所需时间
- 排队时延 (): 分组在队列中等待处理和发送所经历的时延
- 当分组到达速率超过链路传输速率时,会产生排队时延,队列满则丢包

排队时延是难以估计的,因为它取决于网络的当前负载情况
如果某段链路上,分组到达速率超过链路传输速率,分组在一个缓冲区中排队,等到链路可用。若队列被填满,后续分组就被丢弃(产生丢包)
四种时延的影响:
- 传输时延 + 处理时延:
- 硬件设备:10微秒~数十纳秒;软件设备:毫秒级~微秒
- 排队时延:
- 不确定,严重时可达秒级
- 传播时延:与距离、介质有关
- 光纤:2/3光速
- 微波:光速
时延带宽积
时延带宽积 = 传播时延 带宽,即按比特计数的链路长度
若发送端连续发送数据,则在发送的第一个bit即将达到终点时,发送端就已经发送了时延带宽积个bit ,而这些bit都在链路上向前移动
举例: 传播时延为20ms,带宽为10Mb/s,则:时延带宽积 bit
只有在代表链路的管道都充满比特时,链路才得到了充分利用
时延抖动
变化的时延称为抖动(Jitter),时延抖动起源于网络中的队列或缓冲,抖动难以精确预测
- 在语音、视频多媒体业务中,抖动往往会严重影响用户的体验
其他指标
- 可靠性:发送的每个消息,接收方收到一次且仅收到一次
- 完整性:发送的数据无法被篡改
- 隐私性:发送的数据不被第三方截获
- 有时也包含发送方身份不被暴露
- 可审计性:可追溯用户的传输行为
计算机网络协议#
定义: 为进行网络中的数据交换而建立的规则、标准或约定 。
三要素:
- 语法 (Syntax): 规定传输数据的格式(如何讲)。
- 语义 (Semantics): 规定所要完成的功能(讲什么)。
- 时序 (Timing/Sequence): 规定各种操作的顺序(双方讲话的顺序)。
协议封装 (Encapsulation): 每个协议定义自己的头部 (Header) 信息,数据被封装为载荷 (Payload) 。头部定义了如何处理分组
计算机网络的分层架构#
计算机网络可能是人类历史上最复杂的系统之一,为了简化网络设计与实现,通常采用分层架构,每层提供特定功能与服务保障,层与层之间有接口调用,同层实体通过该层协议进行对话,屏蔽各层实现细节
优势:
- 明晰简化,便于分析学习
- 模块独立,加速技术演进
- 统一标准,统一接口,确保技术互通 (interoperable)
局限: 引入额外开销;有时跨层信息也很重要
经典分层模型:

| OSI 参考模型 (7层) | TCP/IP 参考模型 (4层) | 主要功能 (以 OSI 为主) |
|---|---|---|
| 应用层 (Application Layer) | 应用层 (Application Layer) | 提供应用程序便捷的网络服务调用(如 HTTP、DNS、SMTP) |
| 表示层 (Presentation Layer) | (包含在应用层) | 关注所传递信息的语法和语义,管理数据表示方法 |
| 会话层 (Session Layer) | (包含在应用层) | 利用传输层服务,建立和维持会话,并提供同步 |
| 传输层 (Transport Layer) | 传输层 (Transport Layer) | 进程到进程的数据传输;提供可靠或不可靠传输服务(如 TCP、UDP) |
| 网络层 (Network Layer) | 互联网层 (Internet Layer) | 主机之间的数据传输 (Host to Host);路由、寻址、QoS 控制(如 IP 协议) |
| 数据链路层 (Data Link Layer) | 网络接口层 (Host-to-Network Layer) | 相邻实体间的数据传输;成帧、差错检测与纠正、物理地址 (MAC) |
| 物理层 (Physical Layer) | (包含在网络接口层) | 定义如何在信道上传输 0、1 (Bits on the wire);机械接口、电子信号 |
模型比较:

网络分层没有对与错,只有是否符合需要, 本文即以后的文章的网络分层描述以 TCP/IP 模型为基础,掺用一些OSI模型的概念,将网络分为五层:
- 物理层 (Physical Layer)
- 数据链路层 (Data Link Layer) : 实现节点到节点的数据传输
- 网络层 (Network Layer) : 实现主机到主机的数据传输
- 传输层 (Transport Layer) : 实现进程到进程的数据传输
- 应用层 (Application Layer) : 实现用户应用程序间的数据传输
各层功能:

分层实现#
端系统 (Host): 实现所有分层(从物理层到应用层)。
核心设备(交换机/路由器): 实现底层功能 。
- 交换机: 物理层(L1)和数据链路层(L2)功能 。
- 路由器: 物理层(L1)、数据链路层(L2)和网络层(L3)功能 。
分层特征#
复杂功能由端系统实现
- 端对端原则:采用聪明终端&简单网络,由端系统负责丢失恢复等复杂功能,实现了建立在简单的、不可靠部件上的可靠系统
- 好处:简单的网络大大提升了可扩展性
以IP协议为核心,在其基础上实现多种服务