Title: CCNP 3 v3'0 Module 8
1- CCNP 3 v3.0 Module 8
- Quality of Service
2Overview
- Upon completion of this module, the student will
be able to perform tasks related to the
following - Quality of Service (QoS) Requirements
- Quality of Service Mechanisms
- Classifications at the Access Layer
- Policing and Marking
- Scheduling
- Congestion Avoidance
- Traffic Shaping
- QoS Using Low Speed Links
3Quality of Service Requirements
4Quality of Service defined
- QoS controls packet loss, delay and jitter for
critical data. This is achieved by the following
services - Dedicated bandwidth
- Improved loss characteristics
- Congestion management and avoidance
- Traffic shaping
- Prioritization of traffic
5Loss
- Reasons for packet loss
- Frame corruption caused by noise,
interference and collisions. - Packet dropped by networking devices to
prevent congestion. - TCP can recover loss by re-transmission.
- Unfortunately real time media traffic that use
UDP has little chance for re-transmission.
6Delay or latency
- Time taken for a packet to travel from the source
to the destination. - Fixed delays (e.g. data processing and
transmission) and variable delays (caused by
congestion and buffering). - More significant in bi-directional network, as
the devices need to wait for reply. - Although it is acceptable for voice traffic to
have a total delay of 200ms, as a design rule, it
should be kept below 150ms.
7Delay variation or jitter
- Definition difference in the delay times of
consecutive packets. - Although it can be smoothed out by jitter buffer,
this increases total network delay. - In voice traffic, the jitter should be kept below
30ms to maintain the voice quality. - Jitter in streaming video will result in jerky
(??) motion, loss of video quality or even loss
of video.
8Network availability
- To ensure the delivery of critical data, the
network must maintain high availability, or low
down time. - High availability is achieved by redundancy.
- Redundancy is achieved by Hot Standby Routing
Protocol (HSRP) and Spanning-Tree Protocol (STP).
9Provisioning
- Provisioning here means provision of network
bandwidth. - It the resource is not spent wisely and
efficiently, over-provisioning of additional
bandwidth will not solve the problem. - A congested over-provisioned network may not
perform as well as a lower bandwidth network with
QoS.
10Quality of Service requirements for data
- It is not necessary to over-engineer the
provisioning of bandwidth, as some traffic can
usually tolerate lower QoS levels. - Instead, use the proven relative priority model
to divide traffic into no more than four classes,
such as - Gold (Mission-Critical) Transactional and
business software (u - Silver (Guaranteed-Bandwidth) Streaming
video, messaging, and Intranet - Bronze (Best-Effort and Default class)
Internet browsing, e-mail - Less-than-Best-Effort (Optional
higher-drop preferences) FTP, backups
11Quality of Service requirements for voice
- Packet loss should be no more than 1 percent.
- One-way latency should be no more than 150200ms
- Average jitter should be no more than 30ms
- 21-106 kbps of guaranteed priority bandwidth is
required per call, depending on the sampling
rate, codec and Layer 2 overhead
12Quality of Service requirements for video
- QoS Needs for Streaming Video
- Packet loss should be lt 2, Latency should be lt
4-5 seconds - There are no significant jitter requirements
- Bandwidth requirements depend on the encoding and
rate of video stream - Non-entertainment streaming video is in the
"Silver" data-traffic class. - QoS Needs for Video Content Distribution
- Streaming video content is delay and delay
variation insensitive - Streaming video requires large file transfers
- Try to restrict distribution to less busy times
of day - Provision as "less-than-best-effort" data
- The minimum bandwidth guarantee is the size of
the video conferencing session plus 20 percent. - QoS Needs for Video Conferencing
- Similar requirements to voice, packet loss should
be no more than 1 percent - One-way latency should be no more than 150-200ms
- Average jitter should be no more than 30ms
- Allow 20 percent extra bandwidth to allow for its
bursty nature
13Quality of Service mechanisms
14Quality of Service mechanisms
- Once the QoS requirements of the network have
been defined, an appropriate service model must
be selected. A service model is a general
approach or a design philosophy for handling the
competing streams of traffic within a network.
There are three service models from which to
choose - Best-effort
- Integrated
- Differentiated
- The service model selected must be capable of
meeting the QoS requirements of the network and
integrating any networked applications.
15Best-effort service
- Best-effort is a single service model in which an
application sends data whenever it must, in any
quantity, without requesting permission or first
informing the network. - For best-effort service, the network delivers
data if it can, without any assurance of
reliability, delay bounds, or throughput. - The Cisco IOS QoS feature that implements
best-effort service is FIFO queuing. FIFO is the
default method of queuing for LAN and high speed
WAN interfaces on switches and routers. - Best-effort service is suitable for a wide range
of networked applications such as general file
transfers, e-mail and Web browsing.
16Integrated services model
- Application makes explicit request for network
resources - Application must be QoS aware
- Implemented using Resource Reservation Protocol
(RSVP) - Guaranteed Rate Service (allows applications to
reserve bandwidth) or Controlled Load Service
(allows applications to have low delay and high
throughput even in congestions).
17Differentiated services model
- Packets are classified upon entering the network
- QoS classified at Layer 2 using 802.1Q/p Class of
Service (CoS) - QoS classified at Layer 3 using IP precedence or
Differentiated Services Code Point (DSCP) - Network devices use the classification to queue,
shape, and police traffic flows - Application do NOT need to be QoS aware
18Traffic marking
19Modular QoS command-line interface (CLI)
- The Modular QoS Command Line Interface or MQC is
central to Ciscos model for implementing IOS
based QoS solutions. The MQC breaks down the
tasks associated with QoS into modules that - Identify traffic flows.
- Classify traffic flows as belonging to a
common class of QoS. - Apply QoS policies to that class.
- Define the interfaces on which the policy
should be enforced. - The modular nature of MQC allows the reuse of
common traffic classes and policies. This
simplifies the configuration, makes it more
efficient to implement changes and reduces the
chance of error. - Classify traffic class-map
- Apply QoS policies to the traffic policy-map
- Apply policies to an interface service-policy
20Using the class-map command to define traffic
classes
- Define a traffic class for applying QoS
- Switch(config)class-map cisco
- Switch(config-cmap)
- Specify various criteria for classifying packets
- Switch(config-cmap)match access-group name test
- If more than one match statement, you need to
specify match all or match any on of them - Switch(config) class-map match-any or
- Switch(config) class-map match-all
- e.g.
- Switch(config)class-map match-any cisco
- Switch(config-cmap)match access-group name test
- Switch(config-cmap)match interface fastethernet
0/1
21Using the class-map command to define traffic
classes
- Supported match parameters
22Defining the QoS policy the policy-map
- A traffic policy contains three elements
- Policy Name
- Traffic class specified with the class
command - QoS policies to be applied to each class
- Example allocate bandwidth 3000 kbps to the
previously defined traffic class "cisco" and 2000
kbps to the traffic not belong to class "cisco"
(the class-default). - Switch(config)policy-map policy1
- Switch(config-pmap)class cisco
- Switch(config-pmap-c)bandwidth 3000
- Switch(config-pmap-c)exit
- Switch(config-pmap)class class-default
- Switch(config-pmap-c)bandwidth 2000
- Switch(config-pmap)exit
23Defining the QoS policy the policy-map
- Supported policy-map Actions
24Applying the policy to an interface the
service-policy
- Attach a policy to an interface
- Policies are applied for input or output traffic
- Example
- Switch(config)interface fastethernet 0/1
- Switch(config-if)service-policy output
policy1 - Switch(config-if)exit
25Classification at the Access Layer
26Classification at the Access Layer
- End devices (e.g. IP phones) can specify their
own - CoS
- IP Precedence
- DSCP
- Or these can be classified by the access layer
switch based on the ingress (input) port
27Trusting the CoS
- If the edge device, such as an IP phone or a PC
application, is capable of setting the CoS bits
then the network designer must decide whether to
trust it - By default, the switch will not trust the edge
devices and any frames that enter the switch have
their CoS re-written to the lowest priority of
zero. - If the edge device can be trusted, this default
behaviour must be overridden and the access
switch must be configured to switch the frame,
leaving the CoS bits untouched.
28Configuring CoS trust using the IOS
- Depending on the switch model, it may be
necessary to first activate QoS using the
following command - switch(config)mls qos
- This command is required on both the Catalyst
3550 and the Catalyst 6500. The Catalyst 2950 has
QoS enabled by default. - The trust is configured on the switch port using
the command - switch(config-if)mls qos trust cos
- Any ISL or 802.1Q/p frames that enter the switch
port will now have its CoS passed, untouched,
through the switch. If an untagged frame arrives
at the switch port, the switch will assign a
default CoS to the frame before forwarding it. By
default untagged frames are assigned a CoS of
zero. This can be changed using the interface
configuration command - switch(config-if)mls qos cos default-cos
- Where default-cos is a number between 0 and 7.
29Assigning CoS on a per-port basis
- Devices requiring a specific QoS but are unable
to set the CoS value, an appropriate CoS value
should be applied to the switch port. - The CoS value assigned by the switch can be
changed on a port-by-port basis using the
interface configuration command - Router(config-if)mls qos cos default-cos
- After applying this command and assuming the
switch has been configured to trust the existing
CoS value of frames, the switches behavior will
be as follows - If the incoming frame has no CoS, value of
zero, apply the default CoS. - If the incoming frame has a CoS, maintain
the same CoS.
30Re-writing the CoS
- Applications such as web browsing, e-mail, and
file and print services, does not require special
QoS treatment. - To ensure efficient use of resources, the switch
can ignore any existing CoS value that may be in
the frame and apply the default value. - Router(config-if)mls qos cos override
31Using a MAC ACL to assign a DSCP value
- If a switch port receives frames from different
devices with different CoS, it is not possible to
set up QoS on a port basis. In this case, a
possible solution would be to use a Layer 2 MAC
based ACL. The syntax for a MAC ACL is similar to
that required for an IP based ACL. - Switch(config)mac access-list extended name
- However, in the QoS context, the permit and deny
actions in the access control entries (ACEs) have
different meanings than with security ACLs
If a match with a permit action is
encountered, the specified QoS-related action is
taken. If a match with a deny action is
encountered, the next ACL is processed. If
no match with a permit action is encountered and
all the ACLs have been examined, no QoS
processing occurs on the packet. If
multiple ACLs are configured on an interface, the
lookup stops after the packet matches the first
ACL with a permit action, and QoS processing
begins.
32Configuring DSCP using a MAC ACL
- Define a MAC ACL
- Switch(config)mac access-list extended
receptionphone - Switch(config-ext-macl)permit host
0000.0a00.0111 any - Switch(config-ext-macl)exit
- Define a class map
- Switch(config)class-map match-all ipphone
- Switch(config-cmap)match access-group name
receptionphone
- Define a policy map
- Switch(config)policy-map inbound-accesslayer
- Switch(config-pmap)class ipphone
- Switch(config-pmap-c)set ip dscp 40
33Using an IP ACL to define the DSCP or precedence
- The following example set the QoS of ftp traffic
to zero. - Create an IP ACL
- Switch(config)ip access-list extended 100
- Switch(config-ext-nacl)permit tcp any any eq ftp
- Create a class map for the ACL
- Switch(config)class-map reducedservice
- Switch(config-cmap)match access-group 100
Set the DSCP to zero Switch(config)policy-map
inbound-accesslayer Switch(config-pmap)class
reducedservice Switch(config-pmap-c)set ip dscp
0 Associate the service policy to the
interfaces Switch(config)interface range
fastethernet 0/1 - 24 Switch(config-if-range)serv
ice-policy input inbound-accesslayer
34Policing and marking
- Traffic policing involves placing a constraint on
the maximum traffic rate. - When the traffic rate reaches the configured
maximum rate, excess traffic is dropped or
remarked. - The result is an output rate that appears as a
saw tooth with crests and troughs.
35Individual policers
- In each traffic class, policer can be set
individually to limit the bandwidth. - police rate-bps burst-byte exceed-action
droppoliced-dscp-transmit - Example
- policy-map mymap
- class class-default
- police 1000000 16384 exceed-action drop
36Aggregate policers
- Aggregate policers apply the bandwidth limits
specified in an aggregate policer cumulatively to
all matched traffic flows. - Example (Not tested. For reference only)
- Mls qos
- Mls qos aggregate-policer pol_1mbps 1000000 16000
exceed-action drop - !--- Defines the ACLs to select traffic
- Access-list 123 permit udp any any eq 111
- Access-list 145 permit tcp any eq 20 any
- !--- Defines the traffic classes to be policed
- Class-map match-all c1_udp111
- Match access-group 123
- Class-map match-all c1_tcp20
- Match access-group 145
- !---Defines the QoS policy, and attaches the
policer to the traffic classes - policy-map po_test
- class c1_udp111 police aggregate pol_1mbps
- class c1_tcp20 police aggregate pol_1mbps
37Token bucket
- As each frame is received by the switch, a token
is added to the bucket. - The bucket has a hole in it and leaks at a rate
that is specified as the average traffic rate in
bits per second. - Each time a token is added to the bucket, the
switch performs a check to determine if there is
enough room in the bucket. - If there is not enough room, the frame is marked
as nonconforming, and the specified policer
action is taken, dropped or marked down.
38Classification and policing using Committed
Access Rate (CAR)
- The classification services of the Committed
Access Rate (CAR) allow traffic flow limits to be
placed on incoming traffic. - These limits specify the average rate (rate-bps),
and the burst rate (burst-byte). - It is achieved by using the police command
- police rate-bps burst-byte exceed-action
droppoliced-dscp-transmit - Traffic that is nonconforming either because it
exceeds the average rate or the burst rate
specified can be marked down in terms of DSCP. - As traffic flows through the network, networking
devices can use the adjusted DSCP to determine
how the traffic should be treated. - For example, congestion management and avoidance
techniques can be used to selectively drop
packets from traffic that was previously marked
down in terms of DSCP (by the action
policed-dscp-transmit).
39Configuring the policed DSCP map
- A map is needed to translate between the initial
DSCP value and the marked down DSCP. - This example shows how to map DSCP 50 to 57 to a
marked-down DSCP value of zero - Switchconfigure terminal
- Switch(config)mls qos map policed-dscp 50 51 52
53 54 55 56 57 to 0 - Switch(config)end
- Switchshow mls qos maps policed-dscp
- Policed-dscp map
- 0 1 2 3 4 5 6 7
8 9 - --------------------------------------------------
-------- - 0 00 01 02 03 04 05 06 07 08 09
- 1 10 11 12 13 14 15 16 17 18 19
- 2 20 21 22 23 24 25 26 27 28 29
- 3 30 31 32 33 34 35 36 37 38 39
- 4 40 41 42 43 44 45 46 47 48 49
- 5 00 00 00 00 00 00 00 00 58 59
- 6 60 61 62 63
40Configuring classification using CAR
- Example (For reference only. Not tested)
- access-list 1 permit 10.1.0.0 0.0.255.255
- class-map ipclass1
- match access-group 1
- exit
- policy-map flow1t
class ipclass1 trust dscp police 48000 8000
exceed-action policed-dscp-transmit exit exit inte
rface gigabitethernet0/1 service-policy input
flow1t
41Configuring policing using CAR
- Example (For reference only. Not tested)
- access-list 1 permit 10.1.0.0 0.0.255.255
- class-map ipclass1
- match access-group 1
- exit
- policy-map flow1t
class ipclass1 trust dscp police 48000 8000
exceed-action drop exit exit interface
gi0/1 service-policy input flow1t
42Scheduling
43Scheduling
- Different ways of assign priority to the packets
(scheduling) - First in First Out (FIFO)
- Weighted Fair Queuing (WFQ)
- Class Based Weighted Fair Queuing (CBWFQ)
44FIFO queue
- The simplest form of scheduling and the default
for interfaces 2 Mbps and faster, is the
First-In-First-Out or FIFO queue. The FIFO queue
offers no preferential service for traffic,
packets are merely forwarded in the order they
are received.
45Weighted Fair Queuing (WFQ)
- Different kinds of traffic flows are put into
different queue. - Queues are served one by one (in a fair manner).
- Some important queue(s) will get a lower weights
and are served first. - Flow based classification by source
destination address, protocol, session identifier
(port/socket). - Weight determined by QoS, Frame relay signal
(FECN, BECN, DE).
46WFQ and IP precedence
- Example 1
- If there is one flow in each precedence level 1
to 8, sum of precedence value
1234567836. - Then precedence 0 will get 1/36 of the bandwidth,
precedence 1 get 2/36 ... etc - Example 2
- There are 18 flows in precedence 2, then total
value 12(18)34567870. Then precedence 1
gets 2/70 of the bandwidth.
47Class-Based Weighted Fair Queuing (CBWFQ)
- Extends WFQ to support user defined traffic
classes, based on protocols, access control
lists, and input interfaces. - Characteristics will be assigned to each class,
e.g. Bandwidth, weight, and maximum packet limit.
Lower weight classes are served first. - CBWFQ provides for up to 64 classes. Flow based
WFQ is limited to 7 classifications of weights. - Multiple IP flows can belong to a single class.
48Configuring CBWFQ
- Define traffic
- mls qos
- class-map prioritytraffic
- match dscp 50
- Define a policy-map. Specifying a queue-limit
indicates to the router that a tail-drop policy
is to be used. - policy-map prioritybw
- class class-default fair-queue
- class prioritytraffic bandwidth percent 40
queue-limit 200 - Applying it to an interface.
- interface gigabitethernet0/1
- service-policy output prioritybw
49CBWFQ bandwidth allocation
- The sum of all bandwidth allocation on an
interface cannot exceed 75 percent of the total
available interface bandwidth. - The remaining 25 percent is used for other
overhead, including Layer 2 overhead, routing
traffic, and best-effort traffic. - Bandwidth for the CBWFQ class-default class is
taken from the remaining 25 percent. - However, under aggressive circumstances in which
it is necessary to configure more than 75 percent
of the interface bandwidth to classes, the 75
percent maximum can be overridden using the
max-reserved-bandwidth command. - Exercise caution when using this command and
ensure that there is enough remaining bandwidth
to support best-effort, control traffic and Layer
2 overheads. - Router(config-if)max-reserved-bandwidth
percent
50Congestion avoidance
51Congestion avoidance
- When congestion occurs, packets will be dropped.
TCP/IP uses this as a signal to ask the sender
for reducing the transmission speed. - This leads to several problems
- Bursty network traffic that will make QoS
more difficult to achieve. - Excessive retransmissions of lost packets
- Periods of underutilization of the
available bandwidth. - It is not possible to prioritize traffic when a
queue is full. - A technique is needed to ensure that ingress
queues are never allowed to completely fill. This
technique is known as congestion avoidance.
52Weighted random early detection (WRED)
- When traffic begins to exceed the interface
traffic thresholds prior to any congestion, the
interface starts dropping packets from selected
flows. - This forces the upper (TCP) layer to lower the
transmission rate, and of course, re-transmit the
dropped packets. - WRED automatically favor high priority, low
bandwidth traffic flows. - Only works in TCP/IP, and not effective for other
protocols.
53Configuring WRED on a physical interface
- To enable WRED on an interface use the command
random-detect. - Router(config-if)random-detect
- The defaults can be changed with the following
interface commands - Router(config-if)random-detect
exponential-weighting-constant exponent
min-threshold max-threshold mark-prob-denominator - Configure the weight factor used in calculating
the average queue length - Router(config-if)random-detect precedence
precedence min-threshold max-threshold
mark-prob-denominator - This command configures parameters for packets
with a specific IP Precedence. The minimum
threshold for IP Precedence zero corresponds to
half the maximum threshold for the interface. The
command must be issued for each precedence. To
configure RED use the same parameters for each
precedence. The default WRED parameter values are
based on the best available data.
54Verifying WRED configuration
- The following commands can be used to verify the
configuration and operation of WRED - Routershow interfaces type
slotport-adapterport Displays WRED
configuration on an interface. - Routershow queueing random-detect Displays
the queuing configuration for WRED. - Routershow queue interface-type
interface-number Displays the header information
of the packets inside a queue.
55Configuring WRED with CBWFQ
- WRED can be combined with CBWFQ. In this
combination CBWFQ provides a guaranteed
percentage of the output bandwidth, WRED ensures
that TCP traffic is not sent faster than CBWFQ
can forward it. - The abbreviated configuration below shows how
WRED can be added to a policy-map specifying
CBWFQ - Router(config)policy-map prioritybw
- Router(config-pmap)class class-default
fair-queue - Router(config-pmap-c)class prioritytraffic
bandwidth percent 40 random-detect - The random-detect parameter specifies that WRED
will be used rather than the default tail-drop
action.
56Low Latency Queuing (LLQ)
- Voice is the most delay sensitive traffic that
must be served first. - WFQ serves all queues on a round robin basic, and
no queue have first priority. - WRED cannot be used with voice, as it is UDP
based with no re-transmission. - To ensure the voice quality, a strict priority
queue (PQ) must be used. - With PQ, voice traffic will always be served
first. - LLQ PQ WFQ.
- Traffic other than voice are less delay sensitive
and are served by WFQ.
57Configuring LLQ
- Give priority to a class within a policy map
- Router(config-pmap-c)priority bandwidth
- e.g. A policy-map that provides 80 kbps for the
traffic class llqtraffic - Router(config)policy-map prioritybw
- Router(config-pmap)class class-default
fair-queue - Router(config-pmap-c)class llqtraffic
priority 80 - Displays priority queuing output if packets are
dropped from the priority queue - Routerdebug priority
- Displays queuing configuration and statistics for
a particular interface - Routershow queue interface-type
interface-number - Displays the configuration of all classes
configured for all traffic policies - Routershow policy-map interface
interface-name
58Traffic Shaping
59Traffic shaping overview
- Traffic shaping reduces congestion problems and
prevent packet loss. - Traffic shaping adjusts the data rate to meet the
requirements. - Cisco IOS QoS software has three types of traffic
shaping - Generic Traffic Shaping (GTS)
- Class-Based
- Frame Relay Traffic Shaping (FRTS)
- All three of these traffic shaping methods are
similar in implementation. - If a packet is deferred, GTS and Class-Based
Shaping use a weighted fair queue to hold the
delayed traffic. FRTS uses either a custom queue
or a priority queue.
60Generic Traffic Shaping (GTS)
- Controls traffic rate by token bucket mechanism.
- Applied on interfaces with access lists.
- Works with a variety of layer 2 technologies,
e.g. Frame Relay, ATM, Switched Multimegabit Data
Service (SMDS) and Ethernet. - Can be used by ISPs to provide the specified data
rate to the customers.
61Configuring GTS for an interface
- GTS can be configured to shape traffic for all
traffic exiting an interface using the
traffic-shape command - Router(config-if)traffic-shape rate bit-rate
burst-size excess-burst-size - Alternatively, traffic defined by an ACL can be
shaped independently of other traffic exiting an
interface using the command - Router(config-if)traffic-shape group
access-list-number bit-rate burst-size
excess-burst-size - The bit-rate determines the average data rate
that is permitted out of the specified interface. - The burst-size is the number of bits that can be
sent as a single burst within a time period. The
period Tc is equal to burst-size / bit-rate. - Whenever less than the burst-size is sent during
an interval, the remaining number of bits, up to
the excess-burst-size, can be used to send more
than the burst size in a later interval.
Configuring the excess-burst-size to be the same
as the burst-size effectively disables any excess
burst capability.
62GTS for Frame Relay networks
- Traffic shaping in Frame Relay is controlled by
BECN and FECN signals. - Command traffic-shape rate enables traffic
shaping for outbound traffic. - To configure a Frame Relay subinterface to
estimate the available bandwidth when backward
explicit congestion notification (BECN) signals
are received, use the traffic-shape adaptive
interface configuration command. - To reply to FECN, or generate BECN, use the
command traffic-shape fecn-adapt.
Backward Explicit Congestion Notifications (BECN)
Forward Explicit Congestion Notifications (FECN)
Frame Relay cloud Congested
Sender
Receiver
63Configuring GTS for Frame Relay networks
- Enable outbound traffic shaping on an interface
- Router(config-if)traffic-shape rate bit-rate
burst-size excess-burst-size - Configures the minimum bit rate that traffic is
shaped to when backward explicit congestion
notification (BECNs) are received on an
interface. It is common to set this to the CIR of
the Frame-Relay link - Router(config-if)traffic-shape adaptive
bit-rate - This command configures reflection of BECN
signals as forward explicit congestion
notifications (FECNs) are received. - Router(config-if)traffic-shape fecn-adapt
- With adaptive GTS, the router uses BECNs to
estimate the available bandwidth and adjust the
transmission rate accordingly. The actual maximum
transmission rate will be between the rate
specified in the traffic-shape adaptive command
and the rate specified in the traffic-shape rate
command.
64Verifying GTS configuration
- The following commands can be used to verify the
configuration and operation Generic Traffic
Shaping - show traffic-shape
- show traffic-shape statistics
65QoS using Low Speed Links
66QoS using Low Speed Links
- Many of the QoS features explored in LAN can be
applied in WAN. - However, low bandwidth WAN links are significant
contributors to latency and require special
attention.
67Link efficiency mechanisms
- A significant problem associated with low speed
WAN links is the possibility of vital traffic
becoming trapped behind streams of less important
traffic. - Link efficiency mechanisms can be used to give
priority to one class of traffic over another. - One such mechanism that can be used to reduce the
latency for low volume traffic streams is
weighted fair queuing. - However, if the WAN bandwidth is very low, even
being trapped behind a single large packet may
introduce too much latency for delay sensitive
voice traffic.
68Link fragmentation and interleaving
- One of the primary contributors to both delay and
jitter is serialization delay. - This is often caused by a time sensitive packet
getting stuck in traffic behind a large data
packet, such as FTP. This is more significant in
slow links. - Link fragmentation is the process of breaking up
large packets to allow smaller, more time
sensitive packets to proceed through the network
in a timely manner. - Interleaving is the processes of weaving (??)
time sensitive packets into the train of
fragmented data packets.
69Link fragmentation and interleaving (LFI)
Multilink PPP
- Large data frames can adversely delay delivery of
small voice packets, reducing speech quality. - e.g. In a 56kbps link, a 1500 bytes data frame
needs 214ms to finish transmission. The voice
frames cannot afford to wait for such a long
time. - Fragmenting these large data frames into smaller
ones and interleaving voice packets among the
fragments reduces jitter and delay. - The target end-to-end one-way delay should not
exceed 150 ms. For voice applications,
recommended serialization delay, on a per hop
basis, is 10 ms and should not exceed 20 ms. - In cases with a WAN link of more than 768 Kbps,
the delay is low enough (15ms for 1500 bytes).
Therefore the fragmentation feature is not
needed. However, there is still a need for some
type of QoS mechanism.
70Compressed Real-Time Protocol (cRTP)
- Real Time Protocol (RTP) is used to transmit real
time data (e.g. Voice, video). - Transmitting a payload of 20 bytes needs a 40
bytes header (20 bytes IP header 8 bytes UDP
header 12 bytes RTP header). - As the header consumes most bandwidth of a slow
link, it needs compression.
71Configuring cRTP
- Enable RTP header compression on the interfaces
of both ends - Router(config-if)ip rtp header-compression
passive - To compress the TCP headers without enabling
cRTP, use the command - Router(config-if)ip tcp header-compression
passive
72Summary
- This module has outlined the components of
Quality of Service and the IOS mechanisms for
delivering end-to-end QoS through - Classification
- Marking
- Policing
- Traffic-shaping and
- Link efficiency mechanisms.
- Although the general principles for implementing
QoS are quite straightforward, there many types
of QoS and sometimes several can be used in
combination. - QoS is managing and ensuring
- Reliable packet delivery (reduce packet
loss) - Timely packet delivery (reduce latency)
- Consistent packet delivery (control jitter)