|
| |
IP
Reference standard: RFC 791 - Internet Protocol
Datagram
structure: fields
| bits 0 _ _ _ _ _ _ 7 |
Datagram field |
| octets 1-n |
Header |
| octets (n+1)-p |
Data |
Datagram structure: header
Bit 0 is the most significant bit.
| bits 0 _ _ _ _ _ _ 7 |
Header |
| octet 1, bits 0-3 |
Version
The value of this field indicates the format of Internet
header. |
| octet 1, bits 4-7 |
IHL
Internet Header Length in 32 bits words which points to
the beginning of the data. The minimum value is 5 (20
octets). |
| octet 2 |
Type
of service |
| octets 3-4 |
Total length
Length of the datagram, measured in octets, including
header and data. |
| octets 5-6 |
Identification
An Identifying value assigned by the sender to aid in
assembling the fragment of a datagram. |
| octet 7, bits 0-2 |
Flags |
octet 7, bits 3-7
octet 8 |
Fragment offset
This field indicates where in the datagram this field
belongs. The fragment offset is measured in units of 8
octets. The first fragment has offset zero. |
| octet 9 |
Time to live
This field indicates the maximum time the datagram is
allowed to remain in the Internet system.
The time is measured in units of seconds. |
| octet 10 |
Protocol
This field indicates the next level protocol used in the
data portion of the Internet datagram. The values for
various protocol are specified in "Assign
numbers" (RFC 790). |
| octets 11-12 |
Header Checksum
A checksum on the header only. The checksum field is the
16 bits one's complement of the one's complement sum of
all 16 bits words in the header. |
| octets 13-14-15-16 |
Source
Address |
| octets 17-18-19-20 |
Destination
Address |
| k octets 21-22-(n-1) |
Options |
| octet n |
Padding
The internet header padding is used to ensure that the
header ends on a 32 bit boundary. The padding is zero. |
The type of service provides an indication of the abstract
parameters of the quality of service desired.
| bits 0 _ _ _ _ _ _ 7 |
Type of service |
|
|
| bits 0-1-2 |
Precedence |
1 1 1 |
Network Control |
| 1 1 0 |
Internetwork Control |
| 1 0 1 |
CRITIC/ECP |
| 1 0 0 |
Flash override |
| 0 1 1 |
Flash |
| 0 1 0 |
Immediate |
| 0 0 1 |
Priority |
| 0 0 0 |
Routine |
| bit 3 |
Delay: 0=Normal, 1= Low |
|
|
| bit 4 |
Throughput: 0=Normal, 1= High |
|
|
| bit 5 |
Reliability: 0=Normal, 1= High |
|
|
| bit 6-7 |
Reserved |
|
|
| bits 0-1-2 |
Flags |
| bit 0 |
Rerserved, must be 0 |
| bit 1 |
DF: 0 = May fragment, 1 = Don't fragment |
| bit 2 |
MF: 0 = Last fragment, 1 = More fragments |
| High order bits |
Address format |
Class |
| 0 |
7 bits of net, 24 bits of host |
a |
| 10 |
14 bits of net, 16 bits of host |
b |
| 110 |
21 bits of net, 8 bits of host |
c |
| 111 |
escape to extended addressing mode |
|
The option field is variable in length. There may be zero or
more options. There are two cases for the format of an option:
| length |
format of an option |
| 1 octet |
single octet option type |
| k octets |
An option type octet, an option-length octet, and
the actual option-data octets. |
|