网络层:IP 的流浪地图,路由的江湖

小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 + 偏移三要素
相关推荐
橘子在努力1 小时前
【橘子分布式】Thrift RPC(理论篇)
分布式·网络协议·rpc
不超限3 小时前
IIS错误:Service Unavailable HTTP Error 503. The service is unavailable.
网络·网络协议·http
十年编程老舅10 小时前
面试官:你再问TCP三次握手,我就要报警了!
网络协议·tcp/ip·网络编程·tcp协议·网络八股文·tcp面试题·网络面试题
国王不在家11 小时前
4.2TCP/IP
网络·网络协议·tcp/ip
码头薯条Pro13 小时前
Javaweb使用websocket,请先连上demo好吧!很简单的!
网络·websocket·网络协议
fjhcom13 小时前
PDXP、UDP与HDLC协议技术解析:架构、应用与对比研究
网络·网络协议
Lo-Y-eH14 小时前
HTTP 四种常见方法
网络·网络协议·http
药95518 小时前
网络编程(套接字)
网络·网络协议·tcp/ip
帽儿山的枪手1 天前
追踪网络流量就这么简单 | 进阶篇 | conntrack
linux·windows·网络协议