Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DQOS Exam Certification Guide - Cisco press.pdf
Скачиваний:
69
Добавлен:
24.05.2014
Размер:
12.7 Mб
Скачать

The Differentiated Services QoS Model 119

The terms in this figure only apply in cases where multiple organizations’ networks are interconnected. The entire figure comprises one DS region, which includes connected networks that are providing differentiated services. Each individual network, typically an autonomous system, is a single DiffServ domain.

The remaining terms in the figure relate to the particular direction of flow of the packets. In this figure, packets flow left to right. Therefore, R1 is a DS ingress boundary node, because it is on the boundary between two domains, and packets in the flows shown first enter the DS domain through R1. Similarly, R2 is a DS egress boundary node. R3 is a DS interior node, because it is not on the boundary of the network. Ingress and egress DS boundary nodes typically perform reclassification and re-marking work.

DiffServ formalizes the same general goals and concepts described in the GOCS section earlier in this chapter, but it goes beyond those basic concepts. The next two sections examine two additional important aspects of DiffServ more closely, namely the DSCP field and the different types of PHBs. As described so far, DiffServ operation can be summarized as follows:

1Good planning must be performed to define the BAs needed for a network.

2To mark packets to signify what BA they belong to, DiffServ suggests using MF classifiers, which can look at all fields in the packet header.

3The classifier should be used near the ingress point of the network to assign unique DSCP values to packets inside each BA.

4After marking has occurred, interior DS nodes use BA classifiers. BA classifiers only look at the DSCP field. When the BA is identified, that node’s PHBs can take action on that packet.

5The ingress DS boundary node in a neighboring downstream DS domain network may not trust the neighboring upstream DS domain at all, requiring an MF classifier and marker at the DS ingress boundary node to reclassify and re-mark all traffic.

6If the ingress DS boundary node trusts the neighboring DS domain, but the domains use different DSCP values for the same BA, a BA classifier function can be used to reclassify and re-mark the ingress traffic.

DiffServ Per-Hop Behaviors

Other than the general QoS strategies described in this chapter, DiffServ really provides two additional key features: the DSCP field, and some good suggestions on how to use the DSCP field. In fact, two of the DiffServ RFCs, 2597 and 2598, are devoted to describing a set of DSCP values, and some suggested PHBs that should be associated with each DSCP value.

IP defined a type of service (ToS) byte in RFC 791, which came out in September 1981. The IP protocol creators intended the ToS byte to be used as a field to mark a packet for treatment with QoS tools. Inside the ToS byte, the first 3 bits were defined as a field called IP Precedence,

120 Chapter 2: QoS Tools and Architectures

which can be marked for the purposes of implying a particular class of service. The Precedence field values imply that the larger the value, the more important the traffic. In fact, names were given to each value 0 from routine (precedence 0) to critical (precedence 5) and network control (precedence 7). The complete list of values from the ToS byte’s original IP Precedence 3-bit field, and the corresponding names, are listed in Table 2-13.

Table 2-13 IP Precedence Values and Names

Field and Value

Binary

 

(Decimal)

Value

Name

 

 

 

Precedence 0

000

Routine

 

 

 

Precedence 1

001

Priority

 

 

 

Precedence 2

010

Immediate

 

 

 

Precedence 3

011

Flash

 

 

 

Precedence 4

100

Flash Override

 

 

 

Precedence 5

101

Critic/ECP

 

 

 

Precedence 6

110

Internetwork Control

 

 

 

Precedence 7

111

Network Control

 

 

 

In additon to the Precedence field, the ToS byte included other flag fields that were toggled on or off to imply a particular QoS service—for instance, low or high delay would be signaled by a 1 or a 0 in the delay bit. Bits 4 through 6 (RFC 795) comprised the ToS field inside the ToS byte, with flags for throughput, delay, and reliability. RFC 1349 expanded the ToS field to bits 4 through 7, adding a cost flag. For instance, the original ToS byte creators envisioned the ability to choose a different route, using a more reliable link, for packets with the reliability flag set.

The DS field redefines the ToS byte in the IP header. It removes the definition of the 4 ToS bits (bits 3 through 6). DiffServ creates a replacement for the Precedence field with a new 6-bit field called the Differentiated Services (DS) field. (The last 2 bits of the ToS bytes are used by another specification in RFC 3168.) Figure 2-16 shows the fields inside the ToS byte (per RFC 1349) and the DS field (per RFC 2474).

Changing a protocol that is used in production may result in compatibility issues. If the protocol has available unused fields in the header, and those can be added to the protocol specifications, then all is well. When changing the meaning of an already defined field, however, problems can occur. In this case, DiffServ took advantage of the fact that the ToS field (not ToS byte, but just bits 3 through 6 of the ToS byte) were seldom used. Therefore, DiffServ only had to build compatibility with the Precedence field.

The Differentiated Services QoS Model 121

Figure 2-16 IP ToS Byte and DS Field

0-2

3-6

7

IP

TOS Field

Unused

Precedence

 

 

 

 

 

IP Header,

 

TOS Byte

 

Before DiffServ

 

 

 

IP Header, After

 

 

 

 

 

 

 

DS Field

 

DiffServ

 

 

 

 

 

 

DSCP

Unused

 

 

0-5

6-7

The Class Selector PHB and DSCP Values

RFC 2475, which defines DiffServ, became an RFC in December 1998. Even today, some QoS features in IOS do not support DiffServ! Some QoS features will never support DiffServ, because newer, better tools that can do the same thing may have been introduced. All tools that support Cisco’s strategic direction for QoS configuration, using the Modular QoS commandline interface (MQC), support DSCP. However, depending on the tools you need to use, and the IOS revisions you use in your network, you may not be able to use only tools that support DiffServ.

So how does the lack of DiffServ support affect a network based on the DiffServ model? With a well-chosen binary value in the DSCP field, PHBs performed by QoS tools can react to the whole DSCP, or just the first 3 bits, with good effect. Consider Figure 2-17. The DSCP values are marked near the edge. R1 performs PHBs based on the DSCP value, and R2 performs PHBs based on what it thinks is IP precedence, but is really just the first 3 bits of the DSCP.

122 Chapter 2: QoS Tools and Architectures

Figure 2-17 Supporting IP Precedence in a DiffServ Domain

Mark

 

 

Classify

X

Classify

Y

Z

-DS Classifier recognizes BAs by a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-Classify Based on

detailed examination of packet headers

-Classify Based on DSCP

Precedence

- Use DSCPs that provide backwards

-Apply QoS tools based

-Apply QoS tools based on BA

compatibility with IP Precedence

on BA for each DSCP

for each Precedence value

 

Classify

-Classify Based on Precedence

-Apply QoS tools based

on BA for each Precedence

Server 1

IP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IP

Hannah

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FA0

SW1

R1

s0

s0

R2

s1

T1

s0

R3

SW2

201

301

DSCP = CS1: Behavior Aggregate of Flows to Web Server

DSCP = CS2: Behavior Aggregate of Flows to Server1 FTP Server

DSCP = CS3: Behavior Aggregate of Lots of VoIP Payload Flows

DSCP = CS4: Behavior Aggregate of VoIP Signaling Traffic

The figure lists text telling us that R1 only reacts to DSCP, R2 only reacts to precedence, and R3 has tools that react to both. A QoS tool without DS support may just look at precedence, whereas other QoS tools can look at the DSCP field. The DSCP values marked in this figure were designed to provide backwards-compatability with the IP Precedence field. Table 2-14 lists the DSCP values specifically designed for backwards-compatability. (Note: DiffServ calls DSCP values used for backwards-compatibility with IP Precedence “class selectors.”)

 

 

 

The Differentiated Services QoS Model 123

 

 

 

 

Table 2-14 Default and Class Selector DSCP Values

 

 

 

 

 

Name of DSCP

 

 

 

Class Selector

Binary

 

 

Values Used by

Values of

Equivalent Precedence

 

IOS

DSCP

Value (Decimal)

 

 

 

 

 

Default

000000

0

 

 

 

 

 

CS1

001000

1

 

 

 

 

 

CS2

010000

2

 

 

 

 

 

CS3

011000

3

 

 

 

 

 

CS4

100000

4

 

 

 

 

 

CS5

101000

5

 

 

 

 

 

CS6

110000

6

 

 

 

 

 

CS7

111000

7

 

 

 

 

The names of the code points in Table 2-14 match parameters found on IOS DiffServ-compliant classification commands. Because an “all-zeros” DSCP called “default” was already defined, there was no need to create a CS0 DSCP name.

The class selector PHB and DSCP values defined by DiffServ are listed in Table 2-14. These DSCP values provide backward compatibility with precedence. By examining the first 3 bits in each binary DSCP value in the table, you can see that these 8 DSCP values match the 8 different values that can be encoded in the 3-bit Precedence field. Any router looking instead for the Precedence field will just find the first 3 bits of the DSCP field. And just like with IP precedence, the CS DSCP values all imply that the bigger the binary number, the better the PHB.

Although DiffServ supplies the eight CS DSCP values for backward compatibility with IP precedence, many DSCP values actually provide backward compatibility. For instance, DSCP values decimal 8 through 15 all begin with the binary string 001 in the 6-bit DSCP field, making each of these 8 DSCP values compatible with IP precedence 1 (binary 001). In fact, there are 8 DSCP values that provide backward compatibility with every IP precedence value. Table 2-15 lists the values.

Table 2-15 Range of DSCP Values Compatible with IP Precedence

Range of DSCP

Binary

Compatible with These

Values, in Decimal

Value

IP Precedence Values

 

 

 

0–7

000xxx

0

 

 

 

8–15

001xxx

1

 

 

 

16–23

010xxx

2

 

 

 

continues

124 Chapter 2: QoS Tools and Architectures

Table 2-15 Range of DSCP Values Compatible with IP Precedence (Continued)

Range of DSCP

Binary

Compatible with These

Values, in Decimal

Value

IP Precedence Values

 

 

 

24–31

011xxx

3

 

 

 

32–39

100xxx

4

 

 

 

40–47

101xxx

5

 

 

 

48–55

110xxx

6

 

 

 

56–63

111xxx

7

 

 

 

As you will read in the upcoming sections, the DSCP values suggested for use by DiffServ include the consideration of making the values meaningful to devices that do not understand DSCP, but only understand IP precedence.

NOTE It is important to distinguish between what the values of the precedence and DSCP fields can mean and what they should mean if following suggested QoS design practices. IP precedence value 0 should imply the lowest QoS service possible, with precedence 7 implying the best QoS service. The class selector PHB values follow that same logic. However, most QoS tools can be configured to do just the opposite—for instance, giving precedence 0 traffic the best service, and precedence 7 the worst. Conversely, some other QoS tools are not as flexible and assume a bigger precedence is better. For instance, Weighted Fair Queuing (WFQ) always gives more queuing preference to higher-precedence value flows, all other facts being equal.

NOTE

As seen later with the assured forwarding (AF) PHB and DSCP values, the actual binary values

 

for DSCP do not conform to the “bigger-is-better” logic for the actual values.

 

 

DiffServ suggests two other sets of PHBs and DSCP values besides the class selector values, namely assured forwarding (AF) and expedited forwarding (EF). Can you just decide to make up random 6-bit values to associate with each BA? Yes. Can you configure most QoS tools to give each BA the PHB that you desire? Sure. If you take the time to learn and follow DiffServ’s suggestions, such as CS, AF, and EF, however, then you can take advantage of some good defaults in IOS, increase the odds of compatibility between your DS domain and others, and avoid a lot of extra configuration.

Table 2-16 summarizes some of the key points about choosing to follow DiffServ’s suggestions.