Packets
Added 26 Jul 2008
An IP packet consists of the IP header and data. The header includes a 4- bit protocol version number, a header length, a 16- bit total length, somecontrol fields, a header checksum and the 32- bit source and destination IP addresses. This totals 20 bytes in all.
However,
the protocol field is important. It identifies which higher- level TCP/
IP protocol sent the data. When data arrives at its destination (either
the packet’s destination address equals the host’s own IP address, or
it is a broadcast address) this field tells IP which protocol module to
pass it on to.
One control field, the time-to-live (TTL)
field, is interesting. It is initialised by the sender to a particular
value, usually 64, and decremented by one (or the number of seconds it
is held on to) by every router that the packet passes through. When it
reaches zero the packet is discarded and the sender notified using the
Internet Control Message Protocol (ICMP), a network layer protocol for
sending network- related messages.
The TTL field is a safety mechanism which prevents packets from travelling the Internet forever in routing loops.
It is exploited in a novel way by the Traceroute diagnostic tool.
Although
the total field length in the IP protocol header is 16 bits, IP packets
are usually much smaller than the 64 KB maximum this implies. For one
thing, the link layer will have to split this into smaller chunks
anyway, so most of the efficiency advantages of sending data in large
blocks is lost. For another, IP standards did not historically require
a host to accept a packet of more than 576 bytes in length. Many TCP/
IP applications limit themselves to using 512- byte blocks for this
reason, though today most implementations of the protocol aren’t so
restricted.