Skip to content

计算机网络概述

2026 大纲 一(一)1 计算机网络的定义、组成与功能一(一)2 计算机网络的分类。本篇同时承载 二(一)4 电路交换、报文交换与分组交换(大纲把它列在物理层,本站按主题放在这里,内容一致)。

一、这门课到底在解决什么

一份数据要从这台机器到那台机器。整门计算机网络就是把这件事拆开,一层一层地问"还剩什么问题没解决"。

第一个问题最实在:两点之间的线路是有限的,而想通信的用户很多。一条铜线一次只能承载一路信号,可同时想说话的有成千上万对。把线路资源在这些用户之间分配的办法,就叫交换——从通信资源分配的角度看,交换就是按某种方式动态地分配传输线路的资源。整个第一章的重心都压在这个词上:三种交换方式,就是三种分配粒度。

在谈分配之前,得先说清被连起来的是什么。计算机网络的定义里藏着两个排除词:

  • 自治——每台计算机独立运行、彼此之间没有主从关系。所以一台大型主机带一堆哑终端不算网络,那些终端没有自治能力。
  • 互连——机器之间必须有通信通道能交换数据。所以用 U 盘拷贝文件、两台电脑共用一台打印机,都不算联网。

两个词都不满足,剩下的才叫计算机网络。至于功能,教材列了五条:数据通信、资源共享、分布式处理、提高可靠性、负载均衡——第一条是最基本也是最重要的,后四条全都靠它兜底,没有数据通信,其余四条一条也做不成。

组成部分则有三个互不冲突的切面,考试爱在它们之间设陷阱:

切面怎么分分成什么
组成部分按物质形态硬件 / 软件 / 协议
工作方式位置边缘部分=所有供用户直接使用的主机;核心部分=网络与路由器,为边缘提供连通性
功能组成职责资源子网=上两层;通信子网=下三层

后两个切面数值上很接近——核心 ≈ 通信子网、边缘 ≈ 资源子网——但它们的划分依据不同,不能划等号。主机上 TCP/IP 协议栈的下三层就是反例:位置在边缘,职责却属于通信子网。

顺带把一个大小写的坑说掉:internet 是通用名词,指任意用路由器互连而成的网络,不要求用什么协议;Internet 是专用名词,特指全球最大的那一个,由 ARPANET 发展而来、用 TCP/IP。判据就是首字母大写且指"世界上那一个"。

二、三种交换方式:差别只在一次占用的粒度

回到线路怎么分。三种办法的区别,用一句话就能概括:一次占用多大的粒度

  • 电路交换整条通路的整段时间
  • 报文交换一跳链路的一整份报文时间
  • 分组交换一跳链路的一个分组时间

粒度越细,线路利用率越高、时延越低,代价是首部开销越大。下面这张图把三者在数据传送阶段的差别画在同一个时间轴上:

电路交换、报文交换、分组交换在数据传送阶段的差别:横轴是四个节点 A→B→C→D,纵轴是时间。电路交换在建连之后比特流一路直达;报文交换每一跳都要把整份报文收完再发;分组交换的四个分组在相邻链路上错开重叠,形成流水线。

图源:谢希仁《计算机网络》(第 8 版)图 1-11「三种交换的比较」,印刷版 p17

电路交换:先占住,再说话

通信必须走建立连接(占用通信资源)→ 通话(一直占用通信资源)→ 释放连接(归还通信资源)三步,建起来的是一条专用物理通路,通信期间这条路上的资源不会被别人占用。

它的优点全部来自"独占"这两个字:数据直达,中间节点不做任何存储转发,传输时延就是发送时延加端到端传播时延;数据按序到达不会失序;不同通信对走彼此独立的信道,没有冲突;通路一旦建成实时性强。

缺点也全部来自这两个字:建立连接时间长,而这段时间里一个比特都没传;通信期间独占线路,只要两端不说话带宽就是白白扔掉;通路上任一节点或链路故障都得重新建连;难以实现差错控制——中间节点根本不存数据,也就没有条件检错重传。

判据比结论有用:凡"通信时间远大于建连时间、且期间持续有数据"的场景,电路交换都不吃亏。打电话就是这样,话音是连续的,接通后两端几乎一直占着带宽,"独占"没有浪费;计算机数据是突发的,一次网页浏览里真正在传数据的时间可能不到 1%,独占等于把带宽扔掉。

报文交换:不占线路,但每跳都要收完

发送方把整份报文(数据加上目的地址等控制信息)发给相邻节点,节点完整接收并存储整个报文后再查转发表送往下一节点——这就是存储转发

无须建连,随时可发;线路分配灵活,可挑空闲链路、故障时可换路径;线路利用率高,报文只在实际传输时占用链路;而且因为节点缓存了整份报文,有条件做差错控制

代价是存储转发时延高:每一跳都必须把整份报文收完才能往下发,这个"收完"的代价被跳数乘了一遍。报文长度还没有上限,节点必须准备大容量缓存;报文越长出错概率越大,一出错要整份重传。

分组交换:把报文切开,让它们在链路上重叠

在报文交换的基础上加一条限制:报文必须先切成长度受限的分组,每个分组带上自己的控制信息(源地址、目的地址、序号等),独立地存储转发。

这一刀切下去换来三件事:分组长度受限,节点缓存需求小且可预估;某个分组出错只需重传该分组;最关键的是分组可以流水线式转发——第 1 个分组正在第 2 跳上传输时,第 2 个分组已经可以在第 1 跳上传输了。

代价是每个分组都要带首部,开销与分组数成正比;分组可能乱序到达(数据报方式),需在目的端重排;存储转发本身仍有时延且排队时延不可控,无法保证端到端带宽

三者放在一起对照:

对比项电路交换报文交换分组交换
建立连接需要(建连 → 通话 → 释放三步)不需要不需要
独占线路
存储转发是(整份报文)是(单个分组)
发送时延计几次1 次kk+n1 次(按分组时长)
节点缓存开销高且无上限低且可预估
支持差错控制不支持(节点不存储)支持支持
数据按序到达否(数据报方式)
额外控制信息建连时一次每报文一份每分组一份
线路利用率非常高
能否保证带宽不能不能
适用场景连续大量数据、传送时间远大于建连时间容忍时延的批量数据突发性数据通信

三、把三种方式算出来

上表里"发送时延计几次"那一行是整张表的技术核心,也是这一章唯一需要动笔的地方。三条式子(k 段链路、n 个分组、H 为分组首部、d 为每段传播时延、D 为报文总长、R 为链路速率):

T=kDR+kd,T=(k+n1)D/n+HR+kd,T=Ts+DR+kd

算例。 主机 A 经 B、C 两个中间节点向 D 发送 D=3000 比特的报文,三段链路速率均为 R=1 Mbit/s,每段传播时延 d=5 ms,忽略处理与排队时延,电路交换建连时间 200 ms,分组交换切成 3 个分组(先忽略首部)。链路段数 k=3

报文交换:每跳发送时延 3000/106=3 ms,共 3 跳。报文交换的定义就是"整份收完才转发",这 3 ms 在每一跳上都要完整重来一遍,不能重叠:

T=3×3+3×5=24 ms

分组交换:每个分组 1000 比特,发送时延 1 ms。(k+n1) 里的 k=3 是第一个分组走完三跳,n1=2 是后两个分组在最后一跳上依次排出——它们在前两跳上都是与第一个分组同时在传的,所以不重复计:

T=(3+31)×1+3×5=20 ms

电路交换:建连的 200 ms 是净损失,期间一个比特都没传;建连之后中间节点不存储,3 ms 的发送时延只出现一次:

T=200+3+15=218 ms

20<24218:数据量小的时候电路交换被建连时间彻底拖垮,分组交换靠流水线比报文交换省下 4 ms。

边界检查。 把报文换成 3×107 比特(30 Mbit),电路交换 =200+30000+15=30215 ms,报文交换 =3×30000+15=90015 ms电路交换反超。原因是发送时延只算一次这个优势随数据量线性放大,而 200 ms 的建连成本是固定的,会被摊薄成千分之七。教材那句"传送时间远大于连接建立时间时电路交换的传输速率较快"就是这么来的。

两句话总结这段推导,都是选项里爱设的坑:电路交换唯一的结构性优势是发送时延只算一次流水线是分组交换低时延的唯一来源——总发送次数从 kn 降到 k+n1,不是"因为分组小所以快"这种含糊说法。

分组不是越小越好

刚才忽略了首部。加回来会发现切得太碎反而更慢。条件同上,每个分组加 H=40 比特首部:

分组数 n每分组长度发送时延系数 k+n1总时延
31000+40=1040 bit1.04 ms55×1.04+15=20.20 ms
30100+40=140 bit0.14 ms3232×0.14+15=19.48 ms
30010+40=50 bit0.05 ms302302×0.05+15=30.10 ms

n 从 3 加到 30 时延下降,再加到 300 反而暴涨——存在一个最优分组数。把总时延展开就看得见为什么:

T=1R[(k1)Dn+(k1)H+D+nH]+kd

方括号里只有两项与 n 有关:(k1)Dnn 增大而减小(流水线收益),nHn 增大而增大(首部开销)。一个降一个升,必然交出一个最低点。对 n 求导置零:

(k1)Dn2+H=0n=(k1)DH

代入数值 n=2×3000/40=15012.25,取 n=12,每分组 290 比特,总时延 14×0.29+15=19.06 ms——低于上表任何一行。

这条式子还顺带解释了两件工程事实:跳数 k 越多则 n 越大、分组该切得越小;首部 H 越大则 n 越小、分组该切得越大。以太网 1500 字节的 MTU 相对 14 字节的帧首部,取的就是这个平衡。

四、分组交换内部还分两种

切成分组之后还有个问题没定:这些分组各走各的路,还是先约好一条路一起走?

对比项数据报虚电路
建立连接不需要需要(建立虚电路)
路由选择每个分组独立选路建立时确定路径,后续分组沿同一路径
分组携带的地址每个分组带完整目的地址只带虚电路号
分组顺序可能乱序到达按序到达
节点故障只丢失该节点上的分组,其余绕行经过该节点的全部虚电路失效
可靠性由谁负责高层协议网络层
代表IP 网络(因特网)X.25、帧中继、ATM

因特网采用的是数据报方式的分组交换。 虚电路容易和电路交换混起来,但两者差着一个量级:虚电路建的是逻辑通路,链路带宽仍然是统计复用的;电路交换建的是物理独占通路,资源被真正预留了。判据一句话——资源是被预留了,还是只被记了一笔路径。两种方式的完整展开(含网络层如何为上层提供服务)在网络层的功能

五、网络的分类

分类本身不难,难的是知道每种分法的依据是什么——考题基本都出在依据上。

按覆盖范围范围典型技术
广域网 WAN几十到几千公里PPP
城域网 MAN一个城市范围以太网技术为主
局域网 LAN几十米到几公里以太网、Wi-Fi
个人区域网 PAN几米范围蓝牙

范围只是表象,真正的分界是谁拥有它、用什么技术做介质访问控制:局域网由单一组织拥有,可以用共享信道加争用协议(CSMA/CD、CSMA/CA);广域网跨越运营商,只能用点对点链路加路由。所以"交换机连起来的两栋楼"是 LAN,"运营商专线连起来的两个城市"是 WAN,哪怕后者物理距离更近。

另外三个维度:按使用者分公用网(电信公司运营、面向公众)与专用网(某组织自建,如军事网、铁路网);按交换方式分电路/报文/分组交换网络;按传输介质分有线(双绞线、同轴电缆、光纤)与无线(无线电、微波、红外、卫星)。

五个维度里按传输技术分最关键,因为它是后面两章分道扬镳的源头:判据是信道是不是被多方共享。共享 → 广播式 → 必须解决"同时说话怎么办",于是有了介质访问控制;独占 → 点对点 → 必须解决"该往哪走",于是有了路由算法。数据链路层与网络层两大分支就从这里分开。

按拓扑结构特点弱点常用于
总线型建网容易,增减节点方便,节省线路重负载时冲突多;总线故障影响全网早期以太网
星型便于集中控制,单条线路故障只影响一个节点中央设备是单点故障源局域网
环型信号沿环单向传输,时延可预测单点故障可能断环令牌环局域网
网状型冗余路径多,可靠性高控制复杂,线路成本高广域网核心

拓扑这里有个陷阱:物理拓扑不等于逻辑拓扑。集线器连成的星型网,逻辑上仍是一条总线——所有主机共享一个冲突域;换成交换机后物理上还是星型,逻辑上才真正变成点对点。

本节小结

  1. 计算机网络 = 自治的计算机 + 互连的通信通道 + 网络软件;internet 是通用名词、Internet 是专用名词。网络组成有三个正交切面,其中"边缘/核心"按位置分、"资源/通信子网"按职责分,不能划等号。
  2. 交换 = 动态分配传输线路资源,三种方式的差别全在"一次占用的粒度"。电路交换的发送时延只算一次是它唯一的结构性优势,随数据量线性放大;流水线(knk+n1)是分组交换低时延的唯一来源,代价是每分组一份首部,因而存在最优分组数 n=(k1)D/H
  3. 分组交换内部分数据报与虚电路,因特网用数据报;虚电路建的是逻辑通路,与电路交换的物理独占通路不同。分类五个维度里传输技术最关键——共享信道推出介质访问控制、独占链路推出路由选择,这是数据链路层与网络层两大分支的源头。

考点速记

本节在真题里被考过的形式:

  • 分层体系结构的叙述判断(cn-2026-33):四个选项里挑错的。正确的三条是"每层都有明确的功能边界""有利于各层技术独立演化""上层无需关心下层的具体实现细节",错的那条是"层次越多效率越高"——每多一层就多一次封装(占带宽)与一次跨层调用(占处理时间),层数是有代价的。这道题考的是分层本身,机制在体系结构与参考模型
  • 三种交换方式的时延计算与大小比较:这类题在练习区显示于性能指标(它们的标签是性能指标),但用的全是本节第三部分那三条式子——存储转发网络的总时间、报文交换与分组交换的时间对比、电路/报文/分组三者的大小关系,都在那里。做题前先回到本节把 k+n1 这个系数弄明白。

易错T 里的系数是 k+n1 而不是 knk 是第一个分组走完全程的跳数,n1 是后续分组在最后一跳上排队排出的次数;它们在前面各跳上是与第一个分组并行传输的,不能重复计。把系数写成 kn 就等于退回了报文交换。

易错:电路交换的建连时间是净损失,但它是固定成本。凡题目让比较三种方式的快慢,先看数据量:数据量小 → 分组 < 报文 ≪ 电路;数据量足够大 → 电路反而最快。只记住"分组交换最快"必错。

易错虚电路属于分组交换,不是电路交换。判据是资源有没有被真正预留——虚电路只是记了一笔路径,链路带宽照样统计复用。同理,"虚电路能保证带宽"是错的。

易错边缘/核心按位置分、资源子网/通信子网按职责分,两组切面不能划等号。主机协议栈的下三层位置在边缘、职责属通信子网,这个反例是设错误选项的常用素材。

教材出处
  • 谢希仁《计算机网络》(第 8 版)印刷版 p13(1.3.2 互联网的核心部分)给出电路交换的定义与三步骤:这种必须经过"建立连接(占用通信资源)→ 通话(一直占用通信资源)→ 释放连接(归还通信资源)"三个步骤的交换方式称为电路交换;同页强调"电路交换的一个重要特点就是在通话的全部时间内,通话的两个用户始终占用端到端的通信资源"。
  • 同书印刷版 p13 定义交换本身:"从通信资源的分配角度来看,交换(switching)就是按照某种方式动态地分配传输线路的资源。"
  • 同书印刷版 p16 把三种方式在数据传送阶段的特点归纳为三句话:电路交换是"整个报文的比特流连续地从源点直达终点",报文交换是"整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一个节点",分组交换是"单个分组(这只是整个报文的一部分)传送到相邻节点,存储下来后查找转发表,转发到下一个节点"。
  • 同书印刷版 p17(图 1-11 下方)给出本篇边界检查所依据的那句结论:"若要连续传送大量的数据,且其传送时间远大于连接建立时间,则电路交换的传输速率较快……由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。"
  • 同书印刷版 p16(表 1-1 分组交换的优点)把分组交换的优点归为四条:高效(动态分配传输带宽、对通信链路逐段占用)、灵活(为每一个分组独立地选择最合适的转发路由)、迅速(以分组作为传送单位,不先建立连接就能发送)、可靠(保证可靠性的网络协议 + 分布式多路由的分组交换网)。
  • 同书印刷版 p3 说明术语来历:全国科学技术名词审定委员会将 internet、internetwork、interconnection network 的译名均推荐为"互联网",注释中说"又称互连网",并提醒"联"和"连"并不是同义字。

相关知识

体系结构与参考模型性能指标数据包的网络之旅网络层的功能信道复用技术

真题练习

相关真题(1题)