前言
网络层是 TCP/IP 四层模型中承上启下的核心层级,负责在跨网段的复杂互联网络中为数据包选择传输路径,实现端到端的主机通信。本文将系统梳理 IP 协议格式、网段划分机制、NAT 地址转换与路由基本原理,搭配示图片、表格与命令实例辅助理解。
IP协议
一、基础认知
1.1 职能
网络层的核心作用是在复杂的网络拓扑中,确定数据包从源主机到目的主机的最优传输路径。
数据链路层负责单跳内的直连通信,而网络层实现跨多个网段的端到端通信。
1.2 基本概念
-
主机:配置 IP 地址,具备基础路由控制能力的终端设备
-
路由器:同时配置 IP 地址,且具备专业路由转发能力的网络设备
-
节点:网络中主机与路由器的统称
二、IP 协议报文
IP是网络层的核心协议,IPv4 版本的报文由头部和数据两部分组成。其中固定头部长度为 20 字节,可通过选项字段扩展至最多 60 字节。
2.1 头部结构
下图为 IPv4 报文头部的标准结构,直观展示了各字段的排布与长度:

2.2 头部字段
IPv4 头部各字段的长度与核心功能:
| 字段名称 | 长度 | 核心功能 |
|---|---|---|
| 版本号 | 4 | 标识 IP 协议版本,IPv4 取值固定为 4 |
| 头部长度 | 4 | 以 4 字节为单位,标识头部总长度;最大值 15 对应 60 字节,常规报文为 5 |
| 服务类型 | 8 | 4 位 TOS 字段可选择最小延时、最大吞吐量、最高可靠性、最小成本四种优先级,四者互斥 |
| 总长度 | 16 | 整个 IP 数据报(头部 + 数据)的总字节数,最大值为 65535 |
| 标识 | 16 | 唯一标识一份原始报文;同一报文的所有分片标识相同,用于接收端重组 |
| 标志 | 3 | 第 2 位为禁止分片位;第 3 位为更多分片位 |
| 片偏移 | 13 | 分片相对原始报文起始位置的偏移,实际字节数 = 该值 × 8;除最后一片外,其余分片长度必须是 8 的整数倍 |
| 生存时间 | 8 | 报文最大可经过的路由跳数,每经过一个路由器减 1,归零时丢弃报文,防止路由环路;默认初始值通常为 64 |
| 协议 | 8 | 标识上层承载的协议类型,如 TCP 对应 6、UDP 对应 17 |
| 头部校验和 | 16 | 基于 CRC 校验 IP 头部的完整性,检测传输损坏 |
| 源 IP 地址 | 32 | 发送端主机的 IP 地址 |
| 目的 IP 地址 | 32 | 接收端主机的 IP 地址 |
| 选项字段 | 0~320 | 可选扩展字段,最多 40 字节,用于特殊网络功能 |
2.3 核心机制
-
分片机制:当 IP 报文长度超过数据链路层的 MTU(最大传输单元)时,会被拆分为多个分片独立传输,到达目的主机后重组。
-
TTL 机制:通过跳数限制从根本上避免路由环路导致数据包在网络中无限循环。
三、网段划分
IPv4 地址是 32 位的二进制标识,通常写作点分十进制格式(如 192.168.1.1)。为实现分层寻址,IP 地址被划分为网络号 和主机号两部分:
-
网络号:标识不同的网段,相连的两个网段网络号必须不同
-
主机号:同一网段内的主机网络号相同,主机号唯一

3.1 早期方案
最初的 IP 地址采用固定分类的划分方式,共分为 A、B、C、D、E 五类,其中 A、B、C 类用于常规主机寻址:
| 地址类别 | 地址范围 | 网络号位数 | 主机号位数 | 单网可用主机数 |
|---|---|---|---|---|
| A 类 | 0.0.0.0 ~ 127.255.255.255 | 8 | 24 | 约 1677 万 |
| B 类 | 128.0.0.0 ~ 191.255.255.255 | 16 | 16 | 65534 |
| C 类 | 192.0.0.0 ~ 223.255.255.255 | 24 | 8 | 254 |
| D 类 | 224.0.0.0 ~ 239.255.255.255 | - | - | 多播专用地址 |
| E 类 | 240.0.0.0 ~ 247.255.255.255 | - | - | 保留备用 |

该方案的核心缺陷是地址利用率极低:多数组织申请 B 类地址但远用不完 6 万多个主机位,A 类地址则大量闲置。
3.2 无类别域间路由
为解决分类地址的浪费问题,提出了无类别域间路由(CIDR),引入子网掩码灵活划分网络号与主机号,不再受 A/B/C 类地址的固定边界限制。
(1)核心规则
-
子网掩码 :32 位二进制数,高位全 1、低位全 0;IP 地址与子网掩码执行按位与运算,得到的结果就是网络号。
-
简写格式:IP地址/前缀长度,前缀长度表示子网掩码中 1 的位数。例如192.168.1.10/24,对应子网掩码 255.255.255.0。
网络位与主机位的划分逻辑:

(2)计算示例
已知 IP 地址192.168.1.10,子网掩码255.255.255.0:
-
二者按位与运算,结果为192.168.1.0,即该网段的网络号
-
主机位为后 8 位,范围从全 0 到全 1,对应192.168.1.0 ~ 192.168.1.255
3.3 特殊 IP 地址
-
网络地址:主机号全为 0,代表整个局域网网段,不可分配给主机,如192.168.1.0/24
-
广播地址:主机号全为 1,用于向同一网段内所有主机发送数据包,不可分配给主机,如192.168.1.255/24
-
环回地址:127.*.*.*网段,用于本机内部通信测试,最常用127.0.0.1;发往该地址的数据包不会流出本机网卡。

四、IP 地址稀缺性
IPv4 仅 32 位,理论总量约 43 亿,扣除特殊地址、按网卡分配后,实际可承载的公网设备数量远低于全球互联网设备数。行业内主要通过三类方案缓解地址压力。
4.1 私有 IP 地址
RFC 1918 规定了三类私有 IP 地址段,仅用于局域网内部通信,不可直接在公网路由。不同局域网可复用同一段私有地址,大幅节省公网 IP 资源。
表格
| 私有地址段 | 前缀长度 | 地址总数 | 适用场景 |
|---|---|---|---|
| 10.0.0.0 ~ 10.255.255.255 | /8 | 16,777,216 | 大型企业内网 |
| 172.16.0.0 ~ 172.31.255.255 | /12 | 1,048,576 | 中型企业内网 |
| 192.168.0.0 ~ 192.168.255.255 | /16 | 65,536 | 家庭、小型办公网络 |
4.2 NAT 网络地址
NAT 是目前家用网络最核心的公网接入技术,让局域网内多台主机共享一个公网 IP 访问互联网。
(1)双 IP 结构
常用两个 IP:
-
WAN 口 IP:连接上级网络(运营商)的 IP,通常为公网 IP 或运营商内网 IP
-
LAN 口 IP:局域网网关 IP,即子网内主机的默认网关,通常为192.168.1.1
(2)工作原理
NAT 的地址转换完整流程:

-
内网主机向外网发送数据包,源 IP 为私有地址
-
路由器收到数据包后,将源 IP 替换为自身 WAN 口 IP,并记录端口与地址的映射关系
-
外网回包到达路由器后,根据映射记录将目的 IP 替换为对应内网主机的私有 IP
-
数据包转发至内网目标主机
4.3 补充方案
-
动态 IP 分配:设备接入网络时才分配 IP,断开后回收,提升 IP 利用率;家用路由器普遍集成 DHCP 服务器。
-
IPv6 协议:采用 128 位地址长度,从根本上解决地址稀缺问题;与 IPv4 不兼容,目前处于逐步普及阶段。
五、路由原理
路由的核心是为数据包选择传输路径,采用逐跳转发模式:每个节点只负责确定下一跳地址,数据包一步步传递最终抵达目的主机。
5.1 基本概念
-
一跳:数据链路层的一个传输区间,以太网中对应从源 MAC 地址到目的 MAC 地址的一次帧传输。
-
数据链路层负责单跳内的帧传输,IP 层负责跨网段的端到端通信。
数据包跨路由器的逐跳转发过程:

5.2 路由表
每个主机和路由器都维护一张路由表,记录不同目的网段对应的下一跳地址与转发接口。
Linux 系统可通过route -n命令查看本机路由表:
bash
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.10.1 0.0.0.0 UG 0 0 0 eth0
字段说明
-
Destination:目的网络地址
-
Gateway:下一跳网关地址,0.0.0.0表示该网段与本机直连,无需经过路由器
-
Genmask:目的网段的子网掩码
-
Iface:转发数据包使用的网络接口
-
Flags:U表示条目有效;G表示下一跳为路由器
5.3 实例
目的地址 202.10.1.2(跨网段转发)
-
依次匹配前三条路由条目,均未命中
-
匹配默认路由(0.0.0.0),从eth0接口转发至下一跳192.168.10.1
-
下一跳路由器继续根据自身路由表完成后续转发
5.4 路由表的生成方式
-
静态路由:由网络管理员手动配置,适用于拓扑固定的小型网络
-
动态路由:通过路由算法自动学习、更新路由表,常见算法包括距离向量算法、链路状态(LS)算法、Dijkstra 算法等,适用于大型复杂网络。
六、拓展
全球互联网的运行是多层主体协同的结果,从硬件基础设施到上层应用服务各有明确分工:
| 层级 | 参与主体 | 核心职责 |
|---|---|---|
| 物理基础设施 | 设备制造商、能源供应商 | 生产光缆、路由器等硬件设备;保障数据中心 7×24 小时供电 |
| 协议标准 | IETF、IEEE | 制定 TCP/IP、以太网等全球统一的网络协议标准 |
| 地址分配 | ICANN、区域注册机构(如 APNIC) | 负责全球 IP 地址、域名根的管理与区域分配 |
| 骨干网络 | Tier1 运营商、IXP 交换中心 | 建设跨洋骨干光缆,提供网络互联交换节点 |
| 接入服务 | ISP 运营商 | 部署光纤、5G 等接入网络,面向终端用户提供上网服务 |
| 监管合规 | 监管部门、安全机构 | 频谱资源分配、网络政策制定、安全事件应急响应 |
| 应用服务 | 云厂商、内容平台 | 提供云计算、CDN 加速、内容分发等上层服务 |
| 终端连接 | 终端设备厂商 | 实现网络协议栈与硬件适配,优化终端网络性能 |
总结
网络层是实现跨网络通信的核心枢纽:IP 协议提供了统一的寻址与报文标准,CIDR 与 NAT 技术在 IPv4 框架下大幅提升了地址利用率,路由表则是数据包逐跳转发的核心依据。理解这些基础原理,是深入学习网络协议、排查网络故障的重要前提。