IP 地址与子网掩码

IP 地址是网络层为每台主机分配的逻辑"门牌号",子网掩码则用来划分"哪些主机属于同一网络"。后端面试中的子网计算、网段判断、公网/私网地址辨析都围绕这两个概念展开,云上 VPC 规划同样依赖它。

IPv4 地址结构

IPv4 共 32 位,通常写成点分十进制,例如 192.168.1.10:

二进制: 11000000 . 10101000 . 00000001 . 00001010
十进制:   192    .   168    .    1     .    10

一个 IP 由两部分组成:网络号(标识主机所在网络)+ 主机号(标识网内某一台主机)。

子网掩码的作用

子网掩码连续 1 的位数代表网络号长度。把 IP 与掩码按位与,得到的就是网络号:

IP:     192.168.1.10   11000000 10101000 00000001 00001010
掩码:   255.255.255.0  11111111 11111111 11111111 00000000
按位与 => 网络号 192.168.1.0

掩码写成"斜杠 + 位数"的形式称为 CIDR 记法:255.255.255.0 即 /24,代表前 24 位是网络号。

传统分类与 CIDR

类别首字节范围默认掩码适用规模
A 类1 ~ 126/8超大型网络
B 类128 ~ 191/16中型网络
C 类192 ~ 223/24小型网络

传统分类编址浪费地址,现已基本被 CIDR(无类域间路由) 取代——掩码长度可任意指定(如 /26、/27),规划更灵活。

公网、私网与特殊地址

私网地址不会在公网上路由,仅供内部使用,通过 NAT 共享公网出口:

私网段CIDR可用范围
A 类10.0.0.0/810.0.0.0 ~ 10.255.255.255
B 类172.16.0.0/12172.16.0.0 ~ 172.31.255.255
C 类192.168.0.0/16192.168.0.0 ~ 192.168.255.255

另需记住:127.0.0.1 是回环地址(指向本机);169.254.x.x 是 DHCP 分配失败时的自动私有地址。

子网划分计算实例

需求:把 192.168.1.0/24 划分成 4 个子网。

分成 4 个子网 → 需要借 2 位主机号做子网号 → 掩码变为 /26
子网1: 192.168.1.0   ~ 192.168.1.63    网络号 .0
子网2: 192.168.1.64  ~ 192.168.1.127   网络号 .64
子网3: 192.168.1.128 ~ 192.168.1.191   网络号 .128
子网4: 192.168.1.192 ~ 192.168.1.255   网络号 .192
每子网可用主机数 = 2^(32-26) - 2 = 62

减去的 2 分别是最小值(网络号)与最大值(广播地址),它们不能分配给主机。

判断是否同一网段

两台主机通信前先判断对方是否同网段:分别把双方 IP 与同一掩码按位与,网络号相同则在同网段,可直接经交换机通信;否则要交给路由器转发。

NAT 与 IPv6

私网地址无法直接访问公网,由路由器做 NAT:把内网主机的源地址统一转换为公网 IP,回包再映射还原。IPv6 采用 128 位地址(如 2001:db8::1,十六进制冒号分隔),从根上解决地址枯竭,并减少对 NAT 的依赖。

小结:记住"IP 与掩码按位与得网络号"这一核心操作,会换算 CIDR、能区分私网/公网并完成简单子网划分,就掌握了网络配置与面试计算的命门。

笔记加载中…