Type of service

From Wikipedia, the free encyclopedia
Jump to: navigation, search

The type of service (ToS) field in the IPv4 header has had various purposes over the years, and has been defined in different ways by five RFCs.[1] The modern redefinition of the ToS field is a six-bit Differentiated Services Code Point (DSCP) field[2] and a two-bit Explicit Congestion Notification (ECN) field.[3] While Differentiated Services is somewhat backwards compatible with ToS, ECN is not.

Type of service[edit]

The ToS field could specify a datagram's priority and request a route for low-delay, high-throughput, or highly-reliable service.

Based on these ToS values, a packet would be placed in a prioritized outgoing queue,[4] or take a route with appropriate latency, throughput, or reliability.

In practice, the ToS field never saw widespread use. However, a great deal of experimental, research, and deployment work has focused on how to make use of these eight bits, resulting in the current DS field definition.


Prior to its deprecation, the Type of Service field was defined as follows.

0 1 2 3 4 5 6 7
Precedence Type of Service

Precedence was a 3 bit field which treats high priority packets as more important than other packets.If a router is congested and needs to discard some packets, it will discard packets having lowest priority first. Although precedence field was part of version 4, it was never used.

The last bit of Type of Service (bit 7) was defined as "Must Be Zero". Because the last three bits went through many definitions prior to RFC 2474 (see below), documentation and implementations may be confusing and contradictory.

DSCP and ECN[edit]

RFC 2474 (which was released in the year 1998) reserved the first six bits of DS field (or IPv4 ToS) for the DiffServ Code Points (DSCP), and RFC 3168 reserved the last two bits for Explicit Congestion Notification.

0 1 2 3 4 5 6 7
DSCP field ECN field

See also[edit]


  1. ^ RFC 791, RFC 1122, RFC 1349, RFC 2474, and RFC 3168. For a full history of the ToS field, see section 22 of RFC 3168.
  2. ^ RFC 3260 Section 4
  3. ^ RFC 3168 Section 5
  4. ^ http://www.lartc.org/howto/lartc.qdisc.classless.html Linux Advanced Routing & Traffic Control

Further reading[edit]

  • John Evans, Clarence Filsfils (2007). Deploying IP and MPLS QoS for Multiservice Networks: Theory and Practice. Morgan Kaufmann. ISBN 978-0123705495. 

External links[edit]