|
This guide provides information for the Internet community. It does not constitute an
Internet Standard of any kind. Distribution can be unlimited.
1. Introduction
An IP (Internet Protocol) address is the unique name whereby computer systems (hosts) communicate with each other. Included in the term 'hosts' are such things as hubs, bridges, routers, print servers etc. These devices can usually work without an IP address but if they need to be managed via SNMP or other management systems they must have an IP address assigned. Most devices come set up with a manufacturers default address. It is NOT a good idea to continue to use these. Each site should have one or more allocated IP network addresses, which can be obtained from a designated Internet provider and hosts should be set up with a valid IP number.
For the purposes of this memo, an enterprise is an entity autonomously operating a network using TCP/IP and in particular determining the addressing plan and address assignments within that network.
2. Types of Address
In general users will see three types of Internet Protocol addresses, They are known as
Class A, Class B and Class C. There are classes D and E but they are not normally seen as
class D is multicast and E is "Reserved for Future Use" Class A and B are no
longer issued unless a really good case is presented to the issuing body. Most users will
have one or more Class C addresses (but see later in document).
3. Format of the Address
An IP address consists of a 32 bit number which is usually written in the dotted notation format :-
aaa.bbb.ccc.ddd (e.g. 193.111.193.123)
which produces four 8 bit octets (byte) and as such permits a range between 0 and 255 per field.
A,B,C,D & E addresses are classified in the following manner:-
| CLASS | RANGE | DEFAULT SUBNET MASK |
| Class A | 1.0.0.0 - 126.0.0.0 | 255.0.0.0 |
| (0.0.0.0 and 127.0.0.0 are reserved.) | ||
| Class B | 128.1.0.0 - 191.254.0.0 | 255.255.0.0 |
| (128.0.0.0 and 191.255.0.0 are reserved) | ||
| Class C | 192.0.1.0 - 223.255.254.0 | 255.255.255.0 |
| (192.0.0.0 and 233.255.255.0 are reserved) | ||
| Class D/E | 224.0.0.0 to 255.255.255.254 |
As mentioned an IP address can be considered as a unique address pointing to a network and a host on that network. A host, in this context, means any device that can communicate on the network. The address is, therefore, split into two parts, the network part and the host part. The subnet mask indicates which part is the network and which the host.
A look at the three classes will show that :- The first type of address, class A, has a 7-bit network number and a 24-bit local address. The highest-order bit is set to 0.
The first 3 decimal digits indicate Networks, the last 9 indicate hosts. This allows 128 class A networks and 16,646,144 hosts. (2 24) per network.
| |0| NETWORK -------------------> | Local | Host | Address |
The first 14-bits are the network number and a the next 16-bits the local address. The 2 highest-order bits are set to 1-0. The first 6 decimal digits indicate Networks, the last 6 indicate hosts. This allows 16,384 class B networks. and 65,024 hosts (2 16) per network.
| |1 0| NETWORK | -----------------------------> | Local Host | Address |
The first 21-bits are the network number and the next 8-bit the local address. The 3 highest-order bits are set to 1-1-0. The first 9 decimal digits indicate Networks, the last 3 indicate hosts. This allows 2,097,152 class C networks. with 254 hosts (2 8) per network.
| |1 1 0| NETWORK | ------------------------------- | -----------------------------> | Local Host Address |
As can be seen it would be very difficult to use up a single class B address and even more difficult a class A with over 16 million machines. User sites are normally issued with multiple class C addresses.
Each portion of the address can be within the range 0 to 255 and although this gives 256 devices the number 0 and 255 are not used. This is because 255 is used as special address called a broadcast address and 0 is used to indicate a network address (or broadcast in an old schema).
Thus, using the address 193.111.193.123 as an example the network is addressed as 193.111.193.0 and a network specific broadcast is 193.111.193.255. (multi network broadcasts are 255.255.255.255, this will be determined as a broadcast irrespective of the network number).
The host portion of the address is often referred to as a subnet and may not consist of all 0s or 1s, Hence the top and bottom portions of all network address blocks may not be used unless the default mask is used.
The host portion can have a different mask applied to further increase the number of networks.
With a class B network address the host portion 'h' contains 16 binary digits (nnn.nnn.hhh.hhh) 14 of which can be used to further subnet the address. Subnet bits are the most significant portion of the host numbers. (e.g. decimal nnn.nnn.255.192 equals binary nnn.nnn.11111111.11000000).
| 255.255.255.192 | (255.255.255).11000000 |
| 255.255.255.224 | 11100000 |
| 255.255.255.240 | 11110000 |
| 255.255.255.248 | 11111000 |
| 255.255.255.252 | 11111100 |
| 255.255.255.255 | 11111111 |
| Number of subnet bits | Subnet Mask | Number of Subnets | Number of Hosts per subnet |
| 0 | 255.255.0.0 | 1 | 65024 |
| 2 | 255.255.192.0 | 2 | 16382 |
| 3 | 255.255.224.0 | 6 | 8190 |
| 4 | 255.255.240.0 | 14 | 4096 |
| 5 | 255.255.248.0 | 30 | 2046 |
| 6 | 255.255.252.0 | 62 | 1022 |
| 7 | 255.255.254.0 | 126 | 510 |
| 8 | 255.255.255.0 | 254 | 254 |
| 9 | 255.255.255.128 | 510 | 126 |
| 10 | 255.255.255.192 | 1022 | 62 |
| 11 | 255.255.255.224 | 2046 | 30 |
| 12 | 255.255.255.240 | 4096 | 14 |
| 13 | 255.255.255.248 | 8190 | 6 |
| 14 | 255.255.255.252 | 16382 | 2 |
| Number of subnet bits | Subnet Mask | Number of Subnets | Number of Hosts per subnet |
| 0 | 255.255.255.0 | 1 | 254 |
| 2 | 255.255.255.192 | 2 | 62 |
| 3 | 255.255.255.224 | 6 | 30 |
| 4 | 255.255.255.240 | 14 | 14 |
| 5 | 255.255.255.248 | 30 | 6 |
| 6 | 255.255.255.252 | 62 | 2 |
All portions of the address covered by binary 1 are considered to be the network portion.
As previously mentioned the top and bottom subnets may not be used and are shown by the shaded portions in the next table which shows usable class C network / hosts:-
(Note the use of 255.255.255.128 as a subnet mask will give 2 subnets {subnet address 0 & 128, hosts 1-126 & 129-254, broadcast 127 & 255} and as, from the above, the top and bottom subnets should not be used {all 1's or 0's} this produces an unusable schema so it is not listed).
| Subnet Mask | Subnet Number | Subnet Address | Address Range (62 hosts) | Broadcast |
| 192 | 0 | 0 | 1-62 | 63 |
| 192 | 1 | 64 | 65-126 | 127 |
| 192 | 2 | 128 | 129-190 | 191 |
| 192 | 3 | 192 | 193-254 | 255 |
| Subnet Mask | Subnet Number | Subnet Address | Address Range (30 hosts) | Broadcast |
| 224 | 0 | 0 | 1-30 | 31 |
| 224 | 1 | 32 | 33-62 | 63 |
| 224 | 2 | 64 | 65-94 | 95 |
| 224 | 3 | 96 | 97-126 | 127 |
| 224 | 4 | 128 | 129-158 | 159 |
| 224 | 5 | 160 | 161-190 | 191 |
| 224 | 6 | 192 | 193-222 | 223 |
| 224 | 7 | 224 | 225-254 | 255 |
| Subnet Mask | Subnet Number | Subnet Address | Address Range (14 hosts) | Broadcast |
| 240 | 0 | 0 | 1-14 | 15 |
| 240 | 1 | 16 | 17-30 | 31 |
| 240 | 2 | 32 | 33-46 | 47 |
| 240 | 3 | 48 | 49-62 | 63 |
| 240 | 4 | 64 | 65-78 | 79 |
| 240 | 5 | 80 | 81-94 | 95 |
| 240 | 6 | 96 | 97-110 | 111 |
| 240 | 7 | 112 | 113-126 | 127 |
| 240 | 8 | 128 | 129-142 | 143 |
| 240 | 9 | 144 | 145-158 | 159 |
| 240 | 10 | 160 | 161-174 | 175 |
| 240 | 11 | 176 | 177-190 | 191 |
| 240 | 12 | 192 | 193-206 | 207 |
| 240 | 13 | 208 | 209-222 | 223 |
| 240 | 14 | 224 | 225-238 | 239 |
| 240 | 15 | 240 | 241-254 | 255 |
| Subnet Mask | Subnet Number | Subnet Address | Address Range (6 hosts) | Broadcast |
| 248 | 0 | 0 | 1-6 | 7 |
| 248 | 1 | 8 | 9-14 | 15 |
| 248 | 2 | 16 | 17-22 | 23 |
| 248 | 3 | 24 | 25-30 | 31 |
| 248 | 4 | 32 | 33-38 | 39 |
| 248 | 5,6,7.....28,29 | 40,48,56.....232 | 41-46.....233-238 | 47,55.....239 |
| 248 | 30 | 240 | 241-246 | 247 |
| 248 | 31 | 248 | 249-254 | 255 |
As can be seen the use of subnets can be wasteful of host addresses, for instance the 'C' class subnet mask 255.255.255.192 will "loose" 124 hosts in the subnets 0 and 192 plus network numbers (0, 64, 128 & 192) and broadcast numbers (63, 127,191 & 255), a total of 132 host addresses. Subnet mask 255.255.255.224 will "loose" 60 host addresses in subnets 0 and 224 plus network numbers (0, 32, 64, 96, 128, 160, 192, & 224) and broadcast numbers (31, 63, 95, 127, 159, 191, 223 & 255) a total of 76 host addresses. Whereas the default mask (255.255.255.0) only "looses" the network number 0 and broadcast number 255.
Note: Concerning the use of top and bottom subnets ( e.g. 0 & 192 above):-
From the Assigned Numbers memos (RFC943 & RFC950)
"In certain contexts, it is useful to have fixed addresses with functional significance rather than as identifiers of specific hosts. When such usage is called for, the address zero is to be interpreted as meaning "this", as in "this network". The address of all ones are to be interpreted as meaning "all", as in "all hosts". For example, the address 128.9.255.255 could be interpreted as meaning "all hosts on the network 128.9". Or, the address 0.0.0.37 could be interpreted as meaning "host 37 on this network." It is useful to preserve and extend the interpretation of these special addresses in subnetted networks. This means the values of all zeros and all ones in the subnet field should not be assigned to actual (physical) subnets."
This is the reason for not using some subnets. If you do not wish to abide by the above suggestion, or your network does not use the scheme, it is possible to recover the top and bottom subnets (and use .128 as a 'C' class subnet mask).
If you have a network that will not require access to the mainstream Internet or you operate a firewall router, then you can use a sequence of IP addresses that have been designated by IANA as Private Address Space.
A part extraction of RFC 1597 follows:
The Internet Assigned Numbers Authority (IANA) has reserved the following three blocks of the IP address space for private networks:
10.0.0.0 - 10.255.255.255 (Class A)
172.16.0.0 - 172.31.255.255 (Class B)
192.168.0.0 - 192.168.255.255 (Class C)
The first block is nothing but a single class A network number, while the second block is a set of 16 contiguous class B network numbers, and third block is a set of 255 contiguous class C network numbers.
An enterprise that decides to use IP addresses out of the address space defined in this document (RFC1597) can do so without any coordination with IANA or an Internet registry. The address space can thus be used by many enterprises. Addresses within this private address space will only be unique within the enterprise.
Normally any enterprise that needs globally unique address space is required to obtain such addresses from an Internet registry. An enterprise that requests IP addresses for its external connectivity will never be assigned addresses from the blocks defined above.
In order to use private address space, an enterprise needs to determine which hosts do not need to have network layer connectivity outside the enterprise in the foreseeable future.
Category 1 hosts will be called private hosts, and will use the private address space defined above. Private hosts can communicate with all other hosts inside the enterprise, both public and private. However, they cannot have IP connectivity to any external host. While not having external network layer connectivity private hosts can still have access to external services via application layer relays.
Category 2 hosts will be called public hosts and will use globally unique address space assigned by an Internet Registry.
Public hosts can communicate with other hosts inside the enterprise both public and private and can have IP connectivity to external public hosts. Public hosts do not have connectivity to private hosts of other enterprises. Moving a host from private to public or vice versa involves a change of IP address.
Because private addresses have no global meaning, routing information about private networks shall not be propagated on inter-enterprise links, and packets with private source or destination addresses should not be forwarded across such links. Routers in networks not using private address space, especially those of Internet service providers, are expected to be configured to reject (filter out) routing information about private networks. If such a router receives such information the rejection shall not be treated as a routing protocol error. Indirect references to such addresses should be contained within the enterprise.
Prominent examples of such references are DNS Resource Records and other information referring to internal private addresses. In particular, Internet service providers should take measures to prevent such leakage.
The obvious advantage of using private address space for the Internet at large is to conserve the globally unique address space by not using it where global uniqueness is not required.
Enterprises themselves also enjoy a number of benefits from their usage of private address space: They gain a lot of flexibility in network design by having more address space at their disposal than they could obtain from the globally unique pool. This enables operationally and administratively convenient addressing schemes as well as easier growth paths.
For a variety of reasons the Internet has already encountered situations where an enterprise, that has become connected to the Internet, had used IP address space for its hosts without getting this space assigned from the IANA. In some cases this address space had been already assigned to other enterprises. When such an enterprise connects to the Internet, it could potentially create very serious problems, as IP routing cannot provide correct operations in presence of ambiguous addressing.
Using private address space provides a safe choice for such enterprises, avoiding clashes once outside connectivity is needed. One could argue that the potential need for renumbering represents a significant drawback of using the addresses out of the block allocated for private internets. However, we need to observe that the need is only "potential", since many hosts may never move into the second category, and an enterprise may never decide to interconnect (at IP level) with another enterprise. But even if renumbering has to happen, we have to observe that with Classless Inter-Domain Routing (CIDR) an enterprise that is connected to the Internet may be encouraged to renumber its public hosts, as it changes its Network Service Providers. Thus renumbering is likely to happen more often in the future, regardless of whether an enterprise does or does not use the addresses out of the block allocated for private networks.
Tools to facilitate renumbering (e.g., DHCP) would certainly make it less of a concern. Also observe that the clear division of public and private hosts and the resulting need to renumber makes uncontrolled outside connectivity more difficult, so to some extend the need to renumber could be viewed as an advantage.
Using the above scheme many large enterprises will need only a relatively small block
of addresses from the globally unique IP address space. The Internet at large benefits
through conservation of globally unique address space which will effectively lengthen the
lifetime of the IP address space. The enterprises benefit from the increased flexibility
provided by a relatively large private address space.
(all are available on the Internet from an RFC repository: - www.cis.ohio-state.edu/htbin/rfc/rfc917.html, rfc950.html, rfc1597.html or from Ethernet Solutions Ltd. Note you can view these HTML documents using Microsoft's Internet Assistant for Word 6.0x add-on which is also available from the Internet or Ethernet Solutions Ltd. or any Internet Explorer.)
06 October 2006 EThernet Solutions Limited.