IP/IPv4: Internet
Protocol Overview
The Internet Protocol
(IP) is a network-layer (Layer 3) protocol in the OSI model that
contains addressing information and some control information to enable packets
being routed in network. IP is the primary network-layer protocol in theTCP/IP protocol suite . Along with the Transmission Control Protocol (TCP ), IP represents
the heart of the Internet protocols. IP is equally well suited for both
LAN and WAN communications.
IP (Internet Protocol)
has two primary responsibilities: providing connectionless, best-effort
delivery of datagrams through a network; and providing fragmentation and
reassembly of datagrams to support data links with different
maximum-transmission unit (MTU) sizes. The IP addressing scheme is integral to
the process of routing IP datagrams through an internetwork. Each IP address
has specific components and follows a basic format. These IP addresses can be
subdivided and used to create addresses for subnetworks. Each computer (known
as host) on a TCP/IP network is assigned an unique logical address (32-bit in
IPv4) that is divided into two main parts: the network number and the host
number. The network number identifies a network and must be assigned by the
Internet Network Information Center (InterNIC) if the network is to be part of
the Internet. An Internet Service Provider (ISP) can obtain blocks of network
addresses from the InterNIC and can itself assign address space as necessary.
The host number identifies a host on a network and is assigned by the local network
administrator.
When you send or receive
data (for example, an e-mail note or a Web page), the message gets divided into
little chunks called packets. Each of these packets contains both the sender's
Internet address and the receiver's address.Because a message is divided into a
number of packets, each packet can, if necessary, be sent by a different route
across the Internet. Packets can arrive in a different order than the order
they were sent in. The Internet Protocol just delivers them. It's up to another
protocol, the Transmission Control Protocol ( TCP) to put them back
in the right order.
All other protocols
within the TCP/IP suite, except ARP and RARP, use IP to route frames from host
to host.
There are two basic IP
versions, IPv4 and IPv6. This document describes the IPv4
details. For IPv6 details, Click here.
Protocol Structure -
IP/IPv4 Header (Internet Protocol version 4)
4
|
8
|
16
|
32 bits
|
|
Version
|
IHL
|
Type of service
|
Total length
|
|
Identification
|
Flags
|
Fragment offset
|
||
Time to live
|
Protocol
|
Header checksum
|
||
Source address
|
||||
Destination address
|
||||
Option + Padding
|
||||
Data
|
- Version -the version of IP currently used.
- IP Header Length (IHL) - datagram header length. Points
to the beginning of the data. The minimum value for a correct header is 5.
- Type-of-Service- Indicates the quality of service
desired by specifying how an upper-layer protocol would like a current
datagram to be handled, and assigns datagrams various levels of
importance. This field is used for the assignment of Precedence, Delay,
Throughput and Reliability.
- Total Length- Specifies the length, in bytes, of the
entire IP packet, including the data and header. The maximum length could
be specified by this field is 65,535 bytes. Typically, hosts are prepared
to accept datagrams up to 576 bytes.
- Identification- Contains an integer that identifies the
current datagram. This field is assigned by sender to help receiver to
assemble the datagram fragments.
- Flags - Consists of a 3-bit field of which the two
low-order (least-significant) bits control fragmentation. The low-order
bit specifies whether the packet can be fragmented. The middle bit
specifies whether the packet is the last fragment in a series of
fragmented packets. The third or high-order bit is not used.
- Fragment Offset - This 13 bits field indicates the
position of the fragment's data relative to the beginning of the data in
the original datagram, which allows the destination IP process to properly
reconstruct the original datagram.
- Time-to-Live - It is a counter that gradually decrements
down to zero, at which point the datagram is discarded. This keeps packets
from looping endlessly.
- Protocol- Indicates which upper-layer protocol receives
incoming packets after IP processing is complete.
- Header Checksum- Helps ensure IP header integrity.
Since some header fields change, e.g., Time To Live, this is recomputed
and verified at each point that the Internet header is processed.
- Source Address-Specifies the sending node.
- Destination Address-Specifies the receiving node.
- Options- Allows IP to support various options, such as
security.
- Data - Contains upper-layer information.