计算机网络期末复习提纲

考试结构:选择题 15 分、名词解释 10 分、简答题 15 分、计算题 42 分、综合题 18 分;其中综合题明确是 IP 地址分配。因此应把复习重心放在“计算题 + IP 子网划分/CIDR + 协议机制解释”。


一、优先级总览

优先级必须掌握内容
A:必会计算奈奎斯特/香农公式、时延、CRC、滑动窗口编号与利用率、CSMA/CD 退避、DV/LS 路由、IP 子网划分与 CIDR、IP 分片
B:重点简答分层与协议/服务、各种交换方式、成帧、差错控制、流量控制、CSMA/CD 与 CSMA/CA、交换机学习与转发、TCP 建连断连及拥塞控制
C:名词解释MAC、VLAN、ARP、ICMP、NAT、套接字、端口、CIDR、QoS、ECN、UDP、TCP、捎带确认、累计确认等

第一章:引言、网络模型

1. 计算机网络基本概念

计算机网络

互相连接的自治计算机集合。

组成

  • 资源子网:主机、服务器等,负责处理数据。
  • 通信子网:路由器、交换设备、通信线路等,负责传输数据。

常见拓扑

星形、总线、环形、树形、网状。

网络分类

  • 按传输技术:广播式网络、点到点网络。
  • 按覆盖范围:PAN、LAN、MAN、WAN。

数据交换方式

  1. 电路交换
    • 通信前先建立专用通路。·
    • 资源独占,带宽固定。
    • 适合连续实时通信。
    • 建立连接有额外时延,线路可能闲置。
  2. 报文交换
    • 整个报文存储后再转发。
    • 不需要预先建立连接。
    • 时延大,需较大缓存。
  3. 分组交换
    • 报文切成若干分组。
    • 存储转发,链路复用效率高。
    • 可能出现排队、乱序、丢包。
    • Internet 的主要交换方式。

2. 分层、服务、协议

分层的目的

降低复杂度。每层向上层提供服务,使用下层服务。

服务与协议的区别

  • 服务:本层向上一层提供“什么能力”。
  • 协议:同层实体之间“如何通信”的规则。

PDU 名称

  • 应用层:数据
  • 传输层:报文段 Segment
  • 网络层:分组 / IP 数据报 Packet
  • 数据链路层:帧 Frame
  • 物理层:比特 Bit

OSI 七层模型(ISO设计)

层次主要功能
应用层为用户程序提供网络服务
表示层数据格式、加密、压缩
会话层会话建立、同步、恢复
传输层端到端通信、可靠传输、端口
网络层IP 地址、路由、跨网络转发
数据链路层成帧、MAC 地址、差错检测
物理层比特流传输、信号、电气特性

TCP/IP 五层模型

应用层、传输层、网络层、数据链路层、物理层。


第二章:物理层

1. 核心概念

  • 比特率:每秒传输多少 bit,单位 bps。

  • 波特率:每秒传输多少个符号。

  • 带宽:信道可通过的频率范围,单位 Hz。

  • 信道容量:信道理论上可达到的最高数据率。

  • 信噪比:(S/N)。

  • 分贝:


2. 两个最大数据率公式【必会】

奈奎斯特公式:无噪声信道

  • (B):带宽,Hz
  • (V):信号级数
  • (C):最大数据率,bps

适用条件:理想、无噪声信道

香农公式:有噪声信道

适用条件:有噪声信道的理论上限

常见考法

  • 给带宽、信号级数,求奈奎斯特容量。
  • 给带宽、信噪比 dB,先换算 (S/N),再代入香农公式。
  • 两个公式都能算时,实际最高速率取较小者。

3. 时延计算【必会】

设:

  • 报文长度: bit
  • 路径经过: 跳,即 条链路
  • 每跳传播时延: s
  • 链路速率: bps
  • 每个分组长度: bit
  • 电路建立时间: s
  • 网络负载较轻,忽略排队时延
  • 默认忽略节点处理时延
  • 分组交换采用存储转发 + 流水线传输

1. 四类基本时延

符号名称含义本题中的处理
处理时延检查首部、查路由表、差错检测等题目通常默认忽略
排队时延在交换机/路由器中等待前面分组发送“负载较轻、排队等待忽略”,故取 0
传输时延把一整个分组或报文的所有 bit 推上某条链路所需时间
传播时延信号在链路中从一端传播到另一端所需时间每跳为 ,全路径为

其中:


2. 火车过山洞类比

  • 传输时延:整列火车完全进入山洞需要多久。
    对应:整份数据全部被“推上链路”。
  • 传播时延:火车头从山洞入口跑到出口需要多久。
    对应:第一个 bit 从链路一端到另一端。
  • 处理时延:车站检查车票、决定往哪条轨道走的时间。
  • 排队时延:前方轨道被其他列车占用,只能等待的时间。

3. 三种交换方式的总时延

(1)电路交换

先建立端到端专用电路,建立完成后,数据像连续流水一样通过中间节点。

含义:

注意:

  • 电路建立时间 是题目单独给的总建立时间;
  • 建立完成后,中间节点不会等待整份报文到齐再转发;

(2)报文交换

整份报文 bit 必须先完整到达一个中间节点,才能发往下一跳。

因为每经过一跳,都要重新完整传输一次整个报文。


(3)分组交换

报文被划分为多个大小为 bit 的分组。

若:

表示共有 个分组,且假定 能被 整除,则:

等价写法:


分组交换公式怎么来的?

第一个分组经过 跳,需要:

之后,后面的 个分组利用流水线方式,每隔一个分组传输时延:

到达终点。

所以:

代入

其中:


4. 电路交换与分组交换比较

分组交换更快的条件:

约去共同部分:

即:

分组交换逐跳存储转发增加的时延,小于电路交换建立连接所需时间时,分组交换更快。


5. 最终速记表

方式总时延
电路交换
报文交换
分组交换

最重要的区别:

电路交换:先花 建路,之后连续发送。
报文交换:每一跳都要等完整报文。
分组交换:每一跳等一个分组,但多个分组可以流水线并行。


4. 编码与调制

·带编码

重点了解:

  • NRZ:不归零编码。(
  • NRZI:不归零逆转编码。靠电平跳变表示信息。
  • 曼彻斯特编码:time XOR bit,高跳低是1,反之是0。每个比特中间一定跳变,便于同步,但带宽开销较大。(
  • 4B/5B:4 bit 映射为 5 bit,增加 25% 开销,用于保证足够跳变(连续的0尽量少)、方便时钟同步。(同时带来了物理层编码违禁法的用例)

调制(通带信号)

调制方式改变什么
ASK 幅移键控振幅
FSK 频移键控频率
PSK 相移键控相位
QAM 正交调幅振幅 + 相位

星座图重点:

例如:

  • QPSK:4 个点,每符号 2 bit。
  • QAM-16:16 个点,每符号 4 bit。
  • QAM-64:64 个点,每符号 6 bit。

格雷码(星座图映射,把相邻的两个符号只有一个比特的不同)


5. 复用技术

技术划分资源
FDM 频分复用频率
TDM 时分复用时间
WDM 波分复用光波长
CDM/CDMA 码分复用/码分多址码片序列
OFDM 正交频分复用多个相互正交的子载波

6. 公共电话网络

传统公共电话网可粗略分为两段:

  • 用户本地环路:用户家中电话到电话局的一段线路,早期通常是模拟铜线。
  • 局间中继线:电话局之间传输大量电话业务的高速线路,后来主要是数字中继线。

电话局之间的数字中继线通常传输:

它通常是数字基带传输,不是拨号 Modem 那种模拟音频式通带信号。

PCM 脉冲编码调制(模拟转数字)用于中继线

早期电话线里有包括人的语音和modem合成的模拟信号,PCM不管到底是那种反正看起来是模拟信号。

PCM 负责“把语音变成数字”;TDM 负责“让多路数字语音共用线路”。

SONET 同步光网络 把中继线从铜换成光纤。


第三章:数据链路层

1. 任务

数据链路层的目标:尽量避免物理层传输错误,为网络层提供可靠或较可靠的服务。

重点步骤:

  1. 成帧
  2. 差错控制
  3. 流量控制
  4. 协议设计

2. 成帧方法【简答重点】

  1. 字节计数法
    • 帧头写入长度。
    • 长度字段出错可能导致失去同步。
  2. 字节填充法
    • 用 FLAG 标记帧边界。
    • 数据中出现 FLAG 或 ESC 时插入 ESC。
  3. 比特填充法
    • FLAG 常为 01111110
    • 数据中连续出现 5 个 1,就自动插入 0。
    • 接收端看到连续 5 个 1 后的 0,将该 0 删除。
  4. 物理层编码违禁法
    • 利用不会在正常数据中出现的编码模式作为帧边界。
    • 例如 4B/5B 中未使用的码组。
    • 数据链路层负责向物理层发出一个指令“帧开始/结束”,物理层自己决定发送违禁编码(5b)。

3. 差错控制

海明距离

两个码字对应位不同的个数。

最小海明距离

  • 检测 (s) 位错误:

  • 纠正 (t) 位错误:

海明码(纠错)

校验位数 (r) 与信息位数 (m) 满足:

校验位放在第 位。

奇偶/检验和(略)

CRC 循环冗余校验【必会计算】(检错)

步骤:

  1. 设生成多项式为 ,阶数为 。(位数减一)
  2. 原始数据后补 个 0。
  3. 用模 2 除法除以生成多项式。
  4. 得到 位余数。
  5. 原数据附加余数后发送。
  6. 接收端再除以生成多项式。
  7. 余数为 0,认为未检测到错误。

关键:

  • 模 2 加减法就是异或。
  • CRC 擅长检错,不负责纠错。

4. 流量控制与滑动窗口【高频】

流量控制常用的办法有两种。

第一种方法是基于反馈的流量控制(feedback-based flow control),接收方给发送方返回信息,允许它发送更多的数据,或者至少告诉发送方自己的情况怎么样。

第二种方法是基于速率的流量控制(rate-based flow control),使用这种方法的协议有一种内置的机制,它能限制发送方传输数据的速率,而无须利用接收方的反馈信息。

停等协议

发送一帧后等待确认,再发下一帧。

表示一帧的传输时延, 是单程传播时延。

链路利用率近似:

设:

则:

传播时延很大时,停止等待效率很低。

滑动窗口协议

允许连续发送多个帧,再统一等待确认。

当发送窗口为 (W) 时:

想让链路满载,需要:

累计确认

确认序号 ,表示编号小于 的帧都已正确收到。期待着k。

捎带确认

双向传输时,将 ACK 附带在反方向数据帧中,减少单独 ACK 帧,提高效率。

编号范围重点

为了区分是上一轮的确认还是这一轮的,对编号范围有限制。

若序号字段有 bit:

  • GBN(回退N):发送窗口必须至少空出一个序号,防止序号回绕后把“旧帧重传”误认为“新帧”。收到头ACK后右移一格,若超时则重发窗口内所有帧。

  • 选择重传 SR:为了区分上一轮和这一轮。比如上一轮用0-3,这一轮就用4-7

回退N反例:若窗口取

,则序号只有:

若发送窗口:

发送方可以一次连续发送:

接收方全部正确收到后,下一轮它期待的序号又回到:

但假设所有 ACK 都丢了,发送方超时后会重传旧帧:

此时接收方正好也“期待 0”,就可能把旧的帧 当作新一轮的帧 接收。

于是发生混淆:

这就是为什么窗口不能覆盖全部序号空间。


考试特别要注意双工协议中的:

  • 帧编号是否足够。
  • 发送窗口、接收窗口。
  • 累计确认含义。
  • 捎带确认。
  • 线路利用率。

第四章:MAC 子层、局域网

1. MAC 地址

  • 长度:48 bit,即 6 字节。
  • 前 24 bit:厂商标识 OUI。
  • 后 24 bit:厂商分配给网卡。
  • 单播:一个目的主机。
  • 多播:一组主机。
  • 广播:FF:FF:FF:FF:FF:FF

2. 随机访问协议

ALOHA(不听)

发送前不监听信道。

  • 纯 ALOHA:任意时刻发送,易冲突,冲突就随机等待。
  • 分槽 ALOHA:仅在时隙边界发送,冲突就随机等待。

CSMA

发送前先监听信道。

类型:

  • 1-坚持 CSMA:信道空闲立即发送,冲突就随机等待。
  • 非坚持 CSMA:忙则等待随机时间后再监听。
  • p-坚持 CSMA:在分槽环境下,以概率 (p) 发送。

3. CSMA/CD【重点】

带冲突检测的CSMA

用于传统共享介质有线以太网。

流程:

  1. 监听信道。
  2. 空闲则发送。忙则继续听。
  3. 边发送边检测冲突。
  4. 发生冲突,立即停止发送。
  5. 发送 Jam 信号。
  6. 二进制指数退避。
  7. 再次尝试发送。

最小帧长

冲突必须在发送结束前被检测到,因此:

经典 10 Mbps 以太网:

  • 时隙时间:512 bit time。
  • 最小帧长:512 bit = 64 B。

二进制指数退避

次冲突后:

等待:(slot指分槽)

连续 16 次冲突后,发送失败。


4. CSMA/CA【重点】

无线网络中通常不能一边发送一边可靠检测冲突,因此使用“冲突避免”。

关键机制:

  • 监听信道。直到空闲。
  • 准备发送前选择一个随机退避倒计时,若信道忙则冻结。倒计时归零则发送。
  • ACK 确认。没收到就加倍随机退避选择窗口。
  • RTS/CTS。

隐藏终端

A 和 C 彼此听不到,但都能与 B 通信。A、C 可能同时向 B 发送,从而在 B 处冲突。

暴露终端

C 听到 B 正在向 A 发送,于是 C 不敢向 D 发送;但实际上 C 向 D 的发送可能不会干扰 B→A。

RTS/CTS 主要用于缓解隐藏终端问题。


5. 以太网帧格式

字段长度
前导码 + SFD8 B
目的 MAC 地址6 B
源 MAC 地址6 B
类型 / 长度2 B
数据46~1500 B
填充必要时补足
FCS4 B

以太网最小帧长:64 B。


6. 集线器、交换机、网桥、VLAN

集线器

  • 物理层设备。
  • 所有端口共享带宽。
  • 一个冲突域。
  • 常工作在半双工。

交换机

  • 数据链路层设备。
  • 学习源 MAC 地址。
  • 根据目的 MAC 地址转发。
  • 未知目的地址:泛洪。
  • 每个端口通常是独立冲突域。
  • 全双工下通常不需要 CSMA/CD。

学习型网桥/交换机转发规则

  1. 收到帧后,记录“源 MAC → 入端口”。
  2. 若目的 MAC 在表中:
    • 若目的端口与入端口相同:丢弃。
    • 若不同:只转发到目标端口。
  3. 若目的 MAC 不在表中:除入端口外全部泛洪。

生成树(网桥互联算法)

目的:避免二层环路和广播风暴。

VLAN

把一个物理局域网划分为多个逻辑局域网。

  • 不同 VLAN 是不同广播域。
  • 有利于隔离广播、提升管理灵活性。
  • 不同 VLAN 间通信通常需要三层设备。

第五章:网络层

1. 网络层任务

  • 逻辑寻址:IP 地址。
  • 路由选择。
  • 分组转发。
  • 拥塞控制与 QoS。

2. IPv4 地址与 CIDR【综合题核心】

基本概念

IPv4 地址共 32 bit。

CIDR 表示法:

其中 (p) 是网络前缀长度。

例如:

  • /24:前 24 bit 是网络号。
  • /26:前 26 bit 是网络号,剩余 6 bit 是主机号。

地址数

通常可用主机数:

其中减去网络地址和广播地址。

求网络地址

求广播地址

主机位全部置 1。

子网划分步骤【必须熟练】

  1. 写出原网络前缀。
  2. 按主机数量从大到小排序。
  3. 每个子网需要 (H) 台主机时,找最小 (h):
  4. 新前缀:
  5. 每次按块大小连续分配地址。
  6. 每个子网写清:
    • 网络地址
    • 掩码
    • 可用主机范围
    • 广播地址

CIDR 聚合

多个连续网络能否聚合,关键看它们是否具有相同的高位前缀。

路由表转发

使用最长前缀匹配

  • 多条路由都能匹配时,选择前缀最长的一条。

3. IP 分片【计算题】

当 IP 数据报长度超过链路 MTU 时,需要分片。

设:

  • MTU 为最大传输单元。
  • IP 首部长度为 (H)。
  • 每片可装数据:

注意:

  • 除最后一个分片外,数据部分必须是 8 B 的整数倍。
  • 所有分片的 Identification 相同。
  • Fragment Offset 的单位是 8 B。
  • 最后一片 MF=0,其余 MF=1。

4. ARP、ICMP、NAT

ARP

在局域网中,根据 IP 地址查询 MAC 地址。

流程:

  1. 主机广播 ARP 请求。
  2. 目标主机单播 ARP 应答。
  3. 发送方缓存 IP-MAC 映射。

ICMP

Internet 控制报文协议。
用途:

  • 差错报告。
  • 网络诊断。
  • Ping。
  • Traceroute 相关机制。

NAT

网络地址转换。
作用:

  • 私有地址复用。
  • 内网主机共享少量公网地址。
  • 常结合端口转换使用。

常见私有地址

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

5. 路由算法【必会计算】

距离向量 DV

核心公式:

特点:

  • 与邻居交换距离表。
  • 基于 Bellman-Ford。
  • 可能出现“计数到无穷”问题。

链路状态 LS

基本步骤:

  1. 发现邻居。
  2. 测量链路代价。
  3. 泛洪链路状态信息。
  4. 每台路由器获得完整拓扑。
  5. 使用 Dijkstra 算法求最短路径树。

Dijkstra 计算步骤

  1. 起点加入已确定集合。
  2. 找当前代价最小的未确定节点。
  3. 将其加入集合。
  4. 更新其邻居的最短路径估计。
  5. 直到全部节点确定。

6. QoS 与拥塞控制

拥塞控制与流量控制区别

  • 流量控制:防止发送方压垮接收方。
  • 拥塞控制:防止网络内部过载。

漏桶

  • 输出速率较平滑。
  • 能限制突发流量。

令牌桶

  • 按速率生成令牌。
  • 有令牌才能发送。
  • 允许一定程度的突发。

ECN/RED

  • ECN:通过显式标记(在经过的分组上做拥塞标记)通知拥塞。接收端把标记反馈给源主机。通知端到端发送方减速,如 TCP 发送端。
  • RED:在队列快满之前提前随机丢弃或标记报文。

逐跳后压

压了就同时上一跳。路由器直接让上游节点减速或暂停。直接通知相邻上游节点。


第六章:传输层

1. 端口与套接字

端口

区分同一主机上的不同应用进程。

套接字

TCP 连接通常由四元组唯一确定:


2. UDP 与 TCP 对比

项目UDPTCP
面向连接
可靠传输
顺序保证
流量控制
拥塞控制
首部开销较大
典型应用DNS、音视频、实时传输Web、文件传输、邮件等

3. TCP 三次握手【必背】

  1. 客户端发送:
  2. 服务器回复:
  3. 客户端确认:

作用:

  • 双方确认收发能力。
  • 同步初始序号。
  • 建立连接。

4. TCP 四次挥手【必背】

  1. 主动关闭方发送 FIN。
  2. 被动关闭方发送 ACK。
  3. 被动关闭方处理完剩余数据后发送 FIN。
  4. 主动关闭方发送 ACK。

为什么是四次:

  • TCP 是全双工的。
  • 两个方向的关闭可以分别进行。

5. TCP 流量控制

接收方通过通告窗口 rwnd 告知发送方还能接收多少数据。

发送方可发送量受以下限制:


6. TCP 拥塞控制【重点】

核心变量:

  • cwnd:拥塞窗口。
  • ssthresh:慢启动阈值。

慢启动

每收到 ACK,cwnd 增长。
总体上接近每 RTT 翻倍。

拥塞避免

达到阈值后,cwnd 线性增长。

超时

  • ssthresh 设为原 cwnd 的一半。
  • cwnd 降到较小值。
  • 重新慢启动。

三个重复 ACK

  • 快重传:不等超时,立即重传可能丢失的报文段。
  • 快恢复:不必完全从最小窗口重新开始。

最后冲刺:必须会做的计算清单

  1. 奈奎斯特公式、香农公式、dB 与 (S/N) 转换。
  2. 传输时延、传播时延、总时延、电路交换与分组交换时延比较。
  3. CRC 模 2 除法。
  4. 滑动窗口编号范围、累计确认、捎带确认、线路利用率。
  5. CSMA/CD 最小帧长、时隙时间、二进制指数退避。
  6. DV 路由表迭代、Dijkstra 最短路径。
  7. IP 子网划分、VLSM、CIDR 聚合、最长前缀匹配。
  8. IP 分片:MTU、偏移量、MF、分片长度。
  9. TCP 三次握手、四次挥手中的 seq/ack 填写。

考前背诵短句

  • 奈奎斯特管“无噪声”,香农管“有噪声”。
  • CRC 能检错,海明码可定位单比特错。
  • GBN 重传后面全部帧,SR 只重传出错帧。
  • CSMA/CD 用于有线共享介质,CSMA/CA 用于无线。
  • 交换机学习源 MAC,按目的 MAC 转发。
  • 路由转发看最长前缀。
  • ARP:IP 找 MAC;ICMP:控制与诊断;NAT:私网出公网。
  • UDP 快但不可靠;TCP 可靠、有序、面向连接。
  • TCP:三次握手建连接,四次挥手断连接。
  • 综合题核心:按主机数从大到小进行 VLSM 地址分配。

该提纲依据考试范围页和笔记中标注的重点整理,尤其突出 CRC、滑动窗口、CSMA/CD、动态路由、IP 地址分配、TCP 等内容。