摘要:传统上,我们划子网时,常见的最小子网是 /30,4 个 IP,能用 2 个(因为网络号和广播地址要“保留”)。
hello,我是网工小陈。
你是不是一直以为子网掩码最小就是 /30?
以为两个路由器点对点通信,最少也得浪费两个 IP?
那你可能还停留在“过时知识”的阶段了。
在很多运营商、大型企业、云厂商场景里,/31 掩码早就是网络规划的省号利器!
今天就聊聊:
什么是 31 位子网掩码?为什么它可以用?哪些场景能上?要注意什么坑?
传统上,我们划子网时,常见的最小子网是 /30,4 个 IP,能用 2 个(因为网络号和广播地址要“保留”)。
而 /31 的子网只有两个 IP,按传统思维,一个是网络地址,一个是广播地址,那岂不是一个都不能用?
但其实在RFC 3021 标准中,明确指出:
在点对点链路中,/31 是完全可用的!
因为点对点场景本身就只需要两个地址,而不会用到广播,也不需要保留网络地址(路由器都是明确知道对端是谁)。
所以 /31 掩码的两个 IP,统统能用。
举个例子:
地址段:192.168.10.0/31
掩码:255.255.255.254
IP 分配:
- 192.168.10.0:一端接口
- 192.168.10.1:另一端接口
两个都能用,不保留广播和网络号。这就是 /31 掩码的关键优势。
说白了:点对点就行,别搞广播、别挂主机。
所以一般出现在这几种地方:
1)路由器之间的点对点链路
常见于核心、汇聚之间的对接,尤其是在公网 BGP、MPLS、隧道等场景下特别多。能省一个就是一个。
2)防火墙或边界设备直连 ISP
比如:
你的边界防火墙连接运营商的设备,只需要一个入网 IP?
那直接用 /31,两边各用一个,公网 IP 不再浪费。
3)云上网络设计
比如华为云、阿里云、腾讯云,很多时候 VPC 下的虚拟设备互连,默认就走 /31,因为效率高、配置也清晰。
三、31 位掩码的配置方法(华为 & 思科)1)华为交换机/路由器配置示例
[Huawei] interface GigabitEthernet0/0/0
[Huawei-GigabitEthernet0/0/0] ip address 192.168.10.0 255.255.255.254
另一端设备配置:
[Huawei] interface GigabitEthernet0/0/1
[Huawei-GigabitEthernet0/0/1] ip address 192.168.10.1 255.255.255.254
注意:
华为默认支持 /31 掩码配置,不需要额外开启功能。建议明确声明接口是“点对点链路”角色,便于后期维护识别。2)思科设备配置示例
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip address 192.168.10.0 255.255.255.254
另一端:
Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip address 192.168.10.1 255.255.255.254
思科的注意事项:
老旧型号的 IOS 可能不默认支持 /31 子网。如果配置报错,先确认系统是否支持 RFC 3021,或者考虑升级固件。
3)配置完如何验证?
可以这样简单测试:
ping 192.168.10.1
ping 192.168.10.0
只要能互相 ping 通,说明链路通了。
如果再配上静态路由或者 OSPF、BGP,那这个 /31 的小链路就成了你网络中最“高效”的一跳!
虽然 /31 掩码确实能省地址、配起来也不复杂,但很多网工刚开始用时会踩坑,下面这几个点,你一定要注意:
1)/31 掩码只能用于点对点连接!
这个是铁律!
两个地址,一个给左边,一个给右边,完美;但如果你试图把它挂在多台主机之间,那你就是“强行装网络”,一定出事!错误用法示例:
192.168.1.0/31
↓ 你想让三台设备共用这个地址段?
→ 抱歉,第三台没地址分了。
所以,/31 绝不能用在广播域中(如交换机多个口接入),只能用于点对点的路由器直连口,比如 OSPF neighbor、eBGP peer 等等。
2)某些协议不支持 /31 网络段
虽然主流协议如:
静态路由OSPFBGPIS-IS都已经支持 /31 掩码,但一些老设备或协议默认还是把 .0 和 .1 认作网络地址与广播地址,所以无法正确转发。
所以:
华为、思科的主流设备问题不大;部分三线品牌设备/低端型号,有兼容性问题。建议上线前实验验证清楚!
3)排障时容易被误判为配置错误
很多时候你配置了 /31 后,某些“懂一点”的人看到会说:
“你写错掩码了吧,这明明只有两个 IP,怎么配得像广播网一样?”
这类情况很多!因为传统观念里 .0 是网络地址,.1 是第一个主机地址,.255 是广播地址。
用 /31 掩码时,其实是彻底打破这种传统的:
掩码位数网络地址主机地址广播地址可用 IP/30.0.1/.2.32/31——.0/.1(都可用)——2
所以你要能有底气地说出依据,告诉别人:
“RFC 3021 标准规定 /31 是专用于点对点链路的,两端各一个地址,不存在广播和网络地址的概念。”
4)不建议与 /32 同时混用
很多高阶配置下(例如 MPLS VPN、Loopback 配置、隧道、GRE 等),你可能还会用到 /32(单 IP 地址)。
如果把 /31 和 /32 同时混用在一个网络段里,调试排障时极容易绕晕自己或他人。
建议:规划上要清晰分层,/31 只用于物理点对点链路,/32 留给逻辑接口。
场景1:两台核心路由器直连(点对点链路)
应用举例:
假设你有两台核心路由器,做双核心架构:
R1 -------- R2
传统上你可能会划个 /30:
192.168.1.0/30
→ 可用 IP:192.168.1.1 和 192.168.1.2
→ 网络地址:192.168.1.0
→ 广播地址:192.168.1.3
但实际上你只用了两个 IP,浪费了两个地址。
使用 /31 后:
192.168.1.0/31
→ 可用 IP:192.168.1.0 和 192.168.1.1(两端)
→ 网络/广播地址:没有!
→ 地址利用率100%
所以在核心设备之间的直连口,特别适合用 /31,还能节省地址空间。
场景2:运营商链路对接
很多小型企业/政企/机构接入运营商时,拿到公网地址资源非常有限。
比如只给了你两个 IP,用 /30 根本划不过来,怎么办?
如果是光猫出来直连你设备的或者是运营商网关和你的防火墙之间是点对点用 /31 正合适!
运营商网关:1.1.1.0
你这边设备:1.1.1.1
→ 用 1.1.1.0/31 就能连通
场景3:骨干链路节省地址段
如果你是做大型企业园区或者运营商骨干网规划,那点对点链路非常多,动不动几十、上百条。
如果全用 /30,每条链路浪费一半地址,整个地址段就不够用了。
改用 /31 后,可以将地址利用率提升一倍,节省下来的地址还能用于其他用途。
场景4:BGP eBGP对等关系搭建
BGP 的对等关系,往往是点对点连着(特别是 eBGP):
AS 65001 (R1) -------- AS 65002 (R2)
eBGP
这种直连场景下,直接给它个 /31,干净利落、省 IP、逻辑清晰!
如果你是刚入行的朋友,第一次听说 /31 掩码,不妨:
找两台路由器模拟一个点对点链路,实际配置看看能不能通;多对比 /30 和 /31 的掩码应用场景,理解背后的设计思路;真正在项目或生产环境用前,先实验室验证一遍。想成为一个合格的网络工程师,就要搞懂这些掩码背后的“使用哲学”——不是死记,而是看场景选工具。
关于作者:叫我小陈就好,95年新手女网工,老杨的小助理,HCIE数通已拿下。爱学习、爱交朋友,长期主义者,默默进阶学习的路上!专注分享网工相关知识,文章如有错误,感谢指正,共同进步吖~
来源:网络工程师俱乐部一点号