720 likes | 923 Views
Optimizing Converged Cisco Networks (ONT). Module 4: Implement the DiffServ QoS Model. Module 4: Implement the DiffServ QoS Model. Lesson 4.1: Introducing Classification and Marking. Objectives. Describe the classification and marking for QoS.
E N D
Optimizing Converged Cisco Networks (ONT) Module 4: Implement the DiffServ QoS Model
Module 4: Implement the DiffServ QoS Model Lesson 4.1: Introducing Classification and Marking
Objectives • Describe the classification and marking for QoS. • Explain the relationship between IP Precedence and DSCP. • Describe the standard Per Hop Behavior (PHB) groups and their characteristics. • Explain how a service class is used to implement QoS policies. • Describe a trust boundary and the guidelines used to establish this boundary.
Classification • Classification is the process of identifying and categorizing traffic into classes, typically based upon: • Incoming interface • IP precedence • DSCP • Source or destination address • Application • Without classification, all packets are treated the same. • Classification should take place as close to the source as possible.
Marking • Marking is the QoS feature component that “colors” a packet (frame) so it can be identified and distinguished from other packets (frames) in QoS treatment. • Commonly used markers: • Link layer: • CoS (ISL, 802.1p) • MPLS EXP bits • Frame Relay • Network layer: • DSCP • IP precedence
Classification and Marking in the LAN with IEEE 802.1Q • IEEE 802.1p user priority field is also called CoS. • IEEE 802.1p supports up to eight CoSs. • IEEE 802.1p focuses on support for QoS over LANs and 802.1Q ports. • IEEE 802.1p is preserved through the LAN, not end to end.
DiffServ Model • Describes services associated with traffic classes, rather than traffic flows. • Complex traffic classification and conditioning is performed at the network edge. • No per-flow state in the core. • The goal of the DiffServ model is scalability. • Interoperability with non-DiffServ-compliant nodes. • Incremental deployment.
7 6 5 4 3 2 1 0 Standard IPv4 IP Precedence Unused DiffServ Code Point (DSCP) IP ECN DiffServ Extensions Classification ToolsIP Precedence and DiffServ Code Points • IPv4: three most significant bits of ToS byte are called IP Precedence (IPP)—other bits unused • DiffServ: six most significant bits of ToS byte are called DiffServ Code Point (DSCP)—remaining two bits used for flow control • DSCP is backward-compatible with IP precedence ToS Byte Version Length Len ID Offset TTL Proto FCS IP SA IP DA Data IPv4 Packet
IP Precedence and DSCP Compatibility • Compatibility with current IP precedence usage (RFC 1812) • Differentiates probability of timely forwarding: • (xyz000) >= (abc000) if xyz > abc • That is, if a packet has DSCP value of 011000, it has a greater probability of timely forwarding than a packet with DSCP value of 001000.
Per-Hop Behaviors • DSCP selects PHB throughout the network: • Default PHB (FIFO, tail drop) • Class-selector PHB (IP precedence) • EF PHB • AF PHB
Expedited Forwarding (EF) PHB • EF PHB: • Ensures a minimum departure rate • Guarantees bandwidth—class guaranteed an amount of bandwidth with prioritized forwarding • Polices bandwidth—class not allowed to exceed the guaranteed amount (excess traffic is dropped) • DSCP value of 101110: Looks like IP precedence 5 to non-DiffServ-compliant devices: • Bits 5 to 7: 101 = 5 (same 3 bits are used for IP precedence) • Bits 3 and 4: 11 = No drop probability • Bit 2: Just 0
Assured Forwarding (AF) PHB • AF PHB: • Guarantees bandwidth • Allows access to extra bandwidth, if available • Four standard classes: AF1, AF2, AF3, and AF4 • DSCP value range of aaadd0: • aaa is a binary value of the class • dd is drop probability
AF PHB Values • Each AF class uses three DSCP values. • Each AF class is independently forwarded with its guaranteed bandwidth. • Congestion avoidance is used within each class to prevent congestion within the class.
QoS Service Class • A QoS service class is a logical grouping of packets that are to receive a similar level of applied quality. • A QoS service class can be: • A single user (such as MAC address or IP address) • A department, customer (such as subnet or interface) • An application (such as port numbers or URL) • A network destination (such as tunnel interface or VPN)
QoS Service Class Guidelines • Profile applications to their basic network requirements. • Do not over engineer provisioning; use no more than four to five traffic classes for data traffic: • Voice applications: VoIP • Mission-critical applications: Oracle, SAP, SNA • Interactive applications: Telnet, TN3270 • Bulk applications: FTP, TFTP • Best-effort applications: E-mail, web • Scavenger applications: Nonorganizational streaming and video applications (Kazaa, Yahoo) • Do not assign more than three applications to mission-critical or transactional classes. • Use proactive policies before reactive (policing) policies. • Seek executive endorsement of relative ranking of application priority prior to rolling out QoS policies for data.
Application L3 Classification L2 IPP PHB DSCP CoS Routing 6 CS6 48 6 Voice 5 EF 46 5 Video Conferencing 4 AF41 34 4 4 CS4 32 4 Streaming Video Mission-Critical Data 3 AF31* 26 3 Call Signaling 3 CS3* 24 3 2 AF21 18 2 Transactional Data Network Management 2 CS2 16 2 Bulk Data 1 AF11 10 1 Scavenger 1 CS1 8 1 Best Effort 0 0 0 0 Classification and Marking DesignQoS Baseline Marking Recommendations
8 Class Model 11 Class Model Voice Voice Interactive-Video Video Streaming Video Call Signaling Call Signaling IP Routing Network Control Network Management Critical Data Mission-Critical Data Transactional Data Bulk Data Bulk Data Best Effort Best Effort Time Scavenger Scavenger How Many Classes of Service Do I Need? 4/5 Class Model Realtime Call Signaling Critical Data Best Effort Scavenger
Trust Boundaries: Classify Where? • For scalability, classification should be enabled as close to the edge as possible, depending on the capabilities of the device at: • Endpoint or end system • Access layer • Distribution layer
Trust Boundaries: Mark Where? • For scalability, marking should be done as close to the source as possible.
Self Check • Which PHB would be used for voice traffic? • How many bits are used for IP Precedence? For DSCP? • Which PHB can allow access to extra bandwidth if it is available? • How is CDP used to establish trust boundaries?
Summary • Classification, marking, and queuing are critical functions of any successful QoS implementation. • Classification allows network devices to identify traffic as belonging to a specific class with the specific QoS requirements determined by an administrative QoS policy. • The DiffServ model uses classes to describe services offered to network traffic, rather than traffic flows. • DiffServ uses DSCP to establish Per Hop Behaviors (PHBs) to classify and service traffic.
Resources • DiffServ -- The Scalable End-to-End QoS Model • http://www.cisco.com/en/US/partner/products/ps6610/products_white_paper09186a00800a3e2f.shtml • Quality of Service - The Differentiated Services Model • http://www.cisco.com/en/US/partner/products/ps6610/products_data_sheet0900aecd8031b36d.html
Module 4: Implement the DiffServ QoS Model Lesson 4.2: Using NBAR for Classification
My application is too slow! Citrix 25% Netshow 15% Fasttrack 10% FTP 30% HTTP 20% Sample Link Utilization Network-Based Application Recognition • Used in conjunction with QoS class-based features, NBAR is an intelligent classification engine that: • Classifies modern client-server and web-based applications • Discovers what traffic is running on the network • Analyzes application traffic patterns in real time • NBAR functions: • Performs identification of applications and protocols (Layer 4–7) • Performs protocol discovery • Provides traffic statistics • New applications are easily supported by loading a PDLM.
NBAR Functions & Features • NBAR performs the following two functions: • Identification of applications and protocols (Layer 4 to Layer 7) • Protocol discovery • Some examples of class-based QoS features that can be used on traffic after the traffic is classified by NBAR include: • Class-Based Marking (the set command) • Class-Based Weighted Fair Queueing (the bandwidth and queue-limit commands) • Low Latency Queueing (the priority command) • Traffic Policing (the police command) • Traffic Shaping (the shape command)
NBAR Application Support • NBAR can classify applications that use: • Statically assigned TCP and UDP port numbers • Non-UDP and non-TCP IP protocols • Dynamically assigned TCP and UDP port numbers negotiated during connection establishment (requires stateful inspection) • Subport and deep packet inspection classification
Packet Description Language Module • PDLMs allow NBAR to recognize new protocols matching text patterns in data packets without requiring a new Cisco IOS software image or a router reload. • An external PDLM can be loaded at run time to extend the NBAR list of recognized protocols. • PDLMs can also be used to enhance an existing protocol recognition capability. • PDLMs must be produced by Cisco engineers.
PDLM Command Syntax • Used to enhance the list of protocols recognized by NBAR through a PDLM. • The filename is in the URL format (for example, flash://citrix.pdlm). router(config)# ip nbar pdlm pdlm-name router(config)# ip nbar port-map protocol-name [tcp | udp] port-number • Configures NBAR to search for a protocol or protocol name using a port number other than the well-known port. • Up to 16 additional port numbers can be specified.
NBAR Protocol-to-Port Maps • Displays the current NBAR protocol-to-port mappings router#show ip nbar port-map port-map bgp udp 179 port-map bgp tcp 179 port-map cuseeme udp 7648 7649 port-map cuseeme tcp 7648 7649 port-map dhcp udp 67 68 port-map dhcp tcp 67 68 port-map dns udp 53 port-map dns tcp 53 router# show ip nbar port-map [protocol-name]
NBAR Protocol Discovery • Analyzes application traffic patterns in real time and discovers which traffic is running on the network • Provides bidirectional, per-interface, and per-protocol statistics • Important monitoring tool supported by Cisco QoS management tools: • Generates real-time application statistics • Provides traffic distribution information at key network locations
Configures NBAR to discover traffic for all protocols known to NBAR on a particular interface Requires that CEF be enabled before protocol discovery Can be applied with or without a service policy enabled Configuring and Monitoring NBAR Protocol Discovery router(config-if)# ip nbar protocol-discovery router# show ip nbar protocol-discovery • Displays the statistics for all interfaces on which protocol discovery is enabled
Configuring and Monitoring Protocol Discovery Output router#show ip nbar protocol-discovery Ethernet0/0 Input Output Protocol Packet Count Packet Count Byte Count Byte Count 5 minute bit rate (bps) 5 minute bit rate (bps) ---------- ------------------------ ------------------------ realaudio 2911 3040 1678304 198406 19000 1000 http 19624 13506 14050949 2017293 0 0 <output omitted>
Steps for Configuring NBAR for Static Protocols • Required steps: • Enable NBAR Protocol Discovery. • Configure a traffic class. • Configure a traffic policy. • Attach the traffic policy to an interface. • Enable PDLM if needed.
Configuring NBAR for Static Protocols Commands • Configures the match criteria for a class map on the basis of the specified protocol using the MQC configuration mode. • Static protocols are recognized based on the well-known destination port number. • A match not command can be used to specify a QoS policy value that is not used as a match criterion; in this case, all other values of that QoS policy become successful match criteria. router(config-cmap)# match protocol protocol
Configuring NBAR Example • HTTP is a static protocol using a well-known port number 80. However, other port numbers may also be in use. • The ip nbar port-map command will inform the router that other ports are also used for HTTP.
Steps for Configuring Stateful NBAR for Dynamic Protocols • Required steps: • Configure a traffic class. • Configure a traffic policy. • Attach the traffic policy to an interface.
Enhanced NBAR Classification for HTTP • Recognizes the HTTP GET packets containing the URL, and then matches all packets that are part of the HTTP GET request • Include only the portion of the URL following the address or host name in the match statement router(config-cmap)# match protocol http url url-string router(config-cmap)# match protocol http host hostname-string • Performs a regular expression match on the host field content inside an HTTP GET packet and classifies all packets from that host
Matches a packet containing the MIME type and all subsequent packets until the next HTTP transaction for stateful protocol. Special NBAR Configuration for HTTP and FastTrack router(config-cmap)# match protocol http mime MIME-type router(config-cmap)# match protocol fasttrack file-transferregular-expression • Stateful mechanism to identify a group of peer-to-peer file-sharing applications. • Applications that use FastTrack peer-to-peer protocol include Kazaa, Grokster, Gnutella, and Morpheus. • A Cisco IOS regular expression is used to identify specific FastTrack traffic. • To specify that all FastTrack traffic will be identified by the traffic class, use asterisk (*) as the regular expression.
Configuring Stateful NBAR for RTP • Identifies real-time audio and video traffic in the class-map mode of MQC • Differentiates on the basis of audio and video codecs • The match protocol rtp command has these options: • audio: Match by payload type values 0 to 23, reserved for audio traffic • video: Match by payload type values 24 to 33, reserved for video traffic • payload-type: Match by a specific payload type value; provides more granularity than the audio or video options router(config-cmap)# match protocol rtp [audio | video | payload-type payload-string]
Resources • Network-Based Application Recognition, Q&A • http://www.cisco.com/en/US/partner/products/ps6616/products_qanda_item09186a00800a3ded.shtml • Network-Based Application Recognition and Distributed Network-Based Application Recognition • http://www.cisco.com/en/US/partner/products/ps6350/products_configuration_guide_chapter09186a0080455985.html
Module 4: Implement the DiffServ QoS Model Lesson 4.3: Introducing Queuing Implementations
Objectives • Describe the common causes of congestion on a link. • Compare and contrast various queuing methods used to relieve congestion. • Describe the purpose and functionality of software queues. • Describe the function and purpose of the hardware queue.
Congestion and Queuing • Congestion can occur at any point in the network where there are points of speed mismatches or aggregation. • Queuing manages congestion to provide bandwidth and delay guarantees.