Tuesday, August 23, 2022

IPv4 Addressing History and Its Classes

 History of IPv4

  • Internet was born from a research network called ARPANET i.e., a computer network funded by the Advanced Research Projects Agency of the U.S. Department of Defense. 
  • On its first day of office in 1969, ARPANET operated across 4 hosts. 
  • Each host had a unique address for online communication.
  • The online addresses were identified using 8-bit numbers called the Network Control Protocol (NCP). ARPANET was thus, an 8-bit network.
  • In early Internet History (1972), all communications were point-to-point using a variety of methods.
Circuit Switching
Satellite Uplinks
Direct Cable connection

  • There was a need to develop a protocol so that hosts on these disparate networks (and networks yet to be invented) could communicate with each other.
  • By 1981, it had evolved into a national network connecting 213 hosts across universities and research facilities. 
  • Soon, all kinds of networks emerged and so did the need to connect these heterogeneous networks into one big inclusive network. 
  • The idea was to maintain the heterogeneous nature of each network and allow users to communicate across networks. 
  • To this end, the first half of the 1970s witnessed Robert Khan (DARPA) and Vint Cerf (NCP) work on a Transmission Control Program and publish their first paper in 1974.
  • It was implemented through 4 versions, wherein the 3rd version segregated itself into Transmission Control Protocol (TCP) and Internet Protocol (IP). 
  • By 1978, the very first draft of TCP/IP v4 was published. By 1981 it became a standard and on 1st January 1983 i.e., “flag day”, ARPANET retired NCP and adopted TCP/IP.

  • With the popularity of Ethernet and Token Ring in late 1970s, the concept of multiple hosts all sharing a common gateway (a single Broadcast domain) was born.
  • As we know on any mainframe devices as 2 address, Layer 2 MAC address and L3 IP address, and these 2 address can be formatted in 3 different ways on Broadcast Domain as:

Communication within Broadcast Domain

  1. Broadcast (needs no address)
  2. Unicast (requires an address: MAC)
  3. Multicast (requires an address: MAC with special format)

Networked Software Applications fall into two categories:

  • Those that assume the destination is in same broadcast domain as the source (example= ARP).
  • Those capable of intra, or inter-broadcast domain communications. 
IP is used to address “networks”, be they broadcast-based or Point-to-Point, or anything else.
IP address is divided into 2-parts
  • Network/ Broadcast Domain Address
  • Unique Host address within that broadcast domain
In this way, when sending to a remote host, we don’t need to know their L2 address.
  • Packet is addressed to remote host’s IP address
  • Frame is addressed to gateway’s L2 address
This means any messages transmitted on wire, will have 2 address, L3 IP address for remote host which is in different broadcast domain, and L2 mac address of router.
 
What do these L2 and L3 addresses look like?
 
What does a computer see when it looks at incoming data?

IPv4 Addressing and its Classes

IPv4 is the fourth version of the Internet protocol and the first version that was used on a worldwide scale (the Internet). It uses 32-bit addresses which theoretically, should offer 4294967296 addresses. IPv4 addresses are assigned in blocks called networks or subnets. IPv6 is the successor which offers 128-bit addresses.

  • It is 32-bit addressing system
  • Logical address for a network defined by IANA
  • For human readable, IPv4 addresses are divided into 4 octets, each of 8 bits.
  • Dotted decimal notation is used to segment the octet.

IP Bit Pattern

Multicast

  • One-to-many communication
  • Any address which have starting 4 bit “1110” is a multicast address
  • 1110xxxx. xxxxxxxx. xxxxxxxx. xxxxxxxx
Broadcast
  • One-to-all communication
  • Host portion of address all ones…or entire address all ones.
  • Any.11111111.11111111.11111111
  • 11111111. 11111111. 11111111. 11111111
Unicast
  • One-to-one communication
  • All other patterns that do NOT start with 00000000
Classes of IPv4
1981 - Classes of Addresses Introduced:

Class A: 0.0.0.0 through 127.255.255.255

  • 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 (2^7-2) and 16777214 hosts (2^24-2).
Class B: 128.0.0.0 through 191.255.255.255
  • 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 (2^14) Network addresses and 65534 (2^16-2) Host addresses.
Class C: 192.0.0.0 through 223.255.255.255
  • The first octet of Class C IP address has its first 3 bits set to 110, that is −
  • Class C IP addresses range from 192.0.0.x to 223.255.255.x.
  • The default subnet mask for Class C is 255.255.255.x.
  • Class C gives 2097152 (2^21) Network addresses and 254 (2^8-2) Host addresses.
Class D: 224.0.0.0 through 239.255.255.255
  • Very first four bits of the first octet in Class D IP addresses are set to 1110, giving a range of –
  • Class D has IP address range from 224.0.0.0 to 239.255.255.255.
  • Class D is reserved for Multicasting.
  • In multicasting data is not destined for a particular host, that is why there is no need to extract host address from the IP address, and Class D does not have any subnet mask.
Class E: 240.0.0.0 through 255.255.255.255
  • 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.
 Note:
127 ranges are considered as loopbacks
169.254 ranges are considered as APIPA

IPv4 Governing Bodies

As new networks were created and connected to the Internet, there was a need for someone to govern the allocation of IP addresses
Current IPv4 Addressing Allocation Structure


Public and Private IP Address

Public IP Address:

  • IP addresses “leased” to a corporation (by an ISP or an RIR) are known as public IP addresses.
  • A Public IP address is the one which is globally recognizable and our ISP (Internet Service Provider) or IANA provides the same.
  • Public IP identifies our home network to the outside world. It is an IP address that is unique throughout the entire Internet.
  • Each customer who uses the Global/Public IP Block needs to pay the Service Provider or IANA.
  • Beyond the RFC 1918 space, all addresses are public
Private IP Address:
  • IP addresses that are unregistered and may overlap from one company to the next, are known as private IP addresses.
  • Unlike Public Addresses, Private IP addresses never leave the LAN network, just as the public IP address is never used inside your network. Additionally, customer need not pay for private IP blocks used inside the LAN environment.
  • Defined in RFC 1918. For internal use only
  • Range of private address
Class A: 10.0.0.0 - 10.255.255.255 (10/8 prefix)
Class B: 172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
Class C: 192.168.0.0 - 192.168.255.255 (192.168/16 prefix)

Note:

  • 169.254.X.X is neither a public nor private IP address.
  • It is special network, called as Automatically Provisioned IP Address (APIPA).
  • Basically, it is on system which utilized DHCP.
  • If DHCP failed to assign dynamically IP address to a system, it automatically provisioned itself with IP address 169.254.X.X.
  • And usually when you see this IP address (169.254.X.X) is bad, and that means DHCP has been failed and you’re not getting the real and usable IP address assigned to your system.
  • 127 ranges are considered as loopbacks, are neither a public nor private IP address.

Hosts per bit:

  • In any classful network, if we need to find how many hosts exist, we can use below figure to find number of hosts in a classful network.
  • Suppose we have 130.20.0.0/16 classful network, which we can identify and say it is class B address.
  • So, we have 16 bits in host side, i.e., 2-byte octet (8 + 8 bits).
  • If we look from below figure for 1 octets, we have 8 bits , so 2^8 will give 256 hosts.

No comments:

Post a Comment