Skip to main content

Classless Inter Domain Routing Made Easy

Introduction :
One day I was working with VPC (Virtual Private Cloud) inside AWS(Amazon Web Services), where I had a need to calculate the CIDR notation of an IP address and subnet combinations.
I had to use online tools to calculate the Subnets and CIDR every time when I was working with VPC, but I found it interesting that how the network get  broken into different small Networks. So, finally I decided why not to learn CIDR Methods, and then calculate it by my own side instead of using tools every time.
说了立法?.jpg
But the questions that striked in my mind were:
  • What is CIDR ?  
  • How CIDR Came into Picture ?  
  • What CIDR do ?

For Understanding CIDR - (Classless Inter-Domain Routing) few thing need to be cleared before :

1. IP Addresses
2. Structure of IP Address
3. Internet Protocol Address Types
4. Classes
5. Network Mask
6. Subnetting

IP Address -

It is the Address of the Computer, Laptop, Printers or even of the Mobile Sets.
Everyone has some Address, so as these devices also have an Internet Protocol Address (IP Address), also called as Logical Address.
In a Network there are many Computers …
Network..??
A Network is a group of two or more Computers Linked Together.

So When there are Many Computers in a Network, We need to uniquely identify each Computer, so there IP ADDRESS works as an Unique Identifier for Computers and Other Devices.

For Example : There are Twin Sisters, How we are going to Identify them differently  
By their Name that are unique for each of them.
Here Name of the Girls are the IP Addresses that will be unique and the two Girls are the two Devices.

Structure of IP Address -  

Now the Question is How do an IP Address looks like??

IP ADDRESS : 192.168.33.10

IP ADDRESS is made up of 32-Bit - 8.8.8.8 = (8+8+8+8=32 Bits)
A bit (short for binary digit) is the smallest unit of data in a computer.

Binary Conversion for 192 :
192 :    128      64       32      16           8      4          2         1
              1        1         0         0           0       0          0         0   
          Bit 1    Bit 2    Bit 3   Bit 4     Bit 5    Bit 6   Bit 7     Bit 8    - Total Bit = 8

128+64 = 192
So, 0’s for Other and 1 for the Number whose sum will be 192

Binary Conversion for 168 :
168 :    128      64       32         16       8           4         2          1
             1          0         1           0        1           0         0          0
           Bit 1    Bit 2    Bit 3   Bit 4     Bit 5    Bit 6   Bit 7     Bit 8 - Total Bit = 8

Binary Conversion for 33 :
  33 :   128        64       32        16       8           4         2          1
             0          0         1           0        0           0         0          1
           Bit 1    Bit 2    Bit 3   Bit 4     Bit 5    Bit 6   Bit 7     Bit 8 - Total Bit = 8

Binary Conversion for 10 :
10 :     128       64       32         16       8          4          2          1
             0          0         0           0        1           0         1          0
           Bit 1    Bit 2    Bit 3   Bit 4     Bit 5    Bit 6   Bit 7     Bit 8 - Total Bit = 8


8.8.8.8 - total of 32 Bit.
Dotted Decimal Notation : In dot form 4 Sections are called as OCTETS - Vendor Neutral Term for Bytes.

Let a IP Be : 200.10.20.30
Inside a Network : 200.10.20 - will remain same and 30 will be unique for each.

Type of IP Address -  

  1. Assignment Method
  2. Classes : 1) Classful
                    2) Classless
  3. Public / Private
  4. Version

Assignment Methods :

Assignment Method is method that defines how to assign an IP address to a Device.

IP Address can be assigned in two ways
1) Static IP Address
Static IP Address is the IP Address in which configuration is done Manually and is used in small networks.

2) Dynamic IP Address
Dynamic IP Address is the IP Address in which the configuration is done by the Computer Interface or by the Host Interface - DHCP (Dynamic Host Configuration Protocol)
-- Configuration is Automatic--

Classes :

classes define that in an IP, How much part will be for Network and How much is for Host.

There are 2 types of classes in IP Addressing :
  1. Classful
  2. Classless

CLASSFUL : IP Address are divided into 5 Classes;

Class A : 0 - 126                         N.H.H.H              Assigned for Large Organization
127                                               N.H.H.H             Assigned for the Loopback
Class B : 128 - 191                     N.N.H.H              Assigned for Medium Companies
Class C : 192 - 223                     N.N.N.H              Assigned for Small Organizations
Class D : 224 - 239                                                 Assigned for Multicasting
Class E : 240 - 255                                                 Assigned for Experimental Purpose

CLASSLESS : Classless addressing is an  IP address where a subnet mask does not define its class.  Subnet mask can be anywhere between bit 0 and bit 31.

CLASS A IP ADDRESS :

Range of Class A IP Address :  0.0.0.0 - 127.255.255.255
Network ID : 8 Bit
Host ID : 24 Bit (8+8+8)

  • IP Address begins with 0,First Bit will always be Zero
  • 7 Remaining Bits in Network part : Only 128 Possible class A Network
  • 24 Bits in Local Part : Over 16 million hosts per Class A Network
  • All class A network parts are assigned or reserved.

<------ 8 Bit --------> <------------------------------ 24 Bit --------------------------------------->
Network ID(N)
Host ID(H)
Host ID(H)
Host ID(H)
0                     7 8                                                                31   
0NNNNNNN       .      HHHHHHHH     .      HHHHHHHH   .         HHHHHHHH

In Binary :

Class A starts from : 00000000.00000000.00000000.00000000
Class A ends at      : 01111111.11111111.11111111.11111111

In Decimal :

Class A IP Address is from 0.0.0.0 to 127.255.255.255

Number of Networks : 2^7 = 128
Number of Hosts : 2^24

SOME EXCEPTIONS IN CLASS A : Cannot be assigned to host

0.0.0.0 : For Self check - Represent Default Network or M
0.255.255.255 : For Self check - Represent Default Network or My IP
127.0.0.0 : Loop Back Address Range : solve NIC Problem
127.255.255.255 : Loop Back Address Range : solve NIC Problem



CLASS B IP ADDRESS :

Range of Class B IP Address : 128.0.0.0 - 191.255.255.255
Network ID : 16 Bit(8+8)
Host ID : 16 Bit (8+8)

  • First two Bit will always be One and Zero
  • 14 Bits in Network part - Over 16,000 possible Class B Network
  • 16 Bits in Local Part  - Over 65,000 possible Hosts


<---------------- 16 Bit-----------------------><------------------ 24 Bit ------------------------>
Network ID(N)
Network ID(N)
Host ID(H)
Host ID(H)
0                                        15 | 16                                                    31   
10NNNNNN          .     NNNNNNNN     . HHHHHHHH       . HHHHHHHH

In Binary :
Class B starts fr0m : 10000000.00000000.00000000.00000000
Class B ends at        : 10111111.11111111.11111111.11111111

In Decimal :
Class B IP Address is from  128.0.0.0 to 191.255.255.255

Number of Networks : 2^14
Number of Hosts : 2^16

SOME EXCEPTIONS IN CLASS B : Cannot be assigned to host

169.254.X.X : Reserved for APIPA (Automatic Private IP Address) - Host take IP Automatically ifit doesn’t get any DHCP Server in the Network.



CLASS C IP ADDRESS :

Range of Class B IP Address : 192.0.0.0 - 223.255.255.255
Network ID : 24 Bit(8+8+8)
Host ID : 8 Bit (8)

**Most Popular and Commonly Used**

  • First three Bit will always be One,One and Zero
  • 21 Bits in Network part - Over 2 Million  possible Class C Network
  • 8 Bits in Local Part  - Only  256 possible Hosts per class C Network


<---------------- 24 Bit------------------------------------------------><----------- 8 Bit ---------->
Network ID(N)
Network ID(N)
Network ID(N)
Host ID(H)
0                                                                        23 | 24                             31    
110NNNNN            .    NNNNNNNN   .      NNNNNNNN     .      HHHHHHHH

In Binary :

Class C starts from : 1100000.00000000.00000000.00000000
Class C ends at        : 11011111.11111111.11111111.11111111

In Decimal :

Class C IP Address is from  192.0.0.0 to 223.255.255.255

Number of Networks : 2^21
Number of Hosts : 2^8



 
CLASS D IP ADDRESS :

Range : 224.0.0.0 - 239.255.255.255
IP Address begins with 1110

Used for Multicasting, Not defining networks.
  • Sending messages to group of hosts
  • just to one (Unicasting)
  • ALL HOSTS (Broadcasting)
  • Say to send a videoconference stream to a group of receivers

In Binary :

Class D starts from : 11100000.00000000.00000000.00000000
Class D end at        : 11101111.11111111.11111111.11111111

In Decimal :

Class D IP Address is from  224.0.0.0 to 239.255.255.255

224.0.0.5 - OSPF
All OSPF Routers address is used to send HELLO PACKETS

224.0.0.6 - OSPF
All the routers address is used to send OSPF routing information to designated routers on a network segment.

224.0.0.9 - The Routing Information Protocol (RIP) version 2 group address is used to send routing information to all RIP2-aware routers on a network segment.

224.0.0.10 - EIGRP
used to send routing information to all EIGRP routers on a network segment.

224.0.0.18 - Virtual Router Redundancy Protocol.


Private/Public:


PUBLIC :
A public also called as  External IP address is the one that your ISP (Internet Service Provider) provides to identify your home network to the outside world. It is an IP address that is unique throughout the entire Internet.
When you're setting up your router, if your ISP issued you a static IP address, you enter it into your router's settings. For a dynamic IP address, you specify DHCP in your router's network settings. DHCP is Dynamic Host Control Protocol. It tells your router to accept whatever public IP address your ISP issues.
Those who wanted not to connect through internet but they wanted to run their network on TCP/IP Protocol
Here came the concept of PRIVATE  IP

PRIVATE :
Just as your network's public IP address is issued by your ISP, your router issues private (or internal) IP addresses to each network device inside your network. This provides unique identification for devices that are within your home network, such as your computer, your Slingbox, and so on.
THEY ARE NOT ROUTABLE

CLASS A PRIVATE ADDRESS   10.0.0.0 - 10.255.255.255
CLASS B PRIVATE ADDRESS   172.16.0.0 - 172.31.255.255
CLASS C PRIVATE ADDRESS   192.168.0.0 - 192.168.255.255

Internet Protocol Address :
           Reserved IP Address :

  1. Addresses beginning with 127 are reserved for loopback and internal testing - Used for Self Testing that TCP/IP is properly working or not.
  2. XXX.0.0.0 reserved for Network Address   
  3. XXX.255.255.255 reserved for Broadcast
  4. 0.0.0.0 - First Address - Represent Local Network / Used for Default Routing
  5. 255.255.255.255 - Broadcast

Example : Let a Class A IP Address be - 101.101.101.101
               Network Address - 101.0.0.0
               BroadCast Address - 101.255.255.255


 : Let a Class B IP Address be - 150.150.150.150
               Network Address - 150.150.0.0
               BroadCast Address - 150.150.255.255

I hope that gives you a good knowledge of IP Addresses and their classes.
Now, We can move on to what sub-netting is, in my next blog.
Please Follow this link to get on to sub-netting -
Classless Inter Domain Routing Made Easy (Cont..)

Comments

Post a Comment

Popular posts from this blog

EC2 Ssh Connection Refused

When ssh: connect to host ip_address port 22 Connection refused



Unable to access server???
Exactly when you see the error - “ssh: connect to host ip_address port 22: Connection refused” while connecting your AWS EC2 Instance. In order to find solution of the problem, you will go to AWS forum and other channels where you need to answers several questions first. But it's very difficult to find the actual problem. In order to get clues what the problem is, we should provide as many details as possible about what we have tried and the results we are getting. Because there are hundreds of reason why a server or service might not be accessible, also connectivity is one of the toughest issue to diagnose, especially when you are hosting something critical on your box. I've seen several topics on this problem, but none offers a solution to it.  I was not aware for what should I look at first. So I walk through from the very basics and investigated the following thing Use of verbose while ss…

jgit-flow maven plugin to Release Java Application

Introduction As a DevOps I need a smooth way to release the java application, so I compared two maven plugin that are used to release the java application and in the end I found that Jgit-flow plugin is far better than maven-release plugin on the basis of following points: Maven-release plugin creates .backup and release.properties files to your working directory which can be committed mistakenly, when they should not be. jgit-flow maven plugin doesn't create these files or any other file in your working directory.Maven-release plugin create two tags.Maven-release plugin does a build in the prepare goal and a build in the perform goal causing tests to run 2 times but jgit-flow maven plugin builds project once so tests run only once.If something goes wrong during the maven plugin execution, It become very tough to roll it back, on the other hand jgit-flow maven plugin makes all changes into the branch and if you want to roll back just delete that branch.jgit-flow maven plugin doesn…

VPC per envrionvment versus Single VPC for all environments

This blog talks about the two possible ways of hosting your infrastructure in Cloud, though it will be more close to hosting on AWS as it is a real life example but this problem can be applied to any cloud infrastructure set-up. I'm just sharing my thoughts and pros & cons of both approaches but I would love to hear from the people reading this blog about their take as well what do they think.


Before jumping right away into the real talk I would like to give a bit of background on how I come up with this blog, I was working with a client in managing his cloud infrastructure where we had 4 environments dev, QA, Pre Production and Production and each environment had close to 20 instances, apart from applications instances there were some admin instances as well such as Icinga for monitoring, logstash for consolidating logs, Graphite Server to view the logs, VPN server to manage access of people.




At this point we got into a discussion that whether the current infrastructure set-u…