Download General

Document related concepts

Passive optical network wikipedia , lookup

Backpressure routing wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Distributed firewall wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Computer network wikipedia , lookup

IEEE 1355 wikipedia , lookup

Peering wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

IEEE 802.1aq wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

Network tap wikipedia , lookup

Net bias wikipedia , lookup

Asynchronous Transfer Mode wikipedia , lookup

Deep packet inspection wikipedia , lookup

Airborne Networking wikipedia , lookup

Routing wikipedia , lookup

Routing in delay-tolerant networking wikipedia , lookup

Quality of service wikipedia , lookup

Transcript
Traffic Management
&
Traffic Engineering
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
2
What this requires

For video



For voice



low delay (< 100 ms one-way)
For playback


sustained bandwidth of at least 8 kbps
low loss rate
For interactive communication


sustained bandwidth of at least 64 kbps
low loss rate
low delay jitter
For email and archiving

reliable bulk transport
3
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.
4
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)
5
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
6
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
7
Outline

Economic principles

Traffic classes

Time scales

Mechanisms





Queueing
Scheduling
Congestion Control
Admission Control
Some open problems
8
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!!)
9
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!!
10
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
11
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 S
else (-)
t is the end to end delay experienced by a packet
D is the delay deadline
S 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
12
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
13
Example

Assume





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



Single switch, each user imposes load (=0.4)
A’s utility: 4 - d
B’s utility : 8 - 2d
Same delay (d) to both users
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
14
Some economic principles

A single network that provides heterogeneous QoS is
better than separate networks for each QoS


Lowering delay of delay-sensitive traffic increases
welfare



unused capacity is available to others
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
15
Principles applied

A single wire that carries both voice and data is more
efficient than separate wires for voice and data



Moving from a 20% loaded 10 Mbps Ethernet to a 20%
loaded 100 Mbps Ethernet will still improve social
welfare


ADSL
IP Phone
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
16
The two camps

Can increase welfare either by



Which is cheaper?




no one is really sure!
small and smart vs. big and dumb
It seems that smarter ought to be better


matching services to user requirements or
increasing capacity blindly
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!
17
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
18
Network Types

Single-Service Networks



Multi-Service Networks




Provide services for single type of traffic
e.g., Telephone Networks (Voice), Cable Networks (Video),
Internet (Best effort Data)
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.
19
Application Types

Elastic applications (Adjust bandwidth and take what
they get)



Continuous media applications.



Wide range of acceptable rates, although faster is better
E.g., data transfers such as FTP
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
20
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
21
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!!
22
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
PB  p N 
AN
N! ,
N
n
A

n!
n 0
where

 is the call arrival rate (calls /sec)

1/ is the call holding time (3 minutes)

Example: (For A = 12 Erlangs)



A 

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
23
Distributions

Long/heavy-tailed distributions
 power
law
P[X > x]  cx x, ,c > 0
 Pareto
P[X > x] = c  x , x > b

Exponential Distribution
P[X > x] = e-ax
24
Pareto distribution

1<<2 => infinite variance
Power law decays more
slowly than exponential
 heavy tail
25
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
26
Internet traffic models: features

LAN connections differ from WAN connections



Many parameters are heavy-tailed






Higher bandwidth (more bytes/call)
longer holding times
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
27
Outline

Economic principles

Traffic classes

Time scales

Mechanisms

Some open problems
28
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
29
Traffic classes - details

A basic division: guaranteed service and best effort


Guaranteed-service




like flying with reservation or standby
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
30
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
31
Best Effort (Flow Control)

Explicit




Implicit


Packet drop is detected by the source and adjusts the window
transmission (e.g., TCP)
No flow control



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)
Packets are dropped by the network nodes
Sources may not react (e.g, UDP, UBR)
Problems are caused if these two types are mixed!!
32
Traffic subclasses (roadmap)

ATM Forum



based on sensitivity to
bandwidth
GS
 CBR, VBR
BE
 ABR, UBR

IETF


IETF based on RSVP




based on ToS
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
33
ATM Basics
See the ATM Forum Presentation
34
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)
7
6
5
4
3
2
1
0
Generic Flow
Virtual Path
Control
Identifier
Virtual Path
Virtual Channel
Identifier
Identifier
Virtual Channel
Identifier
Virtual Channel
Payload Type
CLP
Identifier
Identifier
Header Error
Check
Payload
(48 bytes)
5 Bytes
48 Bytes
CLP = Cell Loss Priority
35
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
36
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)
37
VCs In ATM
Virtual Path
Transmission Path
Virtual Channel
38
Virtual Path Switch
(VP - Switch)
VP - Switch
VP1
VP4
VC3
VC4
VC5
VC1
VC2
VP2
VP5
VC!
VC2
VC3
VC4
VC5
VP3
VC6
VC7
VP6
VC6
VC7
39
VP / VC Switch
VC3
VC2
VC1
VC2
VC1
VC3
VP3
VC2
VC3
VC1
VP1
VP4
VP2
VP5
VC4
VC5
VC4
VC5
VP/VC Switch
40
ATM Network Example
D
2
Switch 2
Access
S2
Switch 1
Mux
S1
CAC



Switch 3
Core
D1
CAC
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
41
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
42
ATM Forum BE subclasses

Available Bit Rate (ABR)




Unspecified Bit Rate (UBR)




users get whatever is available
zero loss if network signals (in RM cells) are obeyed
no guarantee on delay or bandwidth
like ABR, but no feedback
no guarantee on loss
presumably cheaper
Guaranteed Frame Rate (GFR)

like UBR/ABR, expressed in terms of frame rate
43
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)
44
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))
45
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
46
Cell Rates

Peak Cell Rate (PCR), Line Cell Rate (LCR)
T=1/PCR

t=1/LCR
Sustained Cell Rate (SCR) = PCR*(Ton/Ton+Toff)
Ton
Toff
47
Quality of Service

Cell Transfer Delay (CTD)

Cell Delay Variation (CDV)
time
Cell arrival pattern
Queuing point
(e.g. mux, switch)
Cell departure
pattern without CDV
Cell departure
pattern with CDV
Switch transit delay
Negative CDV
Positive CDV
48
Cell Transfer Delay Probability Density
Variable component of
delay, due to buffering
and cell scheduling.
49
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
50
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
51
Attributes of Each Service Category
52
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”
53
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
54
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
55
QoS Building Blocks
• Backbone supporting QoS: speed
and scale
• Packet / Service classification
(sorting)
• Bandwidth management and
admission control
• Queue management
• Congestion management
• Granular measurements
56
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.
57
IETF

Internet currently provides only single class of “besteffort” service.


Existing applications are elastic.




No admission control and no assurances about delivery
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?
58
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
59
IETF int-serv (Integrated Services)

Focus on per-flow QoS.



Many concerns:





Support specific applications such as video streaming.
Based on mathematical guarantees.
Complexity
Scalability
Business model
Charging
Uses RSVP (Resource-Reservation Protocol)

To signal QoS requirements
60
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
61
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
62
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
63
IETF BE subclasses

Interactive burst


Interactive bulk



bounded asynchronous service, where bound is qualitative, but
pretty tight
 e.g. paging, messaging, email
bulk, but a human is waiting for the result
e.g. FTP
Asynchronous bulk


junk traffic
e.g netnews
64
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
65
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.
66
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
IP Service
Type Byte
Diff-Serv
Header
Precedence
D
PHB
T
R
C
MBZ
Resv
67
DiffServ
1.
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
DSCP marked
at edge
SLA defines capacity
at each service level (DSCP)
Direction of data flow
68
Diff-Serv Network Architecture
POP
POP
Backbone
POP
Edge Functions
• Packet classification
• Bandwidth management
• L3 metering
• Security filtering
• Access aggregation
POP
Scalable Solutions Require
Cooperative Edge and
Backbone Functions
Backbone Functions
• High-speed switching and transport
• QoS enforcement
• QoS interworking
69
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
Backbone
Customer
Premise
Network Edge
Packet Classifier
Policy
Specification
70
Multi-field Packet Classification
L3-DA
Field 1
L3-SA
Field 2
L4-PROT
Field k
…
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
Action
Example: packet (5.168.3.32, 152.133.171.71, …, TCP)
Packet Classification: Find the action associated with the
highest priority rule matching an incoming packet header.
71
Courtesy Nick McKeown@Stanford
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.
72
Courtesy Nick McKeown@Stanford
Routing Lookup: Instance of 1D Classification

One-dimension (destination address)

Forwarding table  classifier

Routing table entry  rule

Outgoing interface  action

Prefix-length  priority
73
Courtesy Nick McKeown@Stanford
Example 4D Classifier
Rule L3-DA
L3-SA
L4DP
L4PROT
Action
R1
152.163.190.69/255.
255.255.255
152.163.80.11/25
5.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
74
Courtesy Nick McKeown@Stanford
Example Classification Results
Pkt L3-DA
Hdr
P1
P2
L3-SA
L4- L4Rule,
DP PROT Action
152.163.190.69 152.163.80.11
www
tcp
R1, Deny
152.168.3.21
www
udp
R2, Deny
152.163.200.157
75
Courtesy Nick McKeown@Stanford
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
76
DiffServ Routers
DiffServ
Edge
Router
Classifier
DiffServ
Core
Router
Marker
Select PHB
Extract
DSCP
PHB
PHB
PHB
PHB
Meter
Policer
Local
conditions
Packet
treatment
77
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.
78
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!
79
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.
80
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.
81
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.
82
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.
83
Differentiated Services Issues

The key to making Diffserv work is bandwidth
management in the network core.



Definition of end-to-end services for paths that cross
networks with different forwarding behaviors



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.
Some packets will be handled differently in different routers.
Some routers are not DiffServ capable.
Per-Domain Behavior (PDB)
84
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
85
Outline

Economic principles

Traffic classes

Time scales

Mechanisms

Some open problems
86
Time scales

Some actions are taken once per call



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



tell network about traffic characterization and request
resources
in ATM networks, finding a path from source to destination
scheduling
policing and regulation
Traffic management mechanisms must deal with a range
of traffic classes at a range of time scales
87
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
88
Summary (cont.)

Session (call-level)





Day


Signaling
Admission control
Service pricing
Routing (connection-oriented networks)
Peak load pricing
Weeks or months

Capacity planning
89
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
90
Faster than RTT

Scheduling and buffer management

Policing and Regulation
 In
separate set of slides
91
Renegotiation
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
93
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


Fast buffer reservation is similar


works well in conjunction with optimal smoothing
each burst of data preceded by a reservation
Renegotiation is not free


signaling overhead
call admission ?
 perhaps measurement-based admission control
94
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
95
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
96
Signaling
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
98
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
99
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?
100
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
101
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
102
RSVP motivation
103
Multicast reservation styles

Naive multicast (source initiated)



Intelligent multicast (merge replies)





source contacts each receiver in turn
wasted signaling messages
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
104
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?
105
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…
106
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})
107
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
108
Why is signaling hard ?

Complex services

Feature interaction

call screening + call forwarding

Tradeoff between performance and reliability

Extensibility and maintainability
109
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
110
Admission control
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.
112
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
StasticalGain 



Number Connections admitted with Statistical Multiplexing
Number of Connections admitted with peak rate allocation
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.
113
CBR and UBR Admission Control

CBR admission control (Peak Rate Allocation)

simple
 PCR  Link Capacity
i


i
on failure: try again, reroute, or hold
Best-effort admission control


trivial
if minimum bandwidth needed, use CBR test
114
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:
P( Buffer Length  x )  

1 
exp  x1    ln(  )
ln(  )
Using nD/D/1 model:
  2x
1 

P( Buffer Length  x)  
exp  x  1    ln(  )  
ln(  )

  n
115
Cell Loss Probability versus Buffer Size
1
M/D/1
nD/D/1(n=10)
nD/D/1(n=20)
nD/D/1(n=50)
nD/D/1(n=100)
0.1
0.01
0.001
0.0001
1e-005
1e-006
1e-007
1e-008
1e-009
1e-010
5
10
15
20
25
Buffer Size (x) in Cells

=0.9

M/D/1 is conservative

For large N, both give similar performance
30
35
116
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
117
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
rate
time
118
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
rate
119
time
3. Admission with statistical guarantees

Key insight is that as number of calls increases,
probability that multiple sources send a burst
decreases



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


sum of connection rates is increasingly smooth
Theory of large deviations quantitatively bounds the overflow
probability
By allowing a small loss, we can reduce the resources
considerably
120
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
10  n
 0.1 0.910 n 
n
The probability of loss
is less than 10-6
For peak allocation we
need a capacity of 10
By allowing loss, we
reduced resources by
20%!!
121
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
122
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
123
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:
 EBW  Link Capacity
i

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,
i
i
i
SCR  EBW  PCR

There are many methods and models published in the literature
124
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
125
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!!
126
EBW (Second approach by Gibbens and Hunt)




on-off sources with exponentially distributed ‘on’ and
‘off’ periods
Let a source mean “on” period be 1 / i and mean “off”
period be 1 / i. When the source is “on”, it is assumed to
produce information at a constant rate  i
Let B be the buffer size; CLR is the cell loss ratio
required and log CLR / B     ,0
The Effective Bandwidth is given by:
ci 
 i  i  i    i  i  i 2  4i i
2
127
Example

Let traffic descriptors are SCR, PCR=100Mb/s, CLR=10-7 and ABS
(Average Burst Size)=50 cells
i  PCR ABS
i  i .SCRi (PCR  SCR)
9e+007
 i  PCR
SCR=1Mb/s
SCR=10Mb/s
SCR=50Mb/s
8e+007
7e+007
6e+007
5e+007
4e+007
3e+007
2e+007
1e+007
0
200
400
600
800
1000 1200 1400 1600 1800 2000
Buffer Size
128
EBW Observations

Equation implies that for large B, 0 and EBW (ci )
equals to the mean rate of the source
i i i  i 

For a small buffer B, - and the effective bandwidth
of the source will be , the peak information rate
ci   i

The queue length distribution is assumed to be
asymptotically exponential of form:
P(Queue Length  B)  e
 f ci  B
129
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.5H1), CLR is
the target cell loss ratio.
The EBW is given by

C  m  H 1  H 

H
(1 H )
 2 ln CLR

1/ H
a1/(2 H ) B(1H ) / H m1/(2 H )
Note that this equation does not follow the asymptotic
exponential queue length distribution
130
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,
K
N 
j 1
j
j
 LinkCapacity
131
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?
132
Outline

Economic principles

Traffic classes

Mechanisms at each time scale






Faster than one RTT
One RTT
Session
Day
Weeks to months
Some open problems
133
Peak load pricing
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
135
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
136
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
137
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
138
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
139
Outline

Economic principles

Traffic classes

Mechanisms at each time scale






Faster than one RTT
One RTT
Session
Day
Weeks to months
Some open problems
140
Capacity planning
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
142
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 !!
143
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
144
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
145
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
146
are always up (as in telephone network)
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


PB  p N 
AN
N!
N
n
A

n!
n 0
e.g. N = 5, A = 3, blocking probability = 0.11
For a fixed load, as N increases, the call blocking probability
decreases exponentially
147
Sample Erlang curves
148
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
149
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
150
Capacity planning on the Internet



About 10% of campus traffic enters the Internet
A 2500-person campus usually uses a T1 and a 25,000person 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
151
Problems with capacity planning

Routing and link capacity interact

Measurements of traffic matrix

Survivability features
152
Outline

Economic principles

Traffic classes

Mechanisms at each time scale

Some open problems
153
Some open problems
Six open problems

Resource translation

Renegotiation

Measurement-based admission control

Peak-load pricing

Capacity planning

A metaproblem
155
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?
156
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?
157
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?
158
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?
159
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?
160
6. A metaproblem

Can increase user utility either by



Which is cheaper?




no one is really sure!
small and smart vs. big and dumb
It seems that smarter ought to be better


service alignment or
overprovisioning
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?
161
QoS Building Blocks
Signaling
&
Admission
Control
Resource
reservation
QoS
routing
Metering
Policy
Control Plane
Service
restoration
Buffer
management
Traffic
classification
Data
Congestion
avoidance
Traffic
policing
Packet
marking
Queuing and
scheduling
Service
Level
agreement
Traffic
shaping
Plane
162
QoS Routing

Selection of a path satisfying the QoS requirements of
a flow


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


Not necessarily the shortest path
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
163
What is Routing?

Need to find a route from source to destination
b
Source
Destination
f
c
e
164
Single Objective Routing
b
S
D
f
c


e
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).
165
Shortest Hop Count and Edge Length
b
10
12
S
D
f
4
5
c
6
5
7
e

Shortest hop-count: “S-b-D” = 2

Shortest edge length: “S-c-e-D” = 17
166
Routing – Distance Vector
0
1
Routing table at node 5:
3
2
Destination
NextHop
Distance
0
2
3
1
2
2
..
..
..
4
5
167
What Are Routing Tables?
168
Routing Tables
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.
169
Routing Protocols




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 Private Network to Network Interface
(PNNI)
170
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.
171
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.
172
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
173
Routing Problem



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
174
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-toend 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!!
175
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.
176
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.
177
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 “ConstraintBased 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
178
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)
179
Look for feasible path with least number of hops
Constraints:
Delay (D) <= 25,
Available Bandwidth (BW) >= 30
D = 25, BW = 55
D = 30, BW = 20
A
B
D = 2, BW = 90
D = 5, BW = 90
D = 3, BW = 105
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)
180
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
181
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
182
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.
183
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.
184
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
185
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


Load will be distributed across several equal-cost-paths
to destination (Balancing) (ECMP)


Networks without virtual connections can use this
Networks without virtual connections can use this
Support for hierarchy through multiple areas
186
Type of Service (TOS) Routing
“high throughput”
“low delay”
187
OSPF Areas
188
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
189
BGP Example
190
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
191
Evaluating QoS Routing Algorithms

Measuring routing performance


Topology


Blocking ratio, routed bandwidth ratio, average path length
Linear, mesh, ring
Type of traffic

Uniform, Hotspots
192
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
193
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
194
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:
6.
Update distance(u) using MIN operation.
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
195
Bellman-Ford
Algorithm Bellman Ford:
For i=1 to |V| do
For 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)
196
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
w (u  v)  [w1 (u  v), w2 (u  v), , wm (u  v)]
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
197
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 route
5. If w2 constraint is met: OK. Done.
6. Otherwise: modify the object function and go back to 4.
198
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
199
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.
200
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
201
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.
202
Some routing problems

Link-constrained, path-optimization routing

Link-constrained, link-optimization routing

Link-constrained, path-constrained routing

Path-constrained, link-optimization routing
203
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
204
Look for feasible path with least number of hops
Constraints:
Delay (D) <= 25,
Available Bandwidth (BW) = 30
D = 25, BW = 55
D = 30, BW = 20
A
B
D = 2, BW = 90
D = 5, BW = 90
D = 3, BW = 105
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)
205
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
206