Skip to content

入门

基于 HTTP 现代标准 · 核于 2026-06

速查

  • 网络层职责:跨越多个网络把 IP 包从源主机送到目标主机——逻辑寻址(IP)+ 路由(逐跳转发)
  • IPv4:32 位点分十进制(192.168.1.1);尽力而为、无连接、不可靠(可靠性交给 TCP)
  • 私有地址:10/8172.16/12192.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)只负责「端到端」,链路层只负责「单跳」,把全球无数网络拼成一张可达大网的,是网络层。它干两件事:

  1. 寻址:给每台主机一个全局 IP 地址,标识「它在哪」。
  2. 路由:数据包从源出发,经过一个个路由器,每跳查路由表选下一跳,最终抵达目标网络——没有任何一台路由器知道完整路径,全靠逐跳接力
主机A ──▶ 路由器1 ──▶ 路由器2 ──▶ 路由器3 ──▶ 主机B
        每跳:查路由表(最长前缀匹配)→ TTL−1 → 转发给下一跳
        源/目的 IP 端到端不变,MAC 逐跳重写

IP 不保证可靠,为什么还能上网

IP 是「尽力而为」的——可能丢包、乱序、重复。可靠性由上层的 TCP 负责(确认 + 重传),UDP 则原样暴露这种不可靠。这种「网络层简单、可靠性下放到端」的设计,正是互联网能做到海量可扩展的关键。

一个高频困惑:ping 不通就是挂了吗

不一定。很多云主机、CDN 默认丢弃 ICMP 报文,所以 ping 超时不代表服务不可用——这时应该用 curl -I https://站点nc -vz 主机 端口 测真实业务端口。

下面各页逐一展开:先看 IP 协议与 IPv4 寻址