Understanding IP Addressing
Understanding the basics of IP addressing is important for understanding the working of IP. An IP address can be defined as a numeric identifier that is assigned to every device that is on an IP network.
It is a logical software address and not the physical hardware address that is hard coded in the network interface card of the device. The article discusses how IP addresses can be used for identifying every machine that is present on the network.
The Hierarchical IP Addressing Scheme
An IP address comprises of 32 bits that are divided into four parts known as quads or octets. Every section contains a byte each. IP addresses can be specified in three ways:
- Dotted-decimal Notation
- Binary Notation and
- Hexadecimal Notation
The 32 bit IP addresses are structured, hierarchical address and is not a flat or a nonhierarchical address. It was possible to use flat addressing the designers chose hierarchical addressing for the reason that flat addressing would make it impossible to store a completely unique address of every machine on the internet on every router making routing impossible. Hierarchical addressing was seen as a solution to deal with this issue.
IP Address Structure
In case of IP addressing the complete 32 bit address is not treated as a unique identifier. The IP address has two parts - the network address and the node address ensuring a hierarchical structure which are used for identifying a device in an IP network.
- Network Address: The network address consists of the first two sets of an IP address. These are used for unique identification of every network. The network address is shared by every machine that is on the network.
- Node Address: The next two sets of numbers identify the machine that is on the network. This is unique for every machine.
Understanding Network Classes
The people behind the internet created three classes of networks
- Class A
- Class B
- Class C
The classification was based on the size of the network.
The three classes of networks are discussed in detail below:
- Class A Networks: In this kind of network, the first byte is the network address and the remaining three bytes are used for the node. The format can be represented as Network.Node.Node.Node.
It is possible to have 126 Class A network addresses and since there are 3 bytes for the node address of a machine 224 (16,777,2160) unique combinations are possible. As the two patterns of all 0s and all 1s contained in the node bits are reserved, the actual number of combinations available is 224- 2.
- Class B Networks: In this type of network, the first two bytes are for the network address and the two bytes remaining are for the node address. The format of class B addresses can be represented as Network.Network.Node.Node.
A network address is 2 bytes in size leading to 216 unique combinations. Since the designers decided that these networks should begin with binary digits a total of 214 unique combinations were available. A Class B addresses can be easily made out from the first byte itself.
- Class C Networks: In case of Class C networks, the first 3 bytes represent the network portion of the address. The leaves only a single byte for the node address. The format can be represented as Network.Network.Network.Node.
The first three positions in this class are mandatorily binary 110. Three bytes means 24 bits and since 3 positions are reserved, 21 positions are left.
The information regarding the three types of addresses is summarized in the table given below:
|Class||Mask Bits||Leading Bit
Table 1: Class A, B and C of Networks