13

When is it appropriate to use a /31 network in production, and is using them considered good practice? On a point-to-point link, broadcasts shouldn't be required, so is there any compelling case for just using /31 over /30 as it seems /30s are still widely deployed and prevalent. This has been defined by RFC 3021.

Are there any use-cases for using a /31 other than to conserve address space? Does the introduction of /31s bring a new set of concerns that are not found in /30s?

Are /31s generally only seen in public space, particularly for ISPs, or are they commonly used in private space too for both ISPs and Enterprises?

  • 2
    Voting to close since this doesn't seem to be an actual question, but more creating a forum for discussion (something we want to avoid). I've seen them used quite a bit in production - whether or not they work as intended is up to the vendor implementation. – John Jensen Jun 3 '13 at 4:54
  • @JohnJensen let me re-phrase this then.... – knotseh Jun 3 '13 at 5:09
  • I think the question here is: "when is this setup used?" – Bulki Jun 3 '13 at 5:32
  • 2
    @Mike-Pennington I have to disagree with you on this one (respectfully ofc). I can understand the problem with the /31 addresses on a theoretical level. Since you don't have an address-part that is solely an address and not a broadcast or subnet part. However this can be used when you are using the right routing towards this network etc, or point-to-point. The questions "why is it possible" or "when is it used" are good questions. – Bulki Jun 4 '13 at 8:50
  • 1
    Just to note here Mikrotik does not support /31 or /127. And they have no intention to fix it. – sdaffa23fdsf Mar 6 '17 at 13:14
11

We have used /31s in our core (Brocade, Juniper, Cisco) for over three years with no issues whatsoever.

This is a production ISP network, and hence its appropriate to use them in a production environment as long as your kit supports it, and you've tested it

  • Doesn't really answer the question does it, "we have used this" – jwbensley Jun 3 '13 at 9:46
  • It's appropriate to use it whenever you want to, as it doesn't cause any issues in a production network – mellowd Jun 3 '13 at 11:12
  • So put that in your answer :) – jwbensley Jun 3 '13 at 11:16
6

As has been said elsewhere, using /31 bit masks can work and is a good way to conserve your available address space.

What is perhaps more import is under what circumstances can't you use /31s? What protocols or applications could misbehave or break as a result of not having a broadcast address?

BootP and DHCP are at the top of the list according the the previous article, but we aren't concerned with those on router point-to-point links. ARP uses a broadcast MAC address - not IP - so shouldn't be any issues there... OSPF & EIGRP both use multicast addresses, RIP v1 looks like it could be an issue though.

What else is dependent on the broadcast or network address?

  • IMHO this is a question, not an answer. – a CVn Jun 4 '13 at 14:14
  • 1
    Agreed. The original question was not worded well and the question was actually closed by vote. It has been re-worded and re-opened since this post was originally made. (Hopefully it contributed to the question's improvement.) – Peter Jun 4 '13 at 15:01
5

I've been using them internally in labs running EIGRP for a bit and haven't find any problem so far.

The way I see it if a /24 is allocated for a P2P range.

  1. /30 bitmask = 64 P2P links
  2. /31 bitmask = 128 P2P links

/23 allocation

  1. /30 bitmask = 128 P2P links
  2. /31 bitmask = 256 P2P links

Alright, I'm not going to bore people w/ subnet math and powers of two. But since we're in the IPv4 exhaustion mode, it allows us to better utilize our given subnet assignments.

Also, in a P2P I see no reason why we need a broadcast address. There are only two hosts in this network. Therefore, any packets destined for broadcast are going to be heard by the other host.

BTW, Cisco routers have supported this feature since IOS 12.2(2)T

  • so you ask a question and 8 minutes later answer it yourself... seems a bit odd now doesn't it? Anyways, the only implementation of a /31 in my opinion is used on firewalls where only 2 WAN addresses are needed (and NAT will do the rest). – Bulki Jun 3 '13 at 5:31
  • @Bulki agree its odd - posted this before modifying the question as I was looking for more a forum/debate structure which I didn't realize we were avoiding. – knotseh Jun 3 '13 at 5:40
  • 1
    I don't think this question is a good fit since it is so subjective. It is common to use /31, at least at ISPs. There is no reason to not to because the big vendors have supported it for ages. – Daniel Dib Jun 3 '13 at 6:07
  • It is quite open-ended, but formed as question should be useful. Maybe question should be 'are there any reason not to always run /31 and /127 on point-to-point links' then we could get interesting data on vendors where this does not work or other motivation not to run them (I can think of one for /127) – ytti Jun 3 '13 at 7:33
  • 7
    @bulki There's nothing wrong with posting a question and then answering one's own question. This is literally encouraged. meta.networkengineering.stackexchange.com/questions/4/… – Craig Constantine Jun 3 '13 at 13:40
2

Given the prudence and importance of address conservation, the general approach to using a /31 should be "if it works, use it".

Of course, you could take this a step further and start using private space for your point-to-point links, but this obviously can be problematic if you're going to run traceroutes from across the internet rather than within your own network, although even that can be mitigated somewhat by configuring your router to issue ICMP errors with a specific source IP address.

In short, do whatever you can to waste as few addresses as possible (within the limits of best-practice and feasibility, don't start throwing NAT concentrators up everywhere)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.