一个 IP 地址标识网络上的一台主机。IPv4 使用 32 位,写作四个八位组(192.168.1.10),提供约 43 亿个地址——不够用,这推动了 NAT 和 IPv6。IPv6 使用 128 位(2001:db8::1),一个几乎无限的空间。
记法用 后缀把一个地址分为一个 和一个 部分,其中 是有多少个前导位用于标识 network:
/nn192.168.1.10 / 24
└──────┬─────┘ └┬┘
address prefix length (24 bits = network, 8 bits = host)
/24 → 192.168.1.0 network, 192.168.1.1–254 hosts, 192.168.1.255 broadcast
(256 addresses, 254 usable)
/16 → 192.168.0.0 larger network (65,536 addresses)
一个 subnet 是由 prefix 划出的一块地址空间。更短的 prefix(/16)意味着更大的 network、更多的 host;更长的 prefix(/28)意味着一个小 subnet。子网划分让你为组织和安全对网络分段——例如把数据库放进一个私有的 /24,与 web 服务器分开。
NAT(Network Address Translation,网络地址转换)是许多设备共享一个公网 IPv4 地址的方式。你家的路由器分发私有地址(像 192.168.x.x、10.x.x.x 这些在互联网上不可路由的段),并把出站数据包的源地址/端口改写为它单一的公网 IP,同时保留一张转换表以把回复路由回来:
Private LAN NAT router Internet
192.168.1.10:51000 ──▶ translate to 203.0.113.5:40001 ──▶ server
192.168.1.11:51000 ──▶ translate to 203.0.113.5:40002 ──▶ server
(router's table maps public port → private host:port for the return trip)
NAT 节省了稀缺的 IPv4 空间(并附带带来一些隔离),但它也破坏了直接的入站连接——这就是为什么 IPv6,凭借足以给每台设备的地址,旨在消除对它的需求。
编址和 subnet 是云网络的基础:每一个 VPC、subnet、security group 和防火墙规则都用 CIDR 书写,所以离开它你无法设计一个云网络。面试官检查你能否读懂一个 /24 并就网络大小和分段进行推理。NAT 解释了私有 IP 与公网 IP 的日常现实,以及为什么“出站能用但入站不行”,而 IPv4 枯竭的故事是 NAT 和 IPv6 二者背后的原因——表明你理解塑造了现代互联网的那些压力。
一个包含详细解答的 IT 面试题库——从初级到高级。
捐赠