Tuesday, March 11, 2014

What is IP ? (Internet Protocol)



Internet Protocol (IP):

            IP (Internet Protocol) is a network layer protocol; there are two versions of Internet Protocol such as IPv4 and IPv6. Both the versions have two responsibilities:

  1. To transmit the blocks of data called as “Datagrams/Packets” to and fro between the network devices.
  2. To provide logical addressing for network devices (IP Addressing).

Internet Protocol gives the best effort delivery but not guarantee the delivery of the datagram. These aspects are addressed by the upper layer protocol called TCP (Transmission Control Protocol), we will discuss it later.

IP Datagram:
           
            Now let’s have a look at the IP datagram components. 
Image Source: Internet
 Version: It indicates the Internet Protocol version; IPv4 and IPv6. It is a 4bit field


IHL (Internet Header Length): It is a 4bit field and used to indicate the length of the IPv4 header in 32 bit word.

Type of Service: It is an 8bit field; it specifies the type of service the source device is requesting. Eg: VoIP etc. Now it is referred as DSCP (Differentiated Services Code Point)

Total Length: It is a 16 bit field; it shows the total length of the IP datagram including the header size.

Identification: It is a 16bit field. This field is used to identify the fragments of the same single IP datagram i.e. all the fragments of a datagram contains the same identification value.

Flags (DF, MF): These are 3 bits used to control the fragments.
            Bit 0:   Reserved, always 0
            Bit 1:   Don’t fragment
            Bit 2:   More Fragments

Bit1: The Don’t Fragment Flag is set to indicate the router to don’t fragment the IP datagram because the destination device is incapable of putting all these fragments together.

Bit2: The More fragments is set to indicate the receiving device that there are more fragments to be received. This field is not set for the last frame to indicate the receiving device that the transmission of all the fragments is completed.

Fragment Offset:
            This is a 13bit field used to reassemble the packet.

Time to Live: This is an 8 bit field which is used to limit the lifetime of a datagram/packet; it is always specified in seconds. In practical world, this field has become a hop count, when the datagram is received by a layer3 device it decrements the TTL value by 1. When the TTL value reaches 0, the routing device discards the packet, and typically replies to the source with an ICMP time exceeded message.

Protocol: It is also an 8 bit field used to indicate the upper layer protocol. If the value is 6, then it will be processed by TCP. If the value is 17 then the datagram is sent to UDP.

Header Checksum: It is a 16 bit field used to perform error checking on the IP header. When the datagram is received by the router it calculates the header checksum and compares it to the value in Header checksum field of the received packet. If the value doesn’t match then it discards the frame.
            The errors in the actual data will be handled by the upper layer protocol such as
TCP and UDP.
           
Source Address: It contains the IP address of the sender of the packet. (In some cases the original IP of the device will be changed by a Network Address Translation device).

Destination Address: It contains the IP address of the device which is yet to receive the packet. (In some cases the original IP of the device will be changed by a Network Address Translation device).

Options: To include optional data. For example, a router may put its IP address and the timestamp here to indicate the final destination about the time required for this packet to reach it.
            I believe this info is more than enough for a CCNA aspirant. And in the next post we will delve into the second responsibility of the internet protocol i.e. IP addressing.

No comments:

Post a Comment