Title: IETF Differentiated Services
1IETF Differentiated Services
- Concerns with Intserv
- Scalability signaling, maintaining per-flow
router state difficult with large number of
flows - Flexible Service Models Intserv has only two
classes. Also want qualitative service classes - behaves like a wire
- relative service distinction Platinum, Gold,
Silver - Diffserv approach
- simple functions in network core, relatively
complex functions at edge routers (or hosts) - Dot define define service classes, provide
functional components to build service classes
2Diffserv Architecture
Edge router - per-flow traffic management -
marks packets as in-profile and out-profile
Core router - per class traffic management -
buffering and scheduling based on marking at
edge - preference given to in-profile packets -
Assured Forwarding
3Edge-router Packet Marking
- profile pre-negotiated rate A, bucket size B
- packet marking at edge based on per-flow profile
User packets
Possible usage of marking
- class-based marking packets of different classes
marked differently - intra-class marking conforming portion of flow
marked differently than non-conforming one
4Classification and Conditioning
- 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 - 2 bits are currently unused
5Classification and Conditioning
- may be desirable to limit traffic injection rate
of some class - user declares traffic profile (eg, rate, burst
size) - traffic metered, shaped if non-conforming
6Forwarding (PHB)
- PHB result 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
7Forwarding (PHB)
- PHBs being developed
- Expedited Forwarding pkt departure rate of a
class equals or exceeds specified rate - logical link with a minimum guaranteed rate
- Assured Forwarding 4 classes of traffic
- each guaranteed minimum amount of bandwidth
- each with three drop preference partitions
8Diffserv and MPLS
- Both are WAN QoS mechanisms. While Diffserv is
used for traffic aggregation and provisioning of
differentiated services, MPLS is mainly used for
traffic aggregation and load balancing.
9MPLS
- Originally introduced as a WAN mechanism for
forwarding packets using label switching instead
of the IP address-based routing and provide
differentiated QoS. - It has found its most use in Traffic Engineering
(TE) - TE requires that traffic follows specific,
possibly nonoptimal, routes to enable diverse
routing, traffic load balancing, and other means
of optimizing network resources. - MPLS forces traffic into these routes or Label
Switched Paths (LSPs).
10Routers or LSRs
- In the MPLS network, routers are called label
switching routers (LSR). - Edge LSRs (also called LERs) provide the
interface between the external IP network and the
LSP. - Core LSRs provide transit services through the
MPLS cloud using the pre-established LSP. - In a SP network, on the ingress the Edge LSR
accepts IP packets and appends MPLS labels. - On the egress, an edge LSR terminates the LSP by
removing MPLS labels and resorting to the normal
IP forwarding.
11FEC
- The forward equivalence class (FEC) is a
representation of a group of packets that share
the same requirements for their transport. All
packets in such a group are provided the same
treatment en route to the destination. - Each LSR builds a table to specify how a packet
must be forwarded. The table, label information
base (LIB) comprises of FEC-to-label bindings.
12Labels and Label Bindings
- A label identifies the path a packet should
traverse - It is encapsulated in a layer-2 header of the
packet -- special MPLS header (aka shim) includes
a label, an experimental field (Exp), an
indicator of additional labels(S), and Time to
live (TTL). - Receiving router uses the label content to
determine the next hop. - Label values are of local significance only
pertaining to hops between LSRs. - Labels are bound to an FEC asa result of some
event or policy
13Label Assignment
- Based on forwarding criteria such as
- destination unicast routing
- traffic engineering
- multicast
- virtual private network
- QoS
14MPLS Signaling
- A signaling protocol performs a variety of
functions such as - setting up LSPs traversing specified sequences of
LSRs derived from the constraint-based routing
(CR) analysis - create the path state in each LSR by performing
label allocation, distribution, and binding - reserve resources in each LSR including
bandwidth, delay, and packet loss bounds - eassign the network resources as necessary
- dynamically reroute during network congestion and
failures - monitor and maintain explicitly routed LSP state
15CR-LDP
- CR-LDP LDP using constraint-based routing
- LDP provides a common understanding between LSR
peers of the meaning of labels used to forward
traffic between them - Message categories
- Discovery -- sent periodically by LSRs to
announce their presence - Session -- to establish, maintain, and terminate
a session between two LDP peers - Advertisement -- to create, change, and delete
label mappings to FECs after a session has been
established - Notification -- to signal and provide advisory
info. - Forward path, hard state with no state refreshes
16RSVP-TE
- Signals between LSRs
- Creates a state for a collection of flows between
the ingress and egress points of a traffic trunk - An LSP aggregates multiple host-to-host flows and
thus reduces the amount of RSVP states in the
network - Uses firm state where Path and Resv messages are
periodically refreshed but their volume is
significantly reduced
17QoS Routing
- As defined in RFC 2386, QoS is a set of service
requirements to be met by the network while
transporting a flow. A flow is a packet stream
from source to a destination with an associated
QoS. - Measurable level of service delivered to network
users which can be characterized by packet loss
probability, available bandwidth, end-to-end
delay, etc. Expressed as a Service Level
Agreement(SLA) between network users and service
providers. - QoS-based routing is defined as a routing
mechanism under which paths for flows are
determined based on some knowledge of resource
availability in the network as well as the QoS
requirement of the flows. A dynamic routing
scheme with QoS considerations.
18QoS Metrics
- Bandwidth, delay, jitter, cost, loss probability
- three types of metrics additive, multiplicative,
concave - Let m(n1,n2) be a metric for link(n1, n2). For
any path P (n1, n2, .., ni, nj), metrci m is - additive, if m(P) m(n1,n2) m(n2,n3) ..
m(ni,nj) (examples are dealy, jitter, cost,
hop-count) - multiplicative, if m(P) m(n1,n2) m(n2,n3)
m(ni,nj) (example is reliability, in which case
0ltm(ni,nj)lt1) - concave, if m(P) minm(n1,n2), m(n2,n3), ,
m(ni,nj) (example is bandwidth meaning that the
bandwidth of the path as a whole is determined by
the link with the minimum available bandwidth)
19Objectives
- To meet QoS requirements of end users.
- To optimize network resource usage
- to gracefully degrade network performance under
heavy load
20Design Issues(1)
- IP routing protocols such as OSPF, RIP, and BGP
are called best-effort routing protocols. They
use only the shortest path to the destination --
single objective optimization algorithms which
consider only one metric (like hop-count). - Much more difficult to design and implement than
Best-effort routing. Many tradeoffs have to be
made. In most cases the goal is not to find the
best solution but to find a viable solution with
acceptable cost.
21Design Issues(2)
- Metrics and path computation
- how do we measure and collect network state
information? - how do we compute routes based on the information
collected? - Mapping of QoS requirements to well defined QoS
Metrics - Computation complexity associated with path
computation (much of QoS routing based on
multiple constraint optimization is NP-complete).
Many heuristic algorithms exist.
22Design Issues (3)
- Path computation is followed by resource
reservation which means that when the path is
chosen the network state in terms of available
resources is changed and such information needs
to propagated throughout the network. - Knowledge propagation and Maintenance
- how often the routing information is exchanged
between the routers? - The tradeoff here is between information accuracy
and efficiency. - For instance, what is available bandwidth? Is it
what is left after reservation or the actual
physically available? - How do we maintain the info collected?(on demand
path computation, aggregation, routing tables?)
23Design Issues (4)
- Scaling by hierarchical aggregation
- Imprecise state information model. Sources of
inaccuracy - network dynamics
- aggregation of routing information
- hidden information
- approximate calculation
- Administrative control -- flow priorities and
preemption, resource control and fairness - Integrate QoS-based routing and Best-effort
routing
24Intra-domain Vs. Inter-domain
- Dynamic path computation to statically
provisioned paths for a few service classes for
intra-domain - Some common features for intra-domain
- admission control, optimal resource usage,
failure notices, support for best-effort flows,
support for multicast routing with receiver
heterogeneity and shared reservation styles - Inter-domain routing scheme have to be scalable
and therefore, simple. - Cannot be based on highly dynamic network state
info - info exchange between domains should be
relatively static
25Routing Strategies
- Source routing
- distributed routing
- hierarchical routing
- they are classified based on the way the state
information is maintained and the search foe
feasible path is carried out
26Source Routing
- Each node maintains the complete global state,
including the network topology and the state
information of every link - Based on the global state, a feasible path is
locally computed at the source node - A control message is sent out along the selected
path to inform the intermediate nodes of their
precedent and successive nodes - A link state protocol is used to update the
global state at every node
27Source Routing (2)
- Strengths simplicity through centralization
avoids many of the distributed computing
problems guarantees loop-free routes
conceptually simple, easy to implement, evaluate,
debug and upgrade centralized heuristics are
much easier to design for some NP-complete
routing problems. - Weaknesses communication overhead to maintain
global state imprecision global state info high
computation overhead at the source In short,
source routing has scalability problem.
28Distributed Routing
- Path is computed by a distributed computation
- Control messages are exchanged among nodes and
state information kept at each node is
collectively used for path search - Requires a distance-vector protocol or link-state
protocol to maintain a global state in the form
of distance vectors at every node. Based on the
distance vectors, the routing is done on a
hop-by-hop basis.
29Distributed Routing (2)
- Strengths path computation is distributed and
result in shorter routing response time
scalable searching multiple paths in parallel
for a feasible path routing decision and
optimization is done entirely based on local
states - Weaknesses dependence on global state flooding
based algorithms which do not maintain global
state have higher communication overheads
difficult to design efficient heuristics in the
absence of detailed topology or link-state info
presence of loops due to inaccurate global state
info at individual nodes (easily detected but
alternate paths are difficult to find)
30Hierarchical Routing
- Nodes are clustered into groups which may be
clustered into higher level groups recursively
creating a multi-level hierarchy. - Each physical node maintains an aggregated global
state -- contains the detailed state info about
the nodes in the same group and aggregated state
info about other groups. - Source routing is used to find a feasible path.
- A control message is sent along this path to
establish the connection. A border node in a
group represented by a logical node receives the
message and uses source routing to extend the
path through the group.
31Hierarchical Routing (2)
- Strengths Scales well retains many advantages
of source routing as well as distributed routing.
- Weaknesses aggregated network state introduces
additional imprecision gets more complicated
when multiple QoS constraints are involved.
32QoS Routing Algorithms
- For Unicast, the problem is to find a network
Path that meets the requirement of a connection
between two end users - For multicast, the problem is to find a multicast
tree rooted at the sender and the tree covers all
receivers with every internal path from the
sender to a receiver satisfying the requirement - QoS requirement as a set of constraints
- link constraint (concave metrics)
- path constraint (additive and multiplicative
metrics) - tree constraint
33Algorithms
- Feasible path is one that has sufficient residual
resources to satisfy the QoS constraints of a
connection - In addition to a feasible path, we also want to
optimize resource utilization -- measured by an
abstract metric cost - Cost could be in dollars or a function of the
buffer or b/w utilization. Cost of a path is the
total cost of all links on the path - the optimization problem is to find the
least-cost path among all feasible paths.
34Difficulties
- Diverse applications and different QoS
requirements. Multiple constraints often make the
routing problem intractable -- finding a path
with two independent path constraints is
NP-complete. - Difficult to determine the optimal operating
point for both QoS and Best effort traffic if
their distributions are different. Best-effort
traffic will suffer if overall traffic
distribution is misjudged - Maintaining up-to-date network state as it
changes dynamically due to transient load
fluctuation, connections in and out and links up
and down.
35Graph-based Models
- A network modeled as a graph ltV, Egt. Nodes (V)
represent switches, routers, and hosts. Edges (E)
represent communication links. Symmetric or
asymmetric links. - Link state may be a triple consisting of residual
b/w, delay, cost - Node state can be combined into the state of the
adjacent links - The delay of a link consists of the link
propagation delay and queueing delay at the node.
The cost of alink is determined by the total
resource consumption at the link and the node.
36State Information
- Local state each node is assumed to maintain its
up-to-date local state including all delays,
residual b/w on the outgoing links, and the
availability of other resources - Global state The combination of the local states
of all nodes. Every node is able to maintain the
global state by either a link-state protocol or a
distance-vector protocol which exchanges the
local states among the nodes periodically. - Link state protocols broadcast the local state of
every node to every other node. Distance vector
protocols periodically exchange distance vectors
among adjacent nodes. Figures 1 and 2
37Aggregate global state
38Links and paths
- For some metrics, the state of a path is
determined by the state of the bottleneck link - link optimization routing -- find a path that has
the largest bandwidth on the bottleneck link --
widest path - link-constrained routing -- find a path whose
bottle neck bandwidth is above a required value
(reduced to link optimization problem after
pruning) - for some other metrics, the state of the path is
determined by the combined state over all links
on the path - path optimization -- least cost routing
- path constrained -- delay constrained
39NP-Complete problem classes
- PCPO -- delay-constrained least-cost routing
find the least cost path with bonded delay - MPC -- delay-delayjitter constrained routing find
a path with both bounded delay and bounded delay
jitter - These two classes are NP-complete if the QoS
metrics are independent and if they are allowed
to be real numbers or unbounded integer numbers. - Solvable in polynomial time if all but one metric
take bounded integers Also if all metrics are
dependent on a common metric (ex. worst-case
delay and delay jitter are functions of b/w in
WFQ)
40Chen-Nahrstedt
- Heuristic for multi-path constrained routing
problem. Example delay-cost constrained - map the cost (or delay) of every link from an
unbounded real number to a bounded integer
Solvable in polynomial time
41Source Routing Algorithms
- Maintain a global state at every node
- most algorithms transform the routing problem to
a shortest path problem and then solve it by
Dijkstras or Bellman-Ford algorithm.
42Salama et. al. Algorithm
- Distributed heuristic algorithm for
delay-constrained least cost routing problem. - A cost vector and a delay vector are maintained
at every node by a distance vector protocol - The cost(delay) vector contains for every
destination the next node on the least-cost
(least-delay) path. - A control message is sent from the source toward
the destination to construct a delay-constrained
path. Loops may occur and detected if the control
message visits a node twice. Routing process is
rolled back until reaching a node from which the
least-cost path was followed.
43Sun-Landgendorfer
- Improves worst-case performance of Salama et. al.
by avoiding loops instead of detecting and
removing loops. - A control message is sent to construct the path
- The message travels along the least-delay path
until reaching a node from which the delay of the
least-cost path violates the delay constraint.
44PNNI and QOSPF
- Hierarchical link-state routing protocol
- Topology information is flooded through the
network -- change (LSA)propagated based on a
threshold model - Traffic classes may be defined to indicate
network resource requirements - Widest-shortest path (which is a minimum hop
count path with maximum bandwidth) may be
pre-computed for every possible destination.