Network Layer – Logical Addressing

In this lesson, you will learn about logical addressing scheme of networking layer, this layer deals with ipadderessing and has a class based and class addressing scheme. You will also learn concept of sub netting and super netting.

IPv4 addresses

An IPv4 address is 32 bit address that uniquely and universally defines the connection of a device.

Advertisements

Unique means no two devices can have same address at the same time on Internet.

Address Space

An address space is the total number of addresses used by IPv4 protocol. If N bit address is used, the total addresses in the address space will be 2^N.

IPv4 uses  32 bit addresses then the total number of addresses in the address space is

\begin{aligned}
2^{32} = 42, 94,967,296 
\end{aligned}

Notations

Binary Notation: 10101101 \cdot10101000\cdot 01010111\cdot11001000

Decimal Notation: 117\cdot23\cdot42\cdot223

Each of the octet range 0 to 255.

Classful addressing

In classful addressing, the address space is divided in to 5 classes: A, B, C, D, and E.

Binary Notation starting bits of first octet will tell the class.

ClassFirst OctetSecond octetThird octetFourth octet
A0AnyAnyAny
B10AnyAnyAny
C110AnyAnyAny
D1110AnyAnyany
E1111AnyAnyany

In decimal notation, range of first octet tells the class to which the address belongs.

ClassFirst OctetSecond octetThird octetFourth octet
A0 -127   
B128 - 191   
C192 - 223   
D224 - 239   
E240 - 255   

Classes and Blocks

Each of the class is divided into fixed number of blocks and each block has a fixed size.

ClassNumber of BlocksBlock SizeApplication
A12816,777,216Unicast
B1638465536Unicast
C2,097,152256Unicast
D1268,435,456Multicast
E1268,435,456Reserved

There is flaw with this classful addressing. Class A is used by large organization with large number of hosts and routers, but it’s too big for any organization. Class B for mid size organization, but this also too big for organization leading to waste of ipaddress.

Class C is too small for organizations.

So, in classful addressing, 
a large part of addresses was wasted.

Netid, Hostid and Mask

In classful logical addressing, the address is divided into two parts – Netid and hosted

For example, Class A address, the first byte is network id and the rest 3 bytes are Hostid.

ClassBinaryDotted-DecimalCIDR
A11111111.00000000.00000000.00000000255.0.0.0/8
B11111111.11111111.00000000.00000000255.255.0.0/16
C11111111.11111111.11111111.00000000255.255.255.0/24

Default mask help us find the Netid and hosted of an ipaddress.

The class in the form /n is called CIDR (Classless Inter Domain Routing) which is used for classless logical addressing.

Subnetting

Classful logical addressing is obsolete now. An organization would get large number of class A or Class B address and then these address would be subnetted means assign in logical groups to small networks called Subnets.

Supernetting

Large number of addresses of class A and B were depleted. To create a larger network, organizations combined class C address into one group called Supernets and process is known as Supernetting.

Classful Addressing is not obsolete, 
is replaced with Classless addressing.

Classless Addressing

Due to depletion of addresses, classless logical addressing was introduced to connect more organizations to the Internet.

Address blocks and Restrictions

In classless logical addressing, size of the address block depends on size and nature of the entity. For example,   ISP may get thousands of address; home user may get 2 addresses. To manage ipaddress, three restrictions were imposed

  1. Address in a block must be contagious
  2. Number of address in the block must be power of 2.
  3. The first address must be evenly divisible by the number of addresses.
  • 203.100.23.32 – first
  • Total = 16 addresses
  • 203.100.23.47 – last

Condition 1: address must be contagious .It is contagious.

Condition 2: The number of addresses is 2^4 = 16.

Condition 3: first address when converted to decimal is divisible by 16.

\frac{3,412,334,368}{16}=213270898

How to convert ipaddress to decimal equivalent?

\begin{aligned}
&129.15.14 .17\\ \\ 
&256^3 \times 129 + 256^2 \times 15 + 256^1 \times 14 + 2560 \times 17\\ \\
&= 16777216 \times129 + 65536 \times15 + 256 \times 14\\ \\
&= 216420864 + 983040 + 3584 + 17\\ \\
&= 217407505
\end{aligned}

Mask

In IPv4 addressing, a block of addresses can be defined as x.y.z.t/n,

In which x.y.z.t defines one of the addresses and the /n defines the mask.

/n notation defines first address, last address and the number of addresses.

Network addresses

An ipaddress has network address of which we need to find the first and last address for two reasons – first address is address of routing or hub device and last address gives the total size of a block of addresses.

First address in the block can be found by setting rightmost 32-n bits to 0s. 
The last address in the block can be found by setting rightmost bit to 1s.

e.g. 205.16.37.39/28 is the address in a block. Find the first address and the last address.

Solution:

First address

\begin{aligned}
&1100 1101. 0001 0000. 00100101. 0010 0101\\ \\

&32 – 28 = 4 \hspace{1mm}bit\\ \\

&1100 1101. 0001 0000. 00100101. 0010 0000\\ \\

&205.16.37.16/32 \hspace{1mm} is \hspace{1mm} the \hspace{1mm} first \hspace{1mm} address.

\end{aligned}

Last Address

\begin{aligned}
&1100 1101. 0001 0000. 00100101. 0010 0101\\ \\
&32 – 28 = 4 \hspace{1mm} bit\\ \\
&1100 1101. 0001 0000. 00100101. 0010 1111 = 205.16.37.47/28\\ \\
&The \hspace{1mm} number \hspace{1mm}  of  \hspace{1mm} address  \hspace{1mm} in  \hspace{1mm} the  \hspace{1mm} block \hspace{1mm}  can \hspace{1mm}  \\ \\ &be  \hspace{1mm} found \hspace{1mm}  by \hspace{1mm}  using  \hspace{1mm} formula, \hspace{1mm} 2^{32-n}.
\end{aligned}

IInd Method

Another method of finding the first address is ANDing ipaddress with subnet mask in binary notation.

\begin{aligned}
&11111111. 11111111.11111111. 11110000\\ \\
&1100 1101. 00010000.00100101. 00100101\\
&-----------------\\
&11001101 00010000 00100101 00100000 -> 205.16.27.32

\end{aligned}

The last address can be found by ORing any address in the block by complement of the mask.

\begin{aligned}
&00000000. 00000000. 00000000.00001111\\\\
&1100 1101.00010000.00100101. 00100101\\
&-----------------\\
&11001101. 00010000. 00100101. 00101111 -> 205.16.27.47/28
\end{aligned}

Network Addresses in Logical Addressing

When an organization is given group of network addresses, then it is free to assign the address to any number of devices that want to connect to internet.

The first address is network address and used in the router and identifies the network in Internet

Network Addresses
Network Addresses

Hierarchy – Logical Addressing

Two level hierarchy: no sub netting

Two Level - No Subnetting
Two Level – No Subnetting

Each ipaddress in the block has two level hierarchy structure, the leftmost, n bit defines the Network and rightmost 32-nbits defines the host.

Three level hierarchy: subnetting

Large block of addresses are broken in subnet with small blocks of addresses and own subnet masks. The organization has a different address to receive information from the Internet and router routes the message to each subnet and receive from subnets.

For example,

Advertisements

17.12.40.0/26 address is given with 64 addresses. Organization has 3 branches and each want 32, 16 and 16 addresses respectively.

2^5 = 32, 2^4= 16

  • Mask for the first subnet be n1, then 2^{32-n1} implies that n1 = 27 because 32 - 27 = 5 bits.

First address of Subnet1 is can be found using any address 17.12.40.29/27.

00010001. 00001100. 00101000. 00011011 set right most 5 bit to 0s.

00010001. 00001100. 00101000. 00000000 -> 17.12.40.0/27

  • Mask for the second subnet be n2, then 2^{32-n2} implies that n2 = 28 because 32 - 28 = 4 bits.

First address of Subnet2 is can be found using any address 17.12.40. 46/28.

00010001. 00001100. 00101000. 00101110 set right most 4 bit to 0s.

00010001. 00001100. 00101000. 00100000 -> 17.12.40.32/28

  • Mask for the Third subnet be n3, then 2^{32-n3} implies that n3 = 28 because 32 - 28 = 4 bits.

First address of Subnet3 is can be found using any address 17.12.40. 53/28.

00010001. 00001100. 00101000. 00110101 set right most 4 bit to 0s.

00010001. 00001100. 00101000. 00110000 -> 17.12.40.48/28.

More levels of hierarchy

The structure of classless addressing does not prevent more hierarchy. For example, the International ISPs get lot of ipaddresses which is divided among the National \hspace{1mm}ISPs. The national ISP then divide the ipaddress into Regional\hspace{1mm} ISPs and Regional \hspace{1mm}ISP gives the ipaddress to the organization and which divides the group of ipaddress further.

Address allocation

How are addresses allocated?

The address allocation is responsibility of ICANN \hspace{1mm}(Internet  \hspace{1mm} Corporation  \hspace{1mm} for  \hspace{1mm} Names  \hspace{1mm} and  \hspace{1mm} Addresses \hspace{1mm} ). It assigns large block of ipaddresses to ISPs and ISP divided these blocks into smaller sub-blocks and give it to Local ISP, and so on.

This is called address aggregation; many blocks of addresses aggregated into one block.

Suppose an address 190.100.0.0/16 has 65535 addresses, must be distributed amount customers.

1st group wants 64 customers and each want 256 addresses.

2nd group wants 16 customers and each customer want 128 addresses.

Solution:

 190.100.0.0 to 190.100.63.0 covers 64 customer. Now each customer has 256 hosts then address must have 8 bits for 256 hosts.

190.100.0.0/24 to 190.100.63.0/24 covers 256 host for each customer.

Similarly,

190.100.64.0 to 190.100.127.128 covers 128 customer. Each customer has 128 hosts then address must have 7 bits for 128 hosts.

190.100.64.0/25 to 190.100.127.128/25 cover 128 hosts each.

Network Address Translation (NAT)

NAT enables one user to have large number of addresses internally and one address or a small set of address externally.

The Internet Authorities have reserved  3 set of addresses for private networks which any one can use.

RangeTotal
10.0.0.0 \hspace{1mm} to \hspace{1 mm}  10.255.255.2552^{24}
172.16.0.0 \hspace{1mm} to \hspace{1mm} 172.31.255.2552^{20}
192.168.0.0 \hspace{1mm} to \hspace{1mm} 192.168.255.2552^{16}

The site must have single connection to the global Internet through a router that runs the NAT software.

192.168.10.3

[/latex]192.168.10.2[/latex]

[/latex]192.168.10.1[/latex]

Network Address Translation (NAT)
Network Address Translation (NAT)

The rest of the Internet only sees the NAT global address which is 200.15.100.12 but the private address is hidden.

Address translation

All packets intended for Internet goes through the router which change the source address with the NAT global address. Similarly, incoming packet goes through the router in which destination address is changed to private addresses.

Translation table

The problem of sending packet with source address is solved by changing the source address at router. But routing to correct destination inside a private network from Internet is different problem.

This is done using a translation table.

Using one ipaddress

In this scheme, the translation table has two columns, private address and external address. When a packet is sent to external address, the router change the source address and also make a note of private address in the translation table of the source along with external address. When a response from the same destination is received, it is used as for identifying the private address of the destination in side NAT.

In the scheme above, the communication is always initiated by private network. The NAT is used by the  ISP for running many server programs, because the private network of organizations cannot run programs that need internet access.

For example, email server, etc.

Using a pool of ipaddress

In this scheme, the NAT router uses four global addresses. So four private network hosts can communicate with the same external host because each address pair defines one connection.

\begin{aligned}
192.168.100.1 -> 200.15.100.20 -> 200.33.23.22\\ \\
192.168.100.2 -> 200.15.100.21 -> 200.33.23.22
\end{aligned}

There is few drawbacks with connections, first no more than 4 connection is allowed and second, a private network host cannot access two server programs at the same time.

Using both ipaddress and port number

To allow many-to-many connections, we need more information in the translation table.

If the translation table also has information for about transport layer then we have not problem creating more connections.

Private AddressPrivate PortExternal AddressExternal PortsTransport protocol
192.168.100.11400200.12.100.2280TCP
192.168.100.21401200.12.100.2380TCP

When a response is received then a combination of source address and the destination port number decide the Host address of the destination private network.

The internal port number must be unique.

NAT and ISP

Suppose the ISP has 1000 addresses, but it has 10000 customers. To server 10000 customer it provide them with the private address and use NAT to translate the addresses using one of the 1000 addresses.


References

Andrew S. Tanenbaum, David Wetherall. n.d. Computer Networks. Pearson, 23-Jul-2013.

Behrouz A. Forouzan, Sophia Chung Fegan. n.d. Data Communications and Networking, Fourth Edition. McGraw hill education.

Advertisements

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.