网络层基础概念
网络层是 OSI 参考模型中的第三层,主要负责在不同网络之间传输数据包,实现端到端的通信。
1.1 异构网络互联:网络世界的”翻译官”
定义
定义是对概念、术语或对象含义的精确描述。理解定义是学习任何知识领域的基础,每个概念都有其明确的定义。
异构网络互联是指网络层能够连接不同类型、不同协议、不同技术的网络,使它们能够互相通信。就像不同国家的人需要翻译才能交流一样,不同网络需要网络层来”翻译”。
为什么需要异构互联?
现实世界中存在各种各样的网络:
| 网络类型 | 特点 | 应用场景 |
|---|---|---|
| 以太网 | 有线、高速、成本低 | 家庭、办公室局域网 |
| WiFi | 无线、灵活、移动性强 | 家庭、公共场所 |
| 光纤网络 | 超高速、长距离、高成本 | 骨干网、数据中心 |
| 移动网络 | 4G/5G、广覆盖、移动性 | 手机上网 |
| 卫星网络 | 全球覆盖、高延迟、高成本 | 航海、偏远地区 |
这些网络就像不同的”语言”,无法直接通信。网络层通过统一的 IP 协议,实现”语言互通”。
IP 协议:网络的”普通话”
IP 协议的作用就像普通话让不同方言的人能够交流:
- 🔹 统一地址格式:每个设备都有唯一的 IP 地址
- 🔹 统一数据格式:所有网络都使用 IP 数据包
- 🔹 统一转发规则:路由器按 IP 地址转发数据
实际例子:
- 你的手机用 WiFi(无线网络)
- 服务器在数据中心(光纤网络)
- 中间经过骨干网(光纤 + 卫星)
- 它们都能通信,因为都使用 IP 协议
异构互联的关键技术
1. 地址转换
不同网络使用不同的地址格式:
- 以太网:MAC 地址(48位,如:00:1A:2B:3C:4D:5E)
- IP 网络:IP 地址(32位IPv4或128位IPv6)
- 电话网:电话号码
网络层通过 ARP 协议实现地址转换:
IP 地址 → ARP 协议 → MAC 地址,例如:192.168.1.1 → 查询 → 00:1A:2B:3C:4D:5E。
2. 数据封装
不同网络的数据格式不同,网络层统一封装:
就像快递包裹:
- 内部是货物(原始数据)
- 外面是快递盒(IP数据包)
- 再外面是运输箱(以太网帧)
- 根据运输方式不同换不同的箱子
3. 协议转换
网络层实现不同协议间的转换:
- TCP/IP ↔ IPX/SPX
- IPv4 ↔ IPv6
- 有线 ↔ 无线
1.2 路由与分组转发:数据包的”导航系统”
定义
定义是对概念、术语或对象含义的精确描述。理解定义是学习任何知识领域的基础,每个概念都有其明确的定义。
路由选择是为数据包选择从源到目的地的最佳路径的过程。就像导航软件为你规划最佳路线。
路由选择的原理
类比导航软件:
| 导航功能 | 网络层对应 |
|---|---|
| 规划路线 | 路由算法(RIP、OSPF) |
| 选择道路 | 选择路由器路径 |
| 避开拥堵 | 避开拥塞节点 |
| 更新路况 | 更新路由表 |
| 多条路线 | 多路径路由 |
路由选择过程:
分组转发的机制
定义
定义是对概念、术语或对象含义的精确描述。理解定义是学习任何知识领域的基础,每个概念都有其明确的定义。
分组转发是将数据包从一个路由器转发到下一个路由器,逐步到达目的地。就像快递从发货地经过多个中转站到达目的地。
转发过程示例:
假设你要从北京发快递到广州:
| 节点 | 你的电脑 | 北京路由器 | 石家庄路由器 | 武汉路由器 | 广州服务器 |
|---|---|---|---|---|---|
| 快递类比 | 北京发货站 | 石家庄中转站 | 武汉中转站 | — | 广州收货站 |
| IP 地址 | 192.168.1.10 | 10.1.1.1 | 10.2.2.2 | 10.3.3.3 | 172.16.1.100 |
数据包从你的电脑出发,依次经过北京 → 石家庄 → 武汉路由器,最终到达广州服务器。
每个路由器的转发过程:
- 接收数据包
- 提取目的 IP 地址
- 查询路由表
- 选择下一跳路由器
- 封装数据包
- 发送到下一跳
路由表的结构
路由器维护路由表,记录网络拓扑信息:
| 目的网络 | 下一跳 | 接口 | 优先级 |
|---|---|---|---|
| 192.168.1.0/24 | 直接连接 | eth0 | 0 |
| 10.0.0.0/8 | 10.1.1.1 | eth1 | 1 |
| 172.16.0.0/16 | 172.16.1.1 | eth2 | 2 |
| 0.0.0.0/0 | 192.168.1.1 | eth0 | 3(默认路由) |
路由表的含义:
- 目的网络:要到达的网络地址
- 下一跳:下一个路由器的地址
- 接口:从哪个端口发出
- 优先级:多条路径时选择优先级高的
1.3 拥塞控制:网络交通的”指挥官”
定义
定义是对概念、术语或对象含义的精确描述。理解定义是学习任何知识领域的基础,每个概念都有其明确的定义。
拥塞控制是防止网络因过载而性能下降的机制。就像交通指挥官防止交通拥堵。
拥塞的原因
类比交通拥堵:
| 网络拥塞 | 交通拥堵 |
|---|---|
| 数据包太多 | 车辆太多 |
| 路由器处理不过来 | 路口通行能力有限 |
| 缓冲区溢出 | 停车场满了 |
| 丢包 | 车辆滞留 |
| 传输延迟增加 | 通行时间增加 |
拥塞的表现:
- 📉 传输速率下降
- 📈 丢包率上升
- ⏱️ 延迟增加
- 🔁 重传次数增多
拥塞控制的策略
1. 拥塞检测
监控网络状况:
- 路由器队列长度
- 数据包丢失率
- 平均延迟
- 链路利用率
2. 拥塞避免
提前预防拥塞:
- 流量调节:控制发送速率
- 负载均衡:分散流量到多条路径
- 路由优化:避开拥塞区域
- 资源预留:为重要流量预留带宽
3. 拥塞恢复
发生拥塞后的处理:
- 丢包通知:ICMP 源抑制报文
- 降低速率:发送方降低发送速度
- 路径切换:切换到其他路径
- 优先级调度:优先处理重要数据
4. 流量控制
控制进入网络的流量:
- 令牌桶:限制发送速率
- 漏桶:平滑流量
- 随机早期检测(RED):主动丢包防止拥塞
2.1 无连接服务(数据报服务)
定义
定义是对概念、术语或对象含义的精确描述。理解定义是学习任何知识领域的基础,每个概念都有其明确的定义。
数据报服务是网络层提供的无连接服务,每个数据包独立传输,就像寄信:每封信独立寄送,不保证顺序和可靠性。
特点分析
类比寄信:
| 特点 | 寄信类比 | 技术含义 |
|---|---|---|
| 无连接 | 不需确认收信人地址 | 不需预先建立连接 |
| 独立传输 | 每封信独立寄送 | 每个数据包独立路由 |
| 可能丢失 | 信件可能丢失 | 数据包可能丢失 |
| 可能乱序 | 多封信可能顺序不同 | 数据包可能乱序到达 |
| 简单高效 | 寄信简单快速 | 协议简单、开销小 |
工作过程
发送方:
- 准备数据包(添加目的 IP 地址)
- 直接发送到网络
- 不等待确认
网络:
- 每个路由器独立路由
- 数据包可能走不同路径
- 可能丢失、延迟、乱序
接收方:
- 收到数据包
- 检查目的地址是否匹配
- 处理数据或丢弃
适用场景
适合实时应用:
- 📞 语音通话:少量丢包不影响通话质量
- 📹 视频直播:可以容忍少量数据丢失
- 🎮 在线游戏:实时性要求高于可靠性
- 📡 视频会议:实时交互,延迟敏感
为什么不要求可靠性?
实时应用的特点:
- 数据产生速度快:每秒几十帧视频
- 时效性强:老数据过时了就没价值
- 容错能力强:少量丢包不影响体验
例子:视频通话中丢了一帧画面,眼睛几乎看不出,但如果等待重传,会造成明显卡顿。
2.2 面向连接服务(虚电路服务)
定义
定义是对概念、术语或对象含义的精确描述。理解定义是学习任何知识领域的基础,每个概念都有其明确的定义。
虚电路服务是网络层提供的面向连接服务,建立连接后传输数据,保证顺序和可靠性。就像打电话:先拨号建立连接,然后通话,保证语音连续。
特点分析
类比打电话:
| 特点 | 打电话类比 | 技术含义 |
|---|---|---|
| 面向连接 | 先拨号建立连接 | 需预先建立虚电路 |
| 固定路径 | 通话期间线路固定 | 所有数据包走同一路径 |
| 保证顺序 | 语音连续不中断 | 数据包按序到达 |
| 可靠传输 | 通话质量稳定 | 保证数据正确传输 |
| 复杂开销 | 需拨号、挂断过程 | 协议复杂、开销大 |
工作过程
建立连接阶段:
- 发送方发送呼叫请求
- 网络建立虚电路(分配虚电路号)
- 路径上所有路由器记录虚电路信息
- 接收方确认连接
数据传输阶段:
- 所有数据包携带虚电路号
- 路由器根据虚电路号转发
- 所有数据包走同一路径
- 保证顺序和可靠性
释放连接阶段:
- 发送方发送释放请求
- 网络释放虚电路资源
- 路径上路由器清除信息
- 连接结束
适用场景
适合可靠传输应用:
- 📁 文件传输:FTP、文件下载,不能丢失数据
- 🌐 网页浏览:HTTP、HTTPS,需要完整页面
- 📧 邮件传输:SMTP、POP3,邮件内容完整
- 📂 数据库同步:需要准确无误的数据
为什么需要可靠性?
数据传输的特点:
- 数据价值高:丢失一个文件可能损失严重
- 时效性要求不高:可以等待重传
- 容错能力弱:数据错误可能导致严重问题
例子:下载文件时,如果丢失一个字节,整个文件可能无法使用,所以必须保证可靠传输。
2.3 两种服务对比
| 特性 | 数据报服务 | 虚电路服务 |
|---|---|---|
| 连接建立 | 不需要 | 需要建立连接 |
| 路由方式 | 每包独立路由 | 所有包走同一路径 |
| 顺序保证 | 不保证 | 保证按序到达 |
| 可靠性 | 不保证 | 保证可靠传输 |
| 故障处理 | 自适应路由 | 需重新建立连接 |
| 开销 | 小 | 大 |
| 灵活性 | 高 | 低 |
| 适用场景 | 实时应用 | 文件传输 |
| 典型应用 | IP协议 | X.25、ATM |
3.1 IP 协议:互联网的基石
定义
定义是对概念、术语或对象含义的精确描述。理解定义是学习任何知识领域的基础,每个概念都有其明确的定义。
IP 协议是网络层的核心协议,负责在互联网中传输数据包,实现全球互联。
IP 协议的特点
无连接:
- 每个数据包独立处理
- 不需要预先建立连接
- 像寄信一样简单
尽力而为:
- 尽最大努力传输数据
- 不保证可靠性
- 可能丢失、延迟、乱序
统一地址:
- 每个设备有唯一 IP 地址
- 全球范围的地址体系
- 支持IPv4和IPv6
IP 数据包结构
IP 数据包 = IP 首部 + 数据部分
IP 首部结构(20-60 字节)
数据部分为应用层数据(TCP/UDP 段)
关键字段解释:
| 字段 | 含义 | 作用 |
|---|---|---|
| 版本 | IP版本号 | IPv4=4, IPv6=6 |
| TTL | 生存时间 | 防止无限循环,最大跳数 |
| 协议 | 上层协议 | TCP=6, UDP=17 |
| 源IP地址 | 发送方地址 | 用于回复 |
| 目的IP地址 | 接收方地址 | 用于路由转发 |
3.2 辅助协议:IP 的”助手”
ARP 协议:地址解析
定义
定义是对概念、术语或对象含义的精确描述。理解定义是学习任何知识领域的基础,每个概念都有其明确的定义。
ARP 协议将 IP 地址转换为 MAC 地址,就像快递员根据收件人地址找到具体门牌号。
工作过程:
场景:电脑要发送数据到 IP 为 192.168.1.100 的服务器。
- 电脑知道目的 IP:
192.168.1.100 - 但不知道 MAC 地址(物理地址)
- 发送 ARP 请求广播:“谁是 192.168.1.100?请告诉我你的 MAC 地址”
- 服务器收到 ARP 请求,回复 ARP 响应:“我是 192.168.1.100,我的 MAC 地址是 00:1A:2B:3C:4D:5E”
- 电脑收到响应,记录 IP-MAC 对应关系
- 之后就可以直接发送数据了
类比快递:
- IP地址 = 收件人地址(小区名)
- MAC地址 = 具体门牌号(几号楼几单元)
- ARP协议 = 查询门牌号的过程
DHCP 协议:动态地址分配
定义
定义是对概念、术语或对象含义的精确描述。理解定义是学习任何知识领域的基础,每个概念都有其明确的定义。
DHCP 协议自动为设备分配 IP 地址,就像酒店自动分配房间号给客人。
工作过程:
设备接入网络(DHCP 四步交互):
- 设备发送 DHCP 发现:“我是新来的,需要 IP 地址”
- DHCP 服务器提供:“我是 DHCP 服务器,可以提供 IP”
- 设备发送 DHCP 请求:“请给我一个 IP 地址”
- DHCP 服务器确认:“你的 IP 是 192.168.1.100,租期 24 小时”
- 设备开始使用该 IP
- DHCP 服务器记录:“已分配 192.168.1.100 给该设备”
好处:
- ✅ 自动配置,无需手动设置
- ✅ 地址复用,提高利用率
- ✅ 统一管理,避免地址冲突
- ✅ 移动便捷,换网络自动获取新地址
ICMP 协议:网络诊断
定义
定义是对概念、术语或对象含义的精确描述。理解定义是学习任何知识领域的基础,每个概念都有其明确的定义。
ICMP 协议用于网络诊断和错误报告,就像网络世界的”体检医生”。
常见应用:
Ping 命令:
ping 192.168.1.100
作用:测试网络是否连通
过程:发送ICMP请求,接收ICMP响应
结果:显示延迟、丢包率等信息
Traceroute 命令:
traceroute www.baidu.com
作用:追踪数据包路径
过程:发送一系列ICMP包,记录每个路由器
结果:显示经过的所有路由器和延迟
4.1 路由器:网络的”交通枢纽”
定义
定义是对概念、术语或对象含义的精确描述。理解定义是学习任何知识领域的基础,每个概念都有其明确的定义。
路由器是网络层的核心设备,连接不同网络,转发数据包。就像交通枢纽连接不同道路,引导车辆前行。
路由器的功能
1. 连接不同网络:
- 连接局域网和广域网
- 连接有线网络和无线网络
- 连接不同技术的网络
2. 路由选择:
- 维护路由表
- 选择最优路径
- 动态更新路由信息
3. 分组转发:
- 接收数据包
- 查询路由表
- 发送到下一跳
4. 其他功能:
- NAT 地址转换
- ACL 访问控制
- QoS 质量保证
- VPN 支持
路由器的工作原理
- 提取目的 IP 地址
- 查询路由表
- 匹配路由条目
- 选择最佳路由
- 检查 TTL(减 1)
- 更新校验和
- 封装成新帧
- 从指定接口发送
路由表示例:
| 目的网络 | 网络掩码 | 下一跳 | 接口 |
|---|---|---|---|
| 192.168.1.0 | 255.255.255.0 | 直接连接 | eth0 |
| 10.0.0.0 | 255.0.0.0 | 10.1.1.1 | eth1 |
| 172.16.0.0 | 255.255.0.0 | 172.16.1.1 | eth2 |
| 0.0.0.0 | 0.0.0.0 | 192.168.1.1 | eth0(默认路由) |
路由匹配规则:
- 最长匹配原则:选择网络掩码最长(最精确)的路由
- 优先级原则:多条匹配路由选择优先级高的
4.2 三层交换机:高性能路由器
定义
定义是对概念、术语或对象含义的精确描述。理解定义是学习任何知识领域的基础,每个概念都有其明确的定义。
三层交换机集成了交换机和路由器功能,用硬件实现路由转发,性能更高。就像高速公路上的智能收费站,快速识别车辆并引导方向。
三层交换机特点
与路由器的区别:
| 特性 | 路由器 | 三层交换机 |
|---|---|---|
| 转发方式 | 软件转发 | 硬件转发 |
| 转发速度 | 较慢 | 很快 |
| 接口数量 | 较少 | 很多 |
| 适用场景 | 广域网互联 | 局域网路由 |
| 价格 | 较高 | 较低 |
| 功能 | 功能丰富 | 基本路由功能 |
工作原理:
第一个数据包:
- 软件处理(像路由器)
- 查询路由表
- 硬件记录路由信息
后续数据包:
- 硬件直接转发(像交换机)
- 根据硬件路由表快速转发
- 不需要软件处理
特点:“一次路由,多次交换”
例子1:访问网站的过程
让我们看看从浏览器访问网站的网络层过程:
你的电脑(192.168.1.10):
- 输入网址
www.baidu.com - DNS 解析得到 IP:
220.181.38.148 - 生成 IP 数据包:源 IP
192.168.1.10,目的 IP220.181.38.148,数据为 HTTP 请求
本地路由器: 4. 收到数据包 5. 查询路由表,目的 IP 不在本地网络 6. 选择默认路由,转发到上级路由器 7. 通过 NAT 转换源 IP 为公网 IP
ISP 路由器(多个): 8. 每个路由器查询路由表 9. 选择下一跳路由器 10. 逐步转发到百度服务器
百度服务器(220.181.38.148): 11. 收到 IP 数据包 12. 检查目的 IP 匹配 13. 提取 HTTP 请求 14. 处理请求,返回网页
返回路径:
15. 生成响应数据包(源 IP:220.181.38.148,目的 IP:你的公网 IP)
16. 通过路由器逐步返回
17. NAT 转换为内网 IP
18. 你的电脑收到响应
例子2:不同网络互联
家庭网络和企业网络互联:
家庭网络:
- WiFi 网络:
192.168.1.0/24 - 有线网络:
192.168.2.0/24 - 设备:手机、电脑、电视
企业网络:
- 办公网络:
10.0.0.0/8 - 数据中心:
172.16.0.0/16 - 设备:服务器、工作站
互联过程:
- 家庭路由器连接 ISP(通过光纤)
- ISP 连接企业网络(通过专线)
- IP 协议统一封装:家庭 WiFi 帧 → IP 包 → 光纤帧 → ISP 路由 → IP 包 → 专线帧 → 企业路由
- 实现不同网络互联通信
练习 1
什么是异构网络互联?为什么需要异构网络互联?
解题思路:
先给出定义,再说明需要互联的几条原因,最后用一个具体例子把抽象概念落地。
详细步骤:
异构网络互联的定义: 异构网络互联是指网络层能够连接不同类型、不同协议、不同技术的网络,使它们能够互相通信。
需要异构互联的原因:
-
现实需要:
- 现实中存在多种网络类型(以太网、WiFi、光纤、4G/5G等)
- 不同网络使用不同技术和协议
- 用户需要跨网络通信
-
技术差异:
- 不同网络的地址格式不同(MAC地址、IP地址等)
- 不同网络的数据帧格式不同
- 不同网络的传输速率不同
-
统一通信:
- IP协议提供统一的通信标准
- 实现全球范围的互联
- 让不同网络像使用同一”语言”
举例说明:
- 手机通过WiFi上网,访问数据中心的服务器(光纤网络)
- 数据经过:WiFi → 路由器 → 光纤网络 → 服务器
- 虽然网络类型不同,但通过IP协议实现通信
最终答案:
异构网络互联指网络层屏蔽不同网络的技术差异,用 IP 协议把各种网络连成统一的通信体系。
练习 2
路由选择和分组转发有什么区别?
解题思路:
逐个定义术语,说明各自的作用、发生时机和类比,再点出它们之间的关系。
详细步骤:
路由选择:
- 定义:为数据包选择从源到目的地的最佳路径
- 作用:决定数据包应该走哪条路径
- 时机:在发送前进行路由规划
- 类比:导航软件规划路线
分组转发:
- 定义:将数据包从一个路由器转发到下一个路由器
- 作用:实际传输数据包
- 时机:在传输过程中进行转发
- 类比:快递从一个中转站到下一个中转站
关系:
- 路由选择:宏观决策(选择路径)
- 分组转发:微观执行(逐步转发)
- 路由选择的结果指导分组转发
过程举例: 路由选择:北京 → 石家庄 → 武汉 → 广州(选择路径) 分组转发:北京路由器转发到石家庄路由器(实际转发) 石家庄路由器转发到武汉路由器 武汉路由器转发到广州路由器
最终答案:
路由选择是宏观的路径决策,分组转发是逐跳的微观执行,前者的结果直接指导后者。
练习 3
数据报服务和虚电路服务有什么区别?各适用于什么场景?
解题思路:
在是否建立连接、路由方式、可靠性和开销四个维度上对比两种服务,再对号入座各自的应用场景。
详细步骤:
主要区别:
-
连接方式:
- 数据报:无连接,不需预先建立连接
- 虚电路:面向连接,需先建立连接
-
路由方式:
- 数据报:每个数据包独立路由
- 虚电路:所有数据包走同一路径
-
可靠性:
- 数据报:不保证可靠,可能丢失、乱序
- 虚电路:保证可靠,按序到达
-
开销:
- 数据报:开销小,简单高效
- 虚电路:开销大,需要建立和维护连接
适用场景:
数据报服务:
- 实时应用:语音通话、视频直播、在线游戏
- 特点:时效性强,容错能力强
- 原因:少量丢包不影响体验,延迟更重要
虚电路服务:
- 数据传输:文件传输、网页浏览、邮件传输
- 特点:数据完整性和准确性重要
- 原因:数据丢失影响大,可以等待重传
最终答案:
数据报服务开销小、适合实时应用,虚电路服务可靠有序、适合文件传输等要求完整性的场景。
练习 4
ARP 协议的作用是什么?简述 ARP 协议的工作过程。
解题思路:
先用一句话说清作用,再按四个阶段走完一次地址解析的交互。
详细步骤:
ARP 协议的作用: ARP协议将IP地址转换为MAC地址,解决网络层地址到数据链路层地址的映射问题。
工作过程:
-
发送ARP请求:
- 设备知道目的IP地址
- 但不知道对应的MAC地址
- 发送ARP请求广播:“谁是这个IP地址?请告诉我你的MAC地址”
-
目标设备响应:
- 目标设备收到ARP请求
- 发现是查询自己的MAC地址
- 发送ARP响应:“我是这个IP地址,我的MAC地址是XXX”
-
记录地址映射:
- 发送方收到ARP响应
- 记录IP地址和MAC地址的对应关系
- 存入ARP缓存表
-
使用地址发送:
- 之后发送数据时直接使用记录的MAC地址
- 不需要再次ARP查询
类比说明: 就像快递员知道收件人地址(IP地址),但需要找到具体门牌号(MAC地址),通过询问(ARP请求)得到门牌号信息。
最终答案:
ARP 用请求-响应的方式把 IP 地址解析为 MAC 地址,并把结果缓存起来供后续发送直接使用。
| 中文术语 | 英文术语 | 缩写 | 说明 |
|---|---|---|---|
| 网络层 | Network Layer | - | OSI第三层 |
| 路由器 | Router | - | 网络层转发设备 |
| 分组 | Packet | - | 网络层协议数据单元 |
| 路由选择 | Routing | - | 选择数据包传输路径 |
| 转发 | Forwarding | - | 将数据包从输入端口转到输出端口 |
| 异构网络互联 | Heterogeneous Internetworking | - | 连接不同类型的网络 |
| 数据报服务 | Datagram Service | - | 无连接的网络层服务 |
| 虚电路服务 | Virtual Circuit Service | VC | 面向连接的网络层服务 |
| 互联网协议 | Internet Protocol | IP | 网络层核心协议 |
| 地址解析协议 | Address Resolution Protocol | ARP | IP地址转MAC地址 |
| 互联网控制报文协议 | Internet Control Message Protocol | ICMP | 网络层差错和控制报文 |
| 动态主机配置协议 | Dynamic Host Configuration Protocol | DHCP | 自动分配IP地址 |
| 拥塞控制 | Congestion Control | - | 防止网络过载 |
| 三层交换机 | Layer 3 Switch | - | 具备路由功能的交换机 |
| 最大传输单元 | Maximum Transmission Unit | MTU | 链路层最大帧数据长度 |
| 生存时间 | Time To Live | TTL | 数据包最大跳数 |
