计算机网络体系结构

考点定位

  • 所属大纲章节:计算机网络的概念、组成与功能;计算机网络的分类;计算机网络的性能指标;计算机网络分层结构、协议、接口、服务的概念;OSI 参考模型与 TCP/IP 模型
  • 常见题型:选择题(性能指标计算、分层模型功能辨析、数据单元术语对应、协议/接口/服务概念辨析);计算题(时延四分量、时延带宽积,可单独成题也可嵌入后续章节)
  • 考查频率:高。性能指标计算(尤其发送时延与传播时延的区分)几乎隔年考一次,分层模型辨析是送分题也是丢分题

工程直觉迁移:你天天抓包看到的 Ethernet/IP/TCP 帧,就是本章"分层封装"的实例;本章的任务是把这些工程直觉术语化、公式化,建立全篇后续章节的骨架。前置知识可回看数据结构绪论中的复杂度记号(本章少量用到 10n10^n 量级换算)。

一、计算机网络的概念、组成与功能

1. 概念(严格定义)

计算机网络:是一个将互连的(通过通信线路与设备彼此连通)、自治的(无主从关系,每台计算机可独立工作)计算机系统集合起来,以功能完善的网络软件(协议、信息交换方式等) 为支撑,实现资源共享与信息传递的系统。

三个关键词——互连、自治、协议——是定义的骨架:

  • 互连:机器之间有物理或逻辑的连通通路
  • 自治:无主从,区别于"主机 + 终端"的集中式系统(终端不自洽,不算计算机网络的组成成员)
  • 协议:没有协议的连通只是布线,不是网络

2. 组成

从不同视角看"网络由什么组成",408 两套说法都要会:

(1)从组成部分看:硬件(主机、通信链路、交换设备、通信处理机如网卡/调制解调器)、软件(各种实现资源共享的软件、方便用户使用的工具软件,如网络操作系统、邮件收发程序、FTP 程序)、协议(网络的核心,规定传输数据时所遵循的规范)。

(2)从工作方式看:

  • 边缘部分:所有连接在互联网上的主机(端系统),由用户直接使用,进行通信(数据传输)与资源共享——又称资源子网
  • 核心部分:由大量网络与连接这些网络的路由器组成,为边缘部分提供连通性与数据交换——又称通信子网

端系统间通信方式辨析(选择题点):

方式实质举例
C/S 方式客户是服务请求方,服务器是服务提供方,双方都要用网络核心Web 浏览
P2P 方式不区分请求方与提供方,每台主机既是客户又是服务器BT 下载

3. 功能

数据通信(最基本、最重要的功能)、资源共享(硬件/软件/数据,本质动机)、分布式处理(一个任务分给多台机器,如 Hadoop 集群)、负载均衡、提高可靠性(一台机器故障,其他机器可顶替)。选择题常考"最基本的功能是数据通信、计算机网络的本质(根本目的)是资源共享"。

二、计算机网络的分类(按大纲简明掌握)

分类标准类别要点
按分布范围广域网 WAN(几十几千 km)、城域网 MAN(550 km,覆盖一个城市)、局域网 LAN(几十米~几 km,单位所有)、个人区域网 PAN(约 10 m)WAN 使用点对点信道(存储转发),LAN/PAN 使用广播信道;"Internet 是最大的 WAN"这种说法要警惕——互联网是"网络的网络",更准确说是全球范围的互连网
按交换方式电路交换、报文交换、分组交换(详见下表)报文与分组本质都是存储转发,差别在数据单元是否切分
按拓扑结构总线形、星形、环形、网状形星形有单点故障(中心节点)、网状可靠性高但布线成本高、广域网常用网状
按使用者公用网(电信公司出资建造,向公众提供服务)、专用网(某部门/单位自建自用,如军队、铁路、电力网)与"按分布范围"是独立维度:专用网也可以是广域网
按传输介质(补充)有线网络(双绞线、同轴电缆、光纤)、无线网络低频考点

三种交换方式对比(高频选择,与后续物理层和链路层均有联动):

特性电路交换报文交换分组交换
建立连接需要(独占端到端物理通路)不需要不需要
数据单元比特流(连续)整个报文(不切分)定长分组(报文切分 + 带首部)
传输方式独占信道、实时性好存储转发存储转发
时延特点建立连接 + 传输,无排队单次存储转发但报文大、缓存要求高、时延不确定各分组并行流水传输,时延较小
带宽利用低(静默期也占用)高高
适用实时性要求高、连续大批量(传统电话)早期电报,现已基本不用现代计算机网络(互联网)

三、标准化组织与 RFC(了解级,选择题偶考)

计算机网络要做到互连互通,必须依赖标准。两类组织:

  • 法定标准(de jure):由公认的官方标准化组织制定
    • ISO:国际标准化组织,制定 OSI 参考模型、HDLC 等
    • ITU:国际电信联盟(下属 ITU-T 制定 V 系列、X 系列建议,负责电信标准)
    • IEEE:电气电子工程师学会,IEEE 802 系列局域网标准(802.3 以太网、802.11 无线局域网)——最常考
  • 事实标准(de facto):被广泛使用、先有产品后有描述,如 TCP/IP 体系
    • IETF:互联网工程任务组,负责互联网协议标准的演进;其发布的文档称 RFC(Request For Comments,请求评论),从草案到"提议标准",再到"互联网标准",如 IP、TCP、HTTP 的定义都在 RFC 中(如 HTTP/1.1 为 RFC 2616,IPv6 为 RFC 8200)。注意:并非所有 RFC 都是标准,也有大量实验性、信息性文档

四、性能指标(计算题核心)

1. 速率、带宽、吞吐量

  • 速率(数据率 / 比特率):单位时间传输的比特数,单位 b/s(bit/s,注意是小写 b)。常用换算:1 kb/s=103 b/s1\,\text{kb/s} = 10^3\,\text{b/s},1 Mb/s=106 b/s1\,\text{Mb/s} = 10^6\,\text{b/s},1 Gb/s=109 b/s1\,\text{Gb/s} = 10^9\,\text{b/s}——速率换算用 10 进制,存储容量换算用 2 进制(1 KB=210 B1\,\text{KB} = 2^{10}\,\text{B}),两者混用是经典陷阱
  • 带宽(网络意义上的):信道所能通过的最高数据率,单位 b/s。注意与模拟通信中"带宽 = 信号频带宽度(Hz)"区分,题目给 Hz 还是用 b/s 要看上下文(见物理层奈奎斯特定理,那里带宽以 Hz 计)
  • 吞吐量:单位时间内通过某网络(信道、接口)的实际数据量,受带宽限制,是实测值;带宽是理论上限

2. 时延的四个分量(必考公式)

数据从网络一端到另一端所需的总时间,由四部分构成:

总时延=发送时延+传播时延+处理时延+排队时延\text{总时延} = \text{发送时延} + \text{传播时延} + \text{处理时延} + \text{排队时延}
分量定义公式由什么决定
发送时延(传输时延)节点把分组的全部比特推向链路所需时间tsend=分组长度 (b)发送速率 (b/s)\displaystyle t_{\text{send}} = \frac{\text{分组长度 (b)}}{\text{发送速率 (b/s)}}分组长、链路带宽;与传播距离无关
传播时延一个比特在介质中从一端传到另一端所需时间tprop=信道长度 (m)传播速率 (m/s)\displaystyle t_{\text{prop}} = \frac{\text{信道长度 (m)}}{\text{传播速率 (m/s)}}物理距离与介质(自由空间/铜线约 2×1082\times 10^8 m/s,光纤约 2×1082\times 10^8 m/s,工程上常取 2×1082 \times 10^8 m/s 即电磁波速率的 2/3);与分组大小、带宽无关
处理时延路由器检查首部、查表、差错校验所需时间无公式,题目通常忽略或直接给出路由器性能
排队时延分组在路由器输入/输出队列中等待的时间无公式,与流量强度有关网络拥塞程度

排队论常识:当网络流量增大(利用率升高)时,排队时延非线性增长,趋近满负载时急剧增大至无穷——这解释了后面"利用率与时延"的关系。

例题(时延计算,模拟题):分组长度 1000 B,链路速率 100 Mb/s,链路长 1000 km,信号传播速率 2×1082\times 10^8 m/s,忽略处理时延与排队时延,求从发送开始到全部到达接收方的时间。

解:

tsend=1000×8 b100×106 b/s=8×10−5 s=80 μst_{\text{send}} = \frac{1000 \times 8\ \text{b}}{100 \times 10^6\ \text{b/s}} = 8\times 10^{-5}\ \text{s} = 80\ \mu\text{s} tprop=1000×103 m2×108 m/s=5×10−3 s=5000 μst_{\text{prop}} = \frac{1000 \times 10^3\ \text{m}}{2\times 10^8\ \text{m/s}} = 5\times 10^{-3}\ \text{s} = 5000\ \mu\text{s}

总时延 =80+5000=5080 μs≈5.08= 80 + 5000 = 5080\ \mu\text{s} \approx 5.08 ms。注意分组长度换算比特时用 2 进制(1 B = 8 b,1000 B 直接乘 8),速率换算用 10 进制。

3. 时延带宽积

时延带宽积=传播时延×带宽\text{时延带宽积} = \text{传播时延} \times \text{带宽}

物理意义:链路上正在飞行(已发出尚未到达)的比特数,即"以比特为单位的链路长度"。它是滑动窗口协议窗口大小设计(传输层 TCP 将再次用到,建设中)与 CSMA/CD 以太网最小帧长推导(数据链路层,建设中)的基础。

上例中时延带宽积 =5×10−3 s×100×106 b/s=5×105= 5\times 10^{-3}\ \text{s} \times 100\times 10^6\ \text{b/s} = 5\times 10^5 b,即该链路同一时刻最多容纳 50 万个比特"在路上"。

4. 往返时延 RTT

RTT=2×单程传播时延+中间节点的处理时延与排队时延 (+ 对端发送时延,视题目约定)\text{RTT} = 2 \times \text{单程传播时延} + \text{中间节点的处理时延与排队时延} \ (+\ \text{对端发送时延,视题目约定})

从发送方发送数据开始,到发送方收到接收方的确认为止的总时间。狭义理解(考试常用简化):RTT = 2 × 传播时延(忽略处理、排队与确认帧发送时延)。TCP 超时重传时间的估计、停止-等待协议的信道利用率计算都以 RTT 为基础。

5. 利用率

  • 信道利用率:某信道有百分之几的时间被利用(有数据通过)
  • 网络利用率:全网络信道利用率的加权平均

时延与利用率的关系(只需定性 + 公式形状,排队论结论):

D=D01−UD = \frac{D_0}{1 - U}

其中 D0D_0 为网络空闲时的时延,UU 为利用率。当 U→1U \to 1 时 D→∞D \to \infty——所以"利用率越高越好"是错的,实际网络要控制利用率在 50% 以下(曲线在此后急剧上升)。

五、分层结构、协议、接口与服务

1. 为什么要分层

发送文件前要完成的工作极其复杂(识别目的主机、确认对方就绪、格式转换、差错处理……),分层的本质是模块化分解复杂问题:每层实现一种相对独立的功能,层间通过接口交互,某层变动(只要接口不变)不影响其他层。你在工程里做的"关注点分离"完全同构。

分层要注意:层数太少功能拥挤,太多则结构臃肿、跨层开销大。

2. 三个核心概念的严格定义

  • 协议(protocol):对等层次(同一层)之间通信的规则与约定的集合,即"水平"的。三要素:
    • 语法:数据与控制信息的格式(怎么排,如字段及长度)
    • 语义:需要发出何种控制信息、完成何种动作、做出何种应答(什么含义、做什么)
    • 同步(定时):事件实现顺序的详细说明(什么时候做、速率匹配)
  • 接口(服务访问点 SAP,Service Access Point):相邻两层之间交互的地方,即同一节点内下层向上层提供的调用入口("垂直"的),如第 nn 层 SAP 就是第 n+1n+1 层可以访问第 nn 层服务的地方
  • 服务:下层为紧邻的上层提供的功能调用,"垂直"的。上层使用下层服务时,只见服务不见协议——下层协议对上层透明

3. 服务与协议的关系(辨析高频)

  • 本层协议的实现要靠下层提供的服务来保证;本层实体在协议的控制下完成本层功能,从而向上层提供服务
  • 协议是"水平的",服务是"垂直的"
  • 协议可以改变(实现方式),只要接口与服务定义不变,上层不受影响——这正是协议与服务分离设计的意义

服务的分类辨析:

分类含义例子
面向连接 / 无连接通信前是否先建立连接(建立 → 传输 → 释放三阶段)TCP 面向连接;IP、UDP 无连接
可靠 / 不可靠是否保证数据无差错、按序到达TCP 可靠;IP 不可靠
有应答 / 无应答接收方是否自动回送确认文件传输服务有应答;WWW 服务无应答

数据单元术语:服务数据单元 SDU(第 nn 层待传输的数据)、协议控制信息 PCI(同层通信的控制信息),nn 层 SDU + nn 层 PCI = nn 层协议数据单元 PDU;从服务视角,PDU 递交给上层后称 SDU。低频但考过。

六、OSI 七层、TCP/IP 四层与五层教学模型

1. 三种模型的关系

OSI 参考模型(ISO 制定,法律上的国际标准)七层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。理论成功但过于复杂、实现缓慢,且制定时机晚于 TCP/IP,是"理论上的"标准。

TCP/IP 模型(事实上的国际标准)四层:网络接口层(对应 OSI 的物理层 + 数据链路层)、网际层(网络层)、传输层、应用层(对应 OSI 的会话 + 表示 + 应用三层)。

五层教学模型(408 与主流教材采用,兼顾两者):物理层、数据链路层、网络层、传输层、应用层。本站后续章节即按五层展开。

2. 各层功能表(必背,选择题直接考)

层(五层)主要功能数据单元(PDU 术语)典型协议/设备
应用层为用户的应用进程提供服务(HTTP、DNS、SMTP)报文(message)HTTP、DNS、FTP
传输层为两主机中进程间的通信提供通用数据传输服务;复用与分用;可靠传输(TCP)/不可靠(UDP)段(segment,报文段)TCP、UDP
网络层把分组从源主机传到目的主机:路由选择、流量控制、拥塞控制、差错控制、网际互连;为主机之间提供逻辑通信分组 / IP 数据报(packet,TCP/IP 术语下若不切分称数据报)IP、ICMP、OSPF;路由器
数据链路层把网络层的分组封装成帧,在相邻节点间无差错传输:成帧、差错控制、流量控制、介质访问控制帧(frame)Ethernet、PPP;网桥/交换机
物理层在物理介质上透明地传输比特流:定义接口四大特性(机械、电气、功能、规程)比特(bit)中继器、集线器

OSI 中会话层(建立、管理、终止进程间的会话与同步)与表示层(数据格式转换、加密解密、压缩)在 TCP/IP 中并入应用层,408 单独考它们功能的辨析(如"数据加密压缩属于表示层")。

3. 数据封装的纵向视图(把术语串起来)

自上而下每过一层加一次首部(链路层还加尾部),这是"封装";接收方自下而上逐层剥去首部,称"解封装"。选择题常给一段描述问"发生在第几层"或"该层 PDU 叫什么",用上表逐层对照即可。

4. 模型对比速记表

对比点OSITCP/IP五层教学模型
层数745
网络层服务无连接 + 面向连接无连接(IP)无连接
传输层服务面向连接面向连接(TCP)+ 无连接(UDP)两者皆有
出身法定标准(ISO)事实标准(IETF/RFC)教学归纳
会话/表示层独立成层并入应用层并入应用层

七、全篇路线图(后续各章按层次展开)

本章建立的是框架。后续章节按五层模型自底向上展开:

章主题覆盖考点
02 物理层(已建)通信基础、奈奎斯特/香农、编码调制、复用、传输介质与设备信道容量计算
03 数据链路层(建设中)成帧、差错控制(CRC)、滑动窗口(停等/GBN/SR)、介质访问控制(CSMA/CD)、局域网、广域网滑动窗口大题
04 网络层(建设中)IPv4/子网划分/CIDR、路由协议(RIP/OSPF/BGP)、ARP/ICMP/DHCP、IPv6子网划分大题
05 传输层(建设中)TCP 连接管理、可靠传输、流量控制、拥塞控制拥塞控制演变大题
06 应用层(建设中)DNS、HTTP、FTP、电子邮件、WWWHTTP 交互分析

章节测验已随章编排(本两章对应 体系结构与物理层章节测),错题登记进错题本。

例题

例 1(时延与报文/分组交换对比,模拟题):要传送的报文总长 xx bit,从源站到目的站共经过 kk 段链路,每段链路的传播时延为 dd s,数据率恒为 bb b/s。忽略处理时延与排队时延及首部开销,求电路交换、报文交换、分组交换(分组长 pp bit,xx 是 pp 的整数倍,不计首部)的总时延。

解:

  • 电路交换:先建立连接(设建立时间 ss s,若题给),随后数据连续发送,总时延 = 建立时间 + 整个报文的发送时延 + 传播时延:
T1=s+xb+kdT_1 = s + \frac{x}{b} + kd
  • 报文交换:整个报文在每个中间节点完整存储再转发,发送 xx bit 要做 kk 次(每段链路一次),传播 kk 次:
T2=k⋅xb+kdT_2 = k\cdot\frac{x}{b} + kd
  • 分组交换:设 n=x/pn = x/p 个分组。第 1 个分组走完全程需要 nn... 不对——第 1 个分组本身在每段链路上各发送一次(kk 次 pb\frac{p}{b})加 kdkd 传播;此后每个后续分组在链路上流水线式推进,当第 1 个分组到达终点后,最后一个分组还需在源站继续发送(n−1n-1)次:
T3=kd+xb+(k−1)⋅pbT_3 = kd + \frac{x}{b} + (k-1)\cdot\frac{p}{b}

(即 kk 段上共发送 xb\frac{x}{b} 的"主体",加上额外 (k−1)pb(k-1)\frac{p}{b} 的流水线尾部延迟;不计首部时的标准结论。)

例 2(协议三要素,模拟题):判断——"规定数据帧中前 8 位为目的地址字段"属于协议三要素中的哪一个?答:语法(规定格式)。"收到差错帧后应丢弃并请求重发"属于语义(规定动作与应答)。"发送方每发一帧必须等应答才能发下一帧"属于同步/定时(规定事件顺序)。

常见坑

  1. 发送时延 ≠ 传播时延:增大带宽降低的是发送时延,对传播时延毫无影响;"光纤网比铜线网传播时延小得多"在考试里要谨慎(两者都是 2×1082\times10^8 m/s 量级,光在光纤中因折射实际约 2×1082\times10^8 m/s,比真空中慢)。
  2. 换算进制陷阱:分组长度 KB → bit 用 2102^{10},速率 Mb/s → b/s 用 10610^6。混用直接错一个数量级附近。
  3. 带宽的两种单位:Hz(频带宽度,模拟/物理层语境)与 b/s(最高数据率,数字语境)。奈奎斯特/香农公式里的 WW 是 Hz。
  4. RTT 不含(或视题目含)发送时延:做信道利用率题时看清题目约定,标准模型是"发送时延 / (发送时延 + RTT + 确认发送时延)"。
  5. 协议是水平的、服务是垂直的;"TCP 协议为应用层提供服务"正确,"TCP 与对端 TCP 之间通过服务通信"错误(对等层之间是协议,不是服务)。
  6. 数据单元术语对应不能乱:报文(应用)、段(传输)、分组/数据报(网络)、帧(链路)、比特(物理)。考题爱把"帧"安到网络层头上。
  7. OSI 与 TCP/IP 的层名对应要背准:TCP/IP 的网络接口层对应 OSI 两层,会话+表示并入应用层。

自测(答案与简析见文末)

  1. 在 OSI 参考模型中,实现两个相邻节点间流量控制功能的主要是哪一层?路由选择呢?
  2. 主机 A 经一个路由器(共 2 段链路)向主机 B 发送一个 1500 B 的分组,每段链路速率 10 Mb/s、长 2 km,传播速率 2×1082\times10^8 m/s,忽略处理与排队时延,求总时延。
  3. 判断:互联网是最广的广域网。(对/错,说明理由)
  4. 某 SOHO 网络用光纤接入,下行 500 Mb/s。它属于哪一类按使用者分类的网络?按拓扑结构常见的家庭 Wi-Fi + 路由器组网属于什么拓扑?
  5. 协议的三要素中,"定时/同步"和"语义"的区别是什么?各举一例。

自测答案

  1. 数据链路层(相邻节点间流量控制);路由选择是网络层。注意传输层也有流量控制,但那是端到端(进程到进程)的,题干限定"相邻节点"时选数据链路层。
  2. 发送时延发生 2 次(2 段链路各一次):2×1500×810×106=2×1.2 ms=2.42 \times \frac{1500\times 8}{10\times 10^6} = 2\times1.2\,\text{ms} = 2.4 ms;传播时延 2×20002×108=0.022\times\frac{2000}{2\times10^8} = 0.02 ms,总时延 ≈2.42\approx 2.42 ms。陷阱:中间节点个数决定发送时延次数。
  3. 错。互联网是"网络的网络"(互连网),由众多局域网、广域网互连而成,本身不是一张单一的广域网。
  4. 公用网(电信运营商提供,面向公众服务);星形拓扑(各设备连到中心路由器/AP)。
  5. 语义规定"做什么动作、发什么控制信息、做什么应答"(如收到 ACK 前重传);同步规定"什么时候、按什么顺序做"(如发送后启动计时器、超时才重传;连续发送时双方的速率匹配)。