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:
- To transmit the blocks of data called as “Datagrams/Packets” to and fro between the network devices.
- 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