计算机网络 · 第 3 章

第 3 章 网络层与 IP 地址

IP 地址分类与私有地址、特殊地址;ARP 与 ICMP(ping、tracert 的原理);路由器与路由基础;IPv6 常识。

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 题)
  1. 192.168.10.6 属于哪一类地址?是私有地址吗? 答:第一段 192 在 192–223 之间,属 C 类;192.168 开头是私有地址。
  2. 10.1.2.3 是公网还是私有地址? 答:私有地址(10.0.0.0/8 段)。
  3. ping 127.0.0.1 通了说明什么? 答:说明本机 TCP/IP 协议栈工作正常。
  4. 主机号为全 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 题)
  1. ARP 请求报文是以什么方式发送的? 答:广播(不知道对方 MAC,只能在网段内广播询问);应答是单播。
  2. ping 命令基于什么协议?测的是什么? 答:ICMP;测试与目标主机的连通性和往返时延。
  3. tracert 是怎么发现每一跳的路由器的? 答:逐步增大 TTL 值发送探测包,让每一跳的路由器因 TTL 耗尽返回 ICMP 超时报文,从而逐个暴露路径。

3.4 路由器与 IP 数据报常识

IPv4 数据报首部结构
图 3-1 IPv4 首部:按位数比例画,TTL / 协议 / 分片三个字段是必考

知道路由器转发看什么、TTL 干什么用就够了。

  • 路由器逐跳转发:只负责"把包交给下一跳",不负责端到端可靠(那是传输层的事)。
  • 路由表的来源分两种:静态路由(管理员手工写死)、动态路由(路由器之间跑协议自动学习, 常见协议:RIP、OSPF、BGP——初级知道名字即可)。
  • TTL(生存时间):每个路由器转发时把 TTL 减 1,减到 0 就丢弃并回 ICMP 超时—— 防止包在环路里永远打转。
  • 分片:IP 包比链路能承载的最大帧还大时,会被切成分片传输。
课堂练习(2 题)
  1. TTL 的作用是什么? 答:限制分组在网络中的存活跳数,防止路由环路导致分组无限循环。
  2. 路由器的转发依据是什么?与交换机有什么本质区别? 答:依据路由表(IP 地址);交换机按 MAC 地址表工作在数据链路层,路由器按 IP 工作在网络层,能连接不同网段。

3.5 IPv6 常识

选择题常问"IPv6 多少位、为什么出现"。

IPv4IPv6
地址长度32 位128 位
写法点分十进制(4 段)冒号分隔十六进制(8 组 × 4 位十六进制)
出现原因地址即将耗尽解决地址枯竭 + 简化头部 + 更好支持安全和自动配置
记住
  • IPv6 是 128 位,地址空间是 IPv4 的 2⁹⁶ 倍。
  • IPv6 不用 NAT 也能"人人有公网地址";首部更简单,路由器处理更快。