Skip to content
Home » Computer Networks » Network Layer – Logical Addressing

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.

    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,

    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.