Skip to content

第三章 网络层:IP 地址、子网与路由


1. 网络层为什么存在:从"一跳"到"全球"

上一章的链路层解决了"同一个局域网内怎么送帧",但它有个天花板:MAC 地址是纯粹的"身份证号",没有任何位置信息。知道对方 MAC 是 00-1A-2B-3C-4D-5E,完全推不出这台机器在北京还是纽约。如果全世界的交换机都要维护一张记录所有设备的 MAC 表,这张表会大到爆炸。

网络层的解决思路是给设备发一个带位置结构的地址——IP 地址。它像邮政地址"某省某市某街道某号":前半段说明你在哪个网络(网络号),后半段说明你是该网络里的哪台主机(主机号)。有了层次结构,中间的路由器只需要记住"去往某个网络往哪边走",而不必记住每一台主机。

一句大白话点透:MAC 地址是身份证,跟人走;IP 地址是门牌号,跟位置走。换个城市,身份证不变,门牌号必须换——这就是为什么手机换个 WiFi,IP 就变了,MAC 不变。

2. IPv4 地址:结构与分类

2.1 点分十进制

IPv4 地址共 32 位二进制,为了方便人读,每 8 位一组转成十进制,用点隔开,即点分十进制。例如:

11000000 10101000 00000001 01100100  →  192.168.1.100

每组 8 位的取值范围是 0~255。看到 192.168.1.256 这样的地址可以直接判定非法。

2.2 有类地址:A、B、C 类

早期的划分方法按第一个字节的取值把地址分成几类,网络号与主机号的分界是固定的:

类别第一字节范围网络号/主机号默认子网掩码每个网络可容纳主机数
A 类1~126前 8 位 / 后 24 位255.0.0.02²⁴ − 2 ≈ 1677 万
B 类128~191前 16 位 / 后 16 位255.255.0.02¹⁶ − 2 = 65534
C 类192~223前 24 位 / 后 8 位255.255.255.02⁸ − 2 = 254
D 类224~239组播地址,不分网络主机号
E 类240~255保留实验用

两个特殊角色:127 开头(如 127.0.0.1)是环回地址,用于本机测试,不属于 A 类可分配范围;主机号全 0 表示网络本身,全 1 表示该网络的广播地址,都不能分给主机——这就是表中"减 2"的原因。

2.3 无类 CIDR:斜杠记法

有类划分太僵硬:一个公司要 300 个地址,C 类不够、B 类浪费 6 万多个。**CIDR(无类域间路由)**废除固定分界,用"斜杠加数字"直接声明网络号有多少位,如 192.168.1.0/24 表示前 24 位是网络号。网络号可以是任意长度,想切多细切多细。现在的网络世界全面使用 CIDR,ABC 类主要活在考卷上。

2.4 必须认识的特殊地址

地址含义白话
127.0.0.1环回地址自己跟自己说话,测试本机协议栈
0.0.0.0本机/未指定地址"我还没有地址",DHCP 讨要 IP 时的源地址
255.255.255.255受限广播地址喊话本地网络所有设备,路由器不外传
主机号全 0网络地址代表整个网络,不能分给主机
主机号全 1定向广播地址喊话某网络的所有主机,不能分给主机
169.254.x.x链路本地地址DHCP 失败时系统自动配的"临时牌照"——看到它基本等于没连上网

3. 子网划分:考试必考的手算题

3.1 例题一:基础判定

3.2 例题二:给部门划子网

3.3 例题三:判断两台主机是否同网段

4. 私有地址与 NAT

5. ARP:从 IP 找到 MAC

6. ICMP:网络的"报错与探测"工具

7. 路由器怎么转发:最长前缀匹配

转发路上的两件杂务:TTL 与分片

8. 路由表从哪来:静态路由与动态路由协议

9. IPv6 要点

本章要点回顾

做题提醒