网络层
一、理解网络层的核心功能
物理层处理信号传输,数据链路层处理局域网内的帧传输。但为什么还需要网络层呢?

要理解网络层的必要性,我们可以用**“快递运输”**的生活场景类比,并结合一个实际通信案例来拆解三层分工:
1.三层分工的“快递类比”
| 层级 | 类比角色 | 核心任务 |
|---|---|---|
| 物理层 | 卡车 + 公路/铁路 | 负责“信号传输”:比如网线的电信号、Wi-Fi的无线电波(类似卡车在道路上运输货物)。 |
| 数据链路层 | 本地仓库内部分拣 | 负责“局域网内的帧传输”:比如你家路由器下的手机和电脑互传文件(类似仓库内部的包裹分拣)。 |
| 网络层 | 全国快递的寻址与中转 | 负责“跨网络的数据包转发”:比如从你家(网络A)给北京的朋友(网络B)寄快递,需要全国物流网络的寻址和中转(类似IP地址和路由器的路由功能)。 |
2.实际案例:手机在咖啡店访问公司服务器
假设你在咖啡店的Wi-Fi(网络A)中,用手机访问公司的OA系统服务器(网络B),数据传输过程如下:
- 物理层:手机的Wi-Fi模块将电信号转为无线电波,通过空气传输到咖啡店路由器(类似卡车把快递从你家运到本地快递站)。
- 数据链路层:咖啡店路由器的链路层将数据封装成“以太网帧”(局域网内的帧),在咖啡店的小网络里传输(类似本地快递站内部的包裹分拣)。
- 网络层的关键作用:
- 当数据包到达咖啡店路由器的出口时,数据链路层的“帧”无法直接跨越互联网到达公司网络(因为帧是“局域网内的地址”,出了咖啡店网络就失效了)。
- 此时,网络层通过IP地址(类似快递的“收件人全国地址”)确定目标服务器的位置,并指导路由器将数据包转发到下一个网络节点(比如运营商的骨干网路由器)。
- 经过多个路由器的“接力转发”(网络层的路由功能),数据包最终到达公司路由器,再通过公司的局域网(数据链路层)传给OA服务器。
3.网络层的核心功能
如果没有网络层,不同局域网之间的设备将无法通信(比如你在咖啡店永远连不上公司服务器)。网络层的核心功能是解决“跨网络通信”的问题,具体包括:
-
IP寻址:给每个设备分配“跨网络的唯一地址”
- 类似快递的“收件人姓名+电话+详细地址”,IP地址(如
192.168.1.5或2001:db8::1)标识了设备在整个互联网中的位置,而非局限于某个局域网。 - 例子:你的手机在咖啡店的IP是
192.168.3.10(局域网内),但对外的公网IP可能是223.123.45.67(网络层通过NAT转换后的地址),公司服务器的公网IP是114.25.67.89——只有通过IP地址,数据包才能在互联网中定位到目标。
- 类似快递的“收件人姓名+电话+详细地址”,IP地址(如
-
路由选择:指导数据包“跨越网络的转发路径”
- 类似快递的“中转路线规划”,路由器通过路由协议(如OSPF、BGP)计算出“从源网络到目标网络的最佳路径”,并将数据包逐跳转发。
- 例子:咖啡店的数据包要到公司服务器,可能需要经过“咖啡店路由器→运营商路由器A→运营商路由器B→公司路由器”,每一步都由网络层的路由功能决定。
-
异构网络互联:让不同类型的网络协同工作
- 互联网由无数不同的局域网、广域网组成(比如以太网、Wi-Fi、4G/5G、卫星网络),网络层通过IP协议“统一封装”数据,屏蔽了底层网络的差异。
- 例子:你的手机通过Wi-Fi(链路层协议)发数据,公司服务器通过以太网(链路层协议)收数据,网络层的IP包能在两种链路中透明传输。
4.一句话总结
物理层和数据链路层解决了“本地网络内的信号和帧传输”,但网络层通过IP寻址、路由选择和异构网络互联,实现了“全球范围内的跨网络通信”——这正是互联网能连接全世界的核心原因。
二、网络层的相关设备
核心设备:
路由器:基于IP地址转发数据包,实现路由选择;支持NAT、ACL等功能
三层交换机:结合交换机的高速数据交换和路由器的IP路由功能。支持VLAN间路由
防火墙:根据IP地址、端口号等规则允许或阻断流量,跟踪连接状态,这部分可能会设计传输层,但核心功能仍以网络层为基础
三、IP协议与报文结构
1. IP地址基础
IP地址是网络中设备的唯一标识,用于跨网络定位和通信。目前主流的是IPv4(32位)和IPv6(128位),以下以IPv4为核心展开(IPv6后续单独说明)。
(1)IPv4地址的表示形式
IPv4地址是32位二进制数,为了便于人类阅读,通常拆分为4个8位(1字节)的二进制段,每段转换为十进制后用“.”连接,称为“点分十进制”。
- 二进制:
11000000.10101000.00000001.01100100 - 点分十进制:
192.168.1.100(每段范围0-255,因为8位二进制最大为255)
(2)子网与子网掩码
一个IP地址由“网络位”和“主机位”两部分组成:
- 网络位:标识设备所在的网络(类似“街道地址”);
- 主机位:标识网络内的具体设备(类似“门牌号”)。
子网掩码是一个32位的二进制数,用于区分IP地址的网络位和主机位:
- 子网掩码中“1”对应的IP地址位为网络位;
- 子网掩码中“0”对应的IP地址位为主机位。
例如:
- IP地址:
192.168.1.100(二进制:11000000.10101000.00000001.01100100) - 子网掩码:
255.255.255.0(二进制:11111111.11111111.11111111.00000000) - 网络位:前24位(子网掩码前24位为1),主机位:后8位(子网掩码后8位为0)。
(3)子网容纳设备数计算
子网中可容纳的有效设备数由“主机位数量”决定:
- 公式:
有效设备数 = 2^n - 2(n为主机位位数)- 减2的原因:排除“网络地址”(主机位全为0,标识整个网络)和“广播地址”(主机位全为1,用于向网络内所有设备发送消息)。
(4)IP地址换算示例
以下通过3个典型例子,演示IP地址、子网掩码的二进制转换,以及网络地址、广播地址、可用IP范围的计算。
示例1:基础子网(掩码255.255.255.0)
已知:IP地址 192.168.1.100,子网掩码 255.255.255.0
步骤1:转换为二进制
- IP:
11000000.10101000.00000001.01100100 - 掩码:
11111111.11111111.11111111.00000000
步骤2:确定网络位和主机位
- 网络位:前24位(掩码前24位为1)
- 主机位:后8位(掩码后8位为0)
步骤3:计算网络地址(主机位全为0)
- 网络地址:
11000000.10101000.00000001.00000000→192.168.1.0
步骤4:计算广播地址(主机位全为1)
- 广播地址:
11000000.10101000.00000001.11111111→192.168.1.255
步骤5:计算可用IP范围和设备数
- 可用IP:网络地址+1 到 广播地址-1 →
192.168.1.1~192.168.1.254 - 设备数:
2^8 - 2 = 254(符合公式)
示例2:较大子网(掩码255.255.0.0)
已知:IP地址 10.0.5.88,子网掩码 255.255.0.0
步骤1:二进制转换
- IP:
00001010.00000000.00000101.01011000 - 掩码:
11111111.11111111.00000000.00000000
步骤2:网络位和主机位
- 网络位:前16位,主机位:后16位
步骤3:网络地址
- 主机位全为0 →
00001010.00000000.00000000.00000000→10.0.0.0
步骤4:广播地址
- 主机位全为1 →
00001010.00000000.11111111.11111111→10.0.255.255
步骤5:可用范围和设备数
- 可用IP:
10.0.0.1~10.0.255.254 - 设备数:
2^16 - 2 = 65534
示例3:子网划分(将大网络拆分为小网络)
需求:将 192.168.1.0/24(默认掩码255.255.255.0,24位网络位)划分为4个小子网,每个子网需容纳至少50台设备。
步骤1:确定所需主机位
- 需容纳50台设备 → 满足
2^n - 2 ≥ 50→ n=6(2^6-2=62 ≥50),即主机位需6位。
步骤2:计算网络位和子网掩码
- 原网络位24位,主机位8位;
- 划分4个子网需借用主机位:
2^m ≥4→ m=2(借2位主机位作为子网位); - 新网络位:24+2=26位,新主机位:8-2=6位;
- 子网掩码:前26位为1 → 二进制
11111111.11111111.11111111.11000000→ 十进制255.255.255.192。
步骤3:计算4个子网的范围
-
子网1:网络位26位,子网位00
- 网络地址:
192.168.1.0(主机位000000) - 广播地址:
192.168.1.63(主机位111111) - 可用IP:
192.168.1.1~192.168.1.62(62台设备)
- 网络地址:
-
子网2:子网位01
- 网络地址:
192.168.1.64 - 广播地址:
192.168.1.127 - 可用IP:
192.168.1.65~192.168.1.126
- 网络地址:
-
子网3:子网位10
- 网络地址:
192.168.1.128 - 广播地址:
192.168.1.191 - 可用IP:
192.168.1.129~192.168.1.190
- 网络地址:
-
子网4:子网位11
- 网络地址:
192.168.1.192 - 广播地址:
192.168.1.255 - 可用IP:
192.168.1.193~192.168.1.254
- 网络地址:
2. IPv4协议
(1)IPv4报文结构(重点字段)
IPv4报文由“首部”和“数据”两部分组成,首部固定20字节(可选字段最多40字节),包含以下核心字段:
| 字段 | 长度 | 作用说明 |
|---|---|---|
| 版本(Version) | 4位 | 标识IP版本(IPv4为4,IPv6为6),确保接收方按对应版本解析报文。 |
| 首部长度 | 4位 | 单位为32位(4字节),表示首部总长度(如值为5 → 5×4=20字节,无可选字段)。 |
| TTL(生存时间) | 8位 | 限制数据包传输跳数(每经过1个路由器减1,到0则丢弃并返回ICMP超时消息),防止数据包无限循环。 |
| 协议(Protocol) | 8位 | 标识上层协议(6=TCP,17=UDP,1=ICMP),告知接收方如何处理后续数据。 |
| 源IP地址 | 32位 | 发送方IP地址(如192.168.1.1)。 |
| 目的IP地址 | 32位 | 接收方IP地址(如10.0.0.2)。 |
(2)地址分配方式
-
静态分配:手动在设备上配置IP地址、子网掩码、网关等参数(如服务器、路由器)。 优点:地址固定,便于管理;缺点:需手动维护,适合小规模网络。
-
动态分配:通过DHCP(动态主机配置协议)自动分配。 流程:
- 客户端发送“DHCP发现”广播(寻找DHCP服务器);
- 服务器回复“DHCP提供”(分配IP、掩码、租期等);
- 客户端发送“DHCP请求”(确认使用该IP);
- 服务器回复“DHCP确认”(正式分配)。 优点:自动管理,减少人工操作;缺点:IP可能动态变化(如家用电脑每次联网IP可能不同)。
(3)分片与重组
当IP数据包大小超过链路的“最大传输单元(MTU)”时,会被拆分为多个“分片”传输,到达目标后重组为完整数据包。
- MTU:链路层规定的最大帧大小(如以太网MTU为1500字节,PPP链路可能为576字节)。
- 分片示例:
一个2000字节的IP包(首部20字节,数据1980字节)通过以太网(MTU=1500)传输:
- 分片1:首部20字节 + 数据1480字节(总1500字节);
- 分片2:首部20字节 + 数据500字节(总520字节); 每个分片包含“标识”(同一数据包的分片标识相同)、“标志”(是否最后一个分片)、“片偏移”(分片在原数据中的位置),目标端据此重组。
3. IPv6协议
(1)地址结构与表示
IPv6地址是128位二进制数,分为8个16位段,用冒号“:”分隔,每个段用十六进制表示(0-9、A-F),例如:
- 完整形式:
2001:0db8:85a3:0000:0000:8a2e:0370:7334 - 简化规则:
- 前导零可省略(如
0db8→db8); - 连续的零段可用“::”代替(仅一次),如上述地址可简化为
2001:db8:85a3::8a2e:370:7334。
- 前导零可省略(如
(2)优势与不足
-
优势:
- 地址空间极大(
2^128个地址,解决IPv4地址枯竭问题); - 内置安全性(支持IPsec加密和认证);
- 自动配置(无需DHCP,设备可自动生成全球唯一地址);
- 简化首部(固定40字节,无分片字段,提高转发效率)。
- 地址空间极大(
-
不足:
- 与IPv4不兼容(需过渡技术);
- 部署成本高(设备、应用需升级支持)。
(3)IPv4到IPv6的迁移技术
- 双栈技术:设备同时支持IPv4和IPv6协议栈,根据目标地址自动选择协议(如电脑同时配置IPv4和IPv6地址)。
- 隧道技术:将IPv6数据包封装在IPv4包中传输(适用于IPv4网络中传输IPv6数据),如“6to4隧道”“ISATAP隧道”。
- NAT64:通过转换服务器实现IPv6与IPv4地址映射(如IPv6主机访问IPv4服务器时,NAT64将IPv6地址转换为IPv4地址)。
四、网络层其他协议
1. ICMP(网际控制报文协议)
ICMP是IP协议的辅助协议,用于在IP网络中传递控制消息(如诊断、错误报告),不用于传输用户数据。
(1)核心功能
- 网络诊断:测试主机连通性、路径跟踪;
- 错误报告:当数据包传输异常时,向源端反馈错误原因。
(2)常见应用
-
ping命令:测试主机间连通性。 原理:
- 源主机发送ICMP“回显请求”报文(含随机数据);
- 目标主机收到后,返回ICMP“回显应答”报文(携带相同数据);
- 若源主机收到应答,说明连通正常,同时计算往返时间(RTT)。
示例:
ping www.baidu.com→ 输出是否可达及响应时间。
-
traceroute命令(Windows为tracert):跟踪数据包从源到目标的传输路径。 原理:
- 源主机向目标发送一系列TTL递增的数据包(初始TTL=1);
- 第1个路由器收到TTL=1的包,TTL减为0后丢弃,返回ICMP“超时”消息(包含路由器IP);
- 源主机递增TTL(=2),重复步骤,直到数据包到达目标,目标返回“端口不可达”消息;
- 收集所有中间路由器IP,形成完整路径。
示例:
tracert www.baidu.com→ 输出经过的每一跳路由器IP及响应时间。
(3)常见ICMP错误报文
- 目标不可达(Type=3):如“网络不可达”(子网掩码错误)、“主机不可达”(目标主机未开机)、“端口不可达”(目标端口未开放)。
- 超时(Type=11):数据包TTL减为0时,路由器返回此消息(traceroute依赖该报文)。
2. ARP(地址解析协议)
ARP用于局域网内将IP地址转换为MAC地址(数据链路层的物理地址),因为局域网内通信依赖MAC地址而非IP地址。
(1)工作流程(以主机A向主机B发送数据为例)
- 主机A已知主机B的IP地址(如
192.168.1.2),但不知道其MAC地址,先查本地“ARP缓存表”(存储IP与MAC的映射); - 若缓存中无记录,主机A发送ARP请求广播(MAC地址为
FF:FF:FF:FF:FF:FF,局域网内所有设备均可接收):“谁的IP是192.168.1.2?请回复你的MAC地址到192.168.1.1(主机A的IP)”; - 主机B收到广播后,发现目标IP是自己,发送ARP应答单播给主机A:“我的IP是192.168.1.2,MAC地址是
00:11:22:33:44:55”; - 主机A收到应答后,将IP与MAC的映射存入ARP缓存(老化时间约15-300秒),后续通信直接使用MAC地址。
(2)ARP缓存查看
- Windows:
arp -a(查看所有缓存条目); - Linux/macOS:
arp -n。
五、实践技能目标
使用Fiddler、Wireshark等工具抓包分析IP报文:
- 过滤IP协议报文(如Wireshark中输入
ip); - 查看首部字段:版本(确认是IPv4/IPv6)、TTL(判断经过的路由器数量)、源/目的IP(定位通信双方);
- 分析ICMP报文:ping时的“回显请求/应答”,traceroute时的“超时”报文。
通过以上内容,可系统掌握IP协议的核心概念、地址换算、报文结构及相关辅助协议的工作原理,结合示例和实践能更深入理解网络层的通信机制。

Some information may be outdated