TCP/IP Fundamentals and Addressing Schemes
In this article, we take the second step towards our understanding of TCP/IP protocol by looking at how TCP/IP settings are configured on systems, fundamental terms related to the same and what kind of addressing scheme is used by the protocol to assign unique network addresses to systems.
Some amount of knowledge is necessary to configure TCP/IP settings on a system and familiarity with some fundamental terms is essential. Knowledge of three parameters is required to successfully configure TCP/IP - IP address, Subnet Mask and Default Gateway.
The IP Address
The IP address is a 32-bit value that uniquely identifies a system on a network (Private or Internet). An IP address looks something like 192.168.5.10. It contains 4 decimal places separated by periods (.) and each decimal value is made up of 8 bits (1s and 0s). Hence each decimal value in an IP address is also called an Octet. 8 times 4 equals 32, and hence an IP address is a 32-Bit address, containing 4 Octets. The 4 octets in an IP address is divided into two parts - A network ID and a Host ID. The network ID in an IP address identifies the network on which a particular system resides, and the Host ID identifies the specific system on that network. The Subnet Mask identifies which part of the IP address makes up the Network ID and which part makes up the Host ID.
The Subnet Mask
The Subnet Mask is always specified under an IP address and the way it works is this :- When looking at the Subnet mask, if we see a 255 in the Octet, then the corresponding Octet in the IP address is part of the Network ID. For example, if the IP address is 192.168.5.10 and the subnet mask is 255.255.255.0, then the 192.168.5 from the IP address represents the Network ID and the 10 from the IP address represents the Host ID. The purpose of the subnet mask becomes clearer when a system tries to send data to another system on the network. The sender needs to verify if the destination system is on the same network or not. If the subnet mask is same for both systems, then it means that the destination system is on the same network as the sender and the data is sent directly to the destination. If the subnet mask is different, then it would mean that the destination system is on a different network and so the sender will send the data to a router, from where it will be routed to the appropriate system on the other network.
The Default Gateway
As observed earlier, whenever a networking system wants to send data to a target machine, it needs to identify if the target machine is on the same network or on a different one. If the target machine is on a different network, then the sender sends the data to the router, from where it passes onto the other network. So, the sender needs to know the IP address of the router. The IP address of the router is basically specified as the 'Default Gateway' address in the TCP/IP settings. A gateway in very simple terms is a device that connects two dissimilar networks together, and so in the context of a LAN, the router will act as a gateway to connect to networks outside the LAN. Generally, for a system to have access to the internet, all three parameters - IP address, Subnet Mask and Default Gateway will have to be configured. If only the IP address and Subnet Mask are configured, then it would mean that the system is part of a LAN without access to external networks.
TCP/IP Addressing Schemes
We have discussed before that an IP address contains two parts - a Network ID and a Host ID. This division enables us to have different kinds of address classes under which every IP address is grouped. The purpose behind grouping an IP address under a specific class was to determine which part of the address would be used for the Network ID and which part for the Host ID, along with the number of hosts supported by that particular class. The different classes to which IP addresses belong are specified below:-
a. Class A Addresses : A class A address has a subnet mask of 255.0.0.0, which basically means that the first octet of the IP address belonging to this class will always specify the network ID, and the remaining three octets will specify the host ID. Class A addresses will be generally used in scenarios were the number of networks is less (Because only one octet is being used to specify the network) and the number of hosts is more (Because three octets are being used to specify host ID's). Since each octet can range from 0 to 255, the number of hosts that can be supported by the class A address would be 256x256x256 = 16,777, 216. The first octet of a class A address would generally be between 1 and 126.
b. Class B Addresses : A class B address has a subnet mask of 255.255.0.0, which basically means that the first two octets will be used for the network ID, and the remaining two for the Host ID. A class B address will thus support 256x256 = 65,536 hosts on the network. The first octet of a class B address would generally fall between 128 and 191.
c. Class C Addresses : A class C address has a subnet mask of 255.255.255.0, which means that three octets identify the network ID and the last octet identifies the host ID. A class C address thus supports 256 hosts, and the first octet would generally be between 192 and 223.
d. Class D Addresses : Class D addresses are used for special types of applications on the network known as Multicast applications. A multicast application usually sends data to a number of systems at the same time by sending data to the multicast address. The first octet of a class D address ranges between 224 to 239 and this address is not usually assigned to a host on the network.
e. Class E Addresses : Class E addresses were developed only for experimental purposes and are not used on any network. The first octet of this address falls between 240 to 247.
When sending data on the network, there are different ways that the data can be sent to the destination. These include Unicast, Broadcast and Multicast schemes.
a. Unicast : In this scheme, data is sent to only one system by specifying the IP address of the target system.
b. Broadcast : Information is sent to all systems on the network. An example of this would be an ARP request that is broadcast to all machines on a network. A broadcast address is usually used to send a broadcast request on the network.
c. MultiCast : Information is sent to a select number of systems on the network. The systems in question are subscribed to a multicast address, and all info sent to this address is automatically filtered down to the systems.