tion in the routers. Hence, the value is often used
as a hop counter.
The Protocolfield specifies the higher-level
protocol (e.g. TCP or UDP). The field called
Header checksumis used for detecting bit errors
in the packet header. The fields Source IP
addressand Destination IP addresscontain the
IP addresses (32 bit).
Box A History of ToS
The history of the ToS octet for IPv4 can be found in [ID_ecn]. It goes as
follows:
- RFC 791 defined the ToS octet in the IP header. In RFC 791, bits 6 and 7 of
the ToS octet are listed as “Reserved for future Use”, and are shown set of
zero. The first two fields of the ToS octet were defined as the Precedence
and Type of Service (TOS) fields:
precedence TOS 0 0 RFC 791
01234567
precedence TOS RFC 1122
01234567
precedence TOS MBZ RFC 1349
01234567
DSCP CU RFC 2474
01234567
- RFC 1122 included bits 6 and 7 in the TOS field, though it did not discuss
any specific use for those two bits: - The IPv4 ToS octet was redefined in RFC 1349 as follows:
where bit 6 in the ToS field was defined for “minimise monetary cost”. A motiva-
tion for this was the increasing commercialisation of IP-based networks, and
some might still ask for “free-of-charge” transfer of packets. In addition to the
precedence and Type of Service fields, the last field, MBZ, Must Be Zero, was
defined as currently unused. RFC 1349 stated that “the originator of a datagram
sets the MBZ field to zero unless participating in an Internet protocol experi-
ment which makes use of that bit.” Furthermore, the 4 bits are considered as
values meaning (1000 – minimise delay, 0100 – maximise throughput, 0010 –
maximise reliability, 0001 – minimise monetary costs) – other values use
default routing/forwarding.
- RFC 1455 defined an experimental standard that used all four bits in the
TOS field to request a guaranteed level of link security. - RFC 1349 is obsolete by “definition of the Differentiated Services field (DS
field) in the IPv4 and IPv6 headers”, RFC 2474, in which bits 6 and 7 of the
DS field are listed as Currently Unused (CU). The first six bits of the DS field
are defined as the Differentiated Service Code Point (DSCP):
This shows that assuming a specific interpretation of that octet in the IP header
might lead to unintentional actions.
Figure 2 Format of the Type
Precedence R Unused of Service field
043 475 6
D T
below). The Lengthfield (4 bit) gives the length
of the header in number of 32 bits words. Fre-
quently this contains the value 5 indicating 20
bytes (when no options are included).
The 8 bit Type of Service(ToS) field gives indi-
cations of how the packet should be handled. The
original format of this field is given Figure 2.
The three first Precedencebits (values 0 to 7)
give a kind of priority, allowing a sender to indi-
cate the priority of delivering the packet. When
the Dbit is set, a short delay is requested. When
the Tbit is set, high throughput is requested.
Setting the Rbit indicates that high reliability
is requested. In case a router has a number of
routes on which a packet can be forwarded, val-
ues of the D, Tand Rbits can be used when
choosing which route to use. For instance, if a
medium capacity wireline path and a high capac-
ity satellite-based path are available a packet
having the Dbit set could be forwarded on the
wireline path while packets having the Tbit set
may be forwarded on the satellite-based path.
The interpretation of the ToS field has changed
as outlined in Box A.
The field called Total lengthgives the length of
the IP packet in number of bytes (including both
the header and the data).
The fields in the subsequent 32 bit line are used
for fragmentation control. The Identitycontains
an integer that identifies the packet. The inten-
tion is to allow the destination to gather all frag-
ments as the Identityfield specifies which infor-
mation unit a packet belongs to. The low order 2
bits of the Flags field contain the fragmentation
control. The first bit says whether or not the
packet can be (further) fragmented. The next bit
tells if this is the last packet belonging to an
information unit. The Fragment offsetfield gives
the offset of the fragment in the packet in the
original information unit (given in units of 8
bytes).
The Timefield specifies how long (e.g. in time
ticks) the packet is allowed to remain in the net-
work. In case that time has elapsed, the packet
is discarded. This may for instance reduce the
amount of packets transported and arriving too
late at the destination or being looped in the net-
work. As it is challenging to synchronise all
routers, the value in this field could simply be
decreased by one for each hop (assuming one
unit of time per router). Commonly, seconds is
used as time unit, implying that a value of max
255 sec (4 minutes and 15 seconds) can be
stated. As each router has to reduce the value
with at least one tick, one second per router
might then be assumed, which is rather long.
This would however depend on the implementa-