小dora闯关记 · Vol.4
"我是谁?我在哪?我要去哪?这是哲学三问......不,也是 IP 三问。"
------某天丢包后,小dora 看着 TTL 发呆
一、网络层的核心使命:包裹能上路,路线要靠谱
网络层解决什么问题?
- 数据从一个子网送到另一个子网,谁来规划路线? → 网络层
- 每台设备要有能定位的地址 → IP地址
- 网间如何转发?怎么选最短/最快/最稳的路? → 路由协议
📦 类比:
数据链路层是在"快递站点"之间送货,
网络层是在"城市与城市"之间调度快递,
没有网络层,包裹过不了市界,直接"流浪"。
二、IP 协议:网络层的搬运兵,世界的地址簿
IPv4 的基本结构
css
[版本][首部长度][服务类型][总长度]
[标识][标志][片偏移]
[TTL][协议][首部校验和]
[源IP][目的IP]
[选项][填充](可选)
📌 重点字段解读:
- 源IP / 目的IP:告诉网络"我是谁,去哪"
- TTL(生存时间) :防止死循环,最多跳几次就销毁
- 协议字段:说明数据里装的是谁(如TCP=6,UDP=17)
🧠 小dora顺口溜:
"IP包有地图,TTL定命数,协议标标签,源目的来指路。"
三、IP地址:身份证?不,是你的全球定位码
IPv4 地址格式:32 位,4 个字节
形如:192.168.1.1
子网掩码的作用
区分网络部分和主机部分,比如掩码 255.255.255.0 表示前24位为网络位
公网 vs 私网
类型 | 示例范围 | 特点 |
---|---|---|
公网 | 8.8.8.8 | 可被互联网识别 |
私网 | 192.168.x.x / 10.x.x.x 等 | 内网使用,需 NAT 转换 |
默认网关
本地无法直达时,把包发给网关,网关帮你找路
🧠 巧记口诀:
"IP 找目标,掩码分家族,网关当中介,私网靠翻译。"
四、路由机制:条条大路通 IP
静态路由 vs 动态路由
路由类型 | 特点 |
---|---|
静态路由 | 人工配置,适合小网络 |
动态路由 | 路由器自动学习(RIP、OSPF、BGP) ✅ |
动态路由协议比较
协议 | 特点 |
---|---|
RIP | 跃点计数,最多15跳,简单但容易绕远 |
OSPF | 链路状态协议,根据路径代价算最优 ✅ |
BGP | 自治系统间的协议,用于全球互联网骨干 |
🧠 顺口溜:
"RIP 慢吞吞,OSPF 跑分工;BGP 管天下,骨干网中通。"
五、分片与重组:包太大怎么办?
链路层有 MTU 限制(最大传输单元),IP 包超了,就得"切片"处理。
分片字段回顾:
- 标识字段:标明是哪一个原始包
- MF位(More Fragment) :是否还有后续分片
- 片偏移:当前片在原始包中的偏移量
⚠️ 分片是网络层负责,重组是接收端的 IP 层做的。
🧠 小dora总结:
"网络砍大包,链路不吃撑;切片标偏移,到站快还原。"
六、ICMP 协议:IP 的"吐槽与反馈机制"
Internet Control Message Protocol:用于传输控制消息与差错信息
常见类型:
- Echo Request / Reply(ping)✅
- Destination Unreachable(目标不可达)
- Time Exceeded(TTL 到期)
🧠 记忆类比:
"ICMP 是 IP 的'朋友圈',专门发消息吐槽去哪失败了。"
七、NAT 与私网穿透:局域网的出海口
NAT:Network Address Translation
把内网地址映射成公网地址,解决 IPv4 地址不足问题
类型:
- 静态 NAT:一对一映射
- 动态 NAT:从公网池中动态选地址
- PAT(端口映射):多个私网地址共享一个公网 IP ✅
📌 注意:NAT 会影响某些协议的端到端透明性,P2P 通信难以建立。
🧠 记忆口诀:
"内网藏龙卧虎,NAT替你出国;公网门槛高,靠端口来套壳。"
八、小dora知识树 · 网络层总览
网络层
├─ IP 协议(封装、分片、TTL、地址)
├─ IP地址(子网掩码、私网、公网、网关)
├─ 路由机制(静态、动态、协议对比)
├─ 分片与重组(MTU、MF、偏移)
├─ ICMP(ping、不可达、TTL 超时)
└─ NAT 转换(公网映射、PAT)
📚 例题练习题(附选项解析)
例题 1:关于 IP 包中 TTL 字段的作用,以下说法正确的是?
选项 | 分析 |
---|---|
A. 表示传输时间,单位为秒 ❌ | TTL 表示跳数,而非时间 |
B. 控制数据包在路由器间转发的最大次数 ✅ | 正确,TTL 初始为一定值,每过一个路由器减1,到0即丢弃 |
C. 用于判断是否进行分片 ❌ | 分片由长度和 MTU 决定 |
D. 仅在局域网中起作用 ❌ | TTL 是 IP 层概念,适用于整个网络 |
例题 2:下列关于 NAT(网络地址转换)的说法,正确的是?
选项 | 分析 |
---|---|
A. NAT 使每个私有主机都拥有一个公网 IP ❌ | 私网通过端口复用共享公网 IP |
B. 静态 NAT 无法处理多主机共享公网 ❌ | 静态 NAT 是一对一映射 |
C. PAT 允许多个主机共享一个公网地址 ✅ | 正确,通过端口号区分会话 |
D. NAT 增强了端到端通信能力 ❌ | 恰恰相反,它破坏端到端透明性 |
例题 3:下面关于 RIP 协议的描述正确的是?
选项 | 分析 |
---|---|
A. 使用链路带宽计算最短路径 ❌ | OSPF 才根据带宽等因素计算 |
B. RIP 最多支持 30 跳 ❌ | 最大为 15 跳,第16跳视为不可达 |
C. RIP 每跳耗时固定为 1 秒 ❌ | 并无此规定,且非真实延时 |
D. RIP 使用跳数作为度量标准 ✅ | 正确,跳数即经过的路由器数 |
例题 4:ICMP 中用于测试网络连通性的是?
选项 | 分析 |
---|---|
A. Destination Unreachable ❌ | 表示目标无法到达 |
B. Echo Request / Reply ✅ | 正确,ping命令基于此实现 |
C. Redirect ❌ | 表示建议使用其他路由 |
D. Time Exceeded ❌ | 表示 TTL 到达0超时丢包 |
例题 5:关于 IP 分片,下列说法正确的是?
选项 | 分析 |
---|---|
A. 所有分片都由发送端重新组装 ❌ | 重组由接收端 IP 层完成 |
B. 每个分片都有独立 TTL ❌ | 分片共享原始包的 TTL |
C. 分片不会影响链路层传输 ❌ | 分片为适应链路层 MTU |
D. 分片使用标识字段识别是否为同一数据包 ✅ | 正确,标识 + MF + 偏移三要素 |