2006 QoS Routing and Forwarding
Benefits of QoS Routing Without QoS routing: –must probe path & backtrack; non optimal path, control traffic and processing OH, latency With QoS routing: –optimal route; “focused congestion” avoidance –efficient Call Admission Control (at the source) –efficient bandwidth allocation (per traffic class) –resource renegotiation easier
Multiple Constraints QoS Routing Given: - a (real time) connection request with specified QoS requirements (e.g., Bdw, Delay, Jitter, packet loss, path reliability, etc) Find: - a min cost (typically min hop) path which satisfies such constraints - if no feasible path found, reject the connection
Example of QoS Routing 2 Hop Path --> Fails (Total delay=55 > 25 and Min BW=20 Succeeds (Total delay=24 30) 5 Hop Path --> Do not consider, although (Total Delay = 16 30) A B D = 30, BW = 20 D = 25, BW = 55 D = 5, BW = 90 D = 3, BW = 105 D = 5, BW = 90 D = 1, BW = 90 D = 5, BW = 90 D = 2, BW = 90 D = 5, BW = 90 D = 14, BW = 90 Constraints: Delay (D) = 30 We look for feasible path with least number of hops
The Components of QoS Routing Q-OSPF: link state based protocol; it disseminates link state updates (including QoS parameters) to all nodes; it creates/maintains global topology map at each node –OSPF (Open Shortest Path First): for intra-AS routing – is a link-state protocol that uses flooding of link state information and a Dijkstra least cost path algorithm To replace the Dijkstra algorithm using Bellman- Ford constrained path computation algorithm: it computes constrained min hop paths to all destinations at each node based on topology map Call Acceptance Control (CAC) Packet Forwarding: source route or MPLS
OSPF Overview 5 Message Types 1) “Hello” - lets a node know who the neighbors are 2) Link State Update - describes sender’s cost to its neighbors 3) Link State Ack. - acknowledges Link State Update 4) Database description - lets nodes determine who has the most recent link state information 5) Link State Request - requests link state information
OSPF Overview (cont) A B C D E “Link State Update Flooding”
OSPF Overview (cont) “Hello” message is sent every 10 seconds and only between neighboring routers Link State Update is sent every 30 minutes or upon a change in a cost of a path Link State Update is the only OSPF message which is acknowledged Routers on the same LAN use “Designated Router” scheme
Implementation of OSPF in QoS Simulator Link State Update is sent every 2 seconds No ack is generated for Link State Updates Link State Update may include (for example): - Queue size of each outgoing queue (averaged over 10s sliding window) - Throughput on each outgoing link (averaged over 10s sliding window) - Total bandwidth (capacity of the link) Source router can use above information to calculate - end-to-end delay, - available buffer size, - available bandwidth
Bellman-Ford Algorithm (with delay) Bellman Equation : j D i h+1 D h =min[d(i,j) +] D 1 1 =0 D 2 1 =1 D 3 1 =3 D 4 1 =00 D 5 1 one hop D 1 2 =0 D 2 2 =1 D 3 2 =2 D 4 2 =11 D 5 2 = two hops i D h h D h* three hops D 1 3 =0 D 2 3 =1 D 3 3 =2 D 4 3 =7 D 5 3 =
B/F Algorithm Properties MC (multiple constraints) Bellman Ford algorithm replaces the Dijkstra algorithm of conventional OSPF implementations –B/F slightly less efficient than Dijkstra ( O(NxN) instead of O (NlgN) ) –However, B/F generates solutions by increasing hop distance; thus, the first found feasible solution is “hop” optimal (ie, min hop) Polynomial performance for most common sets of MC (multiple constraints e.g. bandwidth and delay )
CAC and Packet Forwarding CAC: if feasible path not found, call is rejected; alternatively, source is notified of constraint violation, and can resubmit with relaxed constraint (call renegotiation) Packet forwarding: (a) source routing (per flow) (b) MPLS (per class)
Application I: IP Telephony M-CAC at source; no bandwidth reservation along path 36 node, highly connected network Trunk capacity = 15Mbps Non uniform traffic requirement Two routing strategies are compared: –Minhop routing (no CAC) –QoS routing Simulation platform (UCLA) : PARSEC wired network simulation (QualNet)
Km 15 Mbit/sec
QoS Simulator: Voice Source Modeling SILENCE TALK 1/ = 352 ms 1/ = 650 ms Voice connection requests arrive according to a Poisson process, or at fixed intervals Once a connection is established, the voice source is modeled as 2 state Markov chain 1 voice packet every 20ms during talk state
Simulation Parameters 10 Minute Simulation Runs Each voice connection lasts 3 minutes OSPF updates are generated every 2 seconds (30 minute OSPF update interval in Minhop scheme) New voice connections generated with fixed interarrival (150 ms) Measurements are in Steady-state (after 3 minutes) 100 msec delay threshold 3 Mbit/sec bandwidth margin on each trunk The candidate source destination pairs are : (8,20),(0,34),(3,32), (4,32), (5,32), (10,32), (16, 32)
Minhop Routing We note that the rate from the 5 sources (3, 4, 5, 10, 16) into destination 32 is 4.76 calls/sec, exceeding the processing capacity of a single path which is 3.2 in Min Hop and 2.6 in MC BF
Minhop Routing (cont.) The source-destination pairs (0,34) and (8,20) are getting all of their calls through with zero loss and end-to-end delays below 100ms threshold. This is because they enjoy exclusive use of minhop paths (0,1,18,19,25,24,34) and (8,14,20), respectively The remaining source destination pairs (3,32), (4,32), (5,32), (10,32), and (16,32) do not even get a single packet through with delay below 100msec threshold. Moreover, they suffer heavy loss. The reason is very simple: they all share a common subpath (9, 8, 2, 32) and thus compete for the same bottleneck
Km 15 Mbit/sec MINHOP ROUTING
QoS Routing MC Bellman-Ford routing algorithm manages to balance the load on alternate paths In fact, two alternate paths are used to route the traffic originating from the 5 sources
Km 15 Mbit/sec QoS ROUTING
Km 15 Mbit/sec QoS ROUTING
Preliminary Analysis The QoS routing accepts all the offered calls by spreading the load on alternate paths % %100.0 % % of packets below 100 ms 0.0 %51.34 %0.0 % of packets above 100 ms 0.0 %11.78 %0.0 % of packets lost # voice calls accepted in steady state # voice calls attempted in steady state Minhop w/ CACMinhopQoS Routing
OSPF packet size was 350 bytes OSPF (LSA) updates were generated every 2 seconds Measurements were performed on a “perfect square grid” topology
75ms voice call generation rate
Application II: MPEG Video Res. All. CAC RSVP type signaling required Effective bandwidth & buffer reservations 36 node grid-type topology Trunk capacity = 5.5 Mbps Inputs = Measured MPEG traces QoS guarantees: no-loss; delay < Tmax Simulation platform: PARSEC wired network simulation (QualNet)
APPLICATION ORDER SOURCE NODEDESTINATION NODE PATHCAC Y/N REJECTI ON NODE Y Y Y 4118 Y Y N Y NO PATH FOUND N Y N Y Y Y SIMULATION RESULTS Bandwidth/link: 5.5 Mbps unidirectional Tmax: 0.1 s Effective bandwidth: 2.6 Mbps Effective buffer: 260 KB (no buffer saturation)
Video Only Result Comparisons Class based QoS routing with reservation vs. Measurement based QoS routing without reservation Bandwidth/link: 5.5 Mbps unidirectional Tmax: 0.1 s, Duration 10 min
Conclusions QoS routing beneficial for CAC, enhanced routing, resource allocation and resource renegotiation Can efficiently handle flow aggregation (Diffserv) Q-OSPF overhead manageable up to > 100 nodes Can be scaled to thousands of nodes using hierarchical OSPF Major improvements observed in handling of IP telephony and MPEG video MPEG video best served via reservations Future Work: Extension to hierarchical OSPF, to interdomain routing, to multiple classes of traffic and statistical allocation of MPEG sources