Performance Architecture

Download Report

Transcript Performance Architecture

Performance Architecture
•
Describes how user, application, device, and (existing)
network requirements for performance (capacity, delay, and
RMA [reliability, maintainability, and availability]) will be met
•
within the planned network.
The performance architecture is the newest of the component
architectures, and it is rapidly evolving to include many new
mechanisms to achieve network performance.
Performance Architecture
Objectives
•We will learn:
•
What performance means in a network, including descriptions of
mechanisms to achieve performance
•
How to determine the relationships both among these mechanisms
and between performance and the other architectural components
•
How to develop the performance architecture.
•
Develop goals for performance that will guide the development of
this architecture.
Performance Architecture
Background
•Performance is the set of levels for capacity, delay, and RMA in a network.
•
Desirable to optimize these levels, to one or more sets of traffic
flows, based on groups of users, applications, and/or devices.
•Performance architecture: is the set of performance mechanisms to
configure, operate, manage, provision, and account for resources in the
network that support traffic flows.
•Where these mechanisms are applied within the network, and the sets of
internal and external relationships between this and other component
architectures.
Performance Architecture
Background
•Importance of developing Performance Architecture:
•
Determining the performance goals of a network.
•
Performance may be applied to:
•
Improve the overall performance of the network (e.g., to improve response
times and throughput to all users)
•
Support a particular group or groups of users or applications, maybe new or
planned applications
•
Control resource allocation for accounting, billing, and/or management
purposes
Performance Architecture
Background
•performance consists of one or more of the following (Figure 8.1):
• controlling traffic inputs to the network (admission and rate
controls)
• adjusting the baseline performance of the network (traffic or
capacity engineering)
• controlling all or part of the network for delivery of specific
services (prioritizing, scheduling, and conditioning traffic
flows)
• implementing a feedback loop to users, applications,
devices, and management to modify controls as necessary.
Performance Architecture
Developing Goals for Performance
•toward developing performance architecture, we should answer the
following questions:
1. Are performance mechanisms necessary for this network?
2. What are we trying to solve, add, or differentiate by adding
performance mechanisms to this network?
3. Are performance mechanisms sufficient for this network?
• we should already have the information needed to make a decision
from the requirements and flow analyses.
•
•
avoid implementing mechanisms just because they are
interesting or new.
 For example, it may be tempting to implement QoS
mechanisms in a network, even when there are no clear
goals or problems to solve.
start simple and work toward a more complex architecture.
 Simplicity may be achieved by:
1. implementing performance mechanisms only in selected
areas of the network (e.g, at the access or distribution
[server] networks)
2. By using only one or a few mechanisms
3. by selecting only those mechanisms that are easy to
implement, operate, and maintain.
Performance Architecture
Developing Goals for Performance
•There should be information in the requirements and flow analyses that
can help in determining the need for performance mechanisms in a
network; include:
• Clearly different sets of network performance requirements, per user,
group, application, device, and/or flow
• Requirements to bill and account for network service.
•When you plan to implement performance mechanisms in a network, you
should also determine whether or not your customer is willing to pay the
costs for such mechanisms.



For example, does your customer have a network staff capable
of configuring, operating, and maintaining QoS, SLAs, and
policies?
If not, are they willing to pay the cost to acquire such staff, or
outsource performance (and some portion of network
management)?
Performance is not a capability that is implemented once and
then forgotten; it requires continual support.
 If your customer is not willing to provide that support,
 it is better not to implement such mechanisms.
Performance Architecture
Developing Goals for Performance
•when performance mechanisms are implemented and not supported,
maintained, or kept current, performance in the network can actually
degrade to a point where it would be better not to have any performance
mechanisms at all.
•Some common problems that are addressed by the performance
architecture include:
•
•
•
•
•
Improving the overall performance of a network
Improving the performance to select users, applications, and/or
devices
Changing the network from a cost center to profitability
Merging multiple traffic types over a common network infrastructure
Differentiating (and possibly charging) customers for multiple levels
of service
Performance Architecture
Performance Mechanisms
•Performance mechanisms are:
•
Quality of Service (QoS)
•
Resource Control (RC) (prioritization, traffic management, scheduling,
and queuing)
•
Service-Level Agreements (SLA)
•
Policies.
•Subsets of these mechanisms are usually used together to form a
comprehensive approach to providing single-tier and multi-tier performance in a
network.
•These mechanisms provide the means to identify traffic flow types, measure
their temporal characteristics, and take various actions to improve performance
for individual flows, groups of flows, or for all flows in the network.
Performance Architecture
Quality of Service
•QoS, is determining, setting, and acting upon priority levels for traffic
flows.
•QoS is usually associated with
• IP QoS (including MPLS), type of service (ToS), and Frame
Relay committed information rate (CIR).
•IP-based traffic, there are two standard types of QoS (two views of
network service):
• differentiated services (DiffServ, or DS)
• perspective of aggregating traffic flows on a per-hop basis
based on traffic behavior
• integrated services (IntServ, or IS)
• perspective of supporting traffic flows on an individual, endto-end basis.
Performance Architecture
Quality of Service
•IntServ: specifies a fine-grained QoS system
• every router in the system implements IntServ, and every
application that requires some kind of guarantees has to make
an individual reservation.
• Resource Reservation Protocol "RSVP“: is the underlying
mechanism to signal QoS across the network:
• All machines on the network capable of sending QoS data
send a PATH message every 30 seconds, which spreads out
through the networks.
• Those who want to listen to them send a corresponding
RESV (short for "Reserve") message which then traces the
path backwards to the sender.
Performance Architecture
Quality of Service
•IntServ: specifies a fine-grained QoS system
•DiffServ: coarse-grained control system.
•
IP packets are marked in the type of service (ToS) byte for
IPv4 or in the traffic class byte in IPv6 so that they will
receive the corresponding performance at each network
•
•
device (or hop).
DiffServ defines a set of values for classes of traffic flows
It applies to aggregates of traffic flows (e.g., composite
flows), not individual traffic flows.
Performance Architecture
Quality of Service
•In DiffServ:
•
IP packets are marked in the type of service (ToS) byte for IPv4 or in the
traffic class byte in IPv6
•
defines a set of values (termed differentiated services code points, or
DSCPs) for classes of traffic flows, to be used by resource control
mechanisms.
•
it applies to aggregates of traffic flows (e.g., composite flows), not
individual traffic flows.
•
By aggregating flows into traffic classes
•
The main reason for this is for scalability
•
Storing and maintaining state information become more tenable
•
Traffic classes for DiffServ:
•
Best-effort: normal IP packets
•
Assured Forwarding (AF): assured forwarding can be used for traffic
with both delay and capacity requirements (e.g., multimedia or
tele∗services)
•
Expedited Forwarding (EF) : traffic that has delay requirements (e.g.,
real-time or interactive)
Performance Architecture
Quality of Service
•In IntServ:
•
defines values and mechanisms for allocating resources to flows across
the end-to-end path of the flow.
•
placing importance on supporting a flow at every network device in the
end-to-end path of that flow.
•
it requires resources (e.g., memory, processing, bandwidth) for each flow
•
It requires a mechanism to communicate flow requirements
•
across network devices (signaling provided by RSVP and MPLS)
•
RSVP is used to request specific quality of service levels from
network devices in the end-to-end path of a traffic flow.
•
Reserve state information about the requested service.
•DiffServ and IntServ can be applied individually or together
•
If both mechanisms applied together:
•
In this case DiffServ is first applied and IntServ is then overlaid onto it
Performance Architecture
Prioritization, Traffic Management, Scheduling, and Queuing
•DiffServ and IntServ are used to apply prioritization, traffic management,
scheduling, and resource control to traffic flows:
•The represent the heart of providing performance in a network
•
Performance architecture:
•
may include one or more of these mechanisms, in conjunction with
QoS, SLAs, and policies
•
These mechanisms can be:
•
implemented in network devices such as routers and switches
•
applied to the network as stand-alone hardware (traffic management
devices)
Performance Architecture
Prioritization, Traffic Management, Scheduling, and Queuing
•Prioritization:
•The process of determining which user, application, device, flow, or connection
gets service ahead of others, or gets a higher level of service.
•Necessary since traffics compete for network resources.
•
limited amount of resources available in any network
•
who gets resources first
•
how much resources they get.
•Begins during the requirements and flow analysis processes.
•Priority levels for users, applications, and devices determined during requirements
analysis
•Priority levels for traffic flows determined during the flow analysis process
•Two high-level views of performance:
•
Single-tier performance: (may apply across the entire network)
•
Multi-tier performance: one or more groups of traffic flows, based on
groups of users, applications, and/or devices (may apply in select areas,
or as an addition to single-tier )
Performance Architecture
Prioritization, Traffic Management, Scheduling, and Queuing
Prioritization:
•Multiple levels of performance implies a need to prioritize traffic flows
•Prioritization is based on importance and urgency
•The basic case of prioritization when all have the same priority level
•
the case in best-effort networks
•When greater than the general case
•
they will have higher priority levels.
 Priority level may be:
•
•
•
changed based on urgency
based on:
 Protocol type (e.g., TCP versus UDP)
 Service, or port number
 IP or MAC-layer address
 Or by other information embedded within the traffic
• maintained in databases and coupled with policies and SLAs
Priority levels are used by network devices:
 To determine if traffic flows will be allowed on the network
(admission control)
 Scheduling of traffic flows onto the network
 Conditioning of flows throughout the network.
Performance Architecture
Prioritization, Traffic Management, Scheduling, and Queuing
Traffic Management
•Consists of:
•
Admission control: the ability to refuse access to network resources
•
Traffic conditioning: a set of mechanisms that modify (increase or
decrease) performance to traffic flows
•Admission control:
•
Uses priority levels to change the behavior of network access
•
In a best-effort network without admission control, access to the network
all traffic flows have a (more or less) equal chance to get network
resources.
•
Access is permitted, denied, or sometimes delayed, based on the relative
priority of that traffic.
Performance Architecture
8.4.2 Prioritization, Traffic Management, Scheduling, and Queuing
Traffic Management
•
Traffic conditioning
•
Traffic flows are identified and distinguished|:
•
Classification is the ability to identify traffic flows
•
looks at various parts of the IP packet
•
IP addresses, port numbers, protocol types or may look
deeper into a packet.
•
For example, voice over IP (VoIP) signaling flows
may be determined by looking for session initiation
protocol (SIP) identifiers
•
Upon identifying traffic flows
•
Packets may be marked/ tagged with a priority level
•
Examples: tagging packets with DiffServ Code Points (DSCPs)
for best-effort (BE), assured forwarding (AF), and expedited
forwarding (EF) priority levels.
Performance Architecture
Prioritization, Traffic Management, Scheduling, and Queuing
Traffic Management
•After classification; traffic may be metered to determine their performance levels.
•Metering: measuring the temporal performance
•
traffic rates and burst sizes
•Metering:
•
is a capability provided in network devices (e.g., routers and switches)
•
can also be applied as a separate network device
•
For example, a traffic flow may be metered over a period of 1
second. Each second, the peak data rate for that flow is compared
with a capacity boundary of 1.5 Mb/s, which was input into the
network device from an SLA developed for that traffic flow.
Performance Architecture
Prioritization, Traffic Management, Scheduling, and Queuing
Traffic Management
•Metering a traffic flow can determine whether or not a flow is within performance
boundaries (Figure 8.4).
•
Conforming traffic is within performance boundaries
•
no action is taken
•
forwarded to the appropriate output queue
•
Non-conforming traffic is outside of performance boundaries
Performance Architecture
Prioritization, Traffic Management, Scheduling, and Queuing
Traffic Management
•Non-conforming: (it is exceeding the specifications of an SLA)
•
•
subject to shaping or dropping
•
Shaping is delaying traffic to change a performance characteristic
•
Dropping is discarding traffic
Non-conforming traffic may also be marked, with no other action taken
•To shape non-conforming traffic:
•
sent to a shaper queue where delay is added; (changes the performance
of that traffic flow)
•
Consider an SLA for a traffic flow that specifies a peak rate of 1.5
Mb/s. A meter is measuring that traffic flow, and calculates a rate of:
200 packets/second∗1500 byte packets∗8 bits/byte = 24 MBits/second
Performance Architecture
Prioritization, Traffic Management, Scheduling, and Queuing
Traffic Management
•To shape non-conforming traffic:
•
Consider an SLA for a traffic flow that specifies a peak rate of 1.5
Mb/s. A meter is measuring that traffic flow, and calculates a rate
of:
200 packets/second∗1500 byte packets∗8 bits/byte = 24 MBits/second
•This is compared with the SLA specification (1.5 MBits/second) and found to be non-conforming.
Subsequent packets are then forwarded to a shaper queue, where they are delayed by an average of
10 ms. As a result, only 100 packets can be transmitted per second, and the rate of that traffic flow
becomes:
100 packets/second∗1500 byte packets∗8 bits/byte = 12 MBits/second
•Shaping continues either for a specified period of time or until the traffic flow is again conforming
•The most serious action that can be taken on traffic is dropping, or discarding, packets
•This is done when a traffic flow is seriously exceeding its performance boundary, or when the network
device is congested to the point where dropping packets is necessary. Traffic conditioning functions are
shown in Figure 8.5
Performance Architecture
Prioritization, Traffic Management, Scheduling, and Queuing
Scheduling
•Scheduling is the mechanism that determines the order in which traffic is
processed for transmission.
•
provided through network management
•
or as part of the QoS
•Scheduling may be:
•
proprietary (enterprise-specific)
•
or standards-based use scheduling algorithms:
•
include weighted fair queuing (WFQ)
•
class-based queuing (CBQ)
•The combination of QoS, prioritization, traffic management, and scheduling can
be applied across a network to achieve various performance levels for traffic
flows (Figure 8.6)
Performance Architecture
Prioritization, Traffic Management, Scheduling, and Queuing
Queuing
•Queuing is storing packets within a network device while they wait for processing.
•Locations where packets are stored (queues):
•
holding packets received from the network
•
processing for QoS
•
holding packets for transmission onto the network
•There are a number of queuing mechanisms available in network devices.
•
For example, queue mechanisms may treat all packets in the same way
•
may randomly select packets for processing
•
may favor particular packets
•
the following queuing mechanisms achieve that:
•
First in first out (FIFO)
•
Class-based queuing (CBQ)
•
Weighted fair queuing (WFQ)
•
Random early detect (RED)
•
Weighted RED (WRED)
Performance Architecture
Prioritization, Traffic Management, Scheduling, and Queuing
Queuing
•First in first out (FIFO) queuing: simplest queuing mechanism available
• Packets are stored in a single queue
• Packets are transmitted onto the network in the order that they were
received (at the input queue).
•Class-based queuing (CBQ):
• Multiple queues with differing priorities
• Priority levels are configurable in the network device and indicate the
performance levels required for each traffic type
• Packets of each priority level are placed in their respective queues
• Higher-priority queues are processed before lower-priority queues
•Weighted fair queuing (WFQ)
• Assigns priorities (weights) to queues
• High-priority traffic flows are processed first, and lower-priority traffic flows
share the remaining resources.
Performance Architecture
Prioritization, Traffic Management, Scheduling, and Queuing
Queuing
•Generally, when a queue becomes full (e.g., during periods of congestion),
• packets are dropped either from the beginning of the queue (head) or end
of the queue (tail).
• In either case, the dropping of these packets is likely to be unfair to one or
a few traffic flows.
• As a result, random early detect (RED) was developed to randomize the
packet dropping process across a queue.
• RED will drop packets early (before the queue is actually full) to force
traffic flows (i.e., TCP flows) to adjust by reducing their transmission rate.
•Weighted RED (WRED)
• operates in the same fashion as RED
• but supports multiple priority levels (one for each queue) for dropping
packets