Welcome back from the holidays! I hope everyone had a very joyous holiday season and got some rest. Over the past two weeks, I have celebrated Christmas, New Years, and my two son’s birthdays as follows:
John J. Hartmann (Johnny) – 4 years old (December 20th)
Dennis E. Hartmann (Buddy) – 7 years old (January 3rd)
Let’s get right back into it and talk about marking at layer 3 of the OSI reference model. The Internet Protocol was developed with prioritization in mind. The first Internet Engineering Task Force (IETF) specification for the Internet Protocol was published in September of 1981. IETF request for comment (RFC) 791 included an 8 bit field (one byte or octet) with prioritization in mind. The eight bit prioritization field is known as the type of service (ToS) byte. The ToS byte field is examined in page 12 of RFC791 (see hyperlink below). We will examine this original ToS byte usage and subsequent RFCs which modified the ToS byte usage. The ToS byte is broken down as follows
| IPP | D | T | R | 0 | 0 |
IPP = IP Precedence (3 bits)
D = Delay (1 bit)
T = Throughput (1 bit)
R = Reliability (1 bit)
0 = Currently Unused
0 = Currently Unused
The three most significant bits (MSB) of the ToS field (left most bits) are used to specify the priority level (precedence) of the IP packet. The three most significant bits together are known as the IP precedence (IPP) or IP prec. Since computers use binary math, there will be much coverage of binary math in the explanations of the usage of the ToS byte fields. The IP Precedence has three bits available or 8 different markings because 2 to the 3rd power equal 8. The binary values, their decimal equivalent, and their special RFC791 naming conventions are as follows:
000 0 Routine
001 1 Priority
010 2 Immediate
011 3 Flash
100 4 Flash Override
101 5 Critical
110 6 Internetwork Control
111 7 Network Control
The prioritization scheme used for the IP Precedence is quite easy to understand because it follows a linear model. The model allows 8 different markings (0 through 7) with a value of zero representing the lowest priority and a value of 7 representing the highest priority. The IP Precedence model was limited because it did not provide service providers with the granularity they needed to provide a robust QoS model. An IP Precedence value of zero represents best effort (BE) traffic and most traffic is sent as best effort by default. IP Precedence values 6 and 7 are not used for end user traffic. IP Precedence 6 is used for layer 3 control protocol traffic (routing protocols, telnet, etc.). Most routing protocol packets and telnet sessions sourced from a Cisco router are marked as IP Precedence 6 by default. IP Precedence 7 is reserved for layer 2 control protocol traffic. Why is layer 2 control protocol traffic more important than layer 3 control protocol traffic? If you cannot reach the default gateway of your layer 2 network, layer 3 connectivity across the WAN doesn’t matter very much. Layer 2 control protocols include Spanning Tree Protocol (IEEE 802.1d), Rapid Spanning Tree Protocol (IEEE 802.1w), Cisco Discover Protocol (CDP), etc. We will talk about the expansion of the 3 IPP bits with the differentiated services model and the differentiated services code point (DSCP) in future blogs.
The ToS byte includes three bits after the IP precedence field that allows devices to react to network conditions. These fields were removed in subsequent RFCs because they were very rarely used in practical applications. We will not spend much time here.
The next blog will introduced the differentiated services code point definitions and continue our conversation on the evolution of the ToS field.
REFERENCES:
Internet Protocol (DARPA Internet Program) – RFC791:
http://www.ietf.org/rfc/rfc0791.txt?number=791
Learn To Subnet (binary math converstions):
http://www.learntosubnet.com/
Dennis Hartmann, CCIE No. 15651, is a consultant with www.highpoint.com and author of Implementing Cisco Unified Communications Manager, Part 1. Dennis is also a lead instructor at Global Knowledge. Dennis has various certifications, including the Cisco CCVP, CCSI, CCNP, CCIP, and the Microsoft MCSE. Dennis has various specializations including unified communications, data center, routing & switching, service provider (MPLS and optical). Dennis has worked for various Fortune 500 companies, including AT&T, Sprint, Merrill Lynch, KPMG, and Cabletron Systems. He lives with his wife and children in Hopewell Junction, New York.
IP Prec for STP frames
Hi Dennis,
Jeff Doyle mentioned your QoS blog and I stopped by to visit... This was perhaps an oversight, but in the discussion above, STP frames cannot have IP Precedence associated with them on the wire... if they are encapsulated as dot1q on a trunk, they may have dot1p CoS markings (with 3 bits that correspond to IP Prec values), but technically this should not be presented in the same context as IP Precedence. CDP is also not IP traffic either.
That said, on Catalyst 6500 / Cisco 7600 switches (and perhaps others), there is a internal dbus header inside the guts of the switch that may be marked based on the received IP Prec / dot1p / MPLS EXP values. The marking details can vary between linecards, but after the various markings are written into the internal header, dbus markings are directly comparable since it levels the playing field across the input encapsulations. Linecards and the fabric prioritize traffic based on these dbus markings.
Best regards,
\mike
http://www.pennington.net/
Layer 2 control traffic
Yes. I agree with most of your comments. Cisco routers and switches have different internal mechanisms to prioritize control traffic (layer 2 and layer 3). Native Ethernet frames cannot have any markings because there is not a priority field. The priority field of the .1Q trunk field can be used, but routers and switches do not limit themselves to that marking. Mechanism such as "PAK PRIORITY" and "SPD - Selective Packet Discard" prioritize control traffic internally on the Cisco routers and switches.
I was not getting into this technical level of detail because I felt it might be confusing to those without a mastery of QoS. The blog covered layer 2 control protocols in much the same way as the IETF RFC791. RFC791 states that layer 2 control protocol traffic is higher priority than layer 3. Layer 2 control protocol traffic will never be marked with a layer 3 IP Prec or DSCP, but they reserved the highest prority level in these models (IPP 7 and DSCP cs7) for layer 2 control protocol traffic.
To properly cover this level of detail, we should cover backplane architectures and chips like the Medusa ASIC on the 6500 switch which connects the line cards to the switch fabric matrix (assuming the customer had a SUP720 or a switch fabric module).
Thank you very much for the technical comment Mike. If you would like to continue this conversation and get into a conversation on backplane architectures, I think it would be a valuable pursuit and I would love to collaborate with both yourself and Jeff in this effort.
Thanks again!
Post new comment