IP地址是什么?
IP 地址是用来标识网络中某台设备的一串数字,其他设备据此向它发送数据。它的作用类似邮政地址:路由器读取每个数据包的目的地址,并一站一站地转发,直到数据包到达。目前使用的有两个版本:IPv4(例如 192.0.2.10)和 IPv6(例如 2001:db8::10)。
IPv4 与 IPv6 的格式
IPv4 地址为 32 位,写成四个以点分隔的 0 到 255 的十进制数,例如 203.0.113.25。每个数字占一个字节,称为一个八位组(octet)。IPv4 共有 232,约 43 亿个地址,比全世界的设备数量还少,这就是必须共享地址的原因。
IPv6 地址为 128 位,写成八组以冒号分隔的四位十六进制数:2001:0db8:0000:0000:0000:0000:0000:0010。有两条规则可以让它变短:
- 每组开头的零可以省略:
0db8变成db8。 - 连续的全零组可以用
::代替,但一个地址中只能使用一次。
因此上面的地址通常写成 2001:db8::10。IPv6 共有 2128 个地址,足以给每个网络分配非常大的地址块。
公网地址与私有地址
公网地址在互联网上是唯一的,(只要没有防火墙阻挡)可以从任何地方访问。私有地址只在局域网内有效。许多家庭和办公网络同时使用相同的私有地址段,因为这些地址永远不会在公共互联网上路由。
RFC 1918 定义了三段私有 IPv4 地址:
| 范围 | CIDR | 地址数量 |
|---|---|---|
| 10.0.0.0 – 10.255.255.255 | 10.0.0.0/8 | 16,777,216 |
| 172.16.0.0 – 172.31.255.255 | 172.16.0.0/12 | 1,048,576 |
| 192.168.0.0 – 192.168.255.255 | 192.168.0.0/16 | 65,536 |
你还会遇到的其他特殊 IPv4 地址段:
- 环回地址,127.0.0.0/8:设备与自己通信。
127.0.0.1即 localhost。IPv6 的环回地址是::1。 - 链路本地地址,169.254.0.0/16:设备通过 DHCP 请求地址却没有得到应答时,会给自己分配这个地址。如果你看到
169.254.x.x,多半是 DHCP 没有正常工作。IPv6 的链路本地地址使用fe80::/10,每个 IPv6 接口都有一个。 - 运营商级 NAT(CGNAT),100.64.0.0/10:一段共享地址(RFC 6598),运营商在用户与自己的 NAT 设备之间使用。如果你路由器的 WAN 口地址在这个范围内,说明你没有真正的公网 IPv4 地址。
- 文档示例地址段:
192.0.2.0/24、198.51.100.0/24和203.0.113.0/24(IPv6 为2001:db8::/32)专门保留用于举例,比如本文中的示例。
在 IPv6 中,fc00::/7(实际使用 fd00::/8)的唯一本地地址相当于私有 IPv4 地址段。全球单播地址目前从 2000::/3 开始。
NAT 如何共享一个公网地址
网络地址转换(NAT)让许多私有设备共用一个公网 IPv4 地址。当你地址为 192.168.1.20 的笔记本电脑打开一个网站时,路由器会把源地址替换为自己的公网地址,并在表中记录这条连接,同时用端口号区分不同的连接。回复返回时,路由器再把地址转换回来并交给笔记本电脑。
NAT 有一个副作用:除非你设置端口转发,否则外部主机无法主动向 NAT 后面的设备发起连接。这并不是真正的安全功能,但确实意味着家里的服务默认无法从外部访问。使用 CGNAT 时,运营商会再做一层 NAT,因此在自己的路由器上设置端口转发也没有用。
静态地址与动态地址
动态地址是自动分配的,通常通过 DHCP,可能随时间变化。大多数家庭宽带和局域网中的大多数设备使用动态地址。静态地址是手动设置或为某台设备保留的,永远不会改变。服务器、打印机和网络设备通常需要静态地址,因为其他系统依赖它们始终处于同一个位置。
如何查看你的IP地址
你需要了解两个地址:设备的私有地址,以及网站看到的公网地址。公网地址可以用我们的我的IP地址查询工具查看,它还会显示你是通过 IPv4 还是 IPv6 连接的。
查看设备的私有地址:
- Windows:在命令提示符中运行
ipconfig。 - macOS:在终端中运行
ipconfig getifaddr en0(Wi-Fi 通常是en0)。 - Linux:运行
ip addr。
如果路由器状态页上显示的地址与在线工具显示的不同,说明你的路由器位于 NAT 或 CGNAT 之后,或者你在使用 VPN 或代理。
IPv6 普及基础
IPv6 的设计目的是取代 IPv4,因为旧的地址空间已经耗尽。实际上两者并行运行,称为双栈。许多大型网络、移动运营商和内容提供商都支持 IPv6,但很多小型网站和企业网络仍然只使用 IPv4,所以不能假定 IPv6 在任何地方都可用。
几个实用要点:
- IPv6 通常不需要 NAT,因为每台设备都可以拥有全球地址,所以防火墙尤为重要。
- 典型的家庭网络会获得一个
/56或/64的地址块,每个局域网使用一个/64。详见我们的子网划分指南。 - 域名通过 AAAA 记录发布其 IPv6 地址,详见 DNS 的工作原理。
下一步
如果你想把网络划分成更小的部分,或检查某个地址段能容纳多少台主机,请使用子网计算器。想了解斜杠后面的数字是什么意思,请阅读子网掩码与 CIDR一文。