IPv4 Exhaustion: What About Class E Addresses?
By stretch | Thursday, October 14, 2010 at 2:04 a.m. UTC
If you've received even a day of basic networking training, odds are that you're familiar with the original classful structure of the IPv4 Internet (which still appears on the CCNA, despite having been obsolete for as long as I've been around). The range of all possible IPv4 addresses was originally segmented into five classes, A through E. A, B, and C were used for general unicast assignments, class D was designated for multicast addressing, and class E was set aside for "experimental" use. In fact, that chunk of of about 268 million IPv4 addresses is still designated by IANA for "future use" today.
With the remaining available IPv4 address space due to run out some time next year, it would seem that now might be the time to break out the old class E addresses IANA has seemingly been saving for a rainy day. Unfortunately, it's not all that easy.
Two Internet drafts have been proposed for allocating the former class E space (240.0.0.0/4) for general use. A draft titled Reclassifying 240/4 as usable unicast address space was put forth by some engineers at Cisco, but it is expired as of September 2008. A similar draft, Redesignation of 240/4 from "Future Use" to "Private Use", calls for the 240/4 space to be allowed at least for private use, but it too is expired.
Why does there appear to be so little support for the initiative? From the former of the two drafts mentioned above:
At the present time, most IP implementations consider any IP address in the range 240.0.0.0 through 255.255.255.255 to be invalid as the source or destination of a datagram. The check for such "illegal" addresses may occur in many places, including at datagram receipt, before IP datagram transmission, when an IP address is assigned to a network interface, or even by router and firewall configuration parsers.
Iljitsch van Beijnum offers some additional insight in an article from The Internet Protocol Journal:
The class E space has 268 million addresses and would give us in the order of 18 months worth of IPv4 address use. However, many TCP/IP stacks, such as the one in Windows, do not accept addresses from class E space and will not even communicate with correspondents holding those addresses. It is probably too late now to change this behavior on the installed base before the address space would be needed.
Had an initiative to reclaim the 240.0.0.0/4 space for general use been made say ten years ago, it would have had a good chance at succeeding. Unfortunately, at this late stage in the IPv4 game, reclaiming the space would necessitate an incredibly broad Internet-wide initiative, and yield only a modest return. Besides, we don't need another reason to keep IPv4 around just a little bit longer. IPv6 is here: start using it.
About the Author
Jeremy Stretch is a network engineer living in the Raleigh-Durham, North Carolina area. He is known for his blog and cheat sheets here at Packet Life. You can reach him by email or follow him on Twitter.
Posted in Routing
October 14, 2010 at 2:11 a.m. UTC
Yea, basically if people are going to have to do anything special to enable the use of Class E addresses, they might as well just enable IPv6.
Curious, what did you mean by "having been obsolete for as long as I've been around"? IP addresses classes are certainly still a valid topic - the issue is that for some reason people still teach that the subnet mask somehow has ANYTHING to do with the address class (which of course, it does not). At one time they were interchangeable terms, due to classful addressing... but that didn't make it correct by any means. Just figured I'd throw that out there. (I'm sure you're well aware, but perhaps some of your readers may not be.)
I always enjoy hearing the answers to the question "What class is the address 22.214.171.124/24?" because sometimes people actually answer "class C". Heh.
October 14, 2010 at 2:25 a.m. UTC
The original draft outlining the concept of VLSM, RFC 950, was published August 1985, the same month and year I was born. It's well past time to remove classful addressing from certification material.
October 14, 2010 at 2:40 a.m. UTC
If the issue had been as prominent when the Windows Vista/7 networking stack was overhauled, I think we might have gotten some traction with Microsoft to get the Class E address space opened up as a viable addressing option for the client space. Now, with the new networking stack being 'mature', it would take a fairly complicated patching operation on a large install base to pull it off. And with IPv6 being built into the networking stacks of all the major OSes right now, I don't think Apple/MS/Linux community would be willing to undertake such a large operation when other, less difficult (reasonably) options are around.
Rather than reinventing the wheel, let's move forward with IPv6. It'll be much less painful and much more productive for years and years to come.
October 14, 2010 at 2:45 a.m. UTC
1) @IPv6Freely; IP Classes are dead. No one should ever reference them unless they are speaking of a time when they weren't dead. VLSM and CIDR have been around nearly 20 years obsoleting classful addressing. There's simply no excuse to use them anymore, ever. (Yes I'm ignoring the fact that some hardware doesn't support it. To that I say either buy new gear or get yourself a vendor that doesn't suck.)
2) While I am a great supporter of IPv6 and have been rolling it out places for nearly 3 years now, I don't buy into the "Just move to IPv6" bit. IPv4 is going to be around for a VERY long time. I don't expect I'll ever see a day where IPv4 is obsolete. The transitional period is going to take many years. Making available another /4 of IPv4 space can be handled in such a way that will actually aid in IPv6 deployment.
As new corporations and more and more people connect to the internet, there will be a continued need for IPv4. Until the mythical day that IPv4 is finally completely off everywhere, we'll all HAVE to support it. Working mainly in Research and Education I simply cannot tell my campuses that we no longer give out IPv4 addresses and that by using only IPv6 you no longer have access to a still very large majority of the Internet. Even if I picture myself 5 years from now, I can't find it possible to say that.
3) I'm not at all sympathetic for the man hours it would take to fix up the IP stacks to support 240/4. The RFCs call it "Future Use" not "Invalid" if people were boneheaded enough to jump to that conclusion they deserve to be made to do it over again. Maybe the guys getting paid big bucks to fix the IP stacks can also be paid to write/improve IPv6 support while they're at it.
October 14, 2010 at 6:14 a.m. UTC
@ancker While I have some sympathy for the "if your code is broken then fix it" point of view this doesn't work at a global scale.
As Stretch says in the post: If the 240/4 block had been reclassified 10 years ago then it might be generally usable by now. But then again, IPv6 has had 15 years and we still haven't got it right.
Nothing changes in the Internet until things start to break (see http://www.cs.ucl.ac.uk/staff/m.handley/papers/only-just-works.pdf)
People will demand v6 when sticking with v4 gets painful. This pain won't hit until address exhaustion demands the roll out of various large scale NAT technologies like AFTR, DS-Lite and NAT64.
A rush re-classification of 240/4 would move this date back by less than 18-months. Are you planning on retiring in the next couple of years? I am not, so v6 roll out will still be my problem. I would rather get it over with and move on to the next crisis ;)
October 14, 2010 at 12:15 p.m. UTC
There are other ranges that could be allocated as well. Such as 198.19/16 -- although I do still enjoy using that for my home network. (its reserved for testing iirc) I mainly use it to allow full connectivity to my home network, while connected to networks I do consulting for.
@IPv6 / strech -- I agree, classfull addressing is dead. Who cares what class 126.96.36.199/24 is in? I certainly don't.
@ancker I happen to agree with you regarding the "fix your broken code" approach. But obviously there are issues with getting a patch rolled out globally. What percent of business users are still forced to stay with IE6? Its a ridiculously scary number. Imagine how long it would be before these patches would actually be applied!
October 15, 2010 at 3:12 a.m. UTC
Why not just kick of some of those corporations that own big blocks?
October 15, 2010 at 7:58 a.m. UTC
And who was the genius who decided to assign 16 million addresses for a loopback?
268 million addresses is quite a bit. 'reserved for future use'? 'reserved for absolutely nothing' is more like it
October 16, 2010 at 10:18 a.m. UTC
classfull addressing is still a valid topic when learning subnetting for the CCNA. I don't see how one could learn the topic without knowing classfull addressing. knowing the default subnetmask for each class helps determine the number of subnets within a classfull address.
IPv6 is already here. no need to tap in the the IPv4 reserves.
October 16, 2010 at 6:48 p.m. UTC
@Aaron: I'm not convinced.
What's the use in distinguishing between "network bits" and "subnet bits" ?
Sure, CCNAs need to learn how many hosts can fit in a /27, as well as how to find the network and broadcast addresses associated with any given prefix/mask...
But what's the use in knowing that:
10.50.50.5/27 has 8 "network bits" and 19 "subnetwork bits"
192.168.50.5/27 has 16 "network bits" and 11 "subnetwork bits"
Likewise, knowing that 188.8.131.52/22 is a supernet of four "Class Cs" seems equally useless today.
Subnet/classful/supernet. Doesn't matter. They're just addresses and netmasks. Know how to figure out their sizes and boundaries. That is all.
I confess that I'm guilty of referring to classful space in my speech sometimes, when referring to the size of an allocation. Depending on the audience, I might say "four class C's" or "half a class C" rather than "a /22" or "a /25", when I suspect the audience will only be able to make sense of the classful size reference.
October 16, 2010 at 9:07 p.m. UTC
“268 million addresses and would give us in the order of 18 months worth of IPv4 address use”
Wow, 268,000,000 in only 18 months! I didn’t realise things were that bad.
After listening to the excellent discussion of IPv6 on PacketPushers, it seems to me that the only pain associated with v6 is that large chunks of the internet are not reachable on it. So the sooner ISPs offer it, the better. Stop being part of the problem and become part of the solution! (I can’t believe I just wrote that – however true it might be.)
October 16, 2010 at 9:34 p.m. UTC
To drive home the fact that IPv4 classes are irrelevant: IPv6 has no concept of address class, yet we can teach how to segment and summarize IPv6 prefixes just fine.
October 17, 2010 at 5:22 a.m. UTC
I just have on thing to say about learning about address classes: automatic summarization.
Even at the CCNP level I still have to remind my students about classful addresses because auto summarization summarizes at the classful boundary by default.
Now, before you say it, I know there's not really any good reason to use auto summarization, but you still need to know the address classes so that you can understand why manual summarization is so much better.
October 18, 2010 at 10:49 a.m. UTC
One little place classful addressing is still in use- the "network" command in routing configs.
If your network is "classful", you don't have to spec the mask. If it's not, then you do.
October 18, 2010 at 12:50 p.m. UTC
I'm not aware of the CCNA "requiring" knowledge of classful address ranges when calculating addressing schemes and masks. I certainly don't teach it. However, as pointed out, it has to be mentioned when covering auto-summarization in some routing protocols. I've always wondered about the wastefulness of total IPv4 address space generally. But history has happened and we're stuck with bad decisions that at the time probably seemed reasonable. (Not the first time that has happened!) My view is that in the medium term IPv6, outside of specific markets/domains, will grow mainly in the object/RFID world and IPv4 will stay in the legacy network types until, like peak oil, there will be no other way forward except via IPv6.
October 18, 2010 at 1:15 p.m. UTC
@joshlowe: That's a great point. Thanks for bringing it to our collective attention.
October 20, 2010 at 1:40 p.m. UTC
At some point, when IPv6 really starts to gain steam, and big business makes the shift there should be gobs and gobs of IPv4 address space to reclaim. As time passes and more and more IPv6 gets deployed eventually IPv4 address space will start to increase again.
February 2, 2011 at 8:47 a.m. UTC
@Ishmael: There'll be lots of IPv4 space just like there's now lots of DECnet space available... ;)
February 11, 2011 at 6:05 a.m. UTC
Using the first half Class E between the CPE and LSN / 6rd border router would significantly reduce the final burn rate for IPv4.
- It can be done incrementally (DHCP/PPP option to signal CPE support).
- It doesn't require the whole world to upgrade, just the path between the CPE and the LSN / 6rd border router.
- It should't require additional flash which a upgrade to IPv6 often does.
- It should be a inexpensive upgrade for CPE manufactures.
- It provides another well known range to be avoided for automatic 6to4.
- It has enough addresses for just about all ISP without requiring re-use.
- It provides a opt-out mechanism for the case where LSN breaks the customers applications. Just clear the option.
- It should work over IPv4 only infrastructure (this should be upgradable).
June 5, 2012 at 8:05 p.m. UTC
In lieu of this year's IPv6 day, just wanted to make a quick comment regarding the use of classful networks in "network..." commands, as well as automatic summarization:
That applies to only one vendor. I don't think the other players in the R&S space require you to know the classful boundaries of any IPv4 address, since they build their software with the assumption of CIDR/VLSM.
All that classful nonsense is just remnants in IOS. The only reason CCNA's need to know that is to configure Cisco routers with RIP or EIGRP. I don't see that in Brocade or JUNOS so outside of Cisco IOS, it's useless.
This RFC has me worried though: http://tools.ietf.org/html/rfc6598
Instead of wasting time with CGN, deploy IPv6 in the first place and do it right ISP's!