Logical Addressing: IPV4 Addressing - Computer Networks
Logical Addressing: IPV4 Addressing - Computer Networks
Logical Addressing: IPV4 Addressing - Computer Networks
Computer Networks
Usually, computers communicate through the Internet. The packet(data)
transmitted by the sender computer may pass through several LANs or WANs
before reaching the destination computer. For this level of communication, we
need a global addressing scheme what we call logical addressing. An IP
address is used globally to refer to the logical address in the network layer of
the TCP/IP protocol.
IPV4 addresses
An IPv4 address is a 32-bit address that uniquely and universally defines the
connection of a device (for example, a computer or a router) to the Internet.
They are unique so that each address defines only one connection to the
Internet. Two devices on the Internet can never have the same IPV4
address at the same time.
Address Space
IPv4 has a certain address space. An address space is the total number of
addresses used by the protocol. If a protocol uses N bits to define an address,
the address space is 2N
IPv4 uses 32-bit address format, which means that the address space is 2 32 or
4,294,967,296
Notations
There are two notations to show an IPv4 address:
1. Binary notation
2. Dotted decimal notation
1) Binary Notation
2) Dotted-Decimal Notation
IPV4 addresses are usually written in decimal form with a decimal point (dot)
separating the bytes since it’s more compatible. The following is an
example: 119.149.1.3 (above one and this one is same just different notation)
INTRODUCTION
IPv4 - Overview
This era is said to be the era of computers. Computers have significantly changed
the way we live. A computing device when connected to other computing device(s)
enables us to share data and information at lightning fast speed.
What is Network?
A Network in the world of computers is said to be a collection of interconnected
hosts, via some shared media which can be wired or wireless. A computer network
enables its hosts to share and exchange data and information over the media.
Network can be a Local Area Network spanned across an office or Metro Area
Network spanned across a city or Wide Area Network which can be spanned across
cities and provinces.
A computer network can be as simple as two PCs connected together via a single
copper cable or it can be grown up to the complexity where every computer in this
world is connected to every other, called the Internet. A network then includes more
and more components to reach its ultimate goal of data exchange. Below is a brief
description of the components involved in computer network −
Hosts − Hosts are said to be situated at ultimate end of the network, i.e. a host is a
source of information and another host will be the destination. Information flows end to
end between hosts. A host can be a user’s PC, an internet Server, a database server
etc.
Media − If wired, then it can be copper cable, fiber optic cable, and coaxial cable. If
wireless, it can be free-to-air radio frequency or some special wireless band. Wireless
frequencies can be used to interconnect remote sites too.
Hub − A hub is a multiport repeater and it is used to connect hosts in a LAN segment.
Because of low throughputs hubs are now rarely used. Hub works on Layer-1 (Physical
Layer) of OSI Model.
Switch − A Switch is a multiport bridge and is used to connect hosts in a LAN segment.
Switches are much faster than Hubs and operate on wire speed. Switch works on Layer-
2 (Data Link Layer), but Layer-3 (Network Layer) switches are also available.
Router − A router is Layer-3 (Network Layer) device which makes routing decisions for
the data/information sent for some remote destination. Routers make the core of any
interconnected network and the Internet.
Gateways − A software or combination of software and hardware put together, works for
exchanging data among networks which are using different protocols for sharing data.
Firewall − Software or combination of software and hardware, used to protect users
data from unintended recipients on the network/internet.
All components in a network ultimately serve the hosts.
Host Addressing
Communication between hosts can happen only if they can identify each other on
the network. In a single collision domain (where every packet sent on the segment
by one host is heard by every other host) hosts can communicate directly via MAC
address.
MAC address is a factory coded 48-bits hardware address which can also uniquely
identify a host. But if a host wants to communicate with a remote host, i.e. not in the
same segment or logically not connected, then some means of addressing is
required to identify the remote host uniquely. A logical address is given to all hosts
connected to Internet and this logical address is called Internet Protocol Address.
Network Layer
The network layer is responsible for carrying data from one host to another. It
provides means to allocate logical addresses to hosts, and identify them uniquely
using the same. Network layer takes data units from Transport Layer and cuts them
in to smaller unit called Data Packet.
Network layer defines the data path, the packets should follow to reach the
destination. Routers work on this layer and provides mechanism to route data to its
destination.
IPv4 - Addressing
IPv4 supports three different types of addressing modes. −
Here a server sends packets which are entertained by more than one servers.
Every network has one IP address reserved for the Network Number which
represents the network and one IP address reserved for the Broadcast Address,
which represents all the hosts in that network.
A single IP address can contain information about the network and its sub-network
and ultimately the host. This scheme enables the IP Address to be hierarchical
where a network can have many sub-networks which in turn can have many hosts.
Subnet Mask
The 32-bit IP address contains information about the host and its network. It is very
necessary to distinguish both. For this, routers use Subnet Mask, which is as long
as the size of the network address in the IP address. Subnet Mask is also 32 bits
long. If the IP address in binary is ANDed with its Subnet Mask, the result yields the
Network address. For example, say the IP Address is 192.168.1.152 and the
Subnet Mask is 255.255.255.0 then −
This way the Subnet Mask helps extract the Network ID and the Host from an IP
Address. It can be identified now that 192.168.1.0 is the Network number and
192.168.1.152 is the host on that network.
Binary Representation
The positional value method is the simplest form of converting binary from decimal
value. IP address is 32 bit value which is divided into 4 octets. A binary octet
contains 8 bits and the value of each bit can be determined by the position of bit
value '1' in the octet.
Positional value of bits is determined by 2 raised to power (position – 1), that is the
value of a bit 1 at position 6 is 2^(6-1) that is 2^5 that is 32. The total value of the
octet is determined by adding up the positional value of bits. The value of 11000000
is 128+64 = 192. Some examples are shown in the table below −
IPv4 - Address Classes
Internet Protocol hierarchy contains several classes of IP Addresses to be used
efficiently in various situations as per the requirement of hosts per network. Broadly,
the IPv4 Addressing system is divided into five classes of IP Addresses. All the five
classes are identified by the first octet of IP Address.
Internet Corporation for Assigned Names and Numbers is responsible for assigning IP
addresses.
The first octet referred here is the left most of all. The octets numbered as follows
depicting dotted decimal notation of IP Address −
The number of networks and the number of hosts per class can be derived by this
formula −
Class A Address
The first bit of the first octet is always set to 0 (zero). Thus the first octet ranges
from 1 – 127, i.e.
Class A addresses only include IP starting from 1.x.x.x to 126.x.x.x only. The IP
range 127.x.x.x is reserved for loopback IP addresses.
The default subnet mask for Class A IP address is 255.0.0.0 which implies that
Class A addressing can have 126 networks (27-2) and 16777214 hosts (224-2).
Class A IP address format is
thus: 0NNNNNNN.HHHHHHHH.HHHHHHHH.HHHHHHHH
Class B Address
An IP address which belongs to class B has the first two bits in the first octet set to
10, i.e.
Class B IP Addresses range from 128.0.x.x to 191.255.x.x. The default subnet mask
for Class B is 255.255.x.x.
Class B has 16384 (214) Network addresses and 65534 (216-2) Host addresses.
Class B IP address format is: 10NNNNNN.NNNNNNNN.HHHHHHHH.HHHHHHHH
Class C Address
The first octet of Class C IP address has its first 3 bits set to 110, that is −
Class D Address
Very first four bits of the first octet in Class D IP addresses are set to 1110, giving a
range of −
Class E Address
This IP Class is reserved for experimental purposes only for R&D or Study. IP
addresses in this class ranges from 240.0.0.0 to 255.255.255.254. Like Class D,
this class too is not equipped with any subnet mask.
IPv4 - Subnetting
Each IP class is equipped with its own default subnet mask which bounds that IP
class to have prefixed number of Networks and prefixed number of Hosts per
network. Classful IP addressing does not provide any flexibility of having less
number of Hosts per Network or more Networks per IP Class.
CIDR or Classless Inter Domain Routing provides the flexibility of borrowing bits
of Host part of the IP address and using them as Network in Network, called
Subnet. By using subnetting, one single Class A IP address can be used to have
smaller sub-networks which provides better network management capabilities.
Class A Subnets
In Class A, only the first octet is used as Network identifier and rest of three octets
are used to be assigned to Hosts (i.e. 16777214 Hosts per Network). To make more
subnet in Class A, bits from Host part are borrowed and the subnet mask is
changed accordingly.
For example, if one MSB (Most Significant Bit) is borrowed from host bits of second
octet and added to Network address, it creates two Subnets (2 1=2) with (223-2)
8388606 Hosts per Subnet.
The Subnet mask is changed accordingly to reflect subnetting. Given below is a list
of all possible combination of Class A subnets −
In case of subnetting too, the very first and last IP address of every subnet is used
for Subnet Number and Subnet Broadcast IP address respectively. Because these
two IP addresses cannot be assigned to hosts, sub-netting cannot be implemented
by using more than 30 bits as Network Bits, which provides less than two hosts per
subnet.
Class B Subnets
By default, using Classful Networking, 14 bits are used as Network bits providing
(214) 16384 Networks and (2 16-2) 65534 Hosts. Class B IP Addresses can be
subnetted the same way as Class A addresses, by borrowing bits from Host bits.
Below is given all possible combination of Class B subnetting −
Class C Subnets
Class C IP addresses are normally assigned to a very small size network because it
can only have 254 hosts in a network. Given below is a list of all possible
combination of subnetted Class B IP address −
IPv4 - VLSM
Internet Service Providers may face a situation where they need to allocate IP
subnets of different sizes as per the requirement of customer. One customer may
ask Class C subnet of 3 IP addresses and another may ask for 10 IPs. For an ISP,
it is not feasible to divide the IP addresses into fixed size subnets, rather he may
want to subnet the subnets in such a way which results in minimum wastage of IP
addresses.
For example, an administrator have 192.168.1.0/24 network. The suffix /24
(pronounced as "slash 24") tells the number of bits used for network address. In this
example, the administrator has three different departments with different number of
hosts. Sales department has 100 computers, Purchase department has 50
computers, Accounts has 25 computers and Management has 5 computers. In
CIDR, the subnets are of fixed size. Using the same methodology the administrator
cannot fulfill all the requirements of the network.
The following procedure shows how VLSM can be used in order to allocate
department-wise IP addresses as mentioned in the example.
Step - 1
Make a list of Subnets possible.
Step - 2
Sort the requirements of IPs in descending order (Highest to Lowest).
Sales 100
Purchase 50
Accounts 25
Management 5
Step - 3
Allocate the highest range of IPs to the highest requirement, so let's assign
192.168.1.0 /25 (255.255.255.128) to the Sales department. This IP subnet with
Network number 192.168.1.0 has 126 valid Host IP addresses which satisfy the
requirement of the Sales department. The subnet mask used for this subnet has
10000000 as the last octet.
Step - 4
Allocate the next highest range, so let's assign 192.168.1.128 /26
(255.255.255.192) to the Purchase department. This IP subnet with Network
number 192.168.1.128 has 62 valid Host IP Addresses which can be easily
assigned to all the PCs of the Purchase department. The subnet mask used has
11000000 in the last octet.
Step - 5
Allocate the next highest range, i.e. Accounts. The requirement of 25 IPs can be
fulfilled with 192.168.1.192 /27 (255.255.255.224) IP subnet, which contains 30
valid host IPs. The network number of Accounts department will be 192.168.1.192.
The last octet of subnet mask is 11100000.
Step - 6
Allocate the next highest range to Management. The Management department
contains only 5 computers. The subnet 192.168.1.224 /29 with the Mask
255.255.255.248 has exactly 6 valid host IP addresses. So this can be assigned to
Management. The last octet of the subnet mask will contain 11111000.
By using VLSM, the administrator can subnet the IP subnet in such a way that least
number of IP addresses are wasted. Even after assigning IPs to every department,
the administrator, in this example, is still left with plenty of IP addresses which was
not possible if he has used CIDR.
Private IP Addresses
Every class of IP, (A, B & C) has some addresses reserved as Private IP
addresses. These IPs can be used within a network, campus, company and are
private to it. These addresses cannot be routed on the Internet, so packets
containing these private addresses are dropped by the Routers.
In order to communicate with the outside world, these IP addresses must have to be
translated to some public IP addresses using NAT process, or Web Proxy server
can be used.
The sole purpose to create a separate range of private addresses is to control
assignment of already-limited IPv4 address pool. By using a private address range
within LAN, the requirement of IPv4 addresses has globally decreased significantly.
It has also helped delaying the IPv4 address exhaustion.
IP class, while using private address range, can be chosen as per the size and
requirement of the organization. Larger organizations may choose class A private IP
address range where smaller organizations may opt for class C. These IP
addresses can be further sub-netted and assigned to departments within an
organization.
Loopback IP Addresses
The IP address range 127.0.0.0 – 127.255.255.255 is reserved for loopback, i.e. a
Host’s self-address, also known as localhost address. This loopback IP address is
managed entirely by and within the operating system. Loopback addresses, enable
the Server and Client processes on a single system to communicate with each
other. When a process creates a packet with destination address as loopback
address, the operating system loops it back to itself without having any interference
of NIC.
Data sent on loopback is forwarded by the operating system to a virtual network
interface within operating system. This address is mostly used for testing purposes
like client-server architecture on a single machine. Other than that, if a host
machine can successfully ping 127.0.0.1 or any IP from loopback range, implies
that the TCP/IP software stack on the machine is successfully loaded and working.
Link-local Addresses
In case a host is not able to acquire an IP address from the DHCP server and it has
not been assigned any IP address manually, the host can assign itself an IP
address from a range of reserved Link-local addresses. Link local address ranges
from 169.254.0.0 -- 169.254.255.255.
Assume a network segment where all systems are configured to acquire IP
addresses from a DHCP server connected to the same network segment. If the
DHCP server is not available, no host on the segment will be able to communicate
to any other. Windows (98 or later), and Mac OS (8.0 or later) supports this
functionality of self-configuration of Link-local IP address. In absence of DHCP
server, every host machine randomly chooses an IP address from the above
mentioned range and then checks to ascertain by means of ARP, if some other host
also has not configured itself with the same IP address. Once all hosts are using
link local addresses of same range, they can communicate with each other.
These IP addresses cannot help system to communicate when they do not belong
to the same physical or logical segment. These IPs are also not routable.
IPv4 - Example
This chapter describes how actual communication happens on the Network using
Internet Protocol version 4.
IPv4 - Summary
The Internet Protocol version 4 was designed to be allocated to approx. imately 4.3
billion addresses. At the beginning of Internet this was considered a much wider
address space for which there was nothing to worry about.
The sudden growth in internet users and its wide spread use has exponentially
increased the number of devices which needs real and unique IP to be able to
communicate. Gradually, an IPS is required by almost every digital equipment
which were made to ease human life, such as Mobile Phones, Cars and other
electronic devices. The number of devices (other than computers/routers) expanded
the demand for extra IP addresses, which were not considered earlier.
Allocation of IPv4 is globally managed by Internet Assigned Numbers Authority
(IANA) under coordination with the Internet Corporation for Assigned Names and
Numbers (ICANN). IANA works closely with Regional Internet Registries, which in
turns are responsible for efficiently distributing IP addresses in their territories.
There are five such RIRS. According to IANA reports, all the IPv4 address blocks
have been allocated. To cope up with the situation, the following practices were
being done −
Private IPs − Few blocks of IPs were declared for private use within a LAN so that the
requirement for public IP addresses can be reduced.
NAT − Network address translation is a mechanism by which multiple PCs/hosts with
private IP addresses are enabled to access using one or few public IP addresses.
Unused Public IPs were reclaimed by RIRs.