In the domain of the Networking in Computer Science & Technology, the Internet Protocol [IP] address is one of the most essential requirements for every network interface to communicate with another either in the LAN, MAN or WAN across the globe.
Without this globally distinct IP address, the sphere of the Internet would not be able to sustain such an ever-increasing extensive system of networks embracing interconnections among computers, and similar arrays of such interconnections of subsequent size and complexity.
Not only interconnection but the successful data exchange from any source to the desired destination would not have been possible with IP addresses.
However, the art of IP addressing calls for a clear understanding of its VERSIONS, CLASSES, and MODES of addressing in the eon of Networking. The present discussion focuses on these vital topics with a quick initial review of what an IP address means.
Accordingly, the discussion will move through the following headings
- What is an IP Address?
- How can you identify an IPv4 IP address?
- How can you identify an IPv6 IP address?
- What are the structural patterns of an IP Address?
- What are the Classes of IP Addresses?
- What are the functions of different Classes of IP Addresses?
- What are the modes of IP Addressing?
- What is a Unicast Address?
- What is a Broadcast Address?
- What is a Multicast Address?
- What is an Anycast Address?
- How do IPv4 and IPv6 interpret the unicast, the broadcast, the multicast and the anycast addressing?
Let’s get started!
For any piece of hardware to transfer and receive data on the network layer, it does require to have a ‘one of its kinds’ identity or identification number termed IP address [internet protocol address].
In the light of Internet Protocol versions 4 & 6, an IP address manifests itself differently and hence the modes of addressing [unicast, broadcast, multicast, anycast] apply to them individually.
Suggested read – IPv4 vs IPv6
How can you identify an IPv4 IP address?
The following are the characteristics which classify an IP address as an IPv4 one:
- An IPv4 IP address is a 32-bit notation [defined in RFC 791].
- These 32bits are split into 4groups, each having 8bits (binary digits). These four strings [each of 8bits] are called ‘octets’ or ‘bytes.’
[e.g., 11000000.11011100.00001010. 10000010 is an instance of IPv4 IP address]
- For representation of an IPv4 IP address, binary-to-decimal conversion is performed on each ‘8bits’ to convert the 4 sections into the resultant 4 decimal numbers separated by periods. Hence the format of IPv4 IP address is called dotted decimal.
[Thus 220.127.116.11 is the dotted decimal portrayal of 11000000.11011100.00001010. 10000010]
- Every decimal number ranges from 0 to 255, limited by the maximum combinations of 28 or 256.
- Therefore, theoretically, IPv4 address ranges from 0.0.0.0 to 255.255.255.255. However, the IPv4 address in this range is categorized into several classes as you will clearly understand during the subsequent course of this discussion.
- In the greater extent an IPv4 IP address does possess the following constituents:
- Network Prefix (which starts from the lefthandmost octets)
- Host Number (the remaining octets/bits)
- Subnet Identifier (formed by borrowing bits from host Id). It exists in Subnetted Classful Addressing and CIDR.
However, IPv4 subnetting in the broader sense provides every individual network interface with an extended network prefix covering the network ID and subnet ID
How can you identify an IPv6 address?
The following are the features which categorize an IP address as an IPv6 one:
- An IPv6 IP address is a 128bit notation [defined in RFC 2460].
- These 128bits are segregated into 8groups, each having 16bits (binary digits). These eight strings [each of 16bits] are called ‘blocks.’
[e.g.1100000011000001.1101110011000010.0000101011000000. 1000001011000000 is an example of IPv6 IP address]
- For representation of an IPv6 IP address, binary-to-hexadecimal conversion is executed 4bitwise on each ‘16bits’ to convert the 8sections into the resulting 8hexadecimal numbers isolated by colons. Thus the IPv6 IP address is represented in a hexadecimal format.
[Thus C0C1:DCC2:0AC0:82C0 is the hexadecimal depiction of 1100000011000001.1101110011000010.0000101011000000. 1000001011000000]
- Each of the 8hexadecimal numbers ranges from 0000 to FFFF, limited by the maximum combinations of 216 or 65536.
- Therefore, we can say that the range of the IPv6 addresses lies between 0.0.0.0.0.0.0.0 to FFFF.FFFF.FFFF.FFFF.FFFF.FFFF.FFFF.FFFF. However, unlike the IPv4 addresses, the IPv6 addresses are not grouped into classes depending upon the length of any of its constituent IDs.
- Generally, an IPv6 IP address does possess the following elements
- Global Routing Prefix (the most significant 48bits which start from the left-hand-most side of the address)
In some cases, these 48bits is grouped into Prefix[7bits], Local bit[1bit] and Global ID[40 bits]. You will realize this aspect as you move forward through this discussion.
- Subnet ID (the middle 16 bits)
- Interface ID (the least significant 64 bits which are on the right-hand-most side of the address
What are the structural patterns of an IP address?
Starting from the inception of the IP address with its public launch in version 4 [in short IPv4], if one arranges the methods of interpreting an IP address structure in the increasing order of age, complexity, and flexibility, one finds the following three ways.
The Classful addressing refers to the original/conventional two-hierarchical scheme in which IPv4 was initially implemented for the public domain.
It divides the total range of IPv4 addresses into the classes of addressing, namely Class A, B, C, D, and E. It reflects the different octet-wise boundaries to define the network ID and the host ID in the respective classes.
Subnetted classful addressing
The Subnetted classful addressing implies the second stage of development of IPv4 addressing. It introduces the concept of subnetting to supersede the original classful IPv4 addressing to a three-layered-hierarchical one.
The Classless addressing introduces the concept of CIDR which stands for Classless Inter-Domain Routing. In this IPv4 addressing, there is no conception of classes.
Here the line of division between the network prefix and the host prefix clearly exhibits as a decimal number after the IPv4 address separated by the symbol ‘/.’
It indicates the ‘number of bits’ used for the network prefix in the given IPv4 address.
However, the IPv6 address demonstrates a single structural manifestation superseding the IPv4 classful and classless varieties, bringing in the next generation Internet2.
What are the classes of IP addresses?
The Classful addressing is the trait of an IPv4 address unlike that of an IPv6 address.
Therefore, IPv4 addresses encompass the following five classes where ‘N’ symbolizes single bit for Network prefix, and ‘H’ implies single bit for Host number.
Class A address
It starts with zero ‘0’ as its first bit in its first octet. Its bitwise layout is 0NNNNNNN.HHHHHHHH.HHHHHHHH.HHHHHHHH. The default subnet mask for class A is 255.0.0.0.
Class B address
This begins with ‘10’ as its first two bits in its first octet. Its bitwise format is 10NNNNNN.NNNNNNNN.HHHHHHHH.HHHHHHHH. The default subnet mask for class B is 255.255.0.0.
Class C address
It initiates with ‘110’ as its first three bits in its first octet. Its bitwise design is 110NNNNN.NNNNNNNN.NNNNNNNN.HHHHHHHH. The default subnet mask for class C is 255.255.255.0.
Class D address
This commences with ‘1110’ as its first four bits in its first octet. The range of its first octet is 11100000 to 11101111. It does not have any subnet mask.
Class E address
It starts with ‘1111’ as its first four bits in its first octet. The range of its first octet is 11110000 to 11111111. It also does not possess any subnet mask.
Thus you can easily identify the class of an IPv4 address by judging its first octet.
What are the functions of different classes of IP addresses?
The following table gives you the better understanding of the classes and the functions of the IPv4 address under the system of classful IP addressing:
Table1: Classes of IPv4 Addresses and its functions
|Classes||1st octet value||1st octet||2nd octet||3rd octet||4th octet||Address range for hosts||Utility|
|Class A||1-126||Network prefix||Host prefix||From 18.104.22.168 to 22.214.171.124|
[126.96.36.199 is network ID of the network, 188.8.131.52 is broadcast ID]
|Unicast addressing for 16million of host IDs with an internet connection|
|184.108.40.206||121||198||214||11||Ideal for huge organizations|
|Class B||128-191||Network prefix||Host prefix||From 128.1.0 .1 to 220.127.116.11|
[18.104.22.168 is network ID of the network, 22.214.171.124 is broadcast ID]
|Unicast addressing for 65thousands of host IDs with an internet connection|
|126.96.36.199||140||198||214||11||Ideal for medium to large organizations|
|Class C||192-223||Network prefix||Host prefix||From 188.8.131.52 to 184.108.40.206|
[220.127.116.11 is network ID of the network,
18.104.22.168 is broadcast ID]
|Unicast addressing for 254 host IDs with an internet connection|
|200. 198.214.11||200||198||214||11||Ideal for small organizations|
|Class D||224-239||From 22.214.171.124 to 126.96.36.199||IP multicasting|
|Class E||240-255||From 240.0.0.0 to 254.255.255.254||Reserved for research|
|IP addresses starting with 127 in its 1stoctet, i.e., with range 127.0.0.0 to 127.255.255.255 denote loopback addresses/ localhost.|
255.255.255.255 broadcasts to all hosts on the local network
What are the modes of IP addressing?
The term ‘modes of IP addressing’ denote the mechanism of referring or addressing hosts in a particular network segment or the system as a whole, while transferring data packets and streaming the traffic through the network.
Each mode of addressing refers to the respective number of senders and receivers.
As the table1 above indicates, the IPv4 module supports unicast, broadcast and multicast approach of addressing.
On the other hand, you will see that the IPv6 typifies the unicast, the multicast and the anycast method of addressing.
However, version 4 and version 6 of the Internet Protocol does handle the modes of addressing differently. This will be clear to you as you advance through this discussion.
What is a Unicast address?
You know that the utterance ‘uni’ bears the meaning ‘one.’ Thus the unicast address specifies one-to-one communication at a time, involving an exchange of a data packet between one sender and one receiver in the network.
In the unicast mode of addressing the client dispatches the data packet to the targeted host in accordance with the 32bit IP address of the specified destination which is assigned in the destination address field.
You will find the standard application of unicast transmission on LANs (e.g., Ethernet) when your computer sends data (for printing) to the particular printer located on the same LAN.
Another demonstration of the unicast addressing is within the Internet (e.g., HTTP, SMTP, FTP, Telnet) which send a piece of information from a single source (say a server) to a distinct destination (your computer).
What is a Broadcast address?
Broadcast address points to one-to-all transmission at the same time where one sender sends a data packet to all other connected receivers in a network segment.
You can find the application of broadcast communication when inside a LAN (Local Area Network) the ARP (Address Resolution Protocol) uses this feature to send an address resolution query to all computers present in the network.
A broadcast address in the IPv4 contains the IP network ID and all-bits-1-host address.
When the client sends a data packet with the special Broadcast address 255.255.255.255 enclosed in the destination address field, all the hosts in that local network entertains the data.
A router that connects the local network to the outside networks never forward such broadcast transmission outside that particular network.
Thus broadcasting is not workable on the public internet as this would lead to the massive traffic of needless data towards each user’s device in the public network causing the complications like low speed, data loss, privacy issues, etc.
What is a Multicast address?
If you consider the number of receivers during transmission of a data packet employing TCP or UDP, you shall find another category in-between the unicast and the broadcast ones known as a multicast address.
The multicast address indicates one-to-several (not all) transmission where one source communicates to multiple destinations affirming the interest to receive the traffic.
It neither refers to one specified destination, nor all the hosts in a network segment.
The IPv4 addresses for multicasting include a special address of format 244.x.x.x in its destination address field which directs the traffic streaming to the interested destinations from the accurate source, and thus keeps the passage of unsolicited data/undesired recipients to a minimum.
Also, many-to-many classification does work on the multicast application. One such example is online gaming where you can have several sources for the same receiver, and even the quantity of receivers may be double as that of sources.
What is an Anycast address?
As the name suggests, this exclusive IPv6 addressing mode does indicate the communication with ‘any’ one host out of several interfaces.
In this unique addressing mode, you can assign multiple interfaces with the same anycast IP address without the fear of data loss or duplicate addressing problems.
In this scenario any client when communicates with any other host possessing an anycast address, the sender initiates a unicast message.
The complicated routing procedure then delivers that particular unicast message to the host which is determined as ‘the nearest to the sender’ in terms of the lowest routing cost.
How do IPv4 and IPv6 interpret the unicast, the broadcast, the multicast and the anycast addressing?
You will have here the clear understanding of how the Internet Protocol (IP) versions 4 and 6 does demonstrate the different modes of addressing hosts in a network.
Interpretation of Unicast Addressing
Irrespective of handling the IPv4 or the IPv6 addresses, a network switch or router when receives a unicast data packet destined to any particular host, transmits it to one of its outgoing network interface which ultimately connects to that specific destination to deliver the data packet.
However, unlike IPv4, IPv6 does exhibit the following three types of Unicast address.
Global Unicast Address
This globally identifiable IPv6 unicast address is functionally equivalent to IPv4 public address. Its uniquely addressable feature earns the IPv6 a unique addressing mode in Internet version2. Structurally it encompasses
- Global Routing Prefix [most significant 48bits, assigned to a definite autonomous system with its first 3bits as 001]
- Subnet ID [middle 1bits]
- Interface ID [least significant 64 bits]
Unique Local Address
This type of IPv6 unicast address, though globally unique, must be employed in local communication and are not routed over the internet. Structurally it consists of
- Prefix [most significant 7bits always set to 1111110]
- Local Bit [next 1bit with defined value 1 meaning locally assigned ]
- Global ID [next 40bits]
- Subnet ID [next 16bits]
- Interface ID [least significant 64 bits]
It signifies auto-configured IPv6 address. It finds application for transmission among IPv6 hosts on a link of the local segment only, which are not routable outside the same link. Structurally it comprises of
- Its most significant 16bits is always set to 1111 1110 1000 0000, i.e., FE80
- Its next 48bits are always assigned zero ‘0’ ]
- Interface ID [least significant 64 bits]
Interpretation of Broadcast Addressing
Broadcast addressing is the distinctive quality of the Network Layer Protocol IPv4. Every network has its first IP address reserved for its network number that corresponds to the network itself. Likewise, each network employing IPv4 has its last IP address set aside for its broadcast address representing all hosts in that network.
Similarly, every subnet of IPv4 module does reserve its first, and its last IP address ranges for its subnet number referring the subnetwork itself and the broadcast address representing all hosts in that subnet respectively.
Interpretation of Multicast Addressing
Functionally the multicast addressing serves the same purpose in IPv6 as it does in IPv4. A multicast address sends the data packet intended for a specific set of multiple (not all) hosts.
The interested hosts who join the concerned multicast group can receive and process the multicast data packet. The other non-interested hosts of the network segment, on the other hand, ignore the multicast information.
Multicast applications must bring into play the UDP transport protocol. The original multicast blueprint vides RFC 1112 does encourage the ASM (any source multicast) on the basis of the service model of ‘many-to-many’ transmission.
Again it supports the SSM (source specific multicast) on the groundwork of ‘one-to-many’ communication model.
Interpretation of Anycast Addressing
You can understand the implementation of anycast addressing with the following example. Suppose the web servers of stemjar.com are positioned in all the seven continents, and a single IPv6 anycast address is allotted to all these web servers.
In these circumstances, when a user from India wants to contact stemjar.com, the DNS directs to the server that is physically located in Asia itself.
Again the client from Sydney when tries to communicate with stemjar.com, and the DNS points to the server that is actually established in Australia only.
In each of the above two cases, whenever the client computer aims to reach a server, the anycast address routing forwards the sender’s request to the ‘nearest/closest’ server with least routing cost.
The discussion so far offers you the significance of versions 4 and 6 of the Internet Protocol (IP). Here you recognize the classes of IPv4. It also provides you the details of how IPv4 and IPv6 addressing figure out the modes of addressing in a network. This discussion makes you aware of the unicast, the broadcast, the multicast and the anycast modes of addressing.