traffic management & traffic engineering. 2 an example n executives participating in a worldwide...
Post on 21-Dec-2015
219 views
TRANSCRIPT
Traffic Management&
Traffic Engineering
2
An example
Executives participating in a worldwide videoconference
Proceedings are videotaped and stored in an archive
Edited and placed on a Web site
Accessed later by others
During conference Sends email to an assistant Breaks off to answer a voice call
3
What this requires
For video sustained bandwidth of at least 64 kbps low loss rate
For voice sustained bandwidth of at least 8 kbps low loss rate
For interactive communication low delay (< 100 ms one-way)
For playback low delay jitter
For email and archiving reliable bulk transport
4
What if…
A million executives were simultaneously accessing the network? What capacity should each trunk have? How should packets be routed? (Can we spread load over
alternate paths?) How can different traffic types get different services from
the network? How should each endpoint regulate its load? How should we price the network?
These types of questions lie at the heart of network design and operation, and form the basis for traffic management.
5
Traffic management
Set of policies and mechanisms that allow a network to efficiently satisfy a diverse range of service requests The mechanisms and policies have to be deployed at both
node level as well as network level Tension is between diversity and efficiency
Traffic management is necessary for providing Quality of Service (QoS) Subsumes congestion control (congestion == loss of
efficiency)
6
Traffic Engineering
Engineering of a given network so that the underlying network can support the services with requested quality
Encompasses Network Design
Capacity Design (How many nodes, where) Link Dimensioning (How many links, what capacity) Path Provisioning (How much bandwidth end-to-end) Multi-homing (Reliability for customer) Protection for Reliability (Reliability in Network)
Resource Allocation Congestion Control
routing around failures adding more capacity
7
Why is it important?
One of the most challenging open problems in networking
Commercially important AOL ‘burnout’ Perceived reliability (necessary for infrastructure) Capacity sizing directly affects the bottom line
At the heart of the next generation of data networks
Traffic management = Connectivity + Quality of Service
8
Outline
Economic principles
Traffic classes
Time scales
Mechanisms Queueing Scheduling Congestion Control Admission Control
Some open problems
9
Let’s order Pizza for home delivery
Customer calls a closest pizza outlet (what is selection based on??) orders a pizza
Requirement specification• type, toppings (measurable quantities)
order arrives at home Service Quality
• How fast it arrived• Is the right pizza? Anything missing (quality measurements)
Customer Satisfaction (based on feeling!!, all parameters not measurable) How was the service? Is Pizza cold or hot? Is it fresh?
Pizza company How many customers and how fast to serve Customer Satisfaction – Only through complaints (cannot really measure) What they know – only what customer ordered (Requirement!!)
10
Economics Basics: utility function
Users are assumed to have a utility function that maps from a given quality of service to a level of satisfaction, or utility Utility functions are private information Cannot compare utility functions between users
Rational users take actions that maximize their utility Can determine utility function by observing
preferences Generally networks do not support signaling of utility
They only support signaling of requirements (bandwidth, delay)
Networks use resource allocation to make sure requirements are satisfied
Measurements and Service Level Agreements (SLAs) determine customer satisfaction!!
11
Example: File Transfer
Let u(t) = S - t u(t) = utility from file transfer S = satisfaction when transfer infinitely fast t = transfer time = rate at which satisfaction decreases with time
As transfer time increases, utility decreases
If t > S/ , user is worse off! (reflects time wasted)
Assumes linear decrease in utility
S and can be experimentally determined
12
Example: Video Conference
Every packet must receive before a deadline
Otherwise, the packet is too late and cannot be used
Model:
u(t) = if (t < D) then Selse (-)
t is the end to end delay experienced by a packetD is the delay deadlineS is the satisfaction - is the cost (penalty) for missing deadline
- causes performance degradation
Sophisticated Utility measures not only delay but packet loss too u() = S(1- ) where is the packet loss probability
13
Social welfare
Suppose network manager knew the utility function of every user
Social Welfare is maximized when some combination of the utility functions (such as sum) is maximized while minimizing the infrastructure cost
An economy (network) is efficient when increasing the utility of one user must necessarily decrease the utility of another
An economy (network) is envy-free if no user would trade places with another (better performance also costs more)
Goal: maximize social welfare subject to efficiency, envy-freeness, and making a profit
14
Example
Assume Single switch, each user imposes load (=0.4) A’s utility: 4 - d B’s utility : 8 - 2d Same delay (d) to both users
Conservation law [(idi) = Constant] 0.4d + 0.4d = C => d = 1.25 C => Sum of utilities = 12-3.75 C
If B wants lower delay say to 0.5C, then A’s delay = 2C Sum of utilities = 12 - 3C (Larger than before) By giving high priority to users that want lower delay, network
can increase its utility Increase in social welfare need not benefit everyone
A loses utility, but may pay less for service
15
Some economic principles
A single network that provides heterogeneous QoS is better than separate networks for each QoS unused capacity is available to others
Lowering delay of delay-sensitive traffic increases welfare can increase welfare by matching service menu to user
requirements BUT need to know what users want (signaling)
For typical utility functions, welfare increases more than linearly with increase in capacity individual users see smaller overall fluctuations can increase welfare by increasing capacity
16
Principles applied
A single wire that carries both voice and data is more efficient than separate wires for voice and data ADSL IP Phone
Moving from a 20% loaded 10 Mbps Ethernet to a 20% loaded 100 Mbps Ethernet will still improve social welfare increase capacity whenever possible
Better to give 5% of the traffic lower delay than all traffic low delay should somehow mark and isolate low-delay traffic
17
The two camps
Can increase welfare either by matching services to user requirements or increasing capacity blindly
Which is cheaper? no one is really sure! small and smart vs. big and dumb
It seems that smarter ought to be better otherwise, to get low delays for some traffic, we need to give
all traffic low delay, even if it doesn’t need it But, perhaps, we can use the money spent on traffic
management to increase capacity
We will study traffic management, assuming that it matters!
18
How useful are utility functions and economic framework?
Do users really have such functions that can be expressed mathematically? Practically no or less clear Even if users cannot come up with a mathematical formula,
they can express preference of one set of resources over other
These preferences can be codified as utility function Best way to think about utility functions is that they may
allow us to come up with a mathematical formulation of the traffic management problem that gives some insight
Practical economic algorithms may never be feasible
But policies and mechanisms based on these are still relevant
19
Network Types
Single-Service Networks Provide services for single type of traffic e.g., Telephone Networks (Voice), Cable Networks (Video),
Internet (Best effort Data) Multi-Service Networks
Provide services for multiple traffic types on the same network e.g., Asynchronous Transfer Mode (CBR, VBR, ABR, UBR),
Frame Relay, Differentiated Services (Diff-Serv), Integrated Services (Int-Serv), MPLS with Traffic Engineering
Application types need to match the service provided
Traffic models are used for the applications in order to match services, design, deploy the equipment and links.
20
Application Types
Elastic applications (Adjust bandwidth and take what they get) Wide range of acceptable rates, although faster is better E.g., data transfers such as FTP
Continuous media applications. Lower and upper limit on acceptable performance Sometimes called “tolerant real-time” since they can adapt
to the performance of the network E.g., changing frame rate of video stream “Network-aware” applications
Hard real-time applications. Require hard limits on performance – “intolerant real-time” E.g., control applications
21
Traffic models
To align services, need to have some idea of how applications, users or aggregates of users behave = traffic model e.g. how long a user uses a modem e.g. average size of a file transfer
Models change with network usage
We can only guess about the future
Two types of models measurements educated guesses
22
Telephone traffic models
How are calls placed? call arrival model studies show that time between calls is drawn from an
exponential distribution call arrival process is therefore Poisson memoryless: the fact that a certain amount of time has
passed since the last call gives no information of time to next call
How long are calls held? usually modeled as exponential however, measurement studies show it to be heavy tailed means that a significant number of calls last a very long
time specially after usage of modems!!
23
Traffic Engineering for Voice Networks
For a switch with N trunks, and with large population of users (M), the probability of blocking (i.e., a call is lost) is given by Erlang-B formula
is the call arrival rate (calls /sec) 1/ is the call holding time (3 minutes) Example: (For A = 12 Erlangs)
PB = 1% for N = 20; A/N = 0.6 PB = 8% for N = 18; A/N = 0.8 PB = 30% for N = 7; A/N = 1.7
A
nA
NA
pP N
n
n
N
NB where,
!
!
0
24
Distributions
Long/heavy-tailed distributions power law
P[X > x] cx x, ,c > 0
ParetoP[X > x] = c x , x > b
Exponential Distribution
P[X > x] = e-ax
25
Pareto distribution
1<<2 => infinite variance
Power law decays more slowly than
exponential heavy tail
26
Internet traffic modeling
A few apps account for most of the traffic WWW FTP telnet
A common approach is to model apps (this ignores distribution of destination!) time between app invocations connection duration # bytes transferred packet inter-arrival distribution
Little consensus on models
But two important features
27
Internet traffic models: features
LAN connections differ from WAN connections Higher bandwidth (more bytes/call) longer holding times
Many parameters are heavy-tailed examples
# bytes in call call duration
means that a few calls are responsible for most of the traffic these calls must be well-managed also means that even aggregates with many calls not be
smooth can have long bursts
New models appear all the time, to account for rapidly changing traffic mix
28
Outline
Economic principles
Traffic classes
Time scales
Mechanisms
Some open problems
29
Traffic classes
Networks should match offered service to source requirements (corresponds to utility functions)
Example: telnet requires low bandwidth and low delay utility increases with decrease in delay network should provide a low-delay service or, telnet belongs to the low-delay traffic class
Traffic classes encompass both user requirements and network service offerings Applications match the traffic to the service offering Request resources from the network accordingly
30
Traffic classes - details
A basic division: guaranteed service and best effort like flying with reservation or standby
Guaranteed-service utility is zero unless app gets a minimum level of service
quality bandwidth, delay, loss
open-loop flow control with admission control e.g. telephony, remote sensing, interactive multiplayer
games Best-effort
send and pray closed-loop flow control e.g. email, net news
31
GS vs. BE (cont.)
Degree of synchrony time scale at which peer endpoints interact GS are typically synchronous or interactive
interact on the timescale of a round trip time e.g. telephone conversation or telnet
BE are typically asynchronous or non-interactive interact on longer time scales e.g. Email
Sensitivity to time and delay GS apps are real-time
performance depends on wall clock BE apps are typically indifferent to real time
automatically scale back during overload
32
Best Effort (Flow Control)
Explicit Network Tells at what rate the source should send the
packets Network elements may compute connection fair share
based on Max-Min allocation (e.g, ABR in ATM Networks) Or it can be based on 1 bit congestion indicator (e.g., EFCI
in ABR of ATM Networks) Implicit
Packet drop is detected by the source and adjusts the window transmission (e.g., TCP)
No flow control Packets are dropped by the network nodes Sources may not react (e.g, UDP, UBR)
Problems are caused if these two types are mixed!!
33
Traffic subclasses (roadmap)
ATM Forum based on sensitivity to
bandwidth GS
CBR, VBR BE
ABR, UBR
IETF based on ToS
IETF based on RSVP based on sensitivity to delay GS
intolerant tolerant
BE interactive burst interactive bulk asynchronous bulk
IETF based in DiffServ PHB EF, 4 AFs and BE
34
ATM Basics
See the ATM Forum Presentation
35
ATM Basics
Logical or Virtual Connection
Connection is first established using signaling protocol Route from the source
to the destination is chosen
The same route is used for all cells (fixed size packets) of the connection
No routing decision for every cell (they are switched in the same path)
CLP = Cell Loss PriorityCLP = Cell Loss Priority
5 Bytes5 Bytes
48 Bytes48 Bytes
Virtual Channel Virtual Channel IdentifierIdentifier
77 66 55 44 33 22 11 00
Payload Payload Type Type
IdentifierIdentifier
CLPCLP
Generic Flow Generic Flow ControlControl
Virtual Path Virtual Path IdentifierIdentifier
Virtual Path Virtual Path IdentifierIdentifier
Virtual Channel Virtual Channel IdentifierIdentifier
Virtual ChannelVirtual ChannelIdentifierIdentifier
Header ErrorHeader ErrorCheckCheck
PayloadPayload(48 bytes)(48 bytes)
Virtual ChannelVirtual ChannelIdentifierIdentifier
36
Virtual Circuits in ATM
Virtual Circuit Identifier is represented jointly by:
Virtual Channel Identifier (VCI) Virtual Path Identifier (VPI)
Virtual Channel (VC)
Path for cell associated with a connection Supports transportation of a data stream Each VC is assigned a unique VCI on a
link
37
Virtual Channels in ATM
Virtual Path (VP)
Grouping of virtual channels on a physical link
Switching can be performed on the path basis:
reduced overheads Each virtual path is assigned Virtual Path
Identifier (VPI)
38
VCs In ATM
Virtual Channel
Virtual Path
Transmission Path
39
Virtual Path Switch (VP - Switch)
VC3VC4VC5
VC!VC2
VC6VC7
VC1VC2
VC3VC4VC5
VC6VC7
VP1
VP2
VP3
VP4
VP5
VP6
VP - Switch
40
VP / VC Switch
VC4VC5
VC4VC5
VP2 VP5
VC1
VC3
VC2 VC2 VC1 VC3
VP3
VP4VP1
VP/VC Switch
VC2VC3VC1
41
ATM Network Example
Each connection has its own traffic descriptors such as PCR, SCR, MBS, CDVT, CLR, MCR
A Connection Admission Control algorithm (CAC) will check for the resources at queuing points to make a decision on admissibility
Network efficiency depends upon the CAC
CACS1 D1
CAC
D2
S2
Switch 1 Switch 3
Switch 2
Mux
Access
Core
42
ATM Forum GS subclasses
Constant Bit Rate (CBR) constant, cell-smooth traffic mean and peak rate are the same e.g. telephone call evenly sampled and uncompressed constant bandwidth, variable quality
Variable Bit Rate (VBR) long term average with occasional bursts try to minimize delay can tolerate loss and higher delays than CBR e.g. compressed video or audio with constant quality,
variable bandwidth
43
ATM Forum BE subclasses
Available Bit Rate (ABR) users get whatever is available zero loss if network signals (in RM cells) are obeyed no guarantee on delay or bandwidth
Unspecified Bit Rate (UBR) like ABR, but no feedback no guarantee on loss presumably cheaper
Guaranteed Frame Rate (GFR) like UBR/ABR, expressed in terms of frame rate
44
ATM Attributes
How do we describe a flow (connection) of ATM Service? Service Category Traffic Parameters or descriptors QoS parameters Congestion (for ABR) Other (for UBR) Cell Loss Priority (CLP=0 or CLP=0+1)
Connections are signaled with various parameters A Connection Admission Control (CAC) procedure
checks for resources in the network If connection is accepted, a “traffic contract” is
awarded to the user (Service Level Agreement)
45
Traffic Descriptors or Parameters
Connection Traffic Descriptor Source Traffic Descriptor: PCR, SCR, MBS, MCR,
MFS Cell Delay Variation Tolerance (): upper bound on
amount of cell delay that is introduced by the network interface and the UNI (due to interleaving, physical layer overhead, multiplexing, etc.)
Conformance Definition: unambiguous specification of conforming cells of a connection at the UNI ( a policing function is used to check for conformance such as Generic Cell Rate Algorithm (GCRA))
46
Traffic Parameters (Source Traffic Descriptor)
Peak Cell Rate (PCR): upper bound on traffic submitted by source (PCR = 1/T, where T = minimum cell spacing
Sustainable Cell Rate (SCR): upper bound on “average rate” of traffic submitted by source (over a larger T)
Maximum Burst Size (MBS): maximum number of cells sent continuously at PCR
Minimum Cell Rate (MCR): used with ABR and GFR, minimum cell rate requested, access to unused capacity up to PCR (elastic capacity = PCR-MCR)
Maximum Frame Size (MFS): maximum size of a frame in cells available for GFR service
47
Cell Rates
Peak Cell Rate (PCR), Line Cell Rate (LCR)
T=1/PCRt=1/LCR
Sustained Cell Rate (SCR) = PCR*(Ton/Ton+Toff)
Ton Toff
48
Quality of Service
Cell Transfer Delay (CTD)
Cell Delay Variation (CDV)
Cell arrival pattern
Queuing point (e.g. mux, switch)
Cell departure pattern without CDV
Cell departure pattern with CDV
Switch transit delayNegative CDV Positive CDV
time
49
Cell Transfer Delay Probability Density
Variable component of delay, due to buffering and cell scheduling.
50
QoS Parameters
Peak-to-peak cell delay variation (CDV): acceptable delay variation at destination. The peak-to-peak CDV is the (1 - ) quantile of the CTD minus the fixed CTD that could be experienced by any delivered cell on a connection during the entire connection holding time.
Maximum Cell Transfer Delay (maxCTD): maximum time between transmission of first bit of a cell at the source UNI to receipt of its last bit at the destination UNI
Cell Loss Ratio: ratio of lost cells to total transmitted cells on a connection = Lost Cells/Total Transmitted Cells
51
Other Attributes
Congestion Control defined only for ABR service category uses network feedback controls ABR flow control mechanism (more later)
Other Attributes (introduced July 2000) Behavior class selector (BCS):
for IP differentiated services (DiffServ) provides for different levels of service among UBR
connections implementation dependent, no guidance in specs
Minimum desired cell rate (MDCR): UBR application minimum capacity objective
52
Attributes of Each Service Category
53
Service Paradigm
Quantitative Commitments Sets explicit values Ensures service quality through resource
allocation and traffic policing Qualitative Commitments
Relative measure and no explicit guarantees Some unspecified level of quality through
“network engineering”
54
Quantitative Commitments
Generally connection oriented transport
Network nodes maintain per-flow state info
QoS (or GOS) requirements of each connection is explicitly specified and signaled
Network enforces traffic regulation (policing, shaping) if necessary and allocates resources for each connection
Examples: Voice networks (POTS), ATM, FR
Expensive and under-utilized
55
Qualitative Commitments
Generally connection less transport
no per-flow state info is maintained due to flow aggregation
QoS requirements are not explicitly specified
Network may not enforce traffic regulation
May allocate resources for logical groups (such as VPN)
Examples: IP, LANs
Cheap and over-utilized
56
QoS Building Blocks•Backbone supporting QoS:
speed and scale
•Packet / Service classification (sorting)
•Bandwidth management and admission control
•Queue management
•Congestion management
•Granular measurements
57
Functions Needed
Admission control - some way to limit usage relative to resources.
Packet scheduling - some way to treat different packets differently.
Classifier mechanism - some way to sort packets into different treatment groups.
Policies and rules for allocating resources.
58
IETF
Internet currently provides only single class of “best-effort” service. No admission control and no assurances about delivery
Existing applications are elastic. Tolerate delays and losses Can adapt to congestion
Future “real-time” applications may be inelastic.
Should we modify these applications to be more adaptive or should we modify the Internet to support inelastic behavior?
59
IETF ToS (1-byte Type-of-Service)
Bits 0-2: Precedence. Bit 3: 0 = Normal Delay, 1 = Low Delay. Bits 4: 0 = Normal Throughput, 1 = High Throughput. Bits 5: 0 = Normal Relibility, 1 = High Relibility. Bit 6-7: Reserved for Future Use
60
IETF int-serv (Integrated Services)
Focus on per-flow QoS. Support specific applications such as video streaming. Based on mathematical guarantees.
Many concerns: Complexity Scalability Business model Charging
Uses RSVP (Resource-Reservation Protocol) To signal QoS requirements
61
IETF int-serv (Integrated Services)
Guaranteed service Targets hard real-time applications. User specifies traffic characteristics and a service requirement. Requires admission control at each of the routers. Can mathematically guarantee bandwidth, delay, and jitter.
Controlled load. Targets applications that can adapt to network conditions within
a certain performance window. User specifies traffic characteristics and bandwidth. Requires admission control at each of the routers. Guarantee not as strong as with the guaranteed service.
e.g., measurement-based admission control. Best effort
62
RSVP
1. Sender sends PATH message to network
2. PATH leads data through the network
3. Routers install per-flow state
4. Receiver responds with RESV
5. RESV follows PATH trail back towards sender
6. Routers accept resource request (commit resources to flow) or reject resource request
7. Data is handled in network elements
Direction of data flow
63
IETF GS subclasses
Tolerant GS nominal mean delay, but can tolerate “occasional”
variation not specified what this means exactly uses controlled-load service even at “high loads”, admission control assures a source
that its service “does not suffer” it really is this imprecise!
Intolerant GS need a worst case delay bound equivalent to CBR+VBR in ATM Forum model
64
IETF BE subclasses
Interactive burst bounded asynchronous service, where bound is qualitative,
but pretty tight e.g. paging, messaging, email
Interactive bulk bulk, but a human is waiting for the result e.g. FTP
Asynchronous bulk junk traffic e.g netnews
65
IETF Diff-Serv (Differentiated Services)
Intended to address the following difficulties with Intserv and RSVP;
Scalability: maintaining states by routers in high speed networks is difficult due to the very large number of flows
Flexible Service Models: Intserv has only two classes, want to provide more qualitative service classes; want to provide ‘relative’ service distinction (Platinum, Gold, Silver, …)
Simpler signaling: (than RSVP) many applications and users may only want to specify a more qualitative notion of service
66
Diffserv PHB (Per-Hop-Behavior)
Packet is marked in the Type of Service (TOS) in IPv4, and Traffic Class in IPv6.
6 bits used for Differentiated Service Code Point (DSCP) and determine PHB that the packet will receive. EF, 4 classes of AF, each with 3 drop priorities (AF11,
AF12, AF13, AF21, AF22, AF23, AF31, AF32, AF33, AF41, AF42, AF43)and Best-Effort (BE)
2 bits are currently unused.
67
PHB: Class Selector
Derived from IP Precedence values
6 bit diff-serv code point (DSCP) determines per-hop behavior of packet treatment Expedited Forwarding (EF): low loss and latency Assured Forwarding (AF): 4 classes, 3 drop precedence Best Effort (BE): classical IP
No absolute guarantees
Resv PHB
MBZ T R C Precedence D IP Service Type Byte
Diff-Serv Header
68
DiffServ1. Routers configured for certain PHBs (Per Hop Behavior)
2. Resources are allocated to PHBs
3. Edge routers are configured to mark DSCP (requests PHB) based on classification information
4. Traffic arriving at edge router marked with DSCP
5. Traffic in core routers go to PHB requested by DSCP
Direction of data flow
DSCP marked at edge
SLA defines capacityat each service level (DSCP)
69
Diff-Serv Network Architecture
Edge FunctionsEdge Functions• Packet classification
• Bandwidth management
• L3 metering
• Security filtering
• Access aggregation
Backbone FunctionsBackbone Functions• High-speed High-speed switching and transport
• QoS enforcement
• QoS interworking
Backbone
POP
POP
POP
POP
Scalable Solutions Require Cooperative Edge andBackbone Functions
70
Packet Classification
• Up to six traffic classes via ToS precedence bits
• Classification by physical port, IP address, application, IP protocol, etc.
• Network or external assignment
CustomerPremise
Backbone
Network Edge Packet Classifier
PolicyPolicySpecificationSpecification
71
Multi-field Packet Classification
Packet Classification: Find the action associated with the highest priority rule matching an incoming packet header.
Field 1 Field 2 … Field k Action
Rule 1 5.3.40.0/21 2.13.8.11/32 … UDP A1
Rule 2 5.168.3.0/24 152.133.0.0/16
… TCP A2
… … … … … …
Rule N 5.168.0.0/16 152.0.0.0/8 … ANY AN
Example: packet (5.168.3.32, 152.133.171.71, …, TCP)
L3-DA L3-SA L4-PROT
Courtesy Nick McKeown@Stanford
72
Formal Problem Definition
Given a classifier C with N rules, Rj, 1 j N, where Rj consists of three entities:
1) A regular expression Rj[i], 1 i d, on each of the d header fields,
2) A number, pri(Rj), indicating the priority of the rule in the classifier, and
3) An action, referred to as action(Rj). For an incoming packet P with the header considered as a d-tuple of points (P1, P2, …, Pd), the d-dimensional packet classification problem is to find the rule Rm with the highest priority among all the rules Rj matching the d-tuple; i.e., pri(Rm)
> pri(Rj), j m, 1 j N, such that Pi matches Rj[i], 1 i d. We call rule Rm the best matching rule for packet P.
Courtesy Nick McKeown@Stanford
73
Routing Lookup: Instance of 1D Classification
One-dimension (destination address)
Forwarding table classifier
Routing table entry rule
Outgoing interface action
Prefix-length priority
Courtesy Nick McKeown@Stanford
74
Example 4D Classifier
Rule
L3-DA L3-SA L4-DP
L4-PROT
Action
R1 152.163.190.69/255.255.255.255
152.163.80.11/255.255.255.255
* * Deny
R2 152.168.3/255.255.255
152.163.200.157/255.255.255.255
eq www
udp Deny
R3 152.168.3/255.255.255
152.163.200.157/255.255.255.255
range 20-21
udp Permit
R4 152.168.3/255.255.255
152.163.200.157/255.255.255.255
eq www
tcp Deny
R5 * * * * Deny
Courtesy Nick McKeown@Stanford
75
Example Classification Results
Pkt Hdr
L3-DA L3-SA L4-DP
L4-PROT
Rule, Action
P1 152.163.190.69
152.163.80.11 www tcp R1, Deny
P2 152.168.3.21 152.163.200.157
www udp R2, Deny
Courtesy Nick McKeown@Stanford
76
Classification algorithms
Types Linear search Associative search Trie-based techniques Crossproducting Heuristic algorithms
Algorithms So far Good for two fields, but do not scale to more than two
fields, OR Good for very small classifiers (< 50 rules) only, OR Have non-deterministic classification time, OR Either too slow or consume too much storage
Another Project Item
77
DiffServ Routers
Classifier Meter PolicerMarker
DiffServ Edge Router
ExtractDSCP
Localconditions
PHBPHBPHBPHB
Select PHB
Packet treatment
DiffServ Core Router
78
Edge Router/Host Functions
Classification: marks packets according to classification rules to be specified.
Metering: checks whether the traffic falls within the negotiated profile.
Marking: marks traffic that falls within profile. Conditioning: delays and then forwards, discards, or
remarks other traffic.
79
Core Functions
Forwarding: according to “Per-Hop-Behavior” or PHB specified for the particular packet class; such PHB is strictly based on class marking (no other header fields can be used to influence PHB).
BIG ADVANTAGE:
No state info to be maintained by routers!
80
Forwarding (PHB)
PHB results in a different observable (measurable) forwarding performance behavior.
PHB does not specify what mechanisms to use to ensure required PHB performance behavior.
Examples: Class A gets x% of outgoing link bandwidth over
time intervals of a specified length. Class A packets leave first before packets from
class B.
81
Forwarding (PHB)
Expedited Forwarding (EF): Guarantees a certain minimum rate for the EF
traffic. Implies isolation: guarantee for the EF traffic
should not be influenced by the other traffic classes.
Admitted based on peak rate. Non-conformant traffic is dropped or shaped. Possible service: providing a virtual wire.
82
Forwarding (PHB)
Assured Forwarding (AF): AF defines 4 classes with some bandwidth and
buffers allocated to them. The intent is that it will be used to implement
services that differ relative to each other (e.g., gold, silver,…).
Within each class, there are three drop priorities, which affect which packets will get dropped first if there is congestion.
Lots of studies on how these classes and drop priorities interact with TCP flow control.
Non-conformant traffic is remarked.
83
Example of EF: A Virtual Leased Line Service
Service offers users a dedicated traffic pipe. Guaranteed bandwidth between two points. Very low latency and jitter since there should be
no queuing delay (peak rate allocation). Admission control makes sure that all links
in the network core have sufficient EF bandwidth. Simple case: sum of all virtual link bandwidth is
less than the capacity of the slowest link. Traffic enforcement for EF traffic limits how
much EF traffic enters the network.
84
Differentiated Services Issues
The key to making Diffserv work is bandwidth management in the network core. Simple for simple services such as the virtual pipe, but it is
much more challenging for complex service level agreements.
Notion of a “bandwidth broker” that manages the core network bandwidth.
Definition of end-to-end services for paths that cross networks with different forwarding behaviors Some packets will be handled differently in different
routers. Some routers are not DiffServ capable.
Per-Domain Behavior (PDB)
85
Some points to ponder
The only thing out there is CBR and asynchronous bulk!
There are application requirements. There are also organizational requirements (link sharing)
Users needs QoS for other things too! billing privacy and security reliability and availability
86
Outline
Economic principles
Traffic classes
Time scales
Mechanisms
Some open problems
87
Time scales
Some actions are taken once per call tell network about traffic characterization and request
resources in ATM networks, finding a path from source to destination
Other actions are taken during the call, every few round trip times feedback flow control
Still others are taken very rapidly,during the data transfer scheduling policing and regulation
Traffic management mechanisms must deal with a range of traffic classes at a range of time scales
88
Summary of mechanisms at each time scale
Less than one round-trip-time (cell or packet level) Scheduling and buffer management Regulation and policing Policy routing (datagram networks)
One or more round-trip-times (burst-level) Feedback flow control Retransmission Renegotiation
89
Summary (cont.)
Session (call-level) Signaling Admission control Service pricing Routing (connection-oriented networks)
Day Peak load pricing
Weeks or months Capacity planning
90
Outline
Economic principles
Traffic classes
Mechanisms at each time scale Faster than one RTT
scheduling and buffer management regulation and policing policy routing
One RTT Session Day Weeks to months
Some open problems
91
Faster than RTT
Scheduling and buffer management
Policing and Regulation
In separate set of slides
Renegotiation
93
Renegotiation
An option for guaranteed-service traffic
Static descriptors don’t make sense for many real traffic sources interactive video
Multiple-time-scale traffic burst size B that lasts for time T for zero loss, descriptors (P,0), (A, B)
P = peak rate, A = average; B= Burst Size T large => serving even slightly below P leads to large
buffering requirements one-shot descriptor is inadequate
94
Renegotiation (cont.)
Renegotiation matches service rate to traffic
Renegotiating service rate about once every ten seconds is sufficient to reduce bandwidth requirement nearly to average rate works well in conjunction with optimal smoothing
Fast buffer reservation is similar each burst of data preceded by a reservation
Renegotiation is not free signaling overhead call admission ?
perhaps measurement-based admission control
95
RCBR
Extreme viewpoint
All traffic sent as CBR
Renegotiate CBR rate if necessary
No need for complicated scheduling!
Buffers at edge of network much cheaper
Easy to price
Open questions when to renegotiate? how much to ask for? admission control what to do on renegotiation failure
96
Outline
Economic principles
Traffic classes
Mechanisms at each time scale Faster than one RTT One RTT Session
Signaling Admission control
Day Weeks to months
Some open problems
Signaling
98
Signaling
How a source tells the network its utility function or resource requirements
Two parts how to carry the message (transport) how to interpret it (semantics)
Useful to separate these mechanisms
99
Signaling semantics
Classic scheme: sender initiated
SETUP, SETUP_ACK, SETUP_RESPONSE
Admission control
Tentative resource reservation and confirmation
Simplex and duplex setup
Doesn’t work for multicast
100
Resource translation
Application asks for end-to-end quality
How to translate to per-hop requirements? E.g. end-to-delay bound of 100 ms What should be bound at each hop?
101
Signaling: transport
Telephone network uses Signaling System 7 (SS7) Carried on Common Channel Interoffice Signaling (CCIS)
network CCIS is a datagram network SS7 protocol stack is loosely modeled on ISO (but predates
it) Signaling in ATM networks uses Q.2931 standard
part of User Network Interface (UNI) complex layered over Service Specific Connection Oriented Protocol
SSCOP (a reliable transport protocol) and AAL5
102
Internet signaling transport: RSVP
Main motivation is to efficiently support multipoint multicast with resource reservations
In unicast, a source communicates with only one destination
In multicast, a source communicates with more than one destination
Signalling Progression Unicast Naive multicast Intelligent multicast Naive multipoint multicast RSVP
103
RSVP motivation
104
Multicast reservation styles
Naive multicast (source initiated) source contacts each receiver in turn wasted signaling messages
Intelligent multicast (merge replies) two messages per link of spanning tree source needs to know all receivers and the rate they can absorb doesn’t scale
Naive multipoint multicast two messages per source per link can’t share resources among multicast groups
105
RSVP
Receiver initiated
Reservation state per group, instead of per connection
PATH and RESV messages
PATH sets up next hop towards source(s)
RESV makes reservation
Travel as far back up as necessary how does receiver know of success?
106
Reservation Styles
How resource reservations are aggregated/merged for multiple receivers in the same multicast group
Two options, specified in the receivers’ reservation requests Reservation attribute: reservation is shared over flows
from multiple senders, or distinct for each sender Sender selection: explicit list or wildcard
Three reservation styles are defined…
107
Filters
Allow receivers to separate reservations
Fixed filter receive from exactly one source
Dynamic filter dynamically choose which source is allowed to use
reservation
Fixed-Filter:• Specifies a distinct
reservation for each sender and an explicit list of senders
• Symbolic representation: FF(S1{Q1}, S2{Q2}, …)
Shared-Explicit:• Specifies that a single
resource reservation is to be shared by an explicit list of senders
• Symbolic representation: SE(S1, S2, … {Q})
Wildcard-Filter:• Specifies that a single
resource reservation is to be shared by all senders to this address
• Symbolic representation: WF(*{Q})
108
Soft state
State in switch controllers (routers) is periodically refreshed
On a link failure, automatically find another route
Transient!
But, probably better than with ATM
109
Why is signaling hard ?
Complex services
Feature interaction call screening + call forwarding
Tradeoff between performance and reliability
Extensibility and maintainability
110
Outline
Economic principles
Traffic classes
Mechanisms at each time scale Faster than one RTT One RTT Session
Signaling Admission control
Day Weeks to months
Some open problems
Admission control
112
Connection Admission Control (CAC)
Can a call be admitted?
(bandwidth allocated for all connections) Link Rate Otherwise call is inadmissible What bandwidth to allocate to connections??
Depends upon the traffic, traffic model assumed and the Queueing methodology deployed and model used to estimate the required bandwidth
Procedure: Map the traffic descriptors associated with a connection onto
a traffic model; Use this traffic model with an appropriate queuing model for
each congestion point, to estimate whether there are enough system resources to admit the connection in order to guarantee the QoS at every congestion (or queuing) point.
Allocate resources if the connection is accepted.
113
CAC (continued ..)
Depending on the traffic models used, the CAC procedures can be too conservative by over allocating the resources.
This reduces the statistical gains
An efficient CAC is the one which produces maximum amount of statistical gain at a given congestion point without violating the QoS.
The efficiency of the CAC thus depends on how closely the two steps (traffic model and queuing model) above model reality.
Both the traffic and queuing models are well researched and widely published in the literature.
allocationratepeakwithadmittedsConnectionofNumber
ngMultiplexilStatisticawithadmittedsConnectionNumberGainStastical
114
CBR and UBR Admission Control
CBR admission control (Peak Rate Allocation) simple
on failure: try again, reroute, or hold Best-effort admission control
trivial if minimum bandwidth needed, use CBR test
CapacityLinkPCRi i
115
CAC for CBR (with small jitter)
Given the buffer size B, the link capacity C and the peak cell rate of the connection PCRi, determine a load such that the probability of queue length exceeding B is less than , where is a small number such as 10-10
Using M/D/1 model:
Using nD/D/1 model:
)ln(1exp)ln(
1)(
xxLengthBufferP
)ln(1
2exp
)ln(
1)(
n
xxxLengthBufferP
116
Cell Loss Probability versus Buffer Size
=0.9 M/D/1 is conservative For large N, both give similar performance
1e-010
1e-009
1e-008
1e-007
1e-006
1e-005
0.0001
0.001
0.01
0.1
1
5 10 15 20 25 30 35
P(B
uff
er L
ength
> x
)
Buffer Size (x) in Cells
M/D/1nD/D/1(n=10)nD/D/1(n=20)nD/D/1(n=50)
nD/D/1(n=100)
117
VBR admission control
VBR peak rate differs from average rate = burstiness if we reserve bandwidth at the peak rate, wastes
bandwidth if we reserve at the average rate, may drop packets during
peak key decision: how much to overbook
Four known approaches
peak rate admission control worst-case admission control admission control with statistical guarantees measurement-based admission control
118
1. Peak-rate admission control
Reserve at a connection’s peak rate
Pros simple (can use FIFO scheduling) connections get negligible delay and loss works well for a small number of sources
Cons wastes bandwidth peak rate may increase because of scheduling jitter
time
rate
119
2. Worst-case admission control
Characterize source by ‘average’ rate and burst size (LBAP)
Use WFQ or rate-controlled discipline to reserve bandwidth at average rate
Pros may use less bandwidth than with peak rate can get an end-to-end delay guarantee
Cons for low delay bound, need to reserve at more than peak rate! implementation complexity
time
rate
120
3. Admission with statistical guarantees
Key insight is that as number of calls increases, probability that multiple sources send a burst decreases sum of connection rates is increasingly smooth
With enough sources, traffic from each source can be assumed to arrive at its average rate
Put in enough buffers to make probability of loss low Theory of large deviations quantitatively bounds the
overflow probability By allowing a small loss, we can reduce the
resources considerably
121
Example
Consider an ensemble of 10 identical and independent sources, each of which is “on” with a probability 0.1. When “on” has a transmission rate of 1.0. What is the probability that they overflow a shared link of capacity 8?
The probability that n sources are “on” out of 10 is given by
nn
n
109.01.010
The probability of lossis less than 10-6
For peak allocation weneed a capacity of 10
By allowing loss, wereduced resources by20%!!
122
3. Admission with statistical guarantees (contd.) Assume that traffic from a source is sent to a buffer of size B
which is drained at a constant rate R
If source sends a burst, its delay goes up
If the burst is too large, bits are lost
Equivalent bandwidth (EBW) of the source is the rate at which we need to drain this buffer so that the probability of loss is less than L (and the delay in leaving the buffer is less than d)
If many sources share a buffer, the equivalent bandwidth of each source decreases (why?)
Equivalent bandwidth of an ensemble of connections is the sum of their equivalent bandwidths
123
3. Admission with statistical guarantees (contd.) When a source arrives, use its performance
requirements and current network state to assign it an equivalent bandwidth
Admission control: sum of equivalent bandwidths at the link should be less than link capacity
Pros can trade off a small loss probability for a large decrease in
bandwidth reservation mathematical treatment possible can obtain delay bounds
Cons assumes uncorrelated sources hairy mathematics
124
Effective Bandwidth
This model maps each connection’s traffic parameters into a real number EBWi, called the Equivalent Bandwidth or Effective Bandwidth of the connection such that the QoS constraints are satisfied.
Thus, the effective bandwidth is derived as a source property and with this mapping, the CAC rule becomes very simple:
For a connection with an average rate SCRi and peak rate as PCRi, the effective bandwidth is a number between the SCRi and PCRi. That is,
There are many methods and models published in the literature
CapacityLinkEBWi
iii PCREBWSCR
125
Properties of EBW
Additive Property: Effective bandwidths are additive, i.e., the total effective bandwidth needed for N connections equals to the sum of effective bandwidth of each connection
Independence Property: Effective bandwidth for a given connection is only a function of that connection’s parameters. due to the independence property, the effective bandwidth
method could be far more conservative than a method which considers the true statistical multiplexing (i.e., the method which considers the presence of other connections)
With the effective bandwidth’s method, the CAC function can add (or subtract) the effective bandwidth of the connection which is being set-up (or torn down) from the total effective bandwidth. This is not easily possible with any method which does not have the independence property
126
EBW (First Approach by Roberts)
Assumes fluid sources and zero buffering (so that two simultaneously active sources would cause data loss)
Let each source has a peak rate P, mean rate m and link capacity is C and required cell loss is smaller than 10-9
The heuristic to estimate the EBW of a source is: EBW = 1.2m + 60m(P-m) / C
First term says EBW is 1.2 times of mean rate
Second term increases EBW in proportion to the gap between peak and mean (an indicator of source burstiness). This is mitigated by the large link capacity.
Expression is independent of cell loss!!
127
EBW (Second approach by Gibbens and Hunt)
on-off sources with exponentially distributed ‘on’ and ‘off’ periods
Let a source mean “on” period be and mean “off” period be . When the source is “on”, it is assumed to produce information at a constant rate
Let B be the buffer size; CLR is the cell loss ratio required and
The Effective Bandwidth is given by:
i/1
i/1
i
2
42iiiiiiii
ic
0,/log BCLR
128
Example
Let traffic descriptors are SCR, PCR=100Mb/s, CLR=10-7 and ABS (Average Burst Size)=50 cells
0
1e+007
2e+007
3e+007
4e+007
5e+007
6e+007
7e+007
8e+007
9e+007
200 400 600 800 1000 1200 1400 1600 1800 2000
Eff
ecti
ve
Ban
dw
idth
(in
bit
s/se
c)
Buffer Size
SCR=1Mb/sSCR=10Mb/sSCR=50Mb/s
ABSPCRi )(. SCRPCRSCRiii PCRi
129
EBW Observations
Equation implies that for large B, 0 and EBW (ci ) equals to the mean rate of the source
For a small buffer B, - and the effective bandwidth of the source will be , the peak information rate
The queue length distribution is assumed to be asymptotically exponential of form:
iiii
iic
Bcf ieBP ) Length Queue(
130
EBW for Self-similar traffic (By Norros)
Let m is the mean bit rate of the traffic stream, a is the coefficient of variation, B is the buffer size, H is the Hurst parameter of the stream (0.5H1), CLR is the target cell loss ratio.
The EBW is given by
Note that this equation does not follow the asymptotic exponential queue length distribution
)2/(1/)1()2/(1/1)1( ln21 HHHHHHH mBaCLRHHmC
131
Multi-class CAC
In the real world, the traffic flow consists of multiple QoS classes, where, the services may be partitioned and queued separately
To guarantee QoS, a certain amount of bandwidth (or capacity) is reserved for each of the service categories.
With effective bandwidth approach, this assignment becomes very simple. Let Nj be the number of sources for class j and let j be the
effective bandwidth of a source belonging to class j. Let there be K such classes. Then, the CAC for multi-class traffic should check that the total estimated capacity is less than the service rate. That is,
CapacityLinkN j
K
jj
1
132
4. Measurement-based admission
For traffic that cannot describe itself also renegotiated traffic
Measure ‘real’ average load due to ensemble of connections
Users tell peak
If peak + measured average load < capacity, admit
Over time, new call becomes part of average
Problems: assumes that past behavior is indicative of the future how long to measure? when to forget about the past?
133
Outline
Economic principles
Traffic classes
Mechanisms at each time scale Faster than one RTT One RTT Session Day Weeks to months
Some open problems
Peak load pricing
135
Problems with cyclic demand
Service providers want to avoid overload use all available capacity
Hard to do both with cyclic demand (varies over time of day) if capacity C1, then waste capacity if capacity C2, overloaded part of the time
136
Peak load pricing
Traffic shows strong daily peaks => cyclic demand 11AM to Noon and 2PM to 3PM
Can shift demand to off-peak times using pricing
Charge more during peak hours price is a signal to consumers about network preferences helps both the network provider and the user
137
Example
Suppose network capacity = C peak demand = 100 units, off peak demand = 10 units user’s utility = -total price - overload network’s utility = revenue - idleness
Price = 1 per unit during peak and off peak times revenue = 100 + 10 = 110 user’s utility = -110 -(100-C) network’s utility = 110 - (C - off peak load) e.g if C = 100, user’s utility = -110, network’s utility = 20 if C = 60, user’s utility = -150, network’s utility = 60 increase in user’s utility comes as the cost of network’s
utility
138
Example (contd.)
Peak price = 1, off-peak price = 0.2
Suppose this decreases peak load to 60, and off peak load increases to 50
Revenue = 60*1 + 50*0.2 = 70 lower than before
But peak is 60, so set C = 60
User’s utility = -70 (greater than before)
Network’s utility = 60 (same as before)
Thus, with peak-load pricing, user’s utility increases at no cost to network!!
Network can gain some increase in utility while still increasing user’s utility
139
Lessons
Pricing can control user’s behavior
Careful pricing helps both users and network operators
Pricing is a signal of network’s preferences
Rational users help the system by helping themselves
140
Outline
Economic principles
Traffic classes
Mechanisms at each time scale Faster than one RTT One RTT Session Day Weeks to months
Some open problems
Capacity planning
142
Capacity planning
How to modify network topology, link capacity, and routing to most efficiently use existing resources, or alleviate long-term congestion
Usually a matter of trial and error
A more systematic approach: measure network during its busy hour create traffic matrix (source-destination demands) decide topology assign capacity
143
1. Measure network during busy hour
Traffic peaks and flows during day and during week
A good rule of thumb is to build for the worst case traffic
Measure traffic for some period of time, then pick the busiest hour
Usually add a fudge factor for future growth
Measure bits sent from each endpoint to each endpoint we are assuming that endpoint remain the same, only the
internal network topology is being redesigned !!
144
2. Create traffic matrix
Number of bits sent from each source to each destination
We assume that the pattern predicts future behavior probably a weak assumption
what if a web site suddenly becomes popular! Traffic over shorter time scales may be far heavier
Doesn’t work if we are adding a new endpoint can assume that it is similar to an existing endpoint
145
3. Decide topology
Topology depends on three considerations k-connectivity (protection against failures)
path should exist between any two points despite single node or link failures
geographical considerations some links may be easier to build than others
existing capacity
146
4. Assign capacity
Assign sufficient capacity to carry busy hour traffic
Unfortunately, actual path of traffic depends on routing protocols which measure instantaneous load and link status
So, we cannot directly influence path taken by traffic
Circular relationship between capacity allocation and routing makes problem worse higher capacity link is more attractive to routing thus carries more traffic thus requires more capacity and so on…
Easier to assign capacities if routing is static and links are always up (as in telephone network)
147
Telephone network capacity planning
How to size a link so that the call blocking probability is less than a target?
Solution due to Erlang (1927)
Assume we know mean # calls on a trunk (in erlangs)
Mean call arrival rate = l
Mean call holding time = m
Then, call load A = lm
Let trunk capacity = N, infinite # of sources
Erlang’s formula gives blocking probability e.g. N = 5, A = 3, blocking probability = 0.11
For a fixed load, as N increases, the call blocking probability decreases exponentially
N
n
n
N
NB
nA
NA
pP
0!
!
148
Sample Erlang curves
149
Capacity allocation
Blocking probability along a path
Assume traffic on links is independent
Then, probability is product of probability on each link
Routing table + traffic matrix tells us load on a link
Assign capacity to each link given load and target blocking probability
Or, add a new link and change the routing table
150
Capacity planning on the Internet
Trial and error
Some rules of thumb help
Measurements indicate that sustained bandwidth per active user is about 50 Kbps add a fudge factor of 2 to get 100 Kbps
During busy hour, about 40% of potential users are active
So, a link of capacity C can support 2.5C/100 Kbps users
e.g. 100 Mbps FDDI ring can support 2500 users
151
Capacity planning on the Internet
About 10% of campus traffic enters the Internet
A 2500-person campus usually uses a T1 and a 25,000-person campus a T3
Why? regional and backbone providers throttle traffic using pricing e.g. T1 connection to Uunet costs about $1500/month T3 connection to Uunet costs about $50,000/month Restricts T3 to a few large customers
Regional and backbone providers buy the fastest links they can
Try to get a speedup of 10-30 over individual access links
152
Problems with capacity planning
Routing and link capacity interact
Measurements of traffic matrix
Survivability features
153
Outline
Economic principles
Traffic classes
Mechanisms at each time scale
Some open problems
Some open problems
155
Six open problems
Resource translation
Renegotiation
Measurement-based admission control
Peak-load pricing
Capacity planning
A metaproblem
156
1. Resource translation
Application asks for end-to-end quality in terms of bandwidth and delay
How to translate to resource requirements in the network?
Bandwidth is relatively easy, delay is hard
One approach is to translate from delay to an equivalent bandwidth can be inefficient if need to use worst case delay bound average-case delay usually requires strong source
characterization Other approach is to directly obtain per-hop delay bound (for
example, with EDD scheduling)
How to translate from end-to-end to per-hop requirements?
157
2. Renegotiation
Static descriptors don’t make sense for interactive sources or multiple-time scale traffic
Renegotiation matches service rate to traffic
Renegotiation is not free- incurs a signaling overhead
Open questions when to renegotiate? how much to ask for? admission control? what to do on renegotiation failure?
158
3. Measurement based admission
For traffic that cannot describe itself also renegotiated traffic
Over what time interval to measure average?
How to describe a source?
How to account for non-stationary traffic? Traffic whose statically properties vary with time
Are there better strategies?
159
4. Peak load pricing
How to choose peak and off-peak prices?
When should peak hour end?
What does peak time mean in a global network?
160
5. Capacity planning
Simultaneously choosing a topology, link capacity, and routing metrics
But routing and link capacity interact
What to measure for building traffic matrix?
How to pick routing weights?
Heterogeneity?
161
6. A metaproblem
Can increase user utility either by service alignment or overprovisioning
Which is cheaper? no one is really sure! small and smart vs. big and dumb
It seems that smarter ought to be better for example, to get low delays for telnet, we need to give
all traffic low delay, even if it doesn’t need it But, perhaps, we can use the money spent on
traffic management to increase capacity!
Do we really need traffic management?
162
QoS Building Blocks
Signaling&
AdmissionControl
QoSrouting
Resourcereservation
Buffermanagement
Congestionavoidance
Packetmarking
Queuing andscheduling
Trafficshaping
Trafficpolicing
Trafficclassification
Control Plane
Data Plane
Metering
Policy
Servicerestoration
ServiceLevel
agreement
Managem
e
nt
plane
163
QoS Routing
Selection of a path satisfying the QoS requirements of a flow Not necessarily the shortest path
Parameter (Constraint) Consideration Single QoS metric (Single Constraint)
Bandwidth , delay Multiple QoS metrics (Multiple Constraints)
Cost-delay, cost-bandwidth, and bandwidth-delay Path selection process
Find a path considering Flow’s QoS requirements, characteristic, and availability of network resources
QoS routing tends to entail more frequent and complex path computation
164
What is Routing?
Need to find a route from source to destination
Source Destination
b
c
f
e
165
S D
b
c
f
e
Single Objective Routing
Assign certain weights (additive, typically, hopefully) to edges of graph.
Find “shortest” route from source to destination (the route for which the SUM of weights is minimal).
166
Shortest hop-count: “S-b-D” = 2
Shortest edge length: “S-c-e-D” = 17
S D
b
c
f
e
10 12
5 4 6 7
5
Shortest Hop Count and Edge Length
167
0
5
1
2
4
3
Routing table at node 5:
Destination
NextHop Distance
0 2 3
1 2 2
.. .. ..
Routing – Distance Vector
168
What Are Routing Tables?
169
Purpose of a routing table The information in a routing table helps to determine the
optimal route within an internetwork. The routing table is not exclusive to a router. Hosts (nonrouters) may also have a routing table that they
use to determine the optimal route.
Types of routing table entries Network route. A network route is a path to a specific
network ID in the internetwork. Host route. A host route is a path to an internetwork address
(network ID and node ID). Host routes are typically used to create custom routes to specific hosts to control or optimize network traffic.
Default route. A default route is used when no other routes in the routing table are found.
Routing Tables
170
A routing protocol is a set of messages that routers use to determine the network topology and appropriate path to forward data. Routing protocols automatically manage changes in the routing table that occur because of network changes.
Routing Information Protocol (RIP): Designed for exchanging routing information within a small to medium-size network.
Open Shortest Path First (OSPF): Designed for exchanging routing information within a large or very large network.
ATM uses ATM uses Private Network to Network Interface (PNNI)
Routing Protocols
171
RIP
RIP dynamically builds routing tables by announcing the contents of its routing table to its configured interfaces. Uses Distance-Vector and hop count as metric When a router receives a routing update that includes changes to
an entry, it updates its routing table to reflect the new route RIP routers maintain only the best route (the route with the
lowest metric value) to a destination Routers connected to those interfaces receive these
announcements and use them to build the appropriate routing tables.
The routers that receive the announcements then compile their own routing table, which is then transmitted to other routers. This process continues in a manner that should provide each configured router with the routes from each of the other routers.
172
OSPF
Instead of exchanging routing table entries as RIP routers do, OSPF (link state protocol) routers maintain a map of the network that is updated after any change in the network topology. This map is called the link-state database.
OSPF allows a router to calculate the shortest path for sending packets to each node.
The router sends information, called link-state advertisements (LSAs), about the nodes to which it is linked to all other routers on the network. Information is flooded to all routers in the network In large networks, flooding delays and overheads can cause
instabilities in the routing database The router collects information from the other routers, which
it uses for link-state information and to make calculations.
173
Routing Entities
The routing protocol manages the dynamics of the routing process: capturing the state of the network and its available network resources and distributing this information throughout the network.
The routing algorithm uses this information to compute paths that optimize a criterion and/or obey constraints. Current best-effort routing consists of shortest path routing that optimizes the sum over the constituent links of a single measure like hop count or delay.
QoS routing takes into account multiple QoS requirements, link dynamics, as well as the implication of the selected routes on network utilization, turning QoS routing into a notoriously challenging problem
174
The routing protocols (RIP, OSPF, etc.) mainly use hop counts (link costs generally set to 1) to select paths.
This does not meet the requirements of many emerging communication applications.
For example, live multimedia applications must make sure that Packet delays are bounded. Jitters (changes in packet delays) are well controlled. Bandwidth guarantees must be met
Routing Problem
175
Today’s Routing
Best Effort routing
The network resources are fairly shared by packets from different sources
Disadvantages Does not support resource reservation for guaranteed end-
to-end performance. Delays experienced by packets are unpredictable.
The routing (for Traffic Engineering) for the next generation of high-speed wide area networks will be virtual connection-oriented QoS routing (e.g., MPLS)
ATM PNNI uses QoS Routing!!
176
QoS Routing
Dynamic determination of feasible paths
Feasible path selection may be subject to policy constraints, such as path cost, provider selection, protection requirements etc or subject to QoS constraints such as bandwidth, delay, jitter.
Optimization of resource usage.
Based on efficient state-dependent network engineering. Routing protocol has to periodically distribute the current
state of the link QoS metrics (e.g., delay, available bandwidth) to all nodes in the network.
177
Two States maintained by nodes
Local State: Each node is assumed to maintain its up-to-date local state
(queuing and propagation delay, the residual bandwidth of the outgoing link and availability of any other resource information)
The local states are flooded in the network periodically to update other nodes
Global State: The combination of the local state of all nodes. The global state kept by a node is always an
approximation of the current network due to the delay of propagating local states as the network size grows.
178
What is QoS Routing?
One of the key issues in providing QoS guarantees is how to determine paths that satisfy QoS constraints.
Solving this problem is known as “QoS routing” or “Constraint-Based Routing (CBR)” or “Multi-Constrained Path (MCP)”
Need:
Link state database with up to date QoS information of all links
Routing protocols are modified to provide this extra information to nodes in the network
Hard problem: Accurate network state information is very expensive to
maintain (flooding costs, how frequently and how often) Computing QoS paths can be expensive and may need to
be done for each incoming request
179
QoS Routing
Find the path for a given source and destination that best satisfies a given set of criteria (Multiple Constraints).
Performance metrics include:
– Hop count
– Delay
– Jitter
– Data loss rate
– Available bandwidth
– Queue length (available buffer space)
180
Look for feasible path with least number of hops
2 Hop Path ----> Fails (Total delay = 55 > 25 and Min. BW = 20 < 30)
3 Hop Path ----> Succeeds!! (Total delay = 24 < 25, and Min. BW = 90 > 30)
5 Hop Path ----> Don’t consider, although (Total Delay = 16 < 25, Min. BW = 90 > 30)
AB
D = 30, BW = 20
D = 25, BW = 55
D = 5, BW =
90
D = 3, BW = 105
D =
5, B
W =
90
D = 1, BW = 90
D = 5, BW = 90
D = 2, BW = 90
D = 5, BW = 90
D = 14, BW = 90
Constraints: Delay (D) <= 25, Available Bandwidth (BW) >= 30
181
QoS Routing benefits
Path setup Without QoS Routing must probe path & backtrack non optimal path Control traffic and processing overhead and latency
Path setup with QoS Routing optimal route; “focused congestion” avoidance (TE) more efficient Call Admission Control (at the source) more efficient bandwidth allocation (per traffic class) resource renegotiation possible
182
Routing Strategies
Tasks of QoS routing Collect the state information and keep it up to
date Find a feasible path for a new connection
Routing can be divided into three categories according to how the state information is maintained and the search of feasible paths is carried out: Source routing Distributed routing Hierarchical routing
183
Source Routing
Each node maintains a database (image) of the global network state, based on which a feasible routing path is centrally computed at the source.
The global network state is typically updated periodically by a link-state algorithm.
Strengths Achieves simplicity by transforming a distributed problem into a
centralized one. Guarantees loop-free. Easy to implement, evaluate, debug and upgrade
Weakness Communication overhead excessively high for large scale networks The inaccuracy in the global state may cause the QoS routing fail. Computation overhead at the source is excessively high, especially
when multiple constraints are involved.
184
Distributed Routing
The path computation is distributed among the intermediate nodes between the source and the destination.
Some algorithms may require each node to maintain global network state, based on which the routing decision is made on a hop-by-hop basis.
In some flooding-based algorithms, the routing decision depends entirely on the local state.
Strengths The routing response time can be made shorter and more scalable. Searching for multiple paths in parallel for a feasible one increase the
chance of success
Weaknesses Same problem as source routing because of the need of global state
share. When global states at different nodes are inconsistent, loops may
occur.
185
Hierarchical Routing
Intra-domain routing: within a single autonomous system (or routing domain). Routing protocols are known as Interior Gateway Protocols (IGPs). (e.g., OSPF, RIP)
Inter-domain routing: between multiple autonomous systems (or routing domains). Routing protocols are known as Exterior Gateway Protocols (EGPs) (e.g. BGP)
How to extend QoS Routing across multiple areas and multiple domains (AS) is ongoing research at IETF
186
Intra-domain Routing
OSPF: open shortest path first
The domain is divided into various areas
Using link state algorithm to determine routes
Different costs can be used for different TOS Networks without virtual connections can use this
Load will be distributed across several equal-cost-paths to destination (Balancing) (ECMP) Networks without virtual connections can use this
Support for hierarchy through multiple areas
187
Type of Service (TOS) Routing
“low delay”
“high throughput”
188
OSPF Areas
189
Intra-domain routing
BGP: Border Gateway Protocol
Routing between nodes in different Autonomous Systems (AS).
When the protocol is used within an AS for route exchange, it is called Interior BGP (IBGP)
When it is used between AS, it is called Exterior BGP (EBGP)
Uses a distance vector approach
Policy-Based Routing
190
BGP Example
191
TE extensions to OSPF
RFC3630 Intra-area only (not for Inter-area and Inter-AS) This extension makes use of the Opaque LSA of OSPF
Opaque LSA (RFC 2370) is a mechanism to distribute any application specific information to routers.
Based on this, a new LSA is defined, called the Traffic Engineering LSA
Some parameters that are distributed are: Traffic engineering metric (4 octets) Maximum bandwidth (4 octets) Maximum reservable bandwidth (4 octets) Unreserved bandwidth (32 octets) Administrative group (4 octets): a bit mask designating
the group’s Resource Color
192
Evaluating QoS Routing Algorithms
Measuring routing performance Blocking ratio, routed bandwidth ratio, average path length
Topology Linear, mesh, ring
Type of traffic Uniform, Hotspots
193
QoS Update Policies
When should routers update the QoS changes?
Threshold based update triggered if relative change in bandwidth exceeds a
threshold value more accurate for smaller values of available bandwidth
Using clamp-down timers enforces a minimum spacing between two successive updates Large values will have adverse effect on routing
performance small values increase network traffic with many updates
and brings down efficiency
194
Routing Algorithms
Given a graph G=(V,E), a shortest path algorithm finds a path with minimal distance, according to the given link costs, between a pair of source and destination.
Shortest path algorithms are the foundation of network routing.
Every real-world network routing protocol is either a centralized, distributed, or hybrid implementation of such algorithm Dijkstra Bellman-Ford
195
Dijkstra
1. Put all nodes in not-finalized with distance infinity.
2. Distance (S) 0.
3. v S
4. Add v to finalized
5. For all edges e from v to u (u in not-finalized) do:
Update distance(u) using MIN operation.6. Select minimal weight node in not-finalized, denote it v, and
go to 4.
Centralized algorithm in nature
Hard to distribute.
Result is shortest path from S to D
196
Bellman-Ford
Algorithm Bellman Ford:
For i=1 to |V| doFor each edge (v,u) do relax(u,v)
End
relax:= d(u) := min { d(u), d(v) + w((v,u))}
Suitable for distributed implementations
Used by RIP
Works for arbitrary link cost values (however, negative costs cannot form cycles)
197
QoS (Multi-Constraint) Routing Problem
Consider a graph G = (V,E) in which each link u v from node u to node v is characterized by a m dimensional link weight vector
where the component wi > 0 is a QoS measure such as delay, jitter, loss, minimum bandwidth, cost, etc.
The QoS routing algorithm computes the path P that obeys multiple constraints, wi(P) Li for all 1 i m.
For example, we seek a path for which the source-destination delay < 10 ms, total cost < 10, and minimum bandwidth per link is at least 1 Mb/s.
The set Li is user requested quality of service desires and constitutes a constraint vector
)](,),(),([)( 21 vuwvuwvuwvuw m
198
Multi-Constraint Routing Example
Consider one objective to be minimized (w1, cost) and one constraint (w2, delay) to be met.
1. Each edge has two weights w1(e) and w2(e). 2. Want to minimize the two objectives (or minimize one
while constraining the other).3. One approach is to consider some objective function (e.g.,
linear sum of the two weights, i.e, w1 + w2, a variable) as link cost
4. Run Dijkstra and find shortest route5. If w2 constraint is met: OK. Done.6. Otherwise: modify the object function and go back to 4.
199
P and NP Problems
A Class P problem can be solved in polynomial time on real machines and is considered tractable.– Sorting, accounting, shortest path problems, spanning tree problems and
many other problems you use computers to solve daily
A Class NP problem can be solved in exponential time on real machines.– You may be able to solve it in polynomial time.– All Class P problems are also NP.
A problem in NP-P, if exists, cannot be solved in polynomial time on real machines and is considered intractable in practice.
A good way to find a NP-P problem is to consider problems that do not have known polynomial solutions (algorithms). – map coloring problem, traveling salesman problem, automatic theorem
proving, and some QoS routing problems
200
NP-complete
A metric d is said to be additive if, given a path
P=L1,L2,…Ln, d(P) = d(L1)+d(L2)+ … +d(Ln).
– The delay metric is additive.
A metric d is said to be multiplicative if, given a
path P=L1,L2,…Ln, d(P) = d(L1)*d(L2)* … *d(Ln).
Theorem:
Given any N additive/multiplicative metrics and their respective constraints, the problem of finding a path satisfying the N constraints is NP-complete.
201
Routing Types as per some metrics
For some metrics (e.g. bandwidth, buffer space), the state of a path is determined by the state of its bottleneck link
“Link-optimization routing” finds the path that “optimizes” the performance of its bottleneck link according to a given criteria.
– Ex: bandwidth-optimization routing finds the path with the largest bandwidth in the bottleneck link
“Link-constrained routing” finds a path whose bottleneck “satisfies” a given criteria.
– Ex: bandwidth-constrained routing finds a path whose bottleneck supports the given bandwidth
202
Routing Types as per some metrics (contd ..)
For other QoS metrics, such as delay and jitters, the state of a path is determined by the combined state
over all links of the path.
“Path-optimization routing” finds the path that optimizes given metric.
– Example: delay-optimization routing finds a path with the minimum (accumulated) delay.
“Path-constrained routing” finds a path that satisfies the requirement of the given metric.
– Example: delay-constrained routing finds a path whose delay is bounded by the given value.
203
Some routing problems
Link-constrained, path-optimization routing
Link-constrained, link-optimization routing
Link-constrained, path-constrained routing
Path-constrained, link-optimization routing
204
Bandwidth-Delay Constrained Routing
This is a case of link-constrained, path-constrained routing. It lends itself to multimedia applications that demand bandwidth availability and delay bound.
Algorithm
1. Eliminate (Prune) all links that do not meet the bandwidth requirements.
2. Run a traditional shortest path algorithm to find the minimum delay path.
3. The path is accepted, if it meets the delay constraint; otherwise report failure.
We can always get rid of the “link constrained” part by eliminating (pruning) unsatisfactory links. The trick gives rise to the solutions for all the polynomial cases, except the last one, path-constrained, link-optimization routing
205
Look for feasible path with least number of hops
2 Hop Path ----> Fails (Total delay = 55 > 25 and Min. BW = 20 < 30)
3 Hop Path ----> Succeeds!! (Total delay = 24 < 25, and Min. BW = 90 > 30)
5 Hop Path ----> Don’t consider, although (Total Delay = 16 < 25, Min. BW = 90 > 30)
AB
D = 30, BW = 20
D = 25, BW = 55
D = 5, BW =
90
D = 3, BW = 105
D =
5, B
W =
90
D = 1, BW = 90
D = 5, BW = 90
D = 2, BW = 90
D = 5, BW = 90
D = 14, BW = 90
Constraints: Delay (D) <= 25, Available Bandwidth (BW) = 30
206
Inter-Area and Inter-AS
Generally we do not want to distribute QoS information across areas Unnecessary (other areas need not know) Increased complexity in large networks Flooding complexity, policy problems
One solution is to use TE exchanges Border nodes at the intersection of areas or AS can be
used as TE exchanges TE exchanges have QoS information in the area or AS Query the TE exchanges to a compute a feasible path in
their respective areas when crossing multiple areas Compile the whole path