| 0 |
Last fragment. |
| 1 |
More fragments. |
Fragment
offset
13 bits. Indicates where this
fragment belongs in the datagram. The fragment offset is measured in
units of 8 bytes (64 bits). The first fragment has offset zero.
Time to live
Indicates the maximum time the
datagram is allowed to remain in the Internet system. If this field
contains the value zero, the datagram must be destroyed. This field
is modified in Internet header processing. The time is measured in
units of seconds. However, since every module that processes a
datagram must decrease the TTL by at least one (even if it processes
the datagram in less than 1 second), the TTL must be thought of only
as an upper limit on the time a datagram may exist. The intention is
to cause undeliverable datagrams to be discarded and to bound the
maximum datagram lifetime.
Protocol
Indicates the next level
protocol used in the data portion of the Internet datagram.
Header checksum
A checksum on the header only.
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 / destination
address
32 bits each. A distinction is
made between names, addresses and routes. A name indicates an
object to be sought. An address indicates the location of the
object. A route indicates how to arrive at the object. The
Internet protocol deals primarily with addresses. It is the task of
higher level protocols (such as host-to-host or application) to make
the mapping from names to addresses. The Internet module maps
Internet addresses to local net addresses. It is the task of lower
level procedures (such as local net or gateways) to make the mapping
from local net addresses to routes.
Options
Options may or may not appear
in datagrams. They must be implemented by all IP modules (host and
gateways). What is optional is their transmission in any particular
datagram, not their implementation. In some environments, the
security option may be required in all datagrams.
The option field is variable in
length. There may be zero or more options. There are two possible
formats for an option:
- A single octet of option type.
- An option type octet, an option length
octet and the actual option data octets.
The length octet includes the
option type octet and the actual option data octets.
The option type octet has 3
fields:
1 bit: Copied flag. Indicates that
this option is copied into all fragments during fragmentation:
2 bits: Option class
| 0 |
Control. |
| 1 |
Reserved for future use. |
| 2 |
Debugging and measurement. |
| 3 |
Reserved for future use. |
5 bits: Option number.
Data
IP data or higher layer
protocol header.