You are currently viewing /31 Subnet Mask

/31 Subnet Mask

31 is very special! Generally, its said to use /30 in point-to-point links ( links with only two endpoints/hosts)

But think about it, when two routers/hosts need to talk on a point-to-point link, do we REALLY need a broadcast address allocation? Absolutely, NOT! Even though on a Broadcast Multi-Access technology like Ethernet, when we connect only two hosts directly there is no possibility to send a message any other recipient, than the host on the other side of the link.

That’s what the RFC 3021 proposed as a standard for the conservation of IP addresses. The proposal doubles the possibility of IP addressing on point-to-point links.

For eg, If we chose 192.168.1.0/31 for a point-to-point link , it has two IPs possible in the subnet

For one end: 192.168.1.0 (Not a subnet address!!! Yes 192.168.1.0 is indeed a valid address for assignment to a host if we choose /31 subnet mask! )

For other end 192.168.1.1

Sometimes you might get a warning when trying to use a /31 subnet on ethernet interfaces, That you should use /31 cautiously on “non-point-to-point” interfaces.

Router(config)# interface fa0/0
Router(config-if)# ip address 192.168.1.0 255.255.255.254
% Warning: use /31 mask on non point-to-point interface cautiously


Practically, in the prod environment, we have been using it on GRE overlays to remote branch sites which are very large in number, and we wanted minimal use of our infra routes assignment subnet.

Have you also been using /31s in your infra? Let me know in the comments!

Leave a Reply