IP 地址与 IP 协议全解析:从 IPv4 到 IPv6,从内网到公网

· 阅读约需10分钟

IP 地址与 IP 协议全解析:从 IPv4 到 IPv6,从内网到公网

在网络世界中,IP 地址就像现实生活中的门牌号。没有门牌号,快递员就找不到你的家;没有 IP 地址,数据包就无法在网络中找到目的地。

作为开发者或运维人员,我们每天都在和 IP 地址打交道,但很多人对它的底层逻辑依然一知半解。比如:为什么家里的 IP 是 192.168.x.x,而服务器的是 10.x.x.x 或公网 IP?子网掩码到底是怎么计算的?IPv4 地址耗尽后,IPv6 又是怎么解决的?

这篇文章将带你深入理解 IP 协议的核心机制。


一、IP 协议的本质:网络层的寻址与路由

IP(Internet Protocol)工作在网络层(OSI 模型的第三层)。它的核心任务只有两个:寻址(给设备分配地址)和路由(决定数据包往哪里发)。

它提供的是无连接、不可靠的传输。也就是说,IP 协议本身不保证数据包一定能送达,也不保证按顺序送达。如果中间路由器扛不住丢包了,IP 层不会去重传,重传的活儿是交给上层的 TCP 协议去做的。IP 层的职责就是“尽最大努力交付”。


二、IPv4 地址结构与分类

目前最广泛使用的依然是 IPv4。它是一个 32 位的二进制数,通常被表示为四段“点分十进制”(比如 192.168.1.100)。

这 32 位被分为两部分:网络号(Network ID)和主机号(Host ID)。网络号标识设备所在的局域网,主机号标识该网络内的具体设备。

1. 传统的 IP 分类(已过时,但需要了解)

  • A 类:1.0.0.0 到 126.255.255.255(默认子网掩码 255.0.0.0)。适用于超大型网络,可用主机数超过 1600 万台。
  • B 类:128.0.0.0 到 191.255.255.255(默认子网掩码 255.255.0.0)。适用于中型网络,可用主机数 6.5 万台。
  • C 类:192.0.0.0 到 223.255.255.255(默认子网掩码 255.255.255.0)。适用于小型网络,可用主机数 254 台。
  • D 类:224.0.0.0 到 239.255.255.255,用于组播。
  • E 类:保留用于科研。

2. 现代网络的基础:CIDR 与子网掩码

传统的 A/B/C 类地址分配太浪费了。现在普遍采用 CIDR(无类别域间路由),通过“子网掩码”来灵活划分网络位和主机位。

比如 192.168.1.100/24,斜杠后面的 24 表示前 24 位是网络号,剩下的 8 位是主机号。换算成子网掩码就是 255.255.255.0。

如何计算可用 IP 数?

如果主机位有 n 位,那么可用的 IP 数是 2^n - 2。为什么要减 2?因为网络号(主机位全为 0)代表整个网络本身,广播地址(主机位全为 1)用于向网络内所有设备发消息,这两个不能分配给具体设备。

例如 /24 的子网,2^8 - 2 = 254 个可用 IP。


三、公网 IP、私有 IP 与 NAT 技术

IPv4 只有 43 亿个地址,早在 2019 年就耗尽了。为了让全世界几十亿台设备都能上网,工程师们发明了 NAT(网络地址转换) 和私有 IP 地址。

1. 私有 IP 地址段

在局域网(如家庭、公司)内部使用的 IP,不能在互联网上直接路由。它们只能在内部互相通信。

  • 10.0.0.0/8(A 类私有地址,大企业常用)
  • 172.16.0.0/12(B 类私有地址,Docker 容器常用)
  • 192.168.0.0/16(C 类私有地址,家用路由器常用)
  • 127.0.0.0/8(环回地址,最常用的是 127.0.0.1,代表本机)

2. NAT 是怎么工作的?

当你家里的电脑(192.168.1.2)访问百度时,数据包到达家里的路由器。路由器发现这是发往外网的数据,就会把源 IP 从 192.168.1.2 替换成你家宽带的公网 IP(比如 120.230.1.1),并记录下这个映射关系(这叫 SNAT)。

百度的服务器看到请求来自 120.230.1.1,就把响应发回给这个 IP。路由器收到后,查表发现这个包属于 192.168.1.2,再把目标 IP 替换回来,交给你的电脑。

这就是为什么你在家可以用无数台设备同时上网,而外面的人根本看不到你家局域网的原因。


四、IP 路由与最长匹配原则

路由器是如何决定把一个 IP 包从哪个网卡发出去的?靠的是路由表(Routing Table)。

当路由器收到一个包时,会查找路由表,遵循最长前缀匹配原则:如果有多条路由都能到达目标 IP,路由器会选择子网掩码最长(最精确)的那一条。

比如路由表里有这两条记录:

  • 192.168.0.0/16 -> 下一跳 A
  • 192.168.1.0/24 -> 下一跳 B

此时来了一个目标为 192.168.1.100 的包,路由器会怎么选?显然会选 B,因为 /24 比 /16 更精确。


五、IPv6:未来的趋势

既然 IPv4 枯竭了,那就换一套更大的地址池。这就是 IPv6。

IPv6 是 128 位的地址,数量多到可以给地球上每一粒沙子分配一个 IP。它的表示方法是一长串十六进制,用冒号分隔,比如:

2001:0db8:85a3:0000:0000:8a2e:0370:7334

IPv6 的优势:

  • 地址无限:彻底告别 NAT。每个设备都可以拥有独立的公网 IP,直接点对点通信。
  • 头部简化:去掉了 IPv4 中很多冗余字段,路由器处理速度更快。
  • 支持自动配置:设备连上网络后可以自动获取 IPv6 地址,不需要 DHCP 服务器。

虽然 IPv6 普及速度较慢,但很多大型互联网公司和移动网络(如 4G/5G)目前已经默认优先使用 IPv6 了。


六、实战:常用的 IP 排查命令

命令作用
ip addr (Linux) / ipconfig (Win)查看本机所有网卡的 IP 地址。
ip route / route print查看本机的路由表,确认默认网关。
ping 目标IP测试 IP 层的连通性(基于 ICMP 协议)。
traceroute 目标IP (Linux) / tracert (Win)追踪数据包经过的每一跳路由器 IP。
arp -a查看局域网内 IP 与 MAC 地址的映射关系。
curl -4 / -6强制使用 IPv4 或 IPv6 发起 HTTP 请求进行测试。

七、写在最后

IP 地址是互联网最底层的基础设施。无论上层的 HTTP、WebSocket 怎么发展,最终都要被封装进 IP 包里,在错综复杂的路由器和光纤中接力传递。

理解了 IP 的寻址方式、子网掩码的算法、以及 NAT 的存在意义,你在排查网络故障时,就能清晰地看透现象背后的本质。比如当你发现服务器访问另一个内网机不通时,第一时间就会去检查两台机器是否在同一个网段,而不是盲目地去重启服务。


2026年10月18日