Type of service

From Wikipedia, the free encyclopedia
Jump to navigation Jump to 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 8-bit differentiated services field (DS field) which consists of a 6-bit Differentiated Services Code Point (DSCP) field[2] and a 2-bit Explicit Congestion Notification (ECN) field.[3] While Differentiated Services is somewhat backwards compatible with ToS, ECN is not.

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 outside of US Department of Defense networks. 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.

  • Interpretation history for IP Precedence, TOS & DSCP
1) The Type of Service field in the IP header was originally defined in RFC 791. The definition was largely derived from a US DoD Specification JANAP-128, which defines message precedence.
2) It defined a mechanism for assigning a precedence to each IP packet, as well as a mechanism to request specific treatment such as high throughput, high reliability or low latency etc...
3) In practice, only the IP Precedence part of the field was ever used outside US DoD networks. Some US DoD networks did use the delay bit for route selection between oceanic cable paths and Satellite Communication (SATCOM) paths when both paths existed.
4) At its simplest, the higher the value of the IP Precedence field, the higher the priority of the IP packet.
5) In the update version: RFC 1349 the Monetary Cost bit is introduced (this bit was previously marked "Reserved for Future Use").
6) In the update version: RFC 2474 the definition of this entire field was changed.
7) It is now called the "DS" (Differentiated Services) field and the upper 6 bits contain a value called the "DSCP" (Differentiated Services Code Point).
8) Since RFC 3168, the remaining two bits (the two least significant bits) are used for Explicit Congestion Notification


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 December 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 <=> IP Precedence Conversion Table
DSCP Name DS Field Value (Dec) IP Precedence (Description)
CS0 0 0: Best Effort
CS1, AF11-13 8,10,12,14 1: Priority
CS2, AF21-23 16,18,20,22 2: Immediate
CS3, AF31-33 24,26,28,30 3: Flash - mainly used for voice signaling
CS4, AF41-43 32,34,36,38 4: Flash Override
CS5, EF 40,46 5: Critical - mainly used for voice RTP
CS6 48 6: Internetwork Control
CS7 56 7: Network Control
  • Description of DSCP Name
CS: Class Selector (RFC 2474)
AFxy: Assured Forwarding (x=class, y=drop precedence) (RFC 2597)
EF: Expedited Forwarding (RFC 3246)
  • "DSCP <=> TOS <=> IP Precedence" value Conversion Table
DSCP (Differentiated Services Code Point), TOS (Type of service)
DSCP Dec TOS value IP Prec
0 0 0
8 32 1
10 40 1
14 56 1
18 72 2
22 88 2
24 96 3
28 112 3
34 136 4
36 144 4
38 152 4
40 160 5
46 184 5
48 192 6
56 224 7

Example based on the table above :

Note: In table showed above, TOS is considered in Decimal Format, in many routers TOS are expressed in hex format. In this case conversion to Decimal is required.

IPP = 1 in decimal, or 001 in bits. Which gives 001 00000 for the entire ToS field, or ToS = 32. The DSCP field is: 001000 00, or DSCP = 8 (the last 2 bits are unused regarding priority, so we start counting at the third bit).

1) Traditionally, the first three IP precedence (-> RFC 791) bits were supposed to be used in TOS Application Routing (RFC 1583-> OSPF, IS-IS) but no widely deployed application really supports it.
2) The TOS field has then been redefined as the Differentiated Services Code Point (DSCP-> RFC 2474) which consists of the first 6 bits and 2 bits used for a TCP mechanism called Explicit Congestion Notification (ECN) defined in RFC 3168.
3) TOS significates "Type of service" and represents the 2nd byte in the IP datagram
4) Summary of the concept for the 3 QoS values: IP Precedence, ToS, DSCP
  • IP Precedence - 0 ~ 7 (Traditional and simple way of QoS) -> ToS: 0 ~ 224 (too complex) -> DSCP: 0 ~ 56 (Optimised value)
  • IP Precedence, TOS (RFC 791, RFC 1583) -> DSCP (RFC 2474) -> ECN (RFC 3168)

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]