1 of 48

24.1

Chapter 24

Congestion Control and

Quality of Service

2 of 48

24.2

24-1 DATA TRAFFIC

The main focus of congestion control and quality of service is data traffic. In congestion control we try to avoid traffic congestion. In quality of service, we try to create an appropriate environment for the traffic. So, before talking about congestion control and quality of service, we discuss the data traffic itself.

Traffic Descriptor�Traffic Profiles

Topics discussed in this section:

3 of 48

24.3

Figure 24.1 Traffic descriptors

4 of 48

24.4

Figure 24.2 Three traffic profiles

5 of 48

24.5

24-2 CONGESTION

Congestion in a network may occur if the load on the network—the number of packets sent to the network—is greater than the capacity of the network—the number of packets a network can handle. Congestion control refers to the mechanisms and techniques to control the congestion and keep the load below the capacity.

Network Performance

Topics discussed in this section:

6 of 48

24.6

Figure 24.3 Queues in a router

7 of 48

24.7

Figure Packet delay and throughput as functions of load

8 of 48

24.8

24-3 CONGESTION CONTROL

Congestion control refers to techniques and mechanisms that can either prevent congestion, before it happens, or remove congestion, after it has happened. In general, we can divide congestion control mechanisms into two broad categories: open-loop congestion control (prevention) and closed-loop congestion control (removal).

Open-Loop Congestion Control�Closed-Loop Congestion Control

Topics discussed in this section:

9 of 48

24.9

Figure 24.5 Congestion control categories

10 of 48

24.10

Figure 24.6 Backpressure method for alleviating congestion

11 of 48

24.11

Figure 24.7 Choke packet

12 of 48

24.12

24-4 TWO EXAMPLES

To better understand the concept of congestion control, let us give two examples: one in TCP and the other in Frame Relay.

Congestion Control in TCP�Congestion Control in Frame Relay

Topics discussed in this section:

13 of 48

24.13

Figure 24.8 Slow start, exponential increase

14 of 48

24.14

In the slow-start algorithm, the size of the congestion window increases exponentially until it reaches a threshold.

Note

15 of 48

24.15

Figure 24.9 Congestion avoidance, additive increase

16 of 48

24.16

In the congestion avoidance algorithm, the size of the congestion window increases additively until �congestion is detected.

Note

17 of 48

24.17

An implementation reacts to congestion detection in one of the following ways:

If detection is by time-out, a new slow� start phase starts.

If detection is by three ACKs, a new� congestion avoidance phase starts.

Note

18 of 48

24.18

Figure 24.10 TCP congestion policy summary

19 of 48

24.19

Figure 24.11 Congestion example

20 of 48

24.20

Figure 24.12 BECN

21 of 48

24.21

Figure 24.13 FECN

22 of 48

24.22

Figure 24.14 Four cases of congestion

23 of 48

24.23

24-5 QUALITY OF SERVICE

Quality of service (QoS) is an internetworking issue that has been discussed more than defined. We can informally define quality of service as something a flow seeks to attain.

Flow Characteristics�Flow Classes

Topics discussed in this section:

24 of 48

24.24

Figure 24.15 Flow characteristics

25 of 48

24.25

24-6 TECHNIQUES TO IMPROVE QoS

In Section 24.5 we tried to define QoS in terms of its characteristics. In this section, we discuss some techniques that can be used to improve the quality of service. We briefly discuss four common methods: scheduling, traffic shaping, admission control, and resource reservation.

Scheduling�Traffic Shaping�Resource Reservation

Admission Control

Topics discussed in this section:

26 of 48

24.26

Figure 24.16 FIFO queue

27 of 48

24.27

Figure 24.17 Priority queuing

28 of 48

24.28

Figure 24.18 Weighted fair queuing

29 of 48

24.29

Figure 24.19 Leaky bucket

30 of 48

24.30

Figure 24.20 Leaky bucket implementation

31 of 48

24.31

A leaky bucket algorithm shapes bursty traffic into fixed-rate traffic by averaging the data rate. It may drop the packets if the bucket is full.

Note

32 of 48

24.32

The token bucket allows bursty traffic at a regulated maximum rate.

Note

33 of 48

24.33

Figure 24.21 Token bucket

34 of 48

24.34

24-7 INTEGRATED SERVICES

Two models have been designed to provide quality of service in the Internet: Integrated Services and Differentiated Services. We discuss the first model here.

Signaling�Flow Specification�Admission

Service Classes

RSVP

Problems with Integrated Services

Topics discussed in this section:

35 of 48

24.35

Integrated Services is a flow-based QoS model designed for IP.

Note

36 of 48

24.36

Figure 24.22 Path messages

37 of 48

24.37

Figure 24.23 Resv messages

38 of 48

24.38

Figure 24.24 Reservation merging

39 of 48

24.39

Figure 24.25 Reservation styles

40 of 48

24.40

24-8 DIFFERENTIATED SERVICES

Differentiated Services (DS or Diffserv) was introduced by the IETF (Internet Engineering Task Force) to handle the shortcomings of Integrated Services.

DS Field

Topics discussed in this section:

41 of 48

24.41

Differentiated Services is a class-based QoS model designed for IP.

Note

42 of 48

24.42

Figure 24.26 DS field

43 of 48

24.43

Figure 24.27 Traffic conditioner

44 of 48

24.44

24-9 QoS IN SWITCHED NETWORKS

Let us now discuss QoS as used in two switched networks: Frame Relay and ATM. These two networks are virtual-circuit networks that need a signaling protocol such as RSVP.

QoS in Frame Relay�QoS in ATM

Topics discussed in this section:

45 of 48

24.45

Figure 24.28 Relationship between traffic control attributes

46 of 48

24.46

Figure 24.29 User rate in relation to Bc and Bc + Be

47 of 48

24.47

Figure 24.30 Service classes

48 of 48

24.48

Figure 24.31 Relationship of service classes to the total capacity of the network