3.1 网络层干什么
一句话:网络层管"从源主机到目的主机怎么走",核心是路由选择。
- 逻辑寻址——给每台主机一个全网唯一的 IP 地址(MAC 地址只在本链路有效,跨网就靠 IP)。
- 路由选择——路由器根据路由表为分组选择下一跳,一段一段接力把包送到目的地。
- 分组转发——把传输层交下来的报文段封装成"分组(包)",逐跳转发。
- 拥塞控制(辅助)——网络堵了,适当控制进入网络的分组数量。
网络层的协议家族(必背归属)
- IP——核心协议,负责寻址与转发。
- ARP——由 IP 地址找 MAC 地址("别人问你 IP,回答 MAC")。
- ICMP——差错与控制报文,ping 和 tracert 都基于它。
- IGMP——组播(多播)管理。
易错
- ARP 属于网络层协议(不是数据链路层!),但它的报文在链路层帧里传输。
- ping 命令用的是 ICMP,不是 TCP/UDP。
3.2 IP 地址:结构、分类与范围
IP 地址部分的每一张表都要背熟,这是"送分"部分。
IPv4 地址是 32 位二进制,写成"点分十进制"(每 8 位一段,共四段,每段 0~255),
例如 192.168.1.100。结构上分成两部分:网络号(网络位) + 主机号(主机位)。
网络号标识"你在哪个网段",主机号标识"你是这个网段里的哪台机器"。
| 类别 | 第一段范围 | 默认网络位 | 适用 |
|---|---|---|---|
| A 类 | 1 – 126 | 前 8 位 | 超大型网络(每个网段最多 1600 多万台主机) |
| B 类 | 128 – 191 | 前 16 位 | 中型网络 |
| C 类 | 192 – 223 | 前 24 位 | 小型网络(每个网段 254 台) |
| D 类 | 224 – 239 | — | 组播(多播)地址 |
| E 类 | 240 – 255 | — | 保留研究用 |
记忆口诀:1-126 / 128-191 / 192-223,127 留着当环回,224 以上是组播和保留。
特殊地址(必背)
127.0.0.1——环回地址,永远指向本机,ping 它通了说明本机协议栈正常。0.0.0.0——表示"本网络、本主机",常见于服务器监听所有网卡。255.255.255.255——受限广播地址,只在本网段广播。- 主机号全 0 = 网络地址(代表整个网段);主机号全 1 = 本网段的广播地址。
私有地址(内网专用,不路由到公网,必背)
- A 类里:
10.0.0.0 ~ 10.255.255.255(10.0.0.0/8) - B 类里:
172.16.0.0 ~ 172.31.255.255(172.16.0.0/12) - C 类里:
192.168.0.0 ~ 192.168.255.255(192.168.0.0/16)
易错
- 私有地址里 172 那段的起点是 172.16,不是 172.0.0.0,范围是 /12。
- A 类地址第一个字节最大到 126:127 是环回专用,不属于任何类的正常主机地址。
- "网络地址"和"广播地址"都不能分配给主机使用(第 4 章会反复用这条)。
课堂练习(4 题)
- 192.168.10.6 属于哪一类地址?是私有地址吗? 答:第一段 192 在 192–223 之间,属 C 类;192.168 开头是私有地址。
- 10.1.2.3 是公网还是私有地址? 答:私有地址(10.0.0.0/8 段)。
- ping 127.0.0.1 通了说明什么? 答:说明本机 TCP/IP 协议栈工作正常。
- 主机号为全 0 和全 1 的地址分别代表什么? 答:全 0 是网络地址(代表网段本身);全 1 是本网段的广播地址。
3.3 ARP 与 ICMP:两个天天在用的配角协议
ping、tracert 的原理题就从这里出。
ARP:IP → MAC 的翻译官
- 同网段通信时,数据帧需要目的主机的 MAC 地址;ARP 就负责"拿 IP 查 MAC"。
- 过程:先查本机 ARP 缓存;没有就在局域网内广播一句"谁是 192.168.1.5"; 目标主机单播回复自己的 MAC;本机把它记进缓存。
- ARP 请求是广播、ARP 应答是单播——这句常考。
ICMP:网络世界的"报错员和体检员"
- 作用:在 IP 网络中传递差错报告和控制信息(比如"目标不可达""超时")。
- ping——发 ICMP 回送请求、等回送应答,用来测试连通性和往返时延。
- tracert(traceroute)——逐跳把 TTL 设为 1、2、3……,利用每个路由器"TTL 减到 0 就回 ICMP 超时"的特性, 从而画出路径上的每一跳。所以"跟踪路由路径"靠的也是 ICMP。
课堂练习(3 题)
- ARP 请求报文是以什么方式发送的? 答:广播(不知道对方 MAC,只能在网段内广播询问);应答是单播。
- ping 命令基于什么协议?测的是什么? 答:ICMP;测试与目标主机的连通性和往返时延。
- tracert 是怎么发现每一跳的路由器的? 答:逐步增大 TTL 值发送探测包,让每一跳的路由器因 TTL 耗尽返回 ICMP 超时报文,从而逐个暴露路径。
3.4 路由器与 IP 数据报常识
知道路由器转发看什么、TTL 干什么用就够了。
- 路由器逐跳转发:只负责"把包交给下一跳",不负责端到端可靠(那是传输层的事)。
- 路由表的来源分两种:静态路由(管理员手工写死)、动态路由(路由器之间跑协议自动学习, 常见协议:RIP、OSPF、BGP——初级知道名字即可)。
- TTL(生存时间):每个路由器转发时把 TTL 减 1,减到 0 就丢弃并回 ICMP 超时—— 防止包在环路里永远打转。
- 分片:IP 包比链路能承载的最大帧还大时,会被切成分片传输。
课堂练习(2 题)
- TTL 的作用是什么? 答:限制分组在网络中的存活跳数,防止路由环路导致分组无限循环。
- 路由器的转发依据是什么?与交换机有什么本质区别? 答:依据路由表(IP 地址);交换机按 MAC 地址表工作在数据链路层,路由器按 IP 工作在网络层,能连接不同网段。
3.5 IPv6 常识
选择题常问"IPv6 多少位、为什么出现"。
| IPv4 | IPv6 | |
|---|---|---|
| 地址长度 | 32 位 | 128 位 |
| 写法 | 点分十进制(4 段) | 冒号分隔十六进制(8 组 × 4 位十六进制) |
| 出现原因 | 地址即将耗尽 | 解决地址枯竭 + 简化头部 + 更好支持安全和自动配置 |
记住
- IPv6 是 128 位,地址空间是 IPv4 的 2⁹⁶ 倍。
- IPv6 不用 NAT 也能"人人有公网地址";首部更简单,路由器处理更快。