入门
基于 HTTP 现代标准 · 核于 2026-06
速查
- 网络层职责:跨越多个网络把 IP 包从源主机送到目标主机——逻辑寻址(IP)+ 路由(逐跳转发)
- IPv4:32 位点分十进制(
192.168.1.1);尽力而为、无连接、不可靠(可靠性交给 TCP) - 私有地址:
10/8、172.16/12、192.168/16(不上公网,出网经 NAT);127.0.0.1环回、0.0.0.0任意/监听 - 子网掩码区分网络号/主机号;CIDR
/24前缀取代 ABC 分类;可用主机数 =2^主机位 − 2 - IPv6:128 位、十六进制冒号、零压缩
::(全址仅一次);地址海量、无需 NAT、SLAAC 自动配置 - 路由器:查路由表 → 最长前缀匹配 → 逐跳转发 → TTL−1(归 0 丢弃防环)
- 默认网关:本网段出口,对应路由表
0.0.0.0/0;非本网段的包都丢给它 - ICMP:网络层诊断协议;
ping测连通性与 RTT(ping 不通 ≠ 主机宕机,常被防火墙拦) - traceroute:TTL 从 1 递增、每跳触发 Time Exceeded 暴露路径(Linux 默认 UDP、Windows 用 ICMP)
- NAT:私网共享公网 IP(改写 IP+端口);对 P2P 不友好 → WebRTC 需 STUN/TURN 穿透
- DHCP:自动分配 IP/掩码/网关/DNS;四步 DORA(Discover→Offer→Request→Ack)
网络层做什么
传输层(TCP/UDP)只负责「端到端」,链路层只负责「单跳」,把全球无数网络拼成一张可达大网的,是网络层。它干两件事:
- 寻址:给每台主机一个全局 IP 地址,标识「它在哪」。
- 路由:数据包从源出发,经过一个个路由器,每跳查路由表选下一跳,最终抵达目标网络——没有任何一台路由器知道完整路径,全靠逐跳接力。
主机A ──▶ 路由器1 ──▶ 路由器2 ──▶ 路由器3 ──▶ 主机B
每跳:查路由表(最长前缀匹配)→ TTL−1 → 转发给下一跳
源/目的 IP 端到端不变,MAC 逐跳重写IP 不保证可靠,为什么还能上网
IP 是「尽力而为」的——可能丢包、乱序、重复。可靠性由上层的 TCP 负责(确认 + 重传),UDP 则原样暴露这种不可靠。这种「网络层简单、可靠性下放到端」的设计,正是互联网能做到海量可扩展的关键。
一个高频困惑:ping 不通就是挂了吗
不一定。很多云主机、CDN 默认丢弃 ICMP 报文,所以 ping 超时不代表服务不可用——这时应该用 curl -I https://站点 或 nc -vz 主机 端口 测真实业务端口。
下面各页逐一展开:先看 IP 协议与 IPv4 寻址。