计算机网络期末复习
这篇笔记整理自《计算机网络》期末复习材料,按章节串联核心概念、公式、例题和易错点,适合考前快速回顾。
第1章:概述
互联网的两个基本特点是:
1. 连通性
连通性 = 上网用户之间可以方便、经济地交换信息。
比如:
你可以给别人发微信、发邮件、传文件、视频通话。 感觉就像两个用户终端直接连在一起一样。
简单记:
连通性:人和人、设备和设备能互相通信。
2. 资源共享
资源共享 = 可以共享信息、软件、硬件等资源。
比如:
在线看视频、下载文件、使用云盘、访问网上数据库、远程打印等。
简单记:
资源共享:网上的资源好像就在自己身边一样方便使用。
PPT 里说,互联网的两个重要基本特点是连通性和资源共享;连通性使上网用户之间能方便、经济地交换信息,资源共享包括信息共享、软件共享和硬件共享。
考试版
互联网的两个基本特点是连通性和资源共享。连通性使上网用户之间可以方便、经济地交换各种信息;资源共享使用户能够共享信息、软件和硬件等资源。 互联网组成:边缘部分是用户直接使用的主机,用来通信和资源共享;核心部分是网络和路由器,负责转发分组、提供连通性。
C/S 与 P2P:C/S 是客户请求、服务器提供服务;P2P 是每台主机既能请求服务,也能提供服务。
电路交换:通信前先建立一条专用通路,通信过程中一直占用资源,适合电话通话。
分组交换:把数据分成一个个分组,通过路由器存储转发,线路利用率高,是互联网采用的方式。

数据单位
1 B = 8 bit 1 KB = 1024 B 1 MB = 1024 KB
网络速率里常用:
1 kbit = 1000 bit 1 Mbit = 1000 kbit = 1,000,000 bit 1 Gbit = 1000 Mbit
注意大小写:
b = bit,比特 B = Byte,字节
时间单位
1 min = 60 s 1 s = 1000 ms 1 ms = 1000 μs
发送时延:把数据全部“推到线路上”需要的时间。 公式:发送时延 = 数据长度 ÷ 发送速率
传播时延:信号在线路上“跑到对方那里”需要的时间。 公式:传播时延 = 信道长度 ÷ 信号传播速率
记忆:
发送看数据多大、网速多快;传播看路有多远、信号多快。
例题
发送一个 10 Mbit 的文件,发送速率是 2 Mbit/s,信道长度是 1000 km,信号传播速率是 2 × 10⁸ m/s,求发送时延和传播时延。
1. 发送时延
发送时延 = 10 Mbit ÷ 2 Mbit/s = 5 s
2. 传播时延
1000 km = 1,000,000 m
传播时延 = 1,000,000 ÷ 2 × 10⁸ = 0.005 s
| OSI 七层 | TCP/IP 四层 | 五层体系结构 | 常见协议/设备 |
|---|---|---|---|
| 应用层 | 应用层 | 应用层 | HTTP、HTTPS、FTP、DNS、SMTP、POP3、DHCP、SNMP |
| 表示层 | 应用层 | 应用层 | 数据格式转换、加密解密、压缩解压 |
| 会话层 | 应用层 | 应用层 | 建立、管理、释放会话 |
| 运输层 | 运输层 | 运输层 | TCP、UDP |
| 网络层 | 网际层 | 网络层 | IP、ICMP、IGMP、ARP、RIP、OSPF、BGP |
| 数据链路层 | 网络接口层 | 数据链路层 | PPP、以太网、CSMA/CD、MAC、交换机 |
| 物理层 | 网络接口层 | 物理层 | 双绞线、光纤、集线器、中继器、比特流传输 |
| 要素 | 简单意思 | 举例 |
|---|---|---|
| 语法 | 数据和控制信息的格式 | 报文里先写地址,还是先写数据 |
| 语义 | 每一部分代表什么意思 | 这个字段表示请求,那个字段表示确认 |
| 同步 | 通信双方动作的先后顺序 | 先发请求,再收响应;先建立连接,再传数据 |
| 说法 | 发生位置 | 含义 |
|---|---|---|
| 协议是水平的 | 不同主机的同一层之间 | 同层之间通信要遵守规则 |
| 服务是垂直的 | 同一主机的相邻层之间 | 下层为上层提供功能 |
第2章:物理层
| 特性 | 管什么 | 简单理解 |
|---|---|---|
| 机械特性 | 接口形状、尺寸、引脚数、排列 | 插头长啥样 |
| 电气特性 | 电压范围、信号电平 | 用多少伏表示 0/1 |
| 功能特性 | 每条线的作用 | 哪根线传数据,哪根线控制 |
| 过程特性 | 各事件发生顺序 | 先做什么,后做什么 |
| 通信方式 | 含义 | 例子 |
|---|---|---|
| 单工 | 只能一个方向传输,不能反向 | 广播、电视 |
| 半双工 | 双方都能发,但不能同时发 | 对讲机 |
| 全双工 | 双方能同时发送和接收 | 打电话 |
| 名词 | 简单意思 | 单位 |
|---|---|---|
| 码元 | 承载信息的基本信号波形 | 个 |
| 波特率 | 每秒传多少个码元 | Baud,波特 |
| 比特率 | 每秒传多少个比特 | bit/s |
课件里说,码元是在时域中代表不同离散数值的基本波形;使用二进制编码时,只有 0 状态和 1 状态两种码元。
关系
比特率 = 波特率 × 每个码元携带的比特数
比如:
如果 1 个码元表示 1 bit: 波特率 1000 Baud → 比特率 = 1000 bit/s
如果 1 个码元表示 4 bit: 波特率 1000 Baud → 比特率 = 4000 bit/s
速记
码元是“信号格子” 波特率看每秒多少个格子 比特率看每秒多少个比特
奈氏准则
奈氏准则研究的是:在没有噪声、但带宽有限的信道中,码元传输速率最高能有多快。
核心结论:
最高码元传输速率 = 2W Baud
其中:
W = 信道带宽,单位 Hz Baud = 波特,表示每秒传多少个码元
课件里也写到:在带宽为 W Hz 的低通信道中,不考虑噪声时,码元传输的最高速率是 2W 码元/秒。
例题
一个信道带宽是 3000 Hz,求最高码元传输速率。
最高码元速率 = 2W = 2 × 3000 = 6000 Baud
如果每个码元携带 1 bit:
比特率 = 6000 × 1 = 6000 bit/s
如果每个码元携带 4 bit:
比特率 = 6000 × 4 = 24000 bit/s
速记
奈氏看带宽,不看噪声。 最高波特率 = 2W。 比特率 = 波特率 × 每个码元携带的比特数。
2W log₂V 是奈氏准则的“最高比特率”公式。
公式:
最高数据率 = 2W log₂V bit/s
| 符号 | 意思 |
|---|---|
| W | 信道带宽,单位 Hz |
| 2W | 最高码元速率,也就是最高波特率 |
| V | 码元的种类数,也叫离散电平数 |
| log₂V | 每个码元能携带多少 bit |
课件里的奈氏准则先说的是:最高码元速率 = 2W。如果每个码元能表示多位 bit,就变成 最高比特率 = 2W log₂V。
例题
信道带宽 W = 3000 Hz,码元种类 V = 4。
最高比特率 = 2 × 3000 × log₂4 = 6000 × 2 = 12000 bit/s
因为:
V = 4,表示每个码元能表示 2 bit。
速记
2W 是每秒最多传多少个码元。 log₂V 是每个码元带多少 bit。 乘起来就是每秒最多传多少 bit。
注意区分码元携带比特数和码元种类区别。2 比特能表示 4 种。
香农公式
香农公式研究的是:在有噪声的信道中,信息传输速率最高能有多大。
公式:
C = W log₂(1 + S/N)
| 符号 | 含义 |
|---|---|
| C | 信道的极限信息传输速率,单位 bit/s |
| W | 信道带宽,单位 Hz |
| S/N | 信噪比,信号功率 ÷ 噪声功率 |
课件里也写到:信道带宽或信噪比越大,极限信息传输速率就越高。
例题
信道带宽 W = 3000 Hz,信噪比 S/N = 15,求极限速率。
C = 3000 × log₂(1 + 15) = 3000 × log₂16 = 3000 × 4 = 12000 bit/s
和奈氏准则的区别
奈氏准则:无噪声,看带宽,最高波特率 = 2W。
香农公式:有噪声,看带宽和信噪比,最高比特率 = W log₂(1+S/N)。
速记:
奈氏管“码元能发多快”,香农管“比特最多传多少”。
信噪比有两种写法:
香农公式
香农公式研究的是:在有噪声的信道中,信息传输速率最高能有多大。
公式:
C = W log₂(1 + S/N)
| 符号 | 含义 |
|---|---|
| C | 信道的极限信息传输速率,单位 bit/s |
| W | 信道带宽,单位 Hz |
| S/N | 信噪比,信号功率 ÷ 噪声功率 |
课件里也写到:信道带宽或信噪比越大,极限信息传输速率就越高。
例题
信道带宽 W = 3000 Hz,信噪比 S/N = 15,求极限速率。
C = 3000 × log₂(1 + 15) = 3000 × log₂16 = 3000 × 4 = 12000 bit/s
和奈氏准则的区别
奈氏准则:无噪声,看带宽,最高波特率 = 2W。
香农公式:有噪声,看带宽和信噪比,最高比特率 = W log₂(1+S/N)。
速记:
奈氏管“码元能发多快”,香农管“比特最多传多少”。
1. 普通信噪比
S/N = 信号功率 ÷ 噪声功率
比如信号功率是 100,噪声功率是 10:
S/N = 100 ÷ 10 = 10
2. 分贝形式 dB
公式:
信噪比(dB) = 10 log₁₀(S/N)
课件里也给了这个公式,并举例:S/N = 10 时,信噪比为 10 dB;S/N = 1000 时,信噪比为 30 dB。
常见对应关系
| S/N | 信噪比 dB |
|---|---|
| 10 | 10 dB |
| 100 | 20 dB |
| 1000 | 30 dB |
做香农公式时注意
香农公式:
C = W log₂(1 + S/N)
这里用的是普通的 S/N,不是 dB。
如果题目给的是 30 dB,要先换成:
S/N = 10³ = 1000
再代入香农公式。
速记
普通信噪比 = S/N 分贝信噪比 = 10log₁₀(S/N) 香农公式里用普通 S/N,不直接用 dB。
信道复用就是:让多个用户共用一条信道传数据。
| 方式 | 怎么分 | 简单理解 | 例子 |
|---|---|---|---|
| 频分复用 FDM | 按频率分 | 每个人占不同频段,同时传 | 广播电台不同频道 |
| 时分复用 TDM | 按时间分 | 每个人轮流占用信道 | 排队轮流说话 |
| 统计时分复用 STDM | 按需要分时间 | 谁有数据就给谁用,更灵活 | 动态分配座位 |
| 码分复用 CDM | 按码型分 | 大家同时同频传,用不同编码区分 | CDMA 移动通信 |
第3章:数据链路层
数据链路层三个基本问题:封装成帧、透明传输、差错检测。课件里也明确列了这三个。
| 问题 | 解决什么 | 简单理解 |
|---|---|---|
| 封装成帧 | 怎么把网络层数据变成帧 | 给数据加首部和尾部 |
| 透明传输 | 数据里出现特殊标志怎么办 | 不管数据长啥样,都能原样传 |
| 差错检测 | 怎么发现传输中出错 | 用 CRC / FCS 检查比特差错 |
1. 封装成帧
数据链路层把网络层交下来的 IP 数据报 前后加上东西,形成帧。
结构大概是:
帧首部 + 数据部分 + 帧尾部
首部和尾部的作用之一是:
确定帧的开始和结束。
2. 透明传输
透明传输的意思是:
无论数据中出现什么比特组合,都能原样传过去。
比如帧结束标志是 EOT,但如果数据内容里刚好也有一个 EOT,接收方可能会误以为帧结束了。
解决方法:
字节填充 / 字符填充
简单说就是: 遇到特殊字符,就在前面加一个转义字符,让接收方知道“这只是普通数据,不是控制标志”。
3. 差错检测
传输中可能出现比特错误,比如:
1 变成 0,0 变成 1
数据链路层常用 CRC 循环冗余检验来检测错误。
CRC 算出来后放在帧尾部,叫:
FCS 帧检验序列
注意:
CRC 只能检测差错,不一定能纠正差错。
考试速记
封装成帧:加头加尾定边界。 透明传输:特殊字符也能原样传。 差错检测:用 CRC/FCS 检查比特错。
交换机是什么
以太网交换机工作在数据链路层。
它根据 MAC 帧的目的地址 来决定这个帧应该从哪个接口转发出去,或者直接丢弃。PPT 里说,交换机实质上是一个多接口网桥,根据 MAC 帧目的地址对收到的帧进行转发和过滤。
交换机工作原理:自学习 + 转发
交换机里面有一张表,叫:
交换表 / MAC 地址表
表里记录:
MAC 地址 → 接口号 → 有效时间比如:
A → 接口 1B → 接口 3意思是:
以后要发给 A 的帧,从接口 1 转发;要发给 B 的帧,从接口 3 转发。
1. 自学习:看源 MAC 地址
交换机收到一个帧后,先看这个帧的源 MAC 地址。
比如 A 从接口 1 发来一个帧:
源地址:A进入接口:1交换机就学到:
A 在接口 1 那边于是把:
A → 接口 1写入交换表。PPT 例子也是:A 向 B 发送一帧,帧从接口 1 进入交换机,交换机把源地址 A 和接口 1 写入交换表。
2. 转发:看目的 MAC 地址
学完源地址后,交换机再看目的 MAC 地址。
情况一:交换表里有目的地址
比如交换表里已经有:
A → 接口 1现在 B 给 A 发帧,交换机看到目的地址是 A,就知道:
发给 A,要从接口 1 转发于是只从接口 1 发出去。PPT 里 B 向 A 发送帧时,交换机查到 A 在接口 1,于是把帧转发到接口 1。
情况二:交换表里没有目的地址
如果交换机不知道目的主机在哪个接口,就会:
向除进入接口以外的所有接口广播/泛洪这个帧。
也就是“不知道在哪,就先到处问一遍”。
PPT 里 A 第一次向 B 发帧时,交换机还不知道 B 在哪里,所以向除接口 1 以外的所有接口广播这个帧。
情况三:目的地址对应的接口就是进入接口
说明发送方和接收方在同一侧,这个帧不需要转发,交换机会:
丢弃。
考试步骤版
交换机收到帧后:
-
取出源 MAC 地址,学习“源 MAC 地址在哪个接口”。
-
取出目的 MAC 地址,查交换表。
-
如果查到目的地址,就从对应接口转发。
-
如果没查到目的地址,就向其他所有接口转发。
-
如果目的接口和进入接口相同,就丢弃。
PPT 里也把步骤总结为:先从接收帧中取出源地址,更新或加入交换表;再取出目的地址,若有对应项则向指定接口转发,若没有则向所有其他接口转发,若目的接口与进入接口相同则丢弃。
速记
交换机:看源地址学习,看目的地址转发。
更短:
源来学表,目的查表;查到单发,查不到泛洪,同口丢弃。
CRC 循环冗余检验就是数据链路层用来检查传输中有没有比特错误的方法。课件例子里就是把原始数据后面加上 CRC 冗余码,组成帧发送;接收方再检查余数是否为 0。
一句话理解
CRC = 发送方算一个“检错码”放到数据后面,接收方再算一遍,看有没有出错。
发送方怎么做
假设:
原始数据:M 除数:P P 有 n+1 位,那么 CRC 冗余码就是 n 位
步骤:
-
在原始数据 M 后面补 n 个 0
-
用补 0 后的数据除以 P,做模 2 除法
-
得到的余数 R 就是 CRC 冗余码
-
把 R 加到原始数据后面发送
也就是:
发送数据 = 原始数据 + CRC 冗余码
接收方怎么做
接收方收到数据后:
用收到的整个数据 ÷ 同一个除数 P
如果:
余数 = 0,认为没有检测到差错,接受。 余数 ≠ 0,说明有差错,丢弃。
模 2 除法是什么意思
模 2 运算里:
不进位,不借位。
所以减法其实就是异或 XOR:
| 运算 | 结果 |
|---|---|
| 0 - 0 | 0 |
| 1 - 1 | 0 |
| 1 - 0 | 1 |
| 0 - 1 | 1 |
简单记:
相同得 0,不同得 1。
例题
原始数据:
M = 101001
除数:
P = 1101
P 是 4 位,所以 CRC 冗余码是:
4 - 1 = 3 位
先在 M 后面补 3 个 0:
101001000
然后用它除以 1101,得到余数:
001
所以发送的数据是:
101001001
考试速记
CRC 是检错方法,FCS 是算出来放在帧尾的检错码。
发送方:补 0 → 模 2 除 → 余数拼后面。 接收方:整体再除 → 余数为 0 接受,否则丢弃。
CSMA/CD 是什么
CSMA/CD = Carrier Sense Multiple Access with Collision Detection 中文:载波监听多点接入 / 碰撞检测。课件里说它用于以太网,目的是减少共享信道上的冲突。
拆开理解
| 部分 | 中文 | 意思 |
|---|---|---|
| CS | 载波监听 | 发送前先听信道忙不忙 |
| MA | 多点接入 | 多台计算机共用一条总线 |
| CD | 碰撞检测 | 边发送边检测有没有冲突 |
工作过程
-
先听:发送前监听信道。
-
空闲就发:如果信道空闲,就开始发送。
-
边发边听:发送过程中继续检测是否发生碰撞。
-
撞了就停:一旦检测到碰撞,立即停止发送。
-
随机等待:等待一段随机时间后重新发送。
通俗理解
像一群人在一条对讲频道里说话:
大家说话前先听听有没有人在说。 没人说,自己就开始说。 如果两个人同时开口,就“撞了”。 撞了以后两个人都停下来,随机等一会儿再说。
考试速记
CSMA/CD:先听后发,边发边听,冲突停发,随机重发。
注意: 现在交换式以太网、全双工通信中基本不再需要 CSMA/CD;10G 以太网只工作在全双工方式,没有争用问题,不使用 CSMA/CD。
二进制指数退避算法就是: 以太网发生碰撞后,不是马上重发,而是随机等一段时间再发;碰撞次数越多,随机等待范围越大。
它用于 CSMA/CD 中的碰撞后重传。课件里说:发生碰撞的站停止发送后,要退避一个随机时间再发送;基本退避时间是 2τ,也就是争用期/碰撞窗口。
怎么算
公式:
重传时延 = r × 基本退避时间
其中:
基本退避时间 = 2τ = 51.2 μs r 从 [0, 1, …, 2ᵏ - 1] 中随机选 k = Min[重传次数, 10]
也就是说:
| 第几次碰撞/重传 | k | r 的取值范围 |
|---|---|---|
| 第 1 次 | 1 | 0~1 |
| 第 2 次 | 2 | 0~3 |
| 第 3 次 | 3 | 0~7 |
| 第 4 次 | 4 | 0~15 |
| …… | …… | …… |
| 第 10 次及以后 | 10 | 0~1023 |
注意: 不是每次只加 1,而是范围按 2ᵏ 扩大。 到第 10 次后,k 保持 10 不再增大。 重传达到 16 次还不成功,就丢弃该帧并向高层报告。
例题
第 3 次碰撞后重传:
k = 3 r 从 0~7 中随机选。
假设随机选到 r = 5:
重传时延 = 5 × 51.2 μs = 256 μs
速记
撞了先停,随机等;越撞越久,第 10 次封顶,第 16 次放弃。
以太网最短帧长 = 64 字节 = 512 bit。
为什么要规定最短帧长?
因为以太网使用 CSMA/CD,发送站必须在发送过程中还能检测到碰撞。以太网的争用期是端到端往返时延 2τ,具体为 51.2 μs;只有经过争用期还没检测到碰撞,才能确认本次发送不会碰撞。
在传统 10 Mbit/s 以太网中:
最短帧长 = 10 Mbit/s × 51.2 μs = 512 bit = 64 字节
所以如果帧太短,发送方可能已经发完了,碰撞信号还没传回来,就检测不到冲突了。
速记
以太网最短帧长:64B。 目的:保证发送端在发完之前能检测到碰撞。
注意:以太网 MAC 帧最小值为 64 字节,课件里也明确标出这一点。
MAC 地址
MAC 地址 = 数据链路层使用的硬件地址 / 物理地址。
它通常固化在网卡 ROM 中,用来在局域网内识别一个网络接口。课件里说,IEEE 802 标准规定局域网使用一种 48 位全球地址,也就是 MAC 地址。
48 位 / 6 字节怎么来的
因为:
1 字节 = 8 位
所以:
6 字节 = 6 × 8 = 48 位
也就是:
MAC 地址 = 48 bit = 6 B
MAC 地址长什么样
常写成 6 组十六进制数:
00-15-C5-C6-CC-07
每组是 1 字节,也就是 8 位。
所以:
00 | 15 | C5 | C6 | CC | 07 一共 6 组 = 6 字节 = 48 位
MAC 地址怎么分
48 位 MAC 地址分成两部分:
| 部分 | 长度 | 含义 |
|---|---|---|
| 前 3 字节 / 高 24 位 | OUI | 厂商标识 |
| 后 3 字节 / 低 24 位 | 扩展标识符 | 厂商自己分配 |
课件里也说,IEEE 注册管理机构给厂家分配前 3 字节,厂家自行指派后 3 字节,并保证地址不重复。
和 IP 地址区别
MAC 地址:数据链路层用,放在 MAC 帧首部。 IP 地址:网络层用,放在 IP 数据报首部。
速记
MAC:48 位,6 字节,网卡地址,局域网用。 前 3 字节看厂家,后 3 字节厂家编。
VLAN 是什么
VLAN = Virtual LAN,虚拟局域网。
简单说:
VLAN 就是在交换机上,把一个大的局域网逻辑上分成几个小局域网。
课件定义里说,VLAN 是由一些局域网网段构成的、与物理位置无关的逻辑组;每个 VLAN 的帧都有明确标识符,用来说明它属于哪个 VLAN。
VLAN 的作用
最重要作用:
划分广播域。
一个 VLAN 就是一个广播域。 不同 VLAN 之间默认不能直接收到彼此的广播信息。课件里也说,VLAN1、VLAN2、VLAN3 是三个不同的广播域。
比如:
研发部一个 VLAN,市场部一个 VLAN。 研发部发广播,市场部不会收到。
这样可以:
减少广播风暴,提高性能。 隔离不同部门,提高安全性。 逻辑分组,方便管理。
课件总结的 VLAN 优点是:改善性能、简化管理、降低成本、改善安全性。
划分 VLAN 的方法
常见方法有:
| 划分方法 | 简单理解 |
|---|---|
| 基于交换机端口 | 插在某些端口的设备属于同一 VLAN |
| 基于 MAC 地址 | 根据网卡 MAC 地址划分 |
| 基于协议类型 | 根据帧中协议类型划分 |
| 基于 IP 子网 | 根据 IP 子网划分 |
| 基于高层应用/服务 | 根据应用类型划分 |
其中基于交换机端口最简单、最常用。
考试速记
VLAN:虚拟局域网,逻辑划分广播域。 作用:隔离广播、减少广播风暴、提高安全性、方便管理。 一个 VLAN = 一个广播域。
ARP = Address Resolution Protocol,地址解析协议。
简单说:
ARP 是用来根据 IP 地址找到 MAC 地址的协议。
因为通信时:
网络层看 IP 地址 数据链路层真正发帧时要用 MAC 地址
所以主机要先问一句:
“谁是这个 IP?请把你的 MAC 地址告诉我。”
例子
A 想给 B 发数据:
B 的 IP:192.168.1.8
但 A 不知道 B 的 MAC 地址。
于是 A 发送 ARP 请求广播:
谁是 192.168.1.8?请告诉我你的 MAC 地址。
同一局域网里的主机都会收到,但只有 B 会回答:
我是 192.168.1.8,我的 MAC 地址是 XX-XX-XX-XX-XX-XX。
然后 A 就能把数据帧发给 B 了。
重点记忆
ARP:IP 地址 → MAC 地址。 ARP 请求是广播。 ARP 响应通常是单播。 ARP 只在同一局域网 / 同一广播域内工作。
课件也把 ARP 放在 IPv4 配套协议中,用来完成 IP 地址与硬件地址之间的解析。
第4章:网络层
IP 地址点分十进制就是把 32 位二进制 IP 地址分成 4 组,每组 8 位,再把每组转换成十进制,中间用点隔开。课件例子也是这样:32 位 IP 地址按每 8 位一组,转换成点分十进制,如 128.11.3.31。
例子
二进制 IP:
10000000 00001011 00000011 00011111每 8 位转换成十进制:
10000000 = 12800001011 = 1100000011 = 300011111 = 31所以点分十进制是:
128.11.3.31速记
IP 地址 = 32 位 = 4 字节 = 4 组十进制数。 每组范围:0~255。
可以,这版把为什么从 1 开始、为什么没有 127、哪些不能用都写进去。
A/B/C/D/E 类地址整理版
| 类别 | 第一个数范围 | 普通地址范围 | 用途/说明 |
|---|---|---|---|
| A 类 | 1~126 | 1.0.0.0 ~ 126.255.255.255 | 大型网络 |
| B 类 | 128~191 | 128.0.0.0 ~ 191.255.255.255 | 中型网络 |
| C 类 | 192~223 | 192.0.0.0 ~ 223.255.255.255 | 小型网络 |
| D 类 | 224~239 | 224.0.0.0 ~ 239.255.255.255 | 多播地址 |
| E 类 | 240~255 | 240.0.0.0 ~ 255.255.255.255 | 保留地址 |
PPT 里强调:A 类网络号 0 和 127 保留,不指派;D 类是多播地址;E 类保留以后使用。
为什么 A 类从 1 开始?
因为 0.x.x.x 被保留。
例如:
0.0.0.00.1.2.3这类地址中的网络号为 0,表示本网络,不是普通可分配地址。
所以 A 类普通可用范围不从 0 开始,而是从:
1.0.0.0开始。
为什么没有 127?
因为 127.x.x.x 是本地环回测试地址。
最常见的是:
127.0.0.1它表示本机自己,常用来测试本机 TCP/IP 协议是否正常。
所以:
127.0.0.0 ~ 127.255.255.255这一段不分配给普通网络。
因此 A 类可指派网络号是:
1 ~ 126不是 0~127。
A/B/C 类网络号和主机号
| 类别 | 网络号 | 主机号 | 每个网络最大主机数 |
|---|---|---|---|
| A 类 | 1 字节 | 3 字节 | 2²⁴ - 2 |
| B 类 | 2 字节 | 2 字节 | 2¹⁶ - 2 |
| C 类 | 3 字节 | 1 字节 | 2⁸ - 2 |
为什么主机数要 减 2?
因为:
主机号全 0:表示网络地址 主机号全 1:表示广播地址
这两个不能分配给普通主机。
举例
10.1.2.3第一个数是 10,属于 A 类。
127.0.0.1虽然看起来像 A 类范围,但 127 是环回地址,不能当普通 A 类地址。
172.16.1.1第一个数是 172,属于 B 类。
192.168.1.1第一个数是 192,属于 C 类。
224.0.0.1第一个数是 224,属于 D 类,多播地址。
最终速记
A 类:1~126,0 保留,127 环回。 B 类:128~191。 C 类:192~223。 D 类:224~239,多播。 E 类:240~255,保留。
CIDR 无分类编址
CIDR = Classless Inter-Domain Routing 中文:无分类域间路由选择 / 无分类编址。
简单说:
CIDR 不再死按 A/B/C 类分地址,而是用“网络前缀长度”来划分网络。 课件里说,CIDR 消除了传统 A、B、C 类地址以及划分子网的概念,用网络前缀更加灵活地分配 IPv4 地址。
1. CIDR 写法
CIDR 常写成:
IP地址 / 前缀长度比如:
192.168.1.0/24意思是:
前 24 位是网络前缀,后 8 位是主机号。
因为 IP 地址一共 32 位:
32 - 24 = 8所以主机号有 8 位。
2. CIDR 的地址结构
传统分类地址是:
IP 地址 = 网络号 + 主机号CIDR 是:
IP 地址 = 网络前缀 + 主机号最大区别:
网络前缀长度可以自己指定,不再固定为 A 类 8 位、B 类 16 位、C 类 24 位。
3. 例子
192.168.1.0/24表示前 24 位固定,后 8 位可变。
地址范围大概是:
192.168.1.0 ~ 192.168.1.255一共有:
2⁸ = 256 个地址可分配给主机的一般是:
256 - 2 = 254 个因为:
主机号全 0 是网络地址 主机号全 1 是广播地址
4. 再看一个例子
192.168.1.0/26前 26 位是网络前缀,后面主机号位数是:
32 - 26 = 6 位地址总数:
2⁶ = 64 个可用主机数:
64 - 2 = 62 个5. 子网掩码对应
| CIDR | 子网掩码 | 地址数量 |
|---|---|---|
| /24 | 255.255.255.0 | 256 个 |
| /25 | 255.255.255.128 | 128 个 |
| /26 | 255.255.255.192 | 64 个 |
| /27 | 255.255.255.224 | 32 个 |
| /28 | 255.255.255.240 | 16 个 |
考试速记
CIDR:不看 A/B/C 类,看斜线后面的前缀长度。
/n 表示前 n 位是网络前缀。
主机位数 = 32 - n
地址总数 = 2^(32-n)
可用主机数一般 = 2^(32-n) - 2
一句话记忆
CIDR 就是用“/数字”灵活划分网络,数字越大,网络越小,主机越少。
下面给你重新整理成最容易考试用的一版。 你这里的 IRP 大概率是想说 RIP 协议,不是 IRP。
1. RIP 协议是啥?
RIP = Routing Information Protocol,路由信息协议。
它是一种路由选择协议,用于路由器之间交换路由信息。PPT 里说 RIP 是常用的内部网关协议,属于自治系统内部的路由选择协议。
简单记:
RIP:路由器之间互相告诉“我到哪些网络有多远”。
2. RIP 用的啥技术?
RIP 用的是:
距离向量算法 / 距离向量路由选择协议
它的“距离”就是:
跳数
经过一个路由器,跳数就加 1。
比如:
A → B → E距离是 2。
A → C → D → E距离是 3。
所以 RIP 会选距离短的:
A → B → EPPT 里也说,RIP 中好路由就是“距离短”的路由,最佳路由就是“距离最短”的路由;最大距离为 16 时表示不可达。
3. RIP 的工作特点
RIP 有三个重点:
| 特点 | 意思 |
|---|---|
| 只和相邻路由器交换信息 | 不直接和所有路由器说话 |
| 交换自己的整个路由表 | 把自己知道的路由告诉邻居 |
| 定期交换 | 通常每隔一段时间交换一次 |
PPT 里写 RIP 只和相邻路由器交换信息,交换的是自己当前知道的全部信息,即自己的路由表,并按固定时间间隔交换。
4. 路由器工作原理
路由器的核心工作是:
存储转发分组。
收到一个分组后:
暂存分组↓检查分组首部↓查找转发表↓找到输出接口↓转发出去PPT 里说,路由器负责转发分组,要创建和动态维护转发表;处理分组时要暂存分组、检查首部、查找转发表,再按目的地址从合适接口转发。
最后考场版
RIP 是路由信息协议,属于内部网关协议,采用距离向量算法,以跳数作为距离度量,选择跳数最少的路径。路由器的基本工作原理是存储转发:收到分组后暂存,检查首部,根据目的地址查找转发表,然后从合适接口转发出去。
速记:
RIP:看跳数,跳数少就走。 路由器:收包、查表、转发。
一、地址块、地址掩码、网络号、网络地址
1. 地址块
地址块 = 一段连续的 IP 地址。
比如:
192.168.1.64/26它表示一整段地址:
192.168.1.64 ~ 192.168.1.127所以:
地址块就是一个网络中包含的所有 IP 地址。
2. 地址掩码
地址掩码 = 用来区分网络位和主机位。
掩码中:
1 表示网络位 0 表示主机位
比如:
/26意思是:
前 26 位是网络位,后 6 位是主机位。
它对应的地址掩码是:
255.255.255.192课件里说,地址掩码由连续的 1 和连续的 0 组成,1 的个数就是网络前缀长度。
3. 网络号
网络号 = IP 地址中表示“属于哪个网络”的部分。
比如:
192.168.1.66/24/24 表示前三段是网络部分,所以:
192.168.1可以理解成网络号部分。
简单记:
网络号是 IP 地址中用来标识网络的那一段。
4. 网络地址
网络地址 = 主机位全为 0 的地址。
它表示整个网络本身,不能分配给普通主机。
比如:
192.168.1.66/24/24 表示最后 8 位是主机位,把主机位变成 0:
192.168.1.0所以网络地址是:
192.168.1.0简单记:
网络地址 = 地址块的第一个地址。
二、子网划分
1. 子网划分是什么
子网划分 = 把一个大网络切成几个小网络。
比如原来有一个大网段:
192.168.1.0/24它有 256 个地址:
192.168.1.0 ~ 192.168.1.255如果划成 /26,就会变成 4 个小子网。
2. 子网划分的本质
从主机位里借几位出来,作为子网位。
原来 /24:
前 24 位是网络位,后 8 位是主机位划成 /26:
前 26 位是网络位,后 6 位是主机位也就是说:
/24 变 /26,借了 2 位所以子网个数是:
2² = 4 个子网3. 每个子网有多少地址
公式:
每个子网地址数 = 2^主机位数如果是 /26:
主机位 = 32 - 26 = 6 位所以每个子网有:
2⁶ = 64 个地址因为最后一段一共是 0~255,也就是 256 个地址。
每个子网 64 个地址:
256 ÷ 64 = 4 个子网所以按 64 分组:
0 ~ 6364 ~ 127128 ~ 191192 ~ 255三、完整例题
题目:
192.168.1.66/26求地址掩码、地址块、网络地址、广播地址、可用主机地址。
第一步:看 /26
主机位 = 32 - 26 = 6 位每个子网地址数:
2⁶ = 64 个地址所以最后一段按 64 分组:
0 ~ 6364 ~ 127128 ~ 191192 ~ 25566 落在:
64 ~ 127所以它属于这个地址块:
192.168.1.64 ~ 192.168.1.127答案
| 项目 | 答案 |
|---|---|
| IP 地址 | 192.168.1.66/26 |
| 地址掩码 | 255.255.255.192 |
| 地址块 | 192.168.1.64 ~ 192.168.1.127 |
| 网络地址 | 192.168.1.64 |
| 广播地址 | 192.168.1.127 |
| 可用主机地址 | 192.168.1.65 ~ 192.168.1.126 |
最后速记版
地址块:一段连续 IP 地址。 地址掩码:区分网络位和主机位。 网络号:IP 中表示网络的部分。 网络地址:主机位全 0,是地址块第一个地址。 子网划分:从主机位借位,把大网络切成小网络。 借 n 位,得到 2ⁿ 个子网。 剩 m 位主机位,每个子网有 2ᵐ 个地址,可用主机数一般是 2ᵐ - 2。
构造超网是什么
构造超网 = 把多个连续的小网络合并成一个更大的网络。
也叫:
路由聚合 / 地址聚合
课件里说,CIDR 地址块有时称为“构造超网”,因为它可以把多个 C 类地址聚合成一个更大的地址块。
和子网划分相反
| 概念 | 作用 | 前缀变化 |
|---|---|---|
| 子网划分 | 大网络切成小网络 | 前缀变长 |
| 构造超网 | 小网络合成大网络 | 前缀变短 |
比如:
子网划分:/24 → /26 表示网络变小。
构造超网:多个 /24 → /20 表示网络变大。
例子
有 16 个连续的 C 类网络:
192.24.0.0/24192.24.1.0/24192.24.2.0/24...192.24.15.0/24可以聚合成:
192.24.0.0/20原来路由表里要写 16 条:
192.24.0.0/24192.24.1.0/24...192.24.15.0/24现在只需要写 1 条:
192.24.0.0/20这样可以减少路由表项目,提高路由效率。
为什么是 /20?
每个 /24 有:
2^(32-24) = 256 个地址16 个 /24 一共有:
16 × 256 = 4096 个地址4096 = 2¹²
说明主机位需要 12 位。
所以前缀长度是:
32 - 12 = 20因此聚合后是:
192.24.0.0/20考试速记
构造超网:把多个连续小网合并成一个大网。 作用:路由聚合,减少路由表项。 特点:前缀变短,地址块变大。 子网划分是切小,构造超网是合大。
ARP 协议
ARP = Address Resolution Protocol,地址解析协议。
一句话:
ARP 用来把 IP 地址解析成 MAC 地址。 也就是:已知对方 IP,查对方 MAC。 PPT 里把 ARP 列为 IPv4 配套协议之一,用来配合 IP 工作。
为什么需要 ARP?
因为发送数据时有两种地址:
| 地址 | 所在层 | 作用 |
|---|---|---|
| IP 地址 | 网络层 | 找到目标主机在哪个网络 |
| MAC 地址 | 数据链路层 | 在局域网内真正发送帧 |
主机要发数据,最后在局域网里必须知道对方的 MAC 地址,所以要用 ARP 查询。
ARP 工作过程
比如 A 要给 B 发数据。
A 知道 B 的 IP:
192.168.1.8但不知道 B 的 MAC 地址。
于是 A 发送 ARP 请求广播:
谁是 192.168.1.8?请告诉我你的 MAC 地址。同一局域网内所有主机都能收到。
只有 B 会回复:
我是 192.168.1.8,我的 MAC 地址是 XX-XX-XX-XX-XX-XX。然后 A 就可以把数据帧发给 B 了。
重点考点
| 内容 | 结论 |
|---|---|
| ARP 作用 | IP 地址 → MAC 地址 |
| ARP 请求 | 广播 |
| ARP 响应 | 单播 |
| 工作范围 | 同一局域网 / 同一广播域 |
| VLAN 影响 | 不同 VLAN 默认不能收到彼此 ARP 广播 |
考试速记
ARP:IP 找 MAC。 请求广播,响应单播。 只在同一广播域内工作。
核心结论
IP 地址:端到端基本不变。 从源主机到目的主机,IP 数据报里的:
源 IP = 发送主机 IP 目的 IP = 接收主机 IP
一般转发过程中不变。
MAC 地址:每经过一段链路都会变化。 因为 MAC 地址只负责当前这一跳的数据链路层传输。课件里也强调,IP 地址放在 IP 数据报首部,MAC 地址放在 MAC 帧首部。
举例
主机 A 要给主机 B 发数据,中间经过两个路由器:
A → R1 → R2 → B假设:
A 的 IP:IP_A B 的 IP:IP_B R1 左接口 MAC:MAC_R1 R2 左接口 MAC:MAC_R2 B 的 MAC:MAC_B
每一跳地址变化
| 传输阶段 | 源 IP | 目的 IP | 源 MAC | 目的 MAC |
|---|---|---|---|---|
| A → R1 | IP_A | IP_B | MAC_A | MAC_R1 |
| R1 → R2 | IP_A | IP_B | MAC_R1 | MAC_R2 |
| R2 → B | IP_A | IP_B | MAC_R2 | MAC_B |
可以看到:
IP 地址一直是 IP_A 到 IP_B。 MAC 地址每一跳都换。
为什么 MAC 地址会变?
因为路由器每转发一次,会把原来的链路层帧拆掉,取出里面的 IP 数据报。
然后路由器根据目的 IP 查路由表,决定下一跳是谁,再重新封装一个新的 MAC 帧。
所以:
IP 数据报继续往前走。 MAC 帧每一段链路重新封装。
ARP 在这里的作用
如果主机或路由器不知道下一跳的 MAC 地址,就用 ARP 查询。
比如 A 要发给 R1,但不知道 R1 的 MAC 地址:
A 用 ARP:已知 R1 的 IP,查询 R1 的 MAC。
查到后,A 才能封装成帧发出去。
考试速记
IP 地址管全程,MAC 地址管一跳。 IP 地址一般不变,MAC 地址逐跳改变。 路由器转发时,拆掉旧帧,重新封装新帧。
这三个都在网络层附近考,简单整理如下。
| 名词 | 中文 | 作用 | 速记 |
|---|---|---|---|
| RIP | 路由信息协议 | 在自治系统内部选择路由 | 按“跳数”选路,简单 |
| OSPF | 开放最短路径优先 | 在自治系统内部选择路由 | 按链路状态算最短路,收敛快 |
| VPN | 虚拟专用网 | 在公用互联网中构造像专线一样的专用网络 | 公网上建“加密隧道” |
1. RIP
RIP = Routing Information Protocol,路由信息协议。
它是一种内部网关协议 IGP,用于一个自治系统 AS 内部。PPT 里说,RIP 是一种分布式的、基于距离向量的路由选择协议,最大优点是简单。
RIP 的“距离”就是跳数:
每经过一个路由器,跳数 +1。
特点:
简单,但适合小型网络。 以跳数作为度量。 跳数越少,路径越优。
速记:
RIP:看跳数,跳数少就选。
2. OSPF
OSPF = Open Shortest Path First,开放最短路径优先。
它也是内部网关协议 IGP,用于自治系统内部。和 RIP 不同,OSPF 属于链路状态协议,不是简单看跳数。PPT 里也把 RIP 归为距离向量,把 OSPF 归为链路状态。
特点:
收敛速度快。 适合较大规模网络。 可以把自治系统划分成区域 area,减少通信量。 支持 CIDR 和可变长度子网划分。
速记:
OSPF:看全图,算最短路,适合大网。
3. VPN
VPN = Virtual Private Network,虚拟专用网。
PPT 里说,VPN 是利用公用互联网作为本机构各专用网之间的通信载体;“虚拟”表示没有真正使用通信专线,但效果上像专用网。
简单理解:
公司有两个校区/分公司,中间不拉专线,而是通过互联网连接。为了安全,把数据加密,并通过隧道技术传输。
作用:
让不同地点的内部网络安全互连。 让远程员工像在公司内网一样访问内部资源。 通过加密保护数据。
PPT 里还提到 VPN 类型包括内联网 VPN、外联网 VPN、远程接入 VPN。
速记:
VPN:公网走,隧道包,加密传,像专线。
最后考试版
RIP 是内部网关协议,基于距离向量,以跳数作为度量,优点是简单。 OSPF 是内部网关协议,基于链路状态,采用最短路径优先算法,收敛快,适合大型网络。 VPN 是虚拟专用网,利用公用互联网和隧道技术,把不同地点的专用网安全连接起来,效果上像专用网络。
1. 私有地址
私有地址 = 内网里自己用的 IP 地址。
它不能直接在公网互联网中使用,常见于:
家里 WiFi、学校机房、公司内网。
常见私有地址范围:
| 地址块 | 范围 |
|---|---|
| 10.0.0.0/8 | 10.0.0.0 ~ 10.255.255.255 |
| 172.16.0.0/12 | 172.16.0.0 ~ 172.31.255.255 |
| 192.168.0.0/16 | 192.168.0.0 ~ 192.168.255.255 |
PPT 里也列了这三段专用地址块。
速记:
10 开头,172.16 到 172.31,192.168 开头。
2. NAT 地址转换
NAT = Network Address Translation,网络地址转换。
作用:
把内网私有 IP 转换成公网 IP,让内网主机能够访问互联网。
比如你家里:
| 设备 | 私有地址 |
|---|---|
| 手机 | 192.168.1.2 |
| 电脑 | 192.168.1.3 |
| 平板 | 192.168.1.4 |
它们不能直接用这些私有地址上公网,所以经过路由器时,路由器会把它们转换成同一个公网 IP。
3. 通俗例子
你家所有设备上网:
手机 192.168.1.2电脑 192.168.1.3平板 192.168.1.4 ↓家用路由器 NAT ↓公网 IP:58.20.30.40外面的服务器看到的不是你手机的 192.168.1.2,而是你家路由器的公网 IP。
4. 考试版
私有地址是在机构内部使用的 IP 地址,不能直接在公网中路由。常见私有地址块有 10.0.0.0/8、172.16.0.0/12、192.168.0.0/16。
NAT 是网络地址转换技术,用来把内部私有地址转换成合法公网地址,使多个内网主机可以共享少量公网 IP 地址访问互联网。
速记
私有地址:内网用。 NAT:私网 IP 换公网 IP。
第5章:运输层
端口号是什么
端口号 = 用来标识一台主机中的某个应用进程。
因为一台电脑上可能同时运行很多程序:
浏览器、QQ、微信、邮箱、游戏……
数据到了这台主机后,运输层要知道:
这个数据该交给哪个程序?
这就要靠端口号。课件里说,端口是运输层用来标识本机应用层各进程的抽象终点。
IP 地址和端口号的区别
| 名称 | 作用 |
|---|---|
| IP 地址 | 找到哪一台主机 |
| 端口号 | 找到这台主机上的哪个应用进程 |
比如:
192.168.1.10:80意思是:
192.168.1.10 这台主机上的 80 端口。
端口号长度
端口号是 16 位。
所以范围是:
0 ~ 65535端口号分类
| 类型 | 范围 | 用途 |
|---|---|---|
| 熟知端口 | 0~1023 | 常见服务器程序使用 |
| 登记端口 | 1024~49151 | 给一些应用登记使用 |
| 短暂端口 | 49152~65535 | 客户端临时使用 |
常见熟知端口
| 协议 | 端口号 |
|---|---|
| HTTP | 80 |
| HTTPS | 443 |
| FTP | 21 / 20 |
| TELNET | 23 |
| SMTP | 25 |
| DNS | 53 |
| DHCP | 67 / 68 |
速记
IP 找主机,端口找进程。 端口号 16 位,范围 0~65535。 HTTP 80,HTTPS 443,DNS 53,FTP 21。
对,套接字 socket = IP 地址 : 端口号。课件里也写:socket = (IP地址 : 端口号),TCP 连接由通信两端的两个 socket 唯一确定。
简单理解
IP 地址:找到哪台主机 端口号:找到这台主机上的哪个进程 socket:找到某台主机上的某个具体进程
比如:
192.168.1.10:80意思是:
IP 为 192.168.1.10 的主机上的 80 端口。
TCP 连接怎么表示
一条 TCP 连接需要两个端点:
TCP连接 = {源socket, 目的socket}例如:
客户端:192.168.1.5:50000服务器:39.156.66.10:80那么这条 TCP 连接就是:
{192.168.1.5:50000, 39.156.66.10:80}速记
IP 找主机,端口找进程,socket 找具体通信端点。
UDP 特点
UDP:简单、快,但不可靠。
| 特点 | 含义 |
|---|---|
| 无连接 | 发送前不需要建立连接 |
| 不可靠交付 | 不保证数据一定到达 |
| 面向报文 | 应用层交多少,UDP 就一次发多少 |
| 没有拥塞控制 | 网络拥塞时不会主动降低发送速率 |
| 支持一对一、一对多、多对多 | 适合广播、多媒体等 |
| 首部小 | UDP 首部只有 8 字节 |
课件里总结:UDP 无连接、尽最大努力交付、面向报文、没有拥塞控制、首部开销小。
TCP 特点
TCP:可靠、稳定,但开销大。
| 特点 | 含义 |
|---|---|
| 面向连接 | 传数据前要先建立连接 |
| 可靠交付 | 保证数据正确、按序到达 |
| 点对点 | 一条 TCP 连接只有两个端点 |
| 全双工通信 | 双方可以同时发送和接收 |
| 面向字节流 | 把数据看成连续的字节流 |
| 有流量控制和拥塞控制 | 防止接收方来不及收、网络太拥塞 |
课件里说 TCP 是面向连接的运输层协议,提供可靠交付服务、全双工通信,并且面向字节流。
速记
UDP:无连接,不可靠,速度快。 TCP:有连接,可靠,开销大。
停止等待协议
停止等待协议 = 发送方每发送一个分组,就停下来等待确认 ACK,收到确认后再发送下一个分组。
课件里也是这样定义的:每发送完一个分组就停止发送,等待对方确认,收到确认后再发送下一个分组。
工作过程
比如 A 给 B 发数据:
-
A 发送分组 M1
-
A 停止发送,等待 B 的确认
-
B 收到 M1 后,返回 ACK1
-
A 收到 ACK1 后,再发送 M2
-
继续重复这个过程
简单理解:
发一个,等一个;确认了,再发下一个。
如果分组丢了怎么办?
如果 A 发出的 M1 丢了,B 收不到,就不会发 ACK。
A 等了一段时间还没收到 ACK,就认为出错了,于是:
超时重传 M1
所以停止等待协议需要:
超时计时器 + 重传机制
如果 ACK 丢了怎么办?
B 已经收到 M1,也发了 ACK,但 ACK 在路上丢了。
A 没收到 ACK,就会超时重传 M1。
这时 B 会发现:
这个 M1 我已经收过了,是重复分组。
所以 B 会:
丢弃重复的 M1,再重新发送 ACK。
为什么需要编号?
因为可能出现重复分组。
所以分组和确认都要编号,方便接收方判断:
这个分组是新的,还是重复的。
优缺点
| 项目 | 内容 |
|---|---|
| 优点 | 简单,容易实现 |
| 缺点 | 信道利用率低,效率不高 |
因为发送方发完一个分组后,必须等确认,等待期间不能继续发。
考试速记版
停止等待协议是可靠传输协议的一种。发送方每发送一个分组就停止发送,等待接收方确认;若在规定时间内收到确认,就继续发送下一个分组;若超时未收到确认,就重传该分组。为避免重复接收,需要对分组和确认进行编号。
口诀
发一个,等确认;没确认,就重传;怕重复,要编号。
这几个是 TCP 可靠传输里连在一起的知识点。
1. 可靠传输
可靠传输 = 保证数据正确、按序、不重复地交给接收方。
TCP 为了可靠,主要靠:
序号、确认 ACK、超时重传、滑动窗口。
简单记:
丢了能重传,乱了能排序,重复能丢掉。
2. 滑动窗口
滑动窗口 = 允许发送方不必发一个等一个,可以连续发送一批数据。
课件里说,TCP 使用流水线传输和滑动窗口协议实现高效、可靠传输,发送方和接收方分别维护发送窗口和接收窗口。
简单理解:
停止等待协议:
发 1 个 → 等确认 → 再发下一个滑动窗口:
可以先连续发多个 → 收到确认后窗口向前滑动所以滑动窗口提高了效率。
3. 流量控制
流量控制 = 控制发送方别发太快,防止接收方来不及接收。
谁决定?
接收方决定。
接收方会告诉发送方:
我的接收窗口 rwnd 还有多大如果接收方缓存快满了,就把接收窗口调小; 如果接收方缓存满了,就可以通知:
rwnd = 0意思是:
你先别发了。
课件定义:流量控制就是让发送方发送速率不要太快,使接收方来得及接收。
4. 拥塞控制
拥塞控制 = 控制发送方别把网络塞爆。
谁决定?
网络状况决定。
TCP 发送方维护一个:
拥塞窗口 cwnd如果网络正常,cwnd 可以增大; 如果出现超时或重复 ACK,说明可能拥塞,就减小 cwnd。课件里说,拥塞窗口大小取决于网络拥塞程度,并且动态变化。
简单记:
流量控制怕接收方撑不住。 拥塞控制怕网络撑不住。
5. 发送窗口公式
真正能发送多少,不能只看接收方,也不能只看网络,要取两者较小值:
发送窗口 = min(接收窗口 rwnd, 拥塞窗口 cwnd)课件里也写:发送窗口上限值 = Min[rwnd, cwnd]。
意思是:
| 情况 | 谁限制发送 |
|---|---|
| rwnd < cwnd | 接收方能力限制发送 |
| cwnd < rwnd | 网络拥塞限制发送 |
考试速记版
可靠传输:靠序号、确认、重传、滑动窗口保证数据可靠到达。 滑动窗口:允许连续发送多个数据,提高传输效率。 流量控制:防止发送太快使接收方来不及接收,看接收窗口 rwnd。 拥塞控制:防止发送太快造成网络拥塞,看拥塞窗口 cwnd。 发送窗口 = min(rwnd, cwnd)。
这四个是 TCP 拥塞控制算法。PPT 里也列出:慢开始、拥塞避免、快重传、快恢复;TCP 发送方用拥塞窗口 cwnd 根据网络拥塞情况动态调整发送量。
先记两个量
| 名词 | 含义 |
|---|---|
cwnd | 拥塞窗口,表示发送方根据网络情况允许自己发多少 |
ssthresh | 慢开始门限,用来判断什么时候从慢开始进入拥塞避免 |
1. 慢开始
慢开始不是一直慢,而是从小窗口开始,指数增大。
刚开始网络情况未知,TCP 不敢一下子发太多,所以:
cwnd = 1然后每经过一个 RTT,拥塞窗口大约翻倍:
1 → 2 → 4 → 8 → 16直到:
cwnd ≥ ssthresh就进入拥塞避免。PPT 流程图里也写慢开始初始 cwnd = 1,按指数规律增大。
速记:
慢开始:从 1 开始,指数增长。
2. 拥塞避免
拥塞避免 = 增长变慢,线性增大。
进入拥塞避免后,TCP 觉得网络可能快拥塞了,所以不再翻倍增长,而是慢慢加:
16 → 17 → 18 → 19大约每个 RTT 增加 1。
速记:
拥塞避免:线性增长,慢慢试探。
3. 快重传
快重传 = 不等超时,收到 3 个重复 ACK 就立刻重传丢失的报文段。
正常情况下,丢包要等超时才重传。
但如果发送方连续收到 3 个重复 ACK,说明中间可能有一个报文段丢了。
于是发送方:
马上重传丢失的报文段,不等超时。
PPT 里说,收到 3 个重复确认预示网络可能会出现拥塞。
速记:
快重传:3 个重复 ACK,马上重传。
4. 快恢复
快恢复 = 收到 3 个重复 ACK 后,不回到 cwnd = 1,而是把窗口减半后继续拥塞避免。
因为收到 3 个重复 ACK,说明网络还没有完全瘫痪,只是可能丢了个包。
所以不用重新慢开始,而是:
ssthresh = cwnd / 2cwnd = ssthresh然后进入拥塞避免,线性增长。PPT 中快恢复算法也是:收到连续三个重复确认时,ssthresh = 当前 cwnd / 2,新的 cwnd = ssthresh,然后执行拥塞避免。
速记:
快恢复:窗口减半,不从 1 开始。
如果是超时怎么办?
超时比 3 个重复 ACK 更严重,认为网络已经拥塞。
一般处理:
ssthresh = cwnd / 2cwnd = 1重新慢开始速记:
超时:严重拥塞,cwnd 变 1。 3 个重复 ACK:轻一点,cwnd 减半。
总结表
| 算法 | 触发/阶段 | cwnd 怎么变 |
|---|---|---|
| 慢开始 | 刚开始或超时后 | 从 1 开始,指数增长 |
| 拥塞避免 | cwnd ≥ ssthresh | 线性增长 |
| 快重传 | 收到 3 个重复 ACK | 立即重传丢失报文段 |
| 快恢复 | 快重传后 | ssthresh = cwnd/2,cwnd = ssthresh,然后拥塞避免 |
最后口诀
慢开始:指数涨。 拥塞避免:线性涨。 快重传:三 ACK,立刻传。 快恢复:减一半,不归一。
第六章
DNS 域名解析原理
DNS 的作用:把域名解析成 IP 地址。
比如你访问:
www.baidu.com计算机真正通信不能直接靠这个名字,而是要先找到它对应的 IP 地址。PPT 里也说 DNS 用来把人们使用的机器名字转换为 IP 地址。
DNS 解析涉及的服务器
| 服务器 | 作用 |
|---|---|
| 本地域名服务器 | 主机最先询问的 DNS 服务器 |
| 根域名服务器 | 告诉你该去问哪个顶级域名服务器 |
| 顶级域名服务器 | 比如 .com、.cn、.edu |
| 权限域名服务器 | 真正保存某个域名和 IP 地址对应关系的服务器 |
工作过程
以访问:
www.example.com为例。
第 1 步:主机问本地域名服务器
你的电脑先问本地域名服务器:
www.example.com 的 IP 地址是多少?如果本地域名服务器缓存里有答案,就直接返回。
第 2 步:本地域名服务器问根域名服务器
如果本地域名服务器不知道,它就去问根域名服务器。
根域名服务器通常不直接告诉最终 IP,而是告诉它:
你去问 .com 顶级域名服务器。第 3 步:问顶级域名服务器
本地域名服务器再去问 .com 顶级域名服务器。
.com 服务器会告诉它:
你去问 example.com 的权限域名服务器。第 4 步:问权限域名服务器
本地域名服务器再去问 example.com 的权限域名服务器。
权限域名服务器返回:
www.example.com 的 IP 地址是 x.x.x.x第 5 步:返回给主机
本地域名服务器把查到的 IP 地址返回给你的电脑。
然后你的电脑才能真正访问这个网站。
递归查询和迭代查询
这个很容易考。
| 查询方式 | 谁常用 | 含义 |
|---|---|---|
| 递归查询 | 主机 → 本地域名服务器 | 你必须帮我查到最终结果 |
| 迭代查询 | 本地域名服务器 → 根/顶级/权限服务器 | 你告诉我下一步该问谁 |
简单记:
主机问本地:递归查询。 本地问外面:迭代查询。
高速缓存
DNS 服务器会把最近查过的域名和 IP 地址存起来。
作用:
减少查询次数,提高解析速度,减轻根域名服务器负担。
比如你第一次访问 www.baidu.com 要查 DNS,第二次再访问时,可能直接从缓存里拿结果。
考试可写版
DNS 是域名系统,用来把域名解析为 IP 地址。主机首先向本地域名服务器发出查询请求,若本地域名服务器不能直接回答,就依次向根域名服务器、顶级域名服务器和权限域名服务器查询,最终获得该域名对应的 IP 地址,并返回给主机。主机向本地域名服务器通常采用递归查询,本地域名服务器向其他域名服务器通常采用迭代查询。DNS 还使用高速缓存来提高查询效率、减轻服务器负担。
速记
DNS:域名找 IP。 主机问本地,本地问根,根指顶级,顶级指权限,权限给 IP。
万维网 WWW 是什么
WWW = World Wide Web,万维网。
它不是一种新的网络,也不是互联网本身,而是互联网上的一种应用服务。PPT 里说:万维网是一个大规模的、联机式的信息储藏所,并非某种特殊的计算机网络。
简单理解:
互联网是路,万维网是路上跑的网页服务。
万维网主要干什么
万维网让用户可以通过浏览器访问网页。
比如你打开:
www.baidu.com浏览器就会向服务器请求网页,服务器把网页内容返回给你。
所以万维网采用的是:
客户/服务器方式 C/S
| 角色 | 对应 |
|---|---|
| 客户 | 浏览器 |
| 服务器 | Web 服务器 |
| 资源 | 网页、图片、视频、文件等 |
万维网靠三个核心东西工作
| 名称 | 作用 | 记忆 |
|---|---|---|
| URL | 标识资源的位置 | 去哪里找 |
| HTTP | 浏览器和服务器通信的协议 | 怎么传 |
| HTML | 编写和显示网页的语言 | 显示什么 |
1. URL
URL = 统一资源定位符。
作用:
指出互联网上某个资源在哪里。
比如:
https://www.example.com/index.html它告诉浏览器:
去 www.example.com 这个服务器上找 index.html 这个网页。
2. HTTP
HTTP = 超文本传送协议。
作用:
浏览器和 Web 服务器之间传送网页内容。
过程很简单:
浏览器发送 HTTP 请求服务器返回 HTTP 响应浏览器显示网页比如你访问网页,本质上就是浏览器说:
“我要这个页面。”
服务器回答:
“给你。”
3. HTML
HTML = 超文本标记语言。
作用:
描述网页内容和结构。
比如网页上的标题、段落、图片、链接,都是用 HTML 组织出来的。
万维网工作过程
以访问网页为例:
1. 用户在浏览器输入网址2. DNS 把域名解析成 IP 地址3. 浏览器用 HTTP 向 Web 服务器发送请求4. 服务器返回网页文件5. 浏览器解析 HTML 并显示页面考试可写版
万维网 WWW 是一个大规模的、联机式的信息储藏所,并不是一种特殊的计算机网络。它采用客户/服务器方式工作,客户程序是浏览器,服务器程序是 Web 服务器。万维网通过 URL 标识互联网上的资源,使用 HTTP 实现浏览器和服务器之间的通信,并使用 HTML 描述和显示网页内容。
速记
WWW:浏览器访问网页。 URL 找资源,HTTP 传网页,HTML 显示网页。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!





