Internet Quality of Service: an Overview
Weibin Zhao, Da¡ vid Olshefski and Henning Schulzrinne ¢
Columbia Uni¡ versity £
zwb, dpo1, hgs ¤ @cs.columbia.edu
© § © § ¨
Abstract human factors, e.g., bounds on delay for interacti¨ ve voice
§ ©
communications, or by b* usiness needs, e.g., the need to
$
¦ ¦ ©
¨
¥ ¥ ¦ § © § ©
¨
This paper presents an o¨ verview of Internet QoS, covering complete a transaction within a given time horizon.
¦ ¦ ¦
¨
© © § ¨
motivation and considerations for adding QoS to Internet, QoS can be described qualitati¨ vely (relative) or quantita-
§ ¦
© © ¨
the definition of Internet QoS, traffic and service specifi- ti¨ vely (absolute). Relative QoS definitions relate the treat-
¦ ¥ §
© ¦ § ¥ § §
cations, IntServ and DiffServ frameworks, data path oper- ment recei¨ ved by a class of packets to some other class of
¦ ¥ ¦ ¥
¥ ¦ ¥ ¦ ¨
ations including packet classification, shaping and polic- packets, while absolute definitions provide metrics such as
© ¦ § ¦
ing, basic router mechanisms for supporting QoS, includ- delay § or loss, either as bounds or as statistical indications.
+
¦ ¥
¦ ¦ ¦
ing queue management and scheduling, control path mech- Examples § of absolute bounds are statements such as “no
!
¦ ¦ ¦ ¥ ¦
§ ¥ § ¥
anisms such as admission control, policy control and band- more than 5% of the packets will be dropped” or “no packet
§ ¦ ©
© ¦ § §
width brokers, the merging of routing and QoS, traffic en- will experience a delay of more than 100 ms”. A set of such
¦
¦ ¦ ¦ §
gineering, constraint-based routing and multiprotocol label statements, along with guarantees about reliability, are of-
¦ ¦ © ©
¦ ©
switching (MPLS), as well as end host support for QoS. We ten called a Service Le¨ vel Agreement (SLA). Proportional
¥ ¦ §
¦ ©
identify some important design principles and open issues QoS [13, 14] tries to refine and quantify relati¨ ve QoS.
§ §
for Internet QoS. As long ¦ as the sum of the bandwidths of the ingress
%
© § ¦
links e, xceeds the minimum capacity of a network, QoS can
§ § § § © ¥
be offered only in one of two ways: either by predicting
¦ ©
1 Introduction the traffic and engineering the network to make ¨ violations
§ §
of the committed QoS sufficiently * unlikely or by restrict-
¦ §
§ § ¥
Quality § of Service (QoS) [15, 17] has been one of the prin- ing the total amount of traffic competing for the same re-
© ©
¨
§ ¦ © ¥
cipal topics of research and de¨ velopment in packet net- sources. In many cases, the network capacity is effectively
¥ ¥ ¥
¥ ¥ ¦ § ©
¨
works for many years. This paper presents an overview partitioned by packet prioritization, so that higher-priority
*
§ of Internet QoS. traffic is largely unaffected by lower-priority traffic.
¥ ¦
© § © ¦ ¦
The paper is structured as follows: Section 2 discusses QoS guarantees can be made either o¨ ver an aggregate
¦ ¦ ¦
¨
§ ¦ § ¦
motivation and special considerations for adding QoS to of communication associations, or for an indi¨ vidual group
§
¥ § ¦
the Internet. Section 3 defines Internet QoS. After outlin- § of packet delineated in time. The latter is often called a
¦
¦ ¥
ing two important frameworks, integrated and differenti- “flo w”. QoS is assured by reserving resources, primarily
¦ ¥ ¥ §
¦
ated service, in Section 4, we present basic data path oper- bandwidth and sometimes b* uffer space.
¦ ¥ ¥ ¦
© ¦ ¥ ©
ations, namely packet classification, shaping, policing, and Excess traffic can be dropped either at the packet le¨ vel
-
%
§ ¦ © ¦ ¨
two important router QoS supporting mechanisms, queue (policing) or at the flo w level (admission control), as dis-
!
% %
¦ ©
¦
management and scheduling, in Section 5. We show con- cussed later. When network traffic is limited ¨ via admission
"
-
%
¥ ¦
¥ ¦ © ©
¨
trol path mechanisms in Section 6, including admission control, packet loss and e, xcessive delay is replaced by flow
#
$ $
¥ ¦
©
control, policy control and bandwidth broker. In Section 7, blocking. The network has to ha¨ ve sufficient capacity to
© § ¦ ¦
¨
© § © § § ©
we cover the merging of Internet routing and QoS, address- ensure only modest le¨ vels of flow blocking. (For exam-
© ¦
¥ © ©
ing traffic engineering, constraint-based routing and multi- ple, the telephone network is generally engineered to ha¨ ve
-
% %
¥
¥ © §
protocol label switching (MPLS). In Section 8, we discuss less than 1% call blocking.) The permissible le¨ vel of flow
$ %
© © §
¦ ¥ § ¦
end host support for QoS. We conclude by listing open is- blocking is § often also part of an SLA.
© ¦ § ¦ ¨
sues. Flo w-level blocking is appropriate only for applications
¦
* .
whose utility function drops to zero at some non-zero band-
§ ¦ ¦ ¦
¨ &
' width. For those applications, waiting for available band-
)
(
¥ §
2 Motivation width is preferable to obtaining bandwidth insufficient for
¦ ¦ © ¦
the application. As an e, xample, consider a network with
¦ ¦ §
Quality § of service (QoS) generally describes the assurance a bottleneck bandwidth of 1 Mb/s. If the network is to be
"
% % /
§ ¦ ¥ § ¦ §
* ¨
of sufficiently lo w delay and packet loss for certain types used for voice calls, with a minimum bandwidth of 64 kb/s
!
§ ¦ § © ¦ ¦ ¥ § § ¨ of applications or traffic. The requirements can be gi¨ ven by and a tolerable packet loss of 5%, no more than 16 voice
1
W
_
Z
X X Y [ [ X \ `
] a
¦ ¦
^ ^ ^
calls can be admitted. If the 17th call is admitted, the qual- Characterize a Flow:
§ ¦
ity of all calls drops belo w the tolerable threshold, so it is
¥ § ©
h i
b f g b c g c f
preferable to delay one call in that case. We refer to traffic d
¦ ©
* . ¨ .
whose utility function drops to zero above zero bandwidth r constant token rate (bps)
¦ © ¨
as QoS-sensitive. p
g
n
¦ © ¦
¨
e
g g c
l
c d c c
b max g
It has been argued that data networks have a suffi- variable b token bucket depth c
¦
* c
g peak
j c ciently low utilization to make resource reservation for rate input g
rate
3
© 2 4
* 0 1 0 1
QoS-sensiti¨ ve traffic unnecessary. However, while the av-
6 9 : :
3
2 4 7 8 4 0
erage 5 utilization in a network may be low, there are likely
9
3 3
4 ; < = 4 to be times and places 0 where congestion occurs, at least
3 temporarily.
> ? 3
Applications differ in their QoS requirements. Most 4 ap-
: >
; 4 2 4 <
1 0
j j
c g
m
c c f
plications are loss-sensitive; while data applications can input k queue burst leaky
j
d c
2 ; 4 2
1 1
1 bucket
e j
recover from packet loss via retransmission, losses above c
@ B
:
C
3 3
A 2 ; 2 2 1 1 depth
5% generally lead to very poor effective throughput. Data
D
>
3
4 4 7 A
4 applications such as file transfer are not generally delay-
E 6 :
3
2 4 ; 0
sensiti1 ve, although human patience imposes lower through-
9
9 9 F
=
5
; = 4 4 0
put bounds on applications such as 0 web browsing. Contin- Figure 1: Token bucket
8 4 4 4 4 1
5 uous media applications such as streaming audio and video
9
4 2 4 4
A generally require a fixed bandwidth, although some appli-
3 3 3
3
4 ; = =
0
< 4 < <
< cations can adapt to changing network conditions (see Sec- networks where there are possibly tens of thousands of 3
tion 8.2). flo0 ws.
E 9
G
>
G H
4 < A = <
3
2 = 4 8 <
1 Thus, a coarser granularity of classification has been D
This diversity of applications makes the current Internet 6
3
; ; 4 A 2
0 1
3 3
= = 4 4 proposed, where packets are grouped into several traffic
approach of offering the same, “best-effort” service, to all >
3
>
< 2 4 4 4 4 classes, each treated differently. This approach assumes
applications inadequate. ISPs also see service differentia- ?
3 3
9
; < 2
1
3 3 3
4 4 = 2 1
0 that packets in the same class have similar QoS require-
9
tion as a way to obtain higher revenue for their bandwidth. Q
3 3 3
4
0 0 K
6 6 : :
H H
3 3
; = 4 ments no matter what flows they belong to. While this ag-
In short, it is likely that at least portions of the Internet 9
A A < 4 ;
0
B B
> 6
I
3 7 0 gregate classification scales better and has lower per-packet
will see service differentiation in the near future [9, 33]. 6
< ; A 4 7 4 4
o
9 9 >
3
< 4
0 complexity, its performance guarantees are not as strong as
B
3 Since best-effort service will continue to be dominant, all 3
; 4
0
?
3 3
= = 2 4 those for the per-flow approach.
Internet QoS mechanisms are layered on top of the existing F
3
2 4 = 4 A <
3
4 0 0 Current efforts are focused on aggregate traffic classi-
Internet rather than replacing it with a new infrastructure. 9
3 3
> < 4 4 = 4
4 <
; fication. Trying to combine the advantages of both ap- B
Internet design principles [10] such as connectionless ser- 9
3 3
; J 2 4 2
J 4 2 ; 2 4 5 1 proaches, some research efforts attempt to emulate the be-
vice, robustness and end-to-end principles should serve as 9
B
H 4 ; = ;
1 0 5
3
4 A 4 ; 2 <
K havior and performance of per-flow based mechanism un-
B
> 9
a guidance for any proposed enhancement to current Inter- I
4 ; A 0
7 der an per-aggregate-class based framework [32]. >
net. ?
3 3 3
= ; 0
In order to pro1 vide Internet QoS, we need to describe the
3
; = 4 4 A 4 4 0
properties of flo0 ws and aggregates as well as their service
9
3 3
<
5 5
L O
M P
N requirements. The token bucket is the most commonly used
V B B
6
G
3 3
2 = o
3 Internet QoS Definition flo0 w specification, for example in the form of the TSpec
9
G G
3
< 4 4 ; J 0
[30]. The TSpec combines a token b5 ucket with a peak rate
B
> ? >
Q
>
2 4 ; 4 ;
1
4 8 ; 4 4 8
5 q
We define QoS as providing service differentiation and per- p , a minimum policed unit , and a maximum datagram
>
B D
G
4 4
; s 4 t 4 ; 5
formance assurance for Internet applications. Service dif- size r . The parameters and are used for packet fil-
> >
9
3
3 3 u
; 4
1
4 ; <
ferentiation provides different services to different appli- tering: a packet 0 whose size is less than bytes is counted
9 9
3 3
< 4 4
4wv 4 4 ; = 2yx < = 1
cations according to their requirements. Performance as- as bytes and anK y packet over bytes is considered out
9 > >
9 9 > z
3
4 4 4
1
= ; 4 4 4 5
surance addresses bandwidth, loss, delay and delay vari- of profile. The token b5 ucket has a bucket depth , and a
B
6
R
9 9
3
3
4 7 J
5 0 | 5
ation (jitter). Bandwidth is the fundamental network re- bucket rate { , with specifying the maximum burst size
6 >
Q
3
3
4 4 4 8
} 8 J 4 ;
source, as its allocation determines the application’s maxi- 4 and specifying the maximum service rate. When a packet
6 9
B
: ~ 6 9
3 3
3 3
8 4 < = 2
= 4 J 2 1
mum throughput and, in some cases, the bounds on end-to- of length is serviced, bytes are removed from the to-
> 6
S
9 9 6 6
H
3 3
2 4 T 8
2 ; 8
5 0
end delay. Jitter is a secondary quality-of-service metric, ken b5 ucket. If the bucket is empty, the packet must wait in
B
9 6 6
D
9
H
3 3
3 3 3
4 ; 4 J 2 <
5 1
T 2
5 5 0
since a playout buffer at the receiver can transform it into the queue 5 until the bucket fills up with enough tokens. In
>
6 9 6 :
3
4 <
4 = ; 4
0 K
additional constant delay. implementation, a token b5 ucket is often paired with a leaky
9
> 9
3
<
5
< ; = 4 4 4
Service differentiation can be per-flo0 w or at an aggre- bucket. Figure 1 illustrates this. Service requirements can
B
9 6
V @
6 > 9
U
3
4 4 4
1
A < 4 7
gate. A flo0 w is commonly defined by a 5-tuple, namely be specified in a variety forms, such as the RSpec [30]
>
>
H H
3
4 4 4
0
4 ; 7 4
source IP address, source port number, destination IP ad- which includes a service rate ( ) and a delay slack term
> >
; 4 ;
dress, destination port number, and protocol (UDP, TCP). ( ).
D V B D
6 >
G G
3
A ; = ; = 4 <
This fine granularity protects flo0 ws from other, possibly The specifications of traffic and its desired service can
9 9 9 9
4 ; A 2 = 4 ; = 2 4
5 1 0 1 misbeha1 ving, applications, but scales poorly in backbone be given on a per-flow basis or in service level agreement
2
Figure 3: RSVP signaling
4 4 J 2 J 4 0
RSVP adopts a recei1 ver-initiated reservation style which
B
6 >
4 8 2 4 4
is designed for a multicast en1 vironment and accommodates
B
E
J 2 7 4
1 0
?
heterogenous receiver service needs. RSVP works as fol-
V
:
U
G G
3
4 8 0
Figure 2: End-to-end QoS lo0 ws (Fig. 3). The flow source sends a PATH message to
3 3
2 < 1
the intended flo0 w receiver(s), specifying the characteristic
3 3 3 3 3
= ;
0
6 9
U of the traffic. As the PATH message propagates towards the
4 < 4 <
3
J 2 2 7 J 4 J ; 0 (SLA). An SLA is a service contract between a customer 1
9 receiver(s), each network router along the way records path
4 4 ; < 4 2 9
1 5
< 4 4 4 1
and a service provider. A customer may be an end user 1
> >
H characteristics such as available bandwidth. Upon receiv-
= 4 4 4 6
5 U
G
3
4 8 J 2 J 4 0
(source domain) or an adjacent upstream domain. In ad- 1 D
> ing a PATH message, the receiver responds with a RESV
3 3 3 3
4 4 6
3 3
J J 4 ; J
dition to the traffic specification, an SLA specifies all the 8 message to request resources along the path recorded in
3 3
4 = ; 4 <
3 3 3 3
2 =
aspects of packet forwarding treatment that a customer 1
B 6
the PATH message in reverse order from the sender to the
3
J 2 ;
1 1
H
3
J 2 J < 4 = J J should receive from its service provider. Less technical 1
> receiver. Intermediate routers can accept or reject the re-
< 4 4 ; 4
3 3
= 4 contents may also defined in SLA such as pricing and T
9 quest of the RESV message. If the request is accepted,
; 9 9
5
3
4 4 4 0 billing procedures including refunds for unexpected ser- 5
9 link bandwidth and buffer space are allocated for the flow,
3
2 ;
1 1
3 3 4
vice failures, encryption services provided by the service and the flo0 w-specific state information is installed in the
3
; 4 2 9 9
1 5 1 5
3
< 4 =
provider, authentication mechanisms used to verify users, routers. Reserv4 ations can be shared along branches of the
3
4 ; A = < = >
3
8 2
and procedures for re-negotiation or cancellation of the ser- 1 B
G multicast delivery trees.
3
= 2 = < 7 A
1
3 3 3
4 J A
0
vice. To facilitate the establishment of SLA, certain nego-
6 6 >
U
3
7 4
8 RSVP takes the soft state approach, which regards the
4 4 4 <
tiation mechanism is needed. Although an SLA is deemed 0
9 9
3 3 3
2 5
1 flow-specific reservation state at routers as cached informa-
9
3 3 3 ;
to be relatively stable, it should be updated to reflect the 4
D
6 >
3 tion that is installed temporarily and should be periodically
< = ; 4 J
0
9 E 6 6
3 3
2 7 J changes of traffic pattern and its desired service, which re- J
3 refreshed by the end hosts. State that is not refreshed is
T 4 A =
H
3 3 3
J 2 4 4 ; J <
quires a re-negotiation of the SLA. remo1 ved after a timeout period. If the route changes, the
6
3
8 4 7
J refresh messages automatically install the necessary state
E
G
3
4 7 J 4
0
along the new route. The soft state approach helps RSVP
6
3 3
8 < = < 4 o
to minimize the complexity of connection setup and im- 9
4 Frameworks 3
; 2 <
5 5 0
pro1 ves robustness, but it can lead to increased flow setup
3
4 = 2
1
?
3
< 4 2 2
0 1
0 times and message overhead. H
How can we achieve end-to-end QoS in the Internet? G 3 3 3
4 4 < 3
4 The IntServ architecture adds two service classes to the B
Since today’s Internet interconnects multiple administra- 9
> 6 6 2 8 A 4 <
o
3 3
2 <
1 existing best-effort model, guaranteed service and con-
tive domains (autonomous systems (AS)), it is the con- :
3
; 4
1
> >
3
= ;
< trolled load service. Guaranteed service [29] provides an >
catenation of domain-to-domain data forwarding that pro- 9
= 2 T
5
? >
U
3
2 2 1
1 upper bound on end-to-end queuing delay. This service
vides end-to-end QoS delivery (Figure 2). Although there 3
4 4
0
B
6
3
4 4 = < 8 A 0
1 model is aimed to support applications with hard real- F
are variety of choices, two major frameworks, integrated I
3
; 1 4 time requirements. Controlled-load service [35] provides
services (IntServ) and Differentiated Services (DiffServ), 9
3
4 T = 4
5
B
E
3
2 2 A 4 ; 4 ; 1
1 a quality of service similar to best-effort service in an un-
> : > 6
have emerged as the principal architectures for providing H
7 4 7 4 0
? derutilized network, with almost no loss and delay. It is
9
3 Internet QoS. 3
4 A 4 8
4 aimed to share the aggregate bandwidth among multiple
D
6
3
4 < = 2 <
5 1
traffic streams in a controlled 0 way under overload condi-
3
tion.
> H
4.1 Integrated Services (IntServ) R
; J J 4 < 0
By 5 using per-flow resource reservation, IntServ can de-
9 ? ?
4 ; 2 A 2
0 0 1 0 1
IntServ [7, 12] is a per-flo0 w based QoS framework with liver fine-grained QoS guarantees. However, introducing
B V B
> 6
H
3
J J 4 ; J J 4
dynamic resource reservation. Its fundamental philosophy flo0 w-specific state in the routers represents a fundamen-
6 6
H
3 3 3 3 3 3
J 7 J 2 J = ; < < 4 4
is that routers need to reserve resources in order to pro1 vide tal change to the current Internet architecture. Particularly
? 9
3 3 3
T 4
0 0
quantifiable QoS for specific traffic flo0 ws. RSVP (Resource in the Internet backbone, where a hundred thousand flows
B D
9 9 >
3 3
2 4 4 ; 8 ; 8 8 4 4 J
Reserv4 ation Protocol) [8] serves as a signaling protocol for may be present, this may be difficult to manage, as a router
3 3
4 2 4 T 2 application to reserve network resources. may need to maintain a separate queue for each flo0 w.
3
9 9 9 9 ?
3 3
< 2 2 4 ; 1
Although RSVP can be extended to reserve resources for (PHBs) as the basic b5 uilding blocks for QoS provision-
3 3
4 A = ; < 4 2 < ; 4 4
K 1 K
aggregation of flo0 ws, many people in the Internet commu- ing, and leaves the control policy as an issue for further
9 9 9
3
2 < ; < < 4
0 0 K 5
nity belie1 ve that IntServ framework is more suitable for work. The control policy can be changed as needed, but
B
6 ? 9
G
3
= 4 4 J 2
intra-domain QoS or for specialized applications such as the supporting PHBs should be kept relati1 vely stable. The
V B B V
E 6
H
3 3 3 3 3
4 ; = <
K o
high-bandwidth flo0 ws. IntServ also faces the problem that separation of these two components is key for the flexi-
B B
6 > 6 9 6
U
C H
= ; < = 2 J
incremental deployment is only possible for controlled- bility of DiffServ. A similar eo xample is Internet routing.
B B
: > 6 E
H
J 2 4 =
5 1 0
load service, 0 while ubiquitous deployment is required for It has very simple and stable forwarding operations, while
> 9 9
3 3 3
4 < = < 4
A guaranteed service, making it difficult to be realized across the construction of routing tables is complex and may be
9 >
3
; 4 4 = ; =
the network. performed by a 1 variety of different protocols. (This of-
3
4 4
ten reflects a software-hardware split, 0 where PHBs are im-
3
; < ; K
plemented in hardware, 0 while the control policy is imple- 6
4.2 Differentiated Services (DiffServ) 8 mented in software.)
B
F 9
C
3
; 8
Currently, DiffServ pro1 vides two service models besides
G H
3 B
9 6
I
= 4 = ; 4
0
4 A ; J
To address some of the problems associated with IntServ, best 2 effort. Premium service [20] is a guaranteed peak rate
B B
> E 9 9
3 B D
6
3
;
= 2 J A ; 1
differentiated services (DiffServ) has been proposed by the service, 0 which is optimized for very regular traffic patterns
3
>
4 A
0
= = T < ;
IETF with scalability as the main goal. DiffServ [4, 25] is 4 and offers small or no queuing delay. This model can pro-
9 >
?
3
4 ; A
4 4 2 = 5
a per-aggregate-class based service discrimination frame- 1 vide absolute QoS assurance. One example of using it is to
9
3 3
3 3
; 4
0 5 5
< ; = 1
work using packet tagging [24]. Packet tagging uses bits in create “virtual leased lines”, 0 with the purpose of saving the
3 3 3
9
; 4 ; ;
< = 4 4
the packet header to mark a packet for preferential treat- cost of b5 uilding and maintaining a separate network. As-
9 6
H H
3 3
6 9
H
8
5
= ;
ment. In IPv4, the type-of-service (TOS) byte is used sured service [19] is based on statistical pro1 visioning. It
9
G G
3
3 3 3
8 ; < = 4
4 = 4 ;
to mark packets. The TOS byte [1] consists of a 3-bit tags ; packets as In or Out according to their service profiles.
D D B
6
9 >
3
; 4 J 8
; 4 ; 0
precedence field, a 4-bit field indicating requests for min- In packets are 5 unlikely to be dropped, while Out packets
6 >
3 D
> 6
G
8 8 J
4 7 ; 4 J 2 1
imum delay, maximum throughput, maximum reliability are dropped first if needed. This service pro1 vides a relative
9
3
? 9 9
3
4 < 4 = 2
5 0 1
4 < 5
and minimum cost, and one unused bit. However, these QoS assurance. It can be 5 used to build “Olympic Service”
9 9
3
9
2
0 1 0 5
A 2 4 2 1
bits were never widely used. DiffServ redefines this byte 0 which has gold, silver and bronze service levels.
9
3 3
4 = 5
as the DS field, of 0 which six bits make up the DSCP (Dif-
F
3 3
ferentiated Service CodePoint) field, 4 and the remaining two
9
3
4 = <
5
P
bits are unused. The interpretation of the DSCP field is cur-
9 9
H 3
J rently being standardized by the IETF. 5 Data Path Mechanisms
9
3 3
;
5 1
> >
3 3
=
0 0 0
DiffServ uses DSCP to select the per-hop behavior 1
; 2 4 2 4
4 Having outlined the frameworks, we will discuss the de-
?
3 3
4 4 2
(PHB) a packet experiences at each node. A PHB is an =
3
2 = 4 ;
0 tails of Internet QoS mechanisms along two major axes:
>
C
3
4 < ; ; 8 4
externally observable packet forwarding treatment which ;
B
6 6
3
4 J 2 < = 1
5 data path and control path. Data path mechanisms are the
9 9 9 ? 9
=
0 5 K
is usually specified in a relative format compared to other 5
B
9
4 J 2 = 0
1 basic building blocks on which Internet QoS is built. They
6 6
3 3 3 3
4 J 7 =
PHBs, such as relative weight for sharing bandwidth or 1
B
>
G C
3
J 2 ; 8 =
1 implement the actions that routers need to take on individ-
B
6 > :
3
; = 2 2 = 1
relative priority for dropping. The mapping of DSCPs to 5
D
6
R
2 7 7 2 4 ; 2 4
4 ual packets, in order to enforce different levels of service.
F
; 4 < <
PHBs at each node is not fixed. Before a packet enters a 0
B D
> 6 6 9
C C
3 2
8 Control path mechanisms are concerned with configuration
3
= 7 7 J ; A 0
DiffServ domain, its DSCP field is marked by the end-host 0
3 3 3 3
4 T
= of network nodes with respect to which packets get special
9
3 3 3 3
= 4 4 = 5
or the first-hop router according to the service quality the 0
Q
3 3
; 4 2 2 1 treatment what kind of rules are to be applied to the use of
packet is required and entitled to receive. Within the Diff-
>
3 3
= 4
2 resources.
D
> 9 > 6
Q
3
; = J
Serv domain, each router only needs to look at DSCP to 2
>
3 3 3
; <
; We first discuss the basic data path operations in routers <
decide the proper treatment for the packet. No complex ;
6
< = ; 7
0 (Fig. 4), including packet classification, marking, meter-
6 9
G
3 3
; 4 < 2 1
classification or per-flow state is needed. 0
> 3
; ing, policing, and shaping. Then we cover the two ba-
8 T 8 4
DiffServ has two important design principles, namely J
9
3 3 3
< 4
; sic router mechanisms, queue management and schedul-
9 >
3
4 < 4
5 K
pushing complexity to the network boundary and the sep- K
4 = ; 4
K ing. They are closely related, but they address rather dif-
B
6 ?
8 <
aration of policy and supporting mechanisms. The net- ;
D
9 E :
3
J 4
0 ferent performance issues [6]. Queue management controls
9 >
3
; T = ;
work boundary refers to application hosts, leaf (or first- =
E 9
4 2 J 4 7
J the length of packet queues by dropping or marking pack-
>
2 = 4 0
hop) routers, and edge routers. Since a network boundary 0
V
E 6
J 2 7 = < ; = 0
1 ets when necessary or appropriate, while scheduling deter-
6
3 3
8 ; 7 4 ;
o 5
has relative small number of flows, it can perform opera- 0
D
3
4 4 A 4 < ; <
o mines which packet to send next and is used primarily to
9
3
4 = 4
tions at a fine granularity, such as complex packet classifi- 0
D
H
3
4 < < 4 7 < < manage the allocation of bandwidth among flows.
cation and traffic conditioning. In contrast, a network core
2 4 A = ; 0
router may ha1 ve a larger number of flows, it should perform
B B
>
G
4 = = 7
fast and simple operations. The differentiation of network
9
3
4 < = 1 5.1 Basic Packet Forwarding Operation
boundary and core routers is vital for the scalability of Diff-
6 >
U
4 ; J 2 4 ; <
Serv. As a packet is recei1 ved, a packet classifier determines
9 9
3 3
= < ; 4 = < = <
0 0
The separation of control policK y and supporting mech- which flow or class it belongs to based on the content
B
6 E
C
3 3 3 3
4 4 2 = 2 = ; = ; 4 < 1
anisms allo0 ws these to evolve independently. DiffServ of some portion of the packet header according to certain
> 9
3 3
= 2 ; ; 4 = < 1 only defines se1 veral per-hop packet forwarding behaviors specified rules. There are two types of classification:
4
@
>
R
T 8 4 =
Figure 4: Basic data ; path operations Figure 5: RED queue management algorithm
3
< ; 4 2
1
G
= < 4 4 = 7 < 7 0
General classification performs a transport-level 1
9 6 3
3 To control and avoid network congestion, we need some
= 4 ;
9 6
4 7 2 4 4
signature-matching based on a tuple in the packet 8 mechanisms both at network end-points and at intermediate
4 ; 2 =
1
>
3
2 = ;
header. It is a processing-intensive operation. This routers. At network end-points, 0 we depend on the TCP pro-
4 4
K
3
4 2 4 4 4
5 1 0
function is needed at any IntServ-capable router. In tocol 0 which uses adaptive algorithms such as slow start, ad-
4 <
> >
2 4 2 1
DiffServ, it is referred as multifield (MF) classifica- 1 9
3 ditive increase and multiplicative decrease. Inside routers,
4 = 4
3
T A 4 4 2 1
tion, and it is needed only at network boundary. queue management is 5 used. Our goals are to achieve high
B
: > 9
G
3
4 2 2 < 8
0 1
F 9
; = =
throughput and low delay. The effectiveness can be mea-
9 6
3 3
7 ; J = 0
Bit-pattern Classification sorts packet based on only 0
D
6 E 6
H
3
; 8 4
= sured by network power, which is the ratio of throughput >
one field in the packet header. It is much simpler and 3
B B
6 6
H C
3
< J
A to delay.
9 > 3
faster than general classification. In DiffServ, it is re- 3
4
5
B
9
U
4 4 A < 0
1 The buffer space in the network is designed to absorb
> 9 9 3
ferred as behavior aggregate (BA) classification which 3
< =
5
D
6 9 6
C H
= = 4 7 <
5 short term data bursts rather than be continuously occupied.
>
3 3
is based only on DS field. It is used at network core 3
< ; Limiting the T queue size can help to reduce the packet delay
routers. 9
bound.
6 : 6
U
>
G
3 3
3
< ; ; 4
J ; 4 = T
After classification, the packet is passed to a logical in- Traditionally, packets are dropped only 0 when the queue
D
B
6 > >
3
3
= 4 < 8 < 4 8
0
4 ; 4
stance of a traffic conditioner which may contain a meter, is full. Either arri1 ving packets are dropped (tail drop), the
D
>
U
E 9 6 : >
3 3 3
8 4 8 8 <
; 2 T 4
marker, shaper, and dropper. A marker marks certain field packets that ha1 ve been in the queue the longest are dropped
D
6 :
C
B B
6 >
3 3 3 3
; 4 ;
4 J < ;
in the packet, such as DS field, to label the packet type (drop front) = or a randomly chosen packet is discarded from
B B
> : 6
U
> >
3 3
3 3
8 8
5
T 4 0
for differential treatment later. A meter is used to measure the queue. There are two dra0 wbacks with drop-on-full,
>
3 3 3 3 3
3
; = 4 4 T
the temporal properties of the traffic stream against a traffic namely lock-out 4 and full queues. Lock-out describes the
>
B V
3 3
3
; ; ; = = = ;
; 4 < = 4 8 0
profile. It decides that the packet is in profile or out of pro- problem that a single connection or a fe0 w flows monopo-
3 3 3 3
; = <
T ; 2 = < A
file, then it passes the state information to other traffic con- lize queue space, pre1 venting other connections from get-
> 9 >
6
G
3 3
2 = ; ;
T T ; J
ditioning elements. Out of profile packets may be dropped, ting J room in the queue. The “full queue” problem refers
B B
> E 6
>
3
3 3 3 3
J 4 = 4
= ; T 4
remarked for a different service, or held in a shaper tem- to the tendencK y of drop-on-full policies to keep queues at
9 6
H
3
; ; ; ; 4
5 K
= = ;
porarily until they become in profile. In profile packets are or near maximum occupancK y for long periods. Lock-out
B B B
6 >
U
:
; T ;
< = J A
5 0
put in different service queues for further processing. A causes 5 unfairness of resource usage while steady-state large
6 > 6
>
3
= 4 = ; 4 ; 4
shaper is to delay some or all of packets in a packet stream T queues results a longer delay.
9
3 3 3
= <
0
3 3
= 4 = ; 4 2 T
0 1
in order to bring the stream into compliance with its traffic 1 9
9 To avoid these two problems, we need active queue man-
> 9 9
; 4 4 ;
5 5
4 ; 4 T
profile. It usually has a finite buffer, and packets may be 0
9 >
> agement which drops packets before a queue becomes full.
3 3 3
E
H
5
3 3
4 J < 4 8 ;
0 0 K
discarded if there is insufficient buffer space to hold the de- It allo0 ws routers to control when and how many packets to
> 9
>
; < 4 4
= 4
layed packets. A dropper can be implemented as a special 2
B 9
9 drop. An important example of such algorithm is Random
3
C I
< = 4 ;
case of a shaper by setting shaper b5 uffer size to zero pack-
B
> Early Detection (RED) [16].
H G
2 = ; = 4
3 3
< 4 2 T 5
ets. It just drops out-of-profile packet. The function of a 1
D
> 6
3 RED controls the average queue size using time-based
4 ;
0
> >
2 4 4 ;
dropper is known as traffic policing. exponential decay, and it marks (or drops) arri1 ving packets
; = 4
; probabilistically. The probability of marking increases as
H
3 3 3
2 4 2 T A
1 0 5
¡ the estimated average queue size grows. It uses two thresh-
@
Q
3
= 4 4 2 T
5.2 Queue Management 1 ©«ª
olds: min ¦¨§ and max (Fig. 5). When the average queue
? 6 : 6 6 :
H H G
3 3
= < ; 8 ¬ 7 ; 4 8
One A goal of Internet QoS is to control packet loss. It is size is less that min , no packets are marked. This should
9
Q
3 3 3
4 2 8 T 8 4 A 7 8 = = 4 2 T 1
achie1 ved mainly through queue management. Packets get be the normal mode of operation. When the average queue
> >
6 6
3 3
3
=
0 A 8 ®¨¯ 2 2 4 ; 8 1
lost for two reasons: damaged in transit or dropped when size is greater that max , e1 very arriving packet is marked.
> > 6
G Q
3 3
7 < J 8 = = < 5
network congested [21]. Loss due to damage is rare ( ¢ This mode should occur only under congestion. When the
9
£¥¤
; = 4 = < 4 2 T 4 2 4
1 ²¨³ ), so packet loss is often a signal of network congestion. average queue size is between min °¨± and max , each ar-
@ 5
?
Q
; 4 ; ´¶µ¸·º¹¼»¶½ 2 4 4 =
1 0 1 È
riving packet is marked with a probability maxp¾ , Weighted Fair Queuing (WFQ) is variation of
3 3
4 = 4 2 T
¿ÁÀ 1 0 0 0
0 where is a function of the average queue size. This is weighted round robin scheduling, where the weights
3
< 4 = ; 4 A 4 < 2 < ;
0 1
the congestion a1 voidance phase. Packets get marked in are coupled with reserved link rates. It can provide
V
: E 6 > 9 6
R
3 3 3
; 2 A = 4 ; 0
proportion to the flo0 w’s link share. RED has two impor- end-to-end delay guarantee on a per-flow basis. But it
9 >
U
H G
3
; 4 = A = < ; 4 J A 1
tant properties: It a1 voids global synchronization of TCP by cannot provide separate delay and rate guarantee. A
V
6 6 E 9 9 6 : 9
3 3
J 4 7 4 J ; = 4
0 0
introducing randomness and it has no bias against b5 ursty resulting problem of this is that a low bandwidth flow
D
E >
G
3
2 4 8 4 =
o K 1
traffic. 0 will experience high delay. There are many variants of
9
Q
9 6
H G
3
= < <
0
J =
RIO [11] refines RED 0 with In/Out bits. The idea of WFQ, most of them can be compared with GPS (Gen-
>
9
3 3 3
2
0
4 = 4
RIO is to tag ; packets as being “In” or “Out” according to eralized Processor Sharing) [27], which is defined for
>
3 3
3 3
4 = 4 2 4 4
4 ; ;
their service ; profiles, and preferentially drop packets that a fluid model of traffic, and serves as a theoretic refer-
9 6
3
2
4 4 < =
are tagged as being “Out” if congestion occurs. RIO 5 uses ence model.
B B
3
= ; = ; 4 =
B
6 >
C =
two sets of parameters, one for In packets, and one for Out 4
É
>
G
; = 8 4 ;
; Earliest Deadline First (EDF) is a form of dynamic
6
; 4 4
packets. The probability of marking an In packet depends ;
B
3 3
= 4 2 T ;
1 0
 priority scheduling. Each packet is assigned a send-
6 > 6 >
3 3
= 4 4 4
1 on avg in, the average queue size for In packets, while the 0
>
Ã
; = 8 4 ; =
 ing deadline which is the sum of arrival time and de-
D
: F
3
A <
probability of marking an Out packet depends on avg total, 0
3 3
4 2 T 4 ; 1
 lay guarantee. Coupled with traffic shapers, EDF can
>
; 4 A
the average total queue size for all (both In and Out) pack- 1
2 ets. provide separate delay and rate guarantee.
Ê
5.3 Scheduling 6 Control Path Mechanisms
>
> 6 6 ?
H
3 3
< ;
0
< 4 A =
P4 acket delay control is an important goal of Internet QoS. In this section, we discuss the control path mechanisms in-
> E 9
3 3
4 ; ; < 4 < ; < 4
Packet delay has three parts: propagation, transmission, cluding admission control, policK y control, and bandwidth
9
> > 6 9 >
3
4 T A 2
and queuing delay. Propagation delay is gi1 ven by the dis- brokers.
@ÅÄ
:
3 3 3
4 = J
tance, the 8 medium and the speed of light, roughly 5 s/km.
> 9
3 3
; A 2 ;
The per-hop transmission delay is gi1 ven by the packet size
> 9 9 >
3 T
di1 vided by the link bandwidth. The queueing delay is 6.1 Admission Control
9
3 3 3
4 ; 4 T
0
>
3 4
the waiting time that a packet spends in a queue before <
> 9
> Admission control [23, 22] implements the decision algo-
3 3
>
3 3
4 = 4
0 0
it is transmitted. This delay is determined mainly by the rithm that a router or host 5 uses to determine whether a new
D
; 6 ?
K
3
< 4 4
scheduling policy. 0
: 6 6
> traffic stream can admitted without impacting QoS assur-
R
D
U
< 4
3
A 2 2 7 <
Besides delay control, link sharing is another important 4 :
9 ances granted earlier. As each traffic stream needs certain
G
9
A = 4 A = 4 <
= 7 J 4 J
goal of scheduling. The aggregate bandwidth of a link can 4
B >
9 amount of network resources (link bandwidth and router
B B B
9 > >
4 8 2 4 = A
3 3 be shared among multiple entities, such as different orga- 5
buffer space) for transferring data from source to destina-
6
; =
3 3 3
4 < < 7 J
nizations, multiple protocols (TCP, UDP), or multiple ser- 5
:
U tion, admission control is used to control the network re-
3
J = 2
1 1
3 3
A < < 4 vices (FTP, telnet, real-time streams). An overloaded link 4
9 source allocation. The goal is to correctly compute the ad-
>
4 < 4 <
0 0
3
8 J A 4 4 should be shared in a controlled way, while an idle link can 5
9 mission region, since an algorithm that unnecessarily de-
9
4 ;
5 K
3 3
4 < 2 4 1
be used in any proportion. nies access to flo0 ws that could have been successfully ad-
>
; A 4 A
1
4 4
5 0
Although providing delay guarantee and rate guarantee, mitted 0 will underutilize network resource; while an algo-
B
9
3 V
6 6
3 3
4 < 7
J 4 8
0 0
are crucial for scheduling, scheduling needs to be kept sim- rithm that incorrectly admits too manK y flows will induce
6 9
3
?
; 7 ; 4 ; 4 4 J 1
ple since it needs to be performed at packet arrival rates. QoS 1 violations.
B
9
G
= 2 4 4 =
3
4 4 <
For example, at OC-48 rates, a scheduler only has 100 ns There 4 are three basic approaches for admission control:
>
3 D
>
G
; ; 8 4 8
per packet to make a scheduling decision. deterministic, statistic, 4 and measurement-based. The first
9 9
9
3 3
< ; = 4 ; = 4
0
4 ; 2 = 0
Scheduling can be performed on a per-flow basis or a two 5 use a priori estimation, while the later one is based
9
3 3
3
; < =
< 8 = < ;
per-traffic-class basis. A combination of these two results = on the current measurement of some criteria parameters.
>
4 4 4 =
1
4 4 < 0
in a hierarchical scheduling. There are variety of schedul- The deterministic approach 5 uses a worst-case calculation
>
I
> ?
4 4
0 K 1
ing disciplines [18, 31]. 0 which disallows any QoS violation. It is acceptable for
D V D B V
9 6 6 6 9
3
5 5 0
smooth traffic flo0 ws, but it is inefficient for bursty flows
3
4 4
0 5
F 6
3 2
Æ First Come First Serve (FCFS) is the simplest schedul- and leads to a lower resource utilization. Both statistical
4 8 4 4 4 ;
0
>
; = < 0
K and measurement-based approach allow a small probabil-
6 ? E
ing policy. It has no flow or class differentiation, no 3
= = 4 2 4 J
1 1
> A delay = or rate guarantee. ity of occasional QoS violation to achieve a high resource
5 utilization.
; 4 T 2 1
Ç Priority scheduling provides a separate queue for each
6 6
R
< 4 8
; priority class. Basically, it is a multiple-queue FCFS
> E
3
; T 0 6.2 Policy Control
scheduling discipline with the higher priority queue
D
9 E >
H
3 3
A = 4
4 < A < K
being serv2 ed first. It has a coarse granularity class dif- Policy [28] specifies the regulation of access to network re-
B B
6 E > 9
R
7 = J A 4 = 4 2 <
ferentiation. But is has no delay or rate guarantee for sources and services based on administrati1 ve criteria. Poli-
< < 4 = 2
0 0 5 1 indi1 vidual flows. cies control which users, applications, or hosts should have
Ë 6
9
Ì R
Ë 4
Figure 6: PolicK y architecture Figure 7: Bandwidth broker
>
= 4 ; 2
K 0
3
4 J 4 4 <
5 0
access to 0 which resources and services and under what con- function of PDP and policy database, while edge routers
2 4
> >
= < 1
1 serve as PEPs.
6 6 9 9
ditions. Instead of configuring individual network devices, H
J 4 7 A
3
4 < 4 A
0 In its inter-domain role, a bandwidth broker negotiates 9
ISPs and corporate administrators would like to regulate >
4
0 5 0
3 3
; ;
0 1
the network through policK y infrastructure, which provide with its neighbor domains, sets up bilateral agreement with 3 3
2 = 4 4 < ;
9
3 3
4 4 2 1
0 each of them, and sends the appropriate configuration pa-
>
Ì
3
supports for allowing administrative intentions to be trans- 3
2
B D V
: 6 >
3 3
; =
0 rameters to the domain’s edge routers (Fig. 7). Bilateral
9 9
3 lated into differential packet treatment of traffic flows. 3
4 4 = <
Ë
> >
3
4 ; 4
K agreement means that a bandwidth broke only needs to co- ?
Figure 6 depicts a typical policy architecture. Each do- >
= 4 ;
0
B
8 8 < = = 8 ; 2 0
K ordinate with its adjacent domains. End-to-end QoS is pro-
9 9 3
main may contain one or more policy servers whose func- 3
< = 4
1
>
3 3
; 4 <
K vided by the concatenation of these bilateral agreements >
tion is to make policy and configuration decisions for net- 3
4 4
0
E
G
3
2 ; 2 4 4 ;
K K
0 work elements. The policy server has access to a policy across domains, together with adequate intra-domain re-
4
>
3
= 4 4 4
0 source allocation.
> 9 9
database (possibly through LDAP or SQL) as well as au- Q
4 4 ;
>
3
4 4 ; 2
K Within a domain, a bandwidth broker performs resource 3
thorization and accounting databases. Each policy entry 3
4 4 < < =
E
3 3
J = < <
4 allocation through admission control. The choice of the
specifies a rule of “if certain condition happens, then take 3
4 =
< 4 = 4 4
certain action”. A human network operator 0 working at a intra-domain algorithm is independent of the inter-domain
A
8 < 4 8 4 5
0 negotiation.
9 9 9
management console would use a GUI management appli- G
6 4 = 4
3 3 3
< ; 2 4 = K
0 The architecture of a bandwidth broker bears some sim-
6 6 R
cation which interfaces to the policy server through a set of H
3
< J 2
U U 0
G
3 3
4 = 4
0 5
PolicK y API (PAPI). This allows the operator to update and ilarity to current Internet routing, in which BGP4 serves
3
4 ; <
K
6 >
3
8 ; < ; K
K as the standard inter-domain router protocol, many choices B
monitor policy changes in the policy database. 6
3
4 4 4 J 4 <
1
; 2 < = 4 < ; < K K are available for intra-domain routing, and the concatena-
The policy server consists of a central policy controller 3
= ;
>
4 4 = ; ; 4
K tion of AS-to-AS (Autonomous Systems) forwarding pro- >
(CPC) and a set of policy decision points (PDP). PDP’s are >
2 2
1 1
>
3
4 4 4
responsible for determining 0 which actions are applicable to vides end-to-end data delivery.
F 9
3
; 2 A < K
0 which packets. The CPC is to ensure global consistency be-
> 9
G
3 3
8 2 4
O
Î tween decisions made by the PDP’s. The enforcement and Í
> 9
2 2 = ; 4 4 ; 2 K
execution of policK y actions are done by policy enforcement 7 Routing and QoS
3
; 4 < ;
points (PEP). PEP’s are typically colocated 0 with packet-
B
9 6
?
H
3 3
< 4 J
7 4 J 4 4 0
forward components, such as border routers. PDP’s inter- Up to no0 w, we address Internet routing and QoS as two
F
6 6
Ï
4
0 1 K
3 3
2 2 8 A
1 1
act with PEP’s via Common Open Policy Service (COPS) separate issues, Ho0 wever, there is evidence that merging
6 >
3 3
? 6 9
H
3
; <
0
J < J ;
[5]. PDP’s push configuration information down to the routing 0 with QoS can result in better performance. In this
3 3
9
3 3
4 4 T
0
2 4 < 2
1 0 1
PEP’s as well as respond to queries from the PEP’s. section, 0 we briefly review the efforts in this area, covering
I
3
< 4
traffic 2 engineering, constraint-based routing [36], and mul-
I
3 tiprotocol label switching (MPLS) [2].
6.3 Bandwidth Brokers
9 9
A bandwidth broker (BB) [26, 34] is 4 a logical resource 6
3 7.1 Traffic Engineering
2 4 J
8 management entity that allocates intra-domain resources
B
6 9 9 ? >
U U
3 3
4 4 4 ; 5
and arranges inter-domain agreements. A bandwidth bro- All QoS schemes try to pro1 vide differentiated services un-
> 9 > > 9
2 < < = A = 2 <
1 K
ker for each domain can be configured 0 with organizational der overload condition. They differ little from best-effort
B
6 : 6 :
H G
3 3 3 3
4 < = = 2 J 4 J 7
; policies. and controls the operations of edge routers. In the service if the load is light. There are two reasons for net-
9 9 >
3
= ; 4 = 2 = < 2
0 K 0 0 1 5 1 view of policy framework, a bandwidth broker includes the work overloading or congestion: usage demand exceeding
Ì 7
>
3
4 4 = 2 =
5 1 5
the a1 vailable network resource, or uneven distribution of
3 3 3
< < 2
traffic. In the first case, 0 we can either increase the network
9 ?
3
< =
capacity or limit 5 usage by QoS mechanisms. In the second
D
: > 9 E
G
< 4 8 J 2
case, load distrib5 ution and balancing may help. Traffic en-
D V
3 3
A 4 < <
gineering arranges traffic flo0 ws so that congestion caused
9 9
2 7 < 4 =
1 5 1 by 5 uneven network utilization can be avoided.
7.2 Constraint-based Routing
F 9 3
Current Internet routing is mainly based = on network topol-
3 3 3 3
?
= 2 ; 4
ogy. It tries to transfer each packet along the shortest 2
B F
> Figure 8: Server QoS
3 3 3
; path from the source to the destination. Constraint-based
9
3 3 3 2
routing is 4 an extension to the basic topology-based rout-
Ñ Ò O
6 9
H G
; = 8 < ing. It J routes packets based on multiple constraints. The
6 8 End Host Support for QoS
3
7 ; 7
< constrains include network topology (shortest path), net-
6 :
? >
J 4 4 4 4
0 1 1
4 =
work resource availability information (mainly link avail- 0
V All QoS mechanisms discussed so far are operate within
9 ?
? 9
4 J 4 ; <
0 K
2 1
able bandwidth), flow QoS requirements, and policy con- routers. Ho0 wever, network QoS by itself is not sufficient
F E 9
3
> ? ?
J < ;
1
3
2 2
straints. Constraint-based routing can help to provide bet- to deli1 ver end-to-end QoS. End host support for QoS, in-
3
?
; 4 2
1 5
2 4 4 4 4 ;
ter performance and improve network utilization. But it is < cluding server QoS and application adaptation, also play
6
< < J
much more complex, may consume more network resource 4 an important role.
3 ; 4 and may lead to potential routing instability.
8.1 Server QoS
3
2 = 2 2 < 1
7.3 MPLS Empirical e1 vidence suggests that overloaded servers can
E 6
3
2 = ; 2 J
5 1
ha1 ve significant impact on user perceived response time.
B
?
U
Ð H Ð
> 9
3
= 4 4 2 2
1 1
2 <
MPLS offers an alternative to IP-level QOS. An MPLS Furthermore, FIFO scheduling done by servers can 5 un-
E E 6 9 :
> ? 9
3 3
; 4
4 2 1
packet has a header that is sandwiched between the link dermine anK y QoS improvements made by network since
: E : E
G Ð
9 6 > E
3
4 7
4 2 < ; 7
layer header and the network layer header. The MPLS a b5 usy server can indiscriminately drop high priority net-
E :
?
3
< 4 4 < =
; 4 2
header contains a 20-bit label, a three-bit class of service 0 work packets. There is an increasing need for server QoS
3
3 3
4 4 4 2
8 ; = 2 ; 4 2 1
(COS) field, a three-bit label stack indicator, and an eight- mechanisms to pro1 vide overload protection and to enable
9
Q
B
>
3 3
3
2 4 ; 2 4
bit time to li1 ve (TTL) field. When a packet enters an MPLS tiered (or differentiated) service support.
>
?
3
3
4 4
0
A 2 4 2 2
domain, it is assigned an MPLS label which specifies the Figure 8 gi1 ves a simple scheme to enable server QoS
>
6 6
3 3 3 3
H
3 3
; ;
0
4 J 8
path the packet is to take while inside the MPLS domain. [3]. In this scheme, a request manager is 5 used to inter-
6 >
G Ð Ð
3 3
H
3 3
= 2
4 J < J 4 ;
Throughout the interior of the MPLS domain, each MPLS < cept all requests. It classifies the requests and places the
6 9
3 3 3
3 3
J ; =
T = 2 2
router switches the packet to the outgoing interface based requests in the 4 appropriate queue. To ensure that server is
3 3 3
9
= = ; A
= 2 4 < 5
only on its MPLS label. At the same time, the packet gets not o1 verloaded, admission control is used by request man-
: F
G
9
3 3
8 4 7 ;
0 0
< 4 4 < <
marked with a new label prior to transmission. The COS 4 ager. Request classification and admission control can be
9
3 3 3
3
< < T = =
5
= 4 4 = ; 4 ;
field is used to choose the correct service queue on the out- based on a 1 variety of policies. After the requests are put
>
>
3 3 3 3
3
A 2 A
4 T 4 ;
going interface. At the egress to the MPLS domain, the = on the appropriate queue, a scheduling process determines
3
9
3 3 3
2 4 ; =
1 0
= 4 2 4
MPLS header is removed and the packet is sent on its way the order in 0 which the requests are to be served, and feeds
3 3 3 3 3
5
J 2
using normal IP routing. the < chosen requests to the server. Similar to the scheduling
B
6 > 9
7 J ; < 4
MPLS is 4 a label-based message forwarding mechanism. in network routers, different policies can be adopted, such
>
: 6
R
4 ; T = 2
0
< 2 J 4
5 o 0
By 5 using labels, it can set up explicit routes within an as strict priority, weighted fair queuing, or earliest deadline
D
>
; <
MPLS domain. A ; packet’s forwarding path is completely first.
> 9
; < 4
determined by its MPLS label. If 4 a packet crosses all MPLS
> 9
4 2 2 ; < 2
o
Ó Ó
domains, an end-to-end explicit path can be established Ô
3
4 2 4 4 4 2
for the ; packet. Label also serves as a faster and efficient 8.2 Application Adaptation
B B
8 ; < 4
3 3 =
method for packet classification and forwarding. Instead of indicating requirements to the network 1 via re-
:
Ð
3
4 4 J 8 7 ;
4 8 4 < 4
MPLS also also to route multiple network layer proto- source J reservation mechanisms, applications can adapt
9
3
> :
< 4 < 4 4 2
0 5
3 3 3
J < ; 4 4 4
cols within the same network and can be used as an efficient their rate to the changing delays, packet loss and a1 vailable
3 3 3
9 6
2 3
tunneling mechanism to implement traffic engineering. bandwidth in the 7 network.
B
9 > >
3 3 3
= 2 8 ; < 4 4
0 0
For eo xample, the switching tables must be pushed down Playout delay compensation allow applications to func-
> >
3 3 3 3 3 3
4 < < 4 = 2 2 2 4
0 1 1
to the MPLS routers from a central controller, similar to a tion 0 with the lowest overall delay even as the network delay
B B
F 9 9 6
U
3 3
; 2 < T < < ; 4 T 4 ;
5 1
policK y server. Configuring these tables can be quite com- changes. A playout buffer is a queue for arriving packets
3 3
; ; 2 4 ; < 2 4 4
1 1 plex, 0 which leads to scalability problems. emptied at the playback rate. It converts a variable-delay
8
> 9
S S
3
; 4 2 4 A 4 5
packet network into a fixed delay, and it has to be large [2] D. A0 wduche, J. Malcolm, J. Agogbua, M. O’Dell, and
>
S
3 3 3
< 2
2 enough to compensate for the delay jitter. J. McManus. Requirements for traffic engineering
F
: E 9
3
= 2
1
= 4 2 2 2
1 o
For loss adaptation, se1 veral techniques have been ex- over MPLS. Request for Comments (Informational)
H G
3
4 =
; 4 4
plored, such as redundant transmission, interlea1 ving, and 2702, Internet Engineering Task Force, September
B <
forward 2 error correction. 1999.
>
3
= = 4
Bandwidth 4 adaptation depends on the media. For audio, Q
4 2 2
3
4 < < 4 < 4 1 0 [3] Nina Bhatti and Rich Friedrich. Web server sup-
applications can change the audio codec, while video ap- B
×
3
B
6
;
3
< 4 J 4 T ; plications can adjust the frame rate, image size and quality. port for tiered services. IEEE Network, 13(5):64–71,
September/October 1999.
F
R C R Ð C Ø Q
4 1
Õ [4] S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang,
B B
>
U
Q Q
2 4
9 Conclusions 4 and W. Weiss. An architecture for differentiated ser-
B
F
1 vice. Request for Comments (Informational) 2475,
Q
3 3
H G C
2 2 2 ; < = <
1 K =
We have surveyed the principal components of the current Internet Engineering T4 ask Force, December 1998.
B
? 6
H
4 J
Internet QoS 4 architecture. Scalability is a fundamental re-
B
? 6 6
H H
3
F
S R C C Ï
T 4 4
quirement for anK y Internet QoS scheme. It is an issue that [5] J. Boyle, R. Cohen, D. Durham, S. Herzog, R. Ra-
V
6 9 > 6
F
U
G
; 4 < ;
0
4 = ;
impacts both data path and control path, including flow jan, and A. Sastry. The COPS (common open policK y
>
F
4 T 8 7 < 4 1
and queue management, network device configuration, ac- service) ; protocol. Request for Comments (Proposed
9
< 4 4 8 4 ;
K =
counting and billing, authorization, monitoring, and policy Standard) 2748, Internet Engineering T4 ask Force,
3
S
A = <
2 enforcement. Aggregation is one common solution to scal- January 2000.
9
3
; < 4 ; = A
ing problems, b5 ut it comes at the price of looser guarantees
F F
S
4 < 4 < 1
and coarser monitoring and control. [6] B. Braden, D. Clark, J. Cro0 wcroft, B. Davie, S. Deer-
B B
>
R
Ù S
= < ;
By separating of control policK y from data forwarding ing, D. Estrin, S. Floyd, V. Jacobson, G. Min-
F
< 2 4 = 2
0 1 1
mechanisms, we can have a set of relative stable mecha- shall, C. P4 artridge, L. Peterson, K. Ramakrishnan,
? 9 9
U
H
S Q
3 3
7 = = <
0 5 4
nisms on top of which Internet QoS can be built. At the S. Shenker, J. Wrocla0 wski, and L. Zhang. Recom-
3
< 2 4 = 4 4 < ;
0 K
= T 8 4 <
same time, we can easily adjust or add any control pol- 8 mendations on queue management and congestion
F
3
2 4 =
K 0 1 0
4 =
icy whenever needed with a simple re-configuration or re- a1 voidance in the internet. Request for Comments (In-
B
H G
3
;
K =
mapping from policy to mechanisms. All supporting mech- formational) 2309, Internet Engineering T4 ask Force,
9
U
4 <
anisms can be kept 5 unchanged. April 1998.
>
H
3
< 8 4 2
Since the Internet comprises multiple administrati1 ve do-
F
? ? 9 > R C H
4 A <
mains, inter-domain QoS 4 and intra-domain QoS can be de- [7] R. Braden, D. Clark, and S. Shenker. Integrated ser-
6 6
9
3
3
4 4 = 2
1 1 0
2 ;
signed separately. At the inter-domain le1 vel, pure bilateral vices in the internet architecture: an overview. Re-
B
F
H
9
Q
3
T
4 = 4 A 2
agreement based on traffic aggregate is 5 used. Within each quest for Comments (Informational) 1633, Internet
S
> > 9
4 =
4 = < < 4
domain, 1 variety of different choices can be adopted. The Engineering Task Force, June 1994.
B
> >
= ;
< concatenation of domain-to-domain data forwarding pro-
? >
R Ø R Ï
2 2 4 1
1 vides end-to-end QoS delivery. [8] R. Braden, Ed., L. Zhang, S. Berson, S. Herzog, and
S
6 E 9
U
3 4 ; 8
Although important technical ; progress has been made, S. Jamin. Resource ReSerVation protocol (RSVP) –
F
9 > 9 ?
3
2
1 0
much 0 work needs to be done before QoS mechanisms will version 1 functional specification. Request for Com-
9 > 9
3
A ; 4 4
be 0 widely deployed. In general, pricing and billing are the ments (Proposed Standard) 2205, Internet Engineer-
6 9
3 3
4 =
7 J 2 4
; primary issues that need to be resolved. Once services are ing Task Force, September 1997.
9 9
3 3 3
< 4
billed for, customers 0 will need to be able to monitor that
6
3
4 2
1 8
the ; purchased service is meeting specifications. [9] Lee Breslau and Scott Shenker. Best-effort ver-
9 9
Q
4 < 2 4
1
3
4 2 4 2
1 5
While adapti1 ve applications have been built to respond sus reservations: A simple comparative analysis.
Ú Û
3
; A 4
to < changes in network performance, integrating a mecha- ACM Computer Communication Review, 28(4):3–16,
3 3 3
4 ; < = 2 4 4 K
nism to adapt to price changes o1 ver time adds yet another September 1998.
> >
dimension. F C C G
3
; =
1
3 3
0 [10] David D. Clark. The design philosophy of the Ü
Incorporating wireless transmission into the Internet Ü
;
? 6 :
4 4 8
4 DARPA internet protocols. In SIGCOMM Sympo-
à Þ
adds additional QoS issues, such as mobile setup, limited â
9 Ý ß á Â Ý
4 = 2
1 sium on Communications Architectures and Proto- F
bandwidth, and hand over. U ;
ß cols, pages 106–114, Stanford, California, August
F 6
U ã
1988. ACM. 4 also in Computer Communication Re-
U
Ú Û
Î view 18 (4), Aug. 1988.
ReferÖ ences
F
C C Q
4 2 4 4
[11] Da1 vid D. Clark and Wenjia Fang. Explicit alloca-
9 >
3 3
= ; = ; 2 1
[1] P. Almquist. TK ype of service in the internet proto- tion of best-effort packet delivery service. IEEE/ACM
B Ë
F
U
×
< Ý
col suite. Request for Comments (Proposed Standard) Tr ansactions on Networking, 6(4):362–373, August
S = 1349, Internet Engineering T4 ask Force, July 1992. 1998.
ä 9
F
Q
4 4
[12] Da1 vid D. Clark, Scott Shenker, and Lixia Zhang. Sup- [23] Edward W. Knightly and Ness B. Shroff. Admission
4 4 A < T 4 ;
; porting real-time applications in an integrated ser- control for statistical qos: Theory and practice. IEEE
×
; 4 4
1 vices packet network: architecture and mechanism. Network, 13(2):20–29, March/April 1999.
Ü Ü Þ
H
Ý S
In SIGCOMM Symposium on Communications Ar- S
à
R
â
4
;
á Â Ý
ß [24] Martin May, Jean Bolot, Alain Jean-Marie, and >
chitectures and Protocols, pages 14–26, Baltimore, F
F
U U
; =
Ð Maryland, August 1992. ACM. Computer Commu- Christophe Diot. Simple performance models of dif-
3
Ù
ã
Ý
=
Ú Û
å nication Review, Volume 22, Number 4. ferentiated services schemes for the internet. In Pro-
Ã
Ý á Ý
ß ceedings of the Conference on Computer Communi-
ë
F
C =
0
ß
4 4
[13] Constantinos Do1 vrolis and Parameswaran Ra- cations (IEEE Infocom), New York, March 1999.
>
< 2
1
manathan. A case for relative differentiated services 4
B
>
3
; 8
4 [25] K. Nichols, S. Blake, F. Baker, and D. Black. Defi-
> 3
and the proportional differentiation model. IEEE =
× nition of the differentiated services field (DS field) in
B
E F
H H 3
Network, 13(5):26–34, September/October 1999. 4
the IPv4 and IPv6 headers. Request for Comments
H G
4
F 4
1 (Proposed Standard) 2474, Internet Engineering Task
C
[14] Constantinos Dovrolis, Dimitrios Stiliadis, and =
B
>
P4 arameswaran Ramanathan. Proportional differen- Force, December 1998.
>
3
4 ;
>
Ù S 3
tiated services: Delay differentiation and packet 4 Û
Ú [26] K. Nichols, V. Jacobson, and L. Zhang. A two-bit dif- 3
scheduling. ACM Computer Communication Review, 4
ferentiated services architecture for the internet. Re-
B
F H
29(4):109–120, October 1999. T quest for Comments (Informational) 2638, Internet
G S
4 =
Ü
A 4
Ý Engineering Task Force, July 1999.
[15] P. Ferguson and G. Huston. Quality of Service: Deliv-
×
à Ã
Ü
á Â Â
4 Ý
ering QoS in the Internet and the Corporate Network. Â
6 F
R æ
Q [27] Abhay Parekh. A Generalized Processor Sharing Ap-
= à
K 0 Ü
ì ×
Ã
Ý Ý í Â
Wiley Computer Books, New York, NY, 1998. ê proach to Flow Control in Integrated Services Net-
3
4
Û
> S
Ù works. PhD thesis, Laboratory for Information and
4 4 2 C Ð H G 2
[16] Sally Floyd and Van Jacobson. Random early detec- Decision Systems, Massachusetts Institute = of Tech-
3
F
A < 4 = Ð
0 1
tion gateways for congestion avoidance. IEEE/ACM 7 U
× nology, Cambridge, Mass., February 1992. Ý
Tr ansactions on Networking, 1(4):397–413, August Ù
1993. [28] Raju Rajan, Dinesh V2 erma, Sanjay Kamat, Eyal Fel-
B B
U
Ï
4 ; 0
staine, and Shai Herzog. A policK y framework for
B
F 6 > 6 6
H ç
3
4 2 2 A 4
[17] Ian F= oster and C. Kesselman, editors. The Grid: integrated and differentiated services in the inter-
é
Ð
è × ×
7
Û Â á
Blueprint for  a New Computing Infrastructure. Mor- net. IEEE Network, 13(5):36–41, September/October
F
ç
A gan Kaufmann Publishers, San Francisco, California, 1999.
F
1998. 4
[29] S. Shenker, C. P4 artridge, and R. Guerin. Specification
B
F
? 6 = A T =
Ù ;
4 of guaranteed quality of service. Request for Com-
[18] R. Guerin and V. Peris. Quality-of-service in packet H
> 8
R
8 4
7 ments (Proposed Standard) 2212, Internet Engineer-
6
networks: Basic mechanisms and directions. Com- G
× 4 =
ê puter Networks, 31(3):169–189, February 1999. ing Task Force, September 1997.
S Q
4 <
0
S Ï R Q Q S Q
2 4
0 [30] S. Shenker and J. Wroclawski. General characteri-
B
6
; A 7 2
[19] J. Heinanen, F. Baker, W. Weiss, and J. Wroclawski. F
A zation parameters for integrated service network ele-
B
F
Assured forwarding PHB group. Request for Com- 8
ments. Request for Comments (Proposed Standard) =
ments (Proposed Standard) 2597, Internet Engineer- 4
S = ing T4 ask Force, June 1999. 2215, Internet Engineering Task Force, September
1997.
Ù S
4 2 F
[20] V. Jacobson, K. Nichols, and K. Poduri. An ex- 4 F
; [31] Ion Stoica, Scott Shenker, and Hui Zhang. Core-
B B
U
T 4 pedited forwarding PHB. Request for Comments 1
4 stateless fair queueing: Achieving approximately fair
9 6 E
Þ 7
(Proposed Standard) 2598, Internet Engineering Task 4
S
= bandwidth allocations in high speed networks. ACM Û
Force, June 1999. Computer Communication ReÚ view, 28(4):118–130,
F
Ù S
4 4 = 4 < 1 September 1998.
[21] Van Jacobson. Congestion avoidance and control.
Þ
ã
H Ï Ø
Ú Û
4 A
ACM Computer Communication Review, 18(4):314– 1 U
[32] Ion Stoica and Hui Zhang. Providing guaranteed ser-
3
V
=
Þ
; 8
0 0
329, August 1988. Proceedings of the Sigcomm ’88 1
6 F
U vice without per flow management. ACM Computer
ã Û
Symposium in Stanford, CA, August, 1988. Communication ReÚ view, 29(4):81–94, October 1999.
S R C S R G Ï C 2
[22] Sugih Jamin, Peter B. Danzig, Scott J. Shenker, 4 and [33] Benjamin Teitelbaum, Susan Hares, Larry Dunn, Ro-
9 6
U
Ø Ù
4 < 4
Lixia Zhang. A 8 measurement-based admission con- betr Neilson, Raytheon Vishy Narayan, and Francis
3 3
4 A ; T 4
trol algorithm for integrated services packet networks. ReichmeK yer. Internet2 qbone: Building a testbed for
@ B
>
× × Ý IEEE/ACM Tr ansactions on Networking, 5(1):56–70, differentiated services. IEEE Network, 13(5):8–16, February 1997. September/October 1999.
10
Q S
3
2 4 4
[34] A. Terzis, L. Wang, J. Oga0 wa, and L. Zhang. A two- 3
3 tier resource management model for the internet. In Ý
PrÝ oceedings of Global Internet, December 1999.
S Q
3
= <
[35] J. Wrocla0 wski. Specification of the controlled-load
B
F
2
7 network element service. Request for Comments
H G (Proposed Standard) 2211, Internet Engineering T4 ask
F= orce, September 1997.
T
[36] Xipeng Xiao 4 and Lionel M. Ni. Internet qos: A
9 × big ; picture. IEEE Network, 13(2):8–18, March/April 1999.
11