Why can't IP addresses start with 0 or 255?

8

1

It was specified somewhere (presumably in an RFC) that Class A addresses range from 1-126 in the first octet, and that class E addresses range from 240-254, but that leaves out two potential networks on either side, namely a 0 and a 255 network.

I believe that addresses starting with these IPs are invalid. Does this mean that they wouldn't work on a private network, and is there a reason for them being invalid?

Odyssey

Posted 2013-10-25T22:56:49.570

Reputation: 217

Answers

19

The IP address 0.0.0.0 is used as a wildcard to bind to all addresses. The IP address 255.255.255.255 is used to indicate a local broadcast.

Because this decision was part of the classful network design that predates CIDR, to reserve these specific IP addresses alone, special rules would have had to have been created for the /8's that contained them. Since some /8's were going to remain reserved anyway, it made sense to reserve these rather than creating additional rules so they could be used.

David Schwartz

Posted 2013-10-25T22:56:49.570

Reputation: 58 310

4But... that wasn't the question. I know they marked it as answered but it doesn't answer it. It's not whether 0.0.0.0 is valid but 0.213.4.67 or any other 0.x.x.x or 255.x.x.x could be. – Micah Gafford – 2017-04-23T05:56:19.383

1@MicahGafford Did you read my answer?! – David Schwartz – 2017-04-23T18:17:05.197

3@DavidSchwartz To people not familiar with the CIDR notation, it might not be clear that you addressed that point. – T.R. – 2017-04-24T19:40:45.890

6I did read the answer. This is a place where expert (you) can answer questions laymen (me) might have. If you answer a question so that only people who should already know it are the only ones able to understand it doesn't answer the question. Since you never specifically said 0.x.x.x is entirely blocked out because they decided to use 0.0.0.0 as a wildcard I certainly didn't understand that. In fact I'm only surmising that based on @DavidSchwartz reply but could still be misunderstanding the why. It certainly wouldn't hurt anyone to update the answer with the laymen version. TY for your time. – Micah Gafford – 2017-04-26T03:50:14.500

2@MicahGafford If you don't know what a term in an answer means, and it's linked to a page that explains it, maybe click the link and look at the page. – David Schwartz – 2017-04-26T18:23:48.697

3There was no indication in the answer that would make someone think it would clarify something. I was just trying to be helpful for anyone searching in the future. You're reply is basically saying "Well go learn all this other stuff." Answers should be wholistic but I would agree not to the point of having to describe an atomic substructure or other silly things. It's fairly easy to clarify this answer without alienating the curious, or requiring a Network+ cert. – Micah Gafford – 2017-04-27T06:41:25.443

2Just to help anyone who later stumbles upon this, so far as I understand from the links in the answer, back in the early days of the internet, there were a few "large networks" that all internet-connected computers were part of. The first octet of an IP address specified that large network. Any address of the form 10.x.x.x, for instance, took you to ARPANET. Given that 0.0.0.0 and 255.255.255.255 were special-purpose addresses even in this early design, this effectively handed over the entire 0.x.x.x and 255.x.x.x address ranges. As the internet evolved, this just hasn't changed. – ymbirtt – 2018-08-15T08:29:47.043

6

Because they are reserved for multicast and broadcast addresses

The RFC specifically has set them aside as "Reserved"

They are valid, but just aren't usable

ChasingLogic

Posted 2013-10-25T22:56:49.570

Reputation: 126

1"Not usable"??? – Xavierjazz – 2013-10-25T23:06:03.053

1

0.0.0.0/8 and 255.0.0.0/8 are both reserved by IANA in 1981. The former block is for self-identification (based on RFC 6890) and the latter is reserved for "Future use"; formally Class E.

Addresses starting with 240 or a higher number have not been allocated and should not be used, apart from 255.255.255.255, which is used for "limited broadcast" on a local network. See (RFC 919) and (RFC 922) for more.

Information from: https://myip.ms/info/whois/0.0.0.0 https://myip.ms/info/whois/255.0.0.0 https://tools.ietf.org/html/draft-wilson-class-e-01

Meynoush

Posted 2013-10-25T22:56:49.570

Reputation: 41

But Class E was defined to be 240.0.0.0/4; i.e., 240.0.0.0 through 255.255.255.255 (or maybe 255.255.255.254).  The question asks why 255 is treated differently from 240 through 254; your answer doesn’t address that. – Scott – 2018-10-06T03:46:05.113