Granularity of QoS Routing in MPLS Networks Ying-Dar Lin1 , Nai-Bin Hsu1 , and Ren-Hung Hwang2 1
2
Dept of Computer and Info. Science, National Chiao Tung University, Hsinchu, Taiwan.
fydlin,
[email protected]
Dept of Computer Science and Info. Eng., National Chung Cheng University, Chiayi, Taiwan.
[email protected]
This study investigates how the Constraint-based routing decision granularity signi cantly aects the scalability and blocking performance of QoS routing in MPLS network. The coarse-grained granularity, such as per-destination, has lower storage and computational overheads but is only suitable for best-eort traÆc. On the other hand, the negrained granularity, such as per- ow, provides lower blocking probability for bandwidth requests, but requires a huge number of states and high computational cost. To achieve cost-eective scalability, this study proposes using hybrid granularity schemes. The Over owed cache of the per-pair/ ow scheme adds a per-pair cache and a per- ow cache as the routing cache, and performs well in blocking probability with a reasonable over ow ratio of 10% as oered load=0.7. Per-pair/class scheme groups the ows into several paths using routing marks, thus allowing packets to be labelforwarded with a bounded cache. Abstract.
1 Introduction The Internet is providing users diverse and essential Quality of Services (QoS), particularly given the increasing demand for a wide spectrum of network services. Many services, previously only provided by traditional circuit-switched networks, can now be provided on the Internet. These services, depending on their inherent characteristics, require certain degrees of QoS guarantees. Many technologies are therefore being developed to enhance the QoS capability of IP networks. Among these technologies, the Dierentiated Services (DiServ) [1{4] and Multi-Protocol Label Switching (MPLS) [5{8] are the enabling technologies that are paving the way for tomorrow's QoS services portfolio. The DiServ is based on a simple model where traÆc entering a network is classi ed, policed and possibly conditioned at the edges of the network, and assigned to dierent behavior aggregates. Each behavior aggregate is identi ed by a single DS codepoint (DSCP). At the core of the network, packets are fastforwarded according to the per-hop behavior (PHB) associated with the DSCP. By assigning traÆc of dierent classes to dierent DSCPs, the DiServ network provides dierent forwarding treatments and thus dierent levels of QoS.
MPLS integrates the label swapping forwarding paradigm with network layer routing. First, an explicit path, called the label switched path (LSP), is determined, and established using a signaling protocol. A label in the packet header, rather than the IP destination address, is then used for making forwarding decisions in the network. Routers that support MPLS are called label switched routers (LSRs). The labels can be assigned to represent routes of various granularities, ranging from as coarse as the destination network down to the level of each single ow. Moreover, numerous traÆc engineering functions have been eectively achieved by MPLS. When MPLS is combined with DiServ and Constraintbased routing, they become powerful and complementary abstractions for QoS provisioning in IP backbone networks. Constraint-based routing is used to compute routes that are subject to multiple constraints, namely explicit route constraints and QoS constraints. Explicit routes can be selected statically or dynamically. However, network congestion and route apping are two factors contributing to QoS degradation of ows. To reduce blocking probability and maintain stable QoS provision, dynamic routing that considers resource availability, namely QoS routing, is desired. Once the explicit route is computed, a signaling protocol, either Label Distribution Protocol (CR-LDP) or RSVP extension (RSVP-TE), is responsible for establishing forwarding state and reserve resources along the route. In addition, LSR use these protocols to inform their peers of the label/FEC bindings they have made. Forwarding Equivalence Class (FEC) is a set of packets which will be forwarded in the same manner. Typically packets belonging to the same FEC will follow the same path in the MPLS domain. It is expected that both DiServ and MPLS will be deployed in ISP's network. To interoperate these domains, EXP-LSP and Label-LSP models are proposed [7]. EXP-LSP provides no more than eight Behavior Aggregates (BA) classes but scale better. On the other hand, Label-LSP provides ner service granularity but results in more state information. Path cache [9] memorizes the Constraint-based routing decision and behaves dierently with dierent granularities. The coarse-grained granularity, such as per-destination, all ows moving from dierent sources to a destination are routed to the same outgoing link, has lower storage and computational overheads but is only suitable for best-eort traÆc. On the other hand, the ne-grained granularity, such as per- ow, each individual ow is computed and routed independently, provides lower blocking probability for bandwidth requests, but requires a huge number of states and high computational cost. In per-pair granularity, all traÆc between a given source and destination, regardless of the number of ows, travels the same route. Note that in cases of explicit routing, perdestination and per-pair routing decisions are identical. This study investigates how the granularity of the routing decision aects the scalability of computation or storage, and the blocking probability of a QoS
ow request. To reduce the blocking probability without sacri cing per- ow QoS requirement, two routing mechanisms are proposed from the perspective of granularity. The Per Pair Flow scheme adds a per-pair cache (P-cache) and an over-
owed per- ow cache (O-cache) as routing cache. The ows that the paths of P-cache cannot satisfy with the bandwidth requirement are routed individually and their routing decisions over owed into the O-cache. The Per Pair Class scheme aggregates ows into a number of forwarding classes. This scheme reduces the routing cache size and is suitable for MPLS networks, where packets are labeled at edge routers and fast-forwarded in the core network. The rest of this paper is organized as follows. Section 2 describes two ondemand path computation heuristics which our study based on. Section 3 describes the over owed cache Per Pair Flow scheme. Section 4 then describes thePer Pair Class scheme, which uses a mark scheme to reduce cache size. Subsequently, Sect. 5 presents a simulation study that compares several performance metrics of various cache granularities, Finally, Sect. 6 presents conclusions.
2 Path Computation WSP Routing
(F; s; d; b; D)
topology G(V; E ); /* width bij associate with eij 2 E */
ow F ; /* from s to d with req. b and D */ routing entry Sd ; /* set of tuple(length;width; path) from s to d */ shortest path ; Begin initialize Sd , prune eij if bij < b; 8eij 2 E for hop-count h = 1 to H Bs 1, Ds 0 nd all paths (s; :::; x; d) with h hops, and Begin update Dd h
if
Bd MaxfMin[Bx ; bxd ]g; 8x d x [ d Sd Sd [ (Dd ; Bd ; d ) End (Sd 6= ) pick path d with widest Bd ,
stop
endfor
End
Fig. 1.
Widest-Shortest Path (WSP) heuristic
This paper assumes that link state based and explicit routing architecture are used. Link state QoS routing protocols use reliable ooding to exchange link state information, enabling all routers to construct the same Link State Database (LSDB). Given complete topological information and the state of resource availability, each QOS-capable router nds the least costly path that still satis es the resource requirements of a ow. Two on-demand shortest path computation heuristics are described as the basis in this study. QOSPF [10] uses the Widest-Shortest Path (WSP) selection criterion. Figure 1 shows the algorithm
to respond to the route query. Each routing entry of Sdh = (Ddh ; Bdh ; dh ) consists of the shortest length Ddh , width Bdh and path dh to node d, with minimum hops h. This algorithm iteratively identi es the optimal (widest) paths from itself (i.e. s) to any node d, in increasing order of hop-count h, with a maximum of H hops, and where H can be either the value of diameter of G or can be set explicitly. Afterwards, WSP picks the widest of all possible shortest paths to node d as the routing path with minimum hops. CSP Routing
(F; s;d; b; D)
topology G(V; E );/* width bij associate with eij 2 E */
ow F ; /* from s to d with req. b and D */ label L; /* set of labeled nodes */ shortest path ; /* obtained by backtracking the inspected nodes */ Begin 1) prune eij if bij < b; 8eij 2 E 2) initialize L fsg; Di dsi ; 8i 6= s 3) nd x 2 = L such that Dx = Mini2=L [Di ] /* examine tentative nodes */ 4) if Dx > D, \path not found", stop 5) L L [ fxg 6) if L = V , return( ) with length( ) = Dd , stop 7) update Di Min[Di ; Dx + dxi]; 8i adjacent to x 8) go to 3) End Fig. 2.
Constrained Shortest Path (CSP) heuristic
Another heuristic, Constrained Shortest Path (CSP), shown in Fig. 2, uses \minimum delay with abundant bandwidth" as the selection criterion to nd a shortest path for ow F . Step 1 eliminates all links that do not satisfy the bandwidth requirement b. Next, the CSP simply nds a shortest path from itself (i.e. s) to destination d, as in steps 2{8. Step 3 chooses a non-labeled node x with minimum length and x is labeled in step 5. Step 7 updates the length metric for each adjacent node i. Meanwhile, CSP is terminated either in step 4, as the length exceeds the threshold D before reaching destination d, or in step 6, as all nodes are labeled. Consequently, CSP nds a QoS path, = s : : : d, such that width( ) b and length( ) D, to satisfy the bandwidth requirement b and length requirement D.
3 Cache with Per-pair/ ow Granularity This section introduces a routing scheme with per-pair/ ow hybrid cache granularity. The architecture presented herein uses source routing and hop-by-hop signaling procedure such as CR-LDP or RSVP-TE. Loop-free can be guaranteed
in source routing and the signaling procedure prevents each packet of the ow from carrying complete route information. Sets of labels distinguish destination address, service class, forwarding path, and probably also privacy. In MPLS, edge devices perform most of the processor-intensive work, performing application recognition to identify ows and classify packets according to the network policies. Upon a ow request during the signaling phase, the path-query can be through with by computing path on-demand, or extracting path from the cache. When the query is successful, the source node initiates the hop-by-hop signaling to setup forwarding state and destination node initiates bandwidth reservation backward on each link in the path. The routing path extracted from the cache could be misleading, i.e., ows following a per-destination cache entry might not nd suÆcient resources along the path, although there exist alternative paths with abundant resources. This lack of resources is attributed to ows of the same source-destination (S-D) pair are routed on the same path led by the cache entry, which is computed merely for the rst ow. Therefore, this path might not satisfy the bandwidth requirements of subsequent ows. Notably, the blocking probability increases rapidly when a link of the path becomes a bottleneck. On the other hand, although no such misleading (assume no staleness of link state) occur in the per- ow routing, ow state and routing cache size could be enormous, ultimately resulting in poor scalability. Furthermore, due to the overheads of per- ow path computation, on-demand path nding is hardly feasible in real networks (with high rate requests.) Therefore, path pre-computation is implemented in [10], which asynchronously compute feasible paths to destinations. The routing cache of this scheme is functionally divided into three parts, a per-pair cache (P-cache), an over owed per- ow cache (O-cache), and a perdestination cache (D-cache). Shortest paths on the P-cache and the D-cache are pre-computed at the system start-up or can be ushed and computed on-demand under the network administration policy. Entry of the O-cache is created when a request arrives and cannot nd suÆcient bandwidth on the path in P-cache. By looking up the next-hop in the D-cache, best-eort traÆc is forwarded as in a non-QoS support OSPF router. QoS paths are extracted from the P-cache in this scheme. Figure 3 shows the Per Pair Flow scheme, is detailed as follows. When a path query with multiple constraints is executed at the ingress LSR, lookup the P-cache for routing information. If the lookup is a miss, it implies that no routing path is stored for the particular request. Therefore, in this situation the Per Pair Flow invokes the FindRouteLeastCost function to nd a QoS path. If the path is found, this path is stored in the P-cache and the ow request F is sent through explicitly. Otherwise, if no path can be found, the request is blocked. However, if the lookup of the P-cache is a hit, a resource availability check must be made according to the latest link states to ensure the QoS of the ow.
If the check is successful, the signaling message of F is sent according to the Pcache. Meanwhile, if the check fails, function FindRouteLeastCost is invoked to nd an alternative path based on the information in LSDB and on the Residual Bandwidth Database (RBDB). If a QoS path is found, the path is stored in the O-cache, i.e. over owed to the O-cache and signaling of F is sent through . Finally, if no path can be found, the ow is blocked.
Per Pair Flow(F; s; d; b; D )
ow F ; /* from s to d with req. path ; Begin case miss(P-cache):
b and D */
FindRouteLeastCost(s;d; b; D) ( found) insert(P-cache), label(F ) & route(F ) through \path not found" hit(P-cache): (width( ) b) and (delay ( ) D) label(F ) & route(F ) through if
else case if
/* over ow */ Begin
else
FindRouteLeastCost(s;d; b; D) ( found) insert(O-cache), label(F ) & route(F ) through if
else
End
End
\path not found"
Fig. 3.
Per Pair Flow routing
Function FindRouteLeastCost in Fig. 3 on-demand nds a QoS path using WSP or CSP heuristics in Sect. 2. The link cost function in this computation can be de ned according to the needs of network administrators. For example, hop counts, exponential cost [11], or distance [12] can be used as the link cost metric in the computing function. Assuming a ow arrival F from s to d with requirement b, the probability of over owing the P-cache, namely , can be de ned as = P rob(width( ) < b), where is the path between s and d held in the P-cache. Simulation results show that is between zero to 0.3 in a 100 nodes network, depending on the oered load in the Per Pair Flow scheme. For example, is 10% as oered load =0.7, if the forwarding capacity of the router is 100K ows, the Per Pair Flow scheme can reduce the number of routing cache entries from 100K to 20K , including P-cache and O-cache. Additionally, number of cache entries could be further bounded by the scheme, Per Pair Class, presented in Sect. 4.
4 Cache with Per-pair/class Granularity This section presents another hybrid granularity scheme using a routing mark as part of the label in MPLS. Herein, when a ow request arrives at an edge router, it is routed to the nearly best path given the current network state, where the \best" path is de ned as the least costly feasible path. Flows between an S-D pair are routed on several dierent paths and marked accordingly at the source and edge routers. Notably, ows of the same routing path may require dierent qualities of service. The core router in a MPLS domain uses the label to determine which output port (interface) a packet should be forwarded to, and to determine service class. Core devices expedite forwarding while enforcing QoS levels assigned at the edge. By limiting the number of routing marks, say to m, the routing algorithm can route ows between each S-D pair along a limited number of paths. The route pinning is enforced by stamping packets of the same ow with the same mark. Rather than identifying every single ow, the forwarding process at intermediate or core routers is simpli ed by merely checking the label. The size of the routing cache is bounded to O(n2 m), where n is the number of network nodes. Note that if the Constraint-based routing is distributed at the edge nodes, this bound reduce to O(nm). Figure 4 illustrates the structure of the routing cache, which provides a maximum of m feasible routes per node pair. The rst path entry LSP1 can be pre-computed, or the path information can be ushed and computed on-demand under the network administration policy. Besides the path list of LSP, each path entry includes the residual bandwidth (width), maximum delay (length), and utilization (). Information on the entry can be ushed by the management policy, for instance, refresh timeout or reference counts. Regarding labeling and forwarding, the approach is scalable and suitable for the Dierentiated Services and MPLS networks.
LSP1
.....
LSPm
s, d1
π11, width11, delay11, ρ11
.....
π1m, ...
s, di
πι1, widthi1, delayi1, ρι1
.....
.....
Fig. 4.
Routing cache in the Per Pair Class routing
Figure 5 describes that upon a ow request F , the Per Pair Class algorithm rst attempts to extract the least costly feasible path from the routing cache. If the extraction is negative, the scheme attempts to compute the least costly feasible path, termed . If is found, Per Pair Class assigns a new mark to , inserts this new mark into the routing cache, and then labels/routes the ow request F explicitly through . Meanwhile, if is found and the path is only
(F; s; d; b; D)
ow F ; /* from s to d with req. b and D */ cache entry (s;d);/* set of routing paths from s to d */ extracted path ; computed path ; Begin initiate cost(NULL) 1 extract 2 (s; d) that cost( ) is the least & satisfy constraint f width() b, length() D, ... g case ( not found):
Per Pair Class
FindRouteLeastCost(s;d; b; D) ( not found) \path not found" insert/replace( , (s;d)), label(F ) & route(F ) through ( is found): (( ) lightly utilized) label(F ) & route(F ) to FindRouteLeastCost(s;d; b; D) ( not found) \path not found" (cost( ) < cost( )) /* better */ insert/replace( , (s;d)), label(F ) & route(F ) through /* better */ label(F ) & route(F ) to if
then
case if
then
endif if
then
if
then
else
End
endif
Fig. 5.
Per Pair Class routing with marks
lightly utilized, the Per Pair Class marks the ow F and routes it to path . Otherwise the ow is blocked. If the utilization of path ( ) exceeds a pre-de ned threshold, the Per Pair Class can either route F to a held in the cache, or route F through a newly computed path , whichever is least costly. Therefore, traÆc ows can be aggregated into the same forwarding class (FEC) and labeled accordingly at the edge routers. Notably, ows of the same FEC may require dierent service class. Consequently, ows between an S-D pair may be routed on a maximum of m dierent paths, where m is the maximum number of routing classes. In the Per Pair Class algorithm, function FindRouteLeastCost compute the least cost path using the constrained shortest path or widest-shortest path heuristics in Sect. 2.
5 Performance Evaluation This section evaluates the performance of unicast QoS routing, and particularly its sensitivity to various routing cache granularities. The performance of the proposed Per Pair Flow and Per Pair Class schemes are evaluated.
5.1 Network and TraÆc Model Simulations were run on 100-node random graphs based on the Waxman's model [13]. In this model, n nodes are randomly distributed over a rectangular coordinate grid, and the distance between each pair of nodes is calculated with the Euclidean metric. Then, edges are introduced between pairs of nodes, u, v , with a probability depending on the distance between u and v . The average degree of nodes in these graphs is in the range [3.5, 5]. Each link is assumed to be STM-1 or OC-3 with 155Mbps. The simulations herein assume that the token rate is used as the bandwidth requirement which is the primary metric. Furthermore, this study assumes that there are two types of QoS traÆc, GS1 has a mean rate of 3 Mbps, while GS2 has a mean rate of 1.5 Mbps. The ow arrival process is assumed to be independent at each node, following a Poisson model. Flows are randomly destined to the else nodes. The holding time of a ow is assumed to be exponentially distributed with mean . The mean holding time can be adapted to keep the oered load at a constant. The link-states of adjacent links of a source router are updated immediately while the states of other links are updated by periodically receiving link state advertisements (LSAs).
5.2 Performance Metrics From the perspective of cache granularity, this study expects to nd QoS routing techniques with a small blocking probability while maintaining scalable computational costs and storage overheads. Thus, several performance metrics are interesting here: (1) Request bandwidth blocking probability, Preq , is de ned as Preq
=
P rejected bandwidth P rquest bandwidth = Prout + Psig :
(1)
is the routing blocking probability, de ned as the probability that a request is blocked due to no existing path with suÆcient resources, regardless of cache hit or miss. Psig denotes the signaling blocking possibility, namely the probability that a successfully routed ow gets rejected during the actual backward reservation process, during the receiver-initiated reservation process of RSVP. (2) Cache misleading probability, Pmisl , is the probability of a query hit on the routing cache but the reservation signaling being rejected due to insuÆcient bandwidth. (3) Normalized routing cache size, or Ncache , is the storage overhead per ow for a caching scheme. (4) Normalized number of path computations, or Ncomp , is the number of path computations per ow in the simulated network.
Prout
e
e
5.3 Simulation Results The simulation results are mainly to examine the behavior of the ows under moderate traÆc loading (e.g., =0.7) where most of the blocking probabilities would not go beyond 20%. Moreover, the 95% con dence interval lies within 5% of the simulation average for all the statistics reported here.
Blocking Probability
0.16
0.16
0.14
0.14
0.12
0.12
Blocking probability
Blocking probability
This experiment focuses on the eects of inaccurate link-state information, due to their update periods, on the performance and overheads of QoS routing. Figure 6 and 7 show the blocking probabilities, Preq , on the 100-node random graph with an oered load =0.7; the ow arrival rate =1; the mean holding time is adjusted to x the oered load; the refresh timeout of cache entry ( ush)=100 units. As described in Sect. 2, CSP and WSP heuristics are used. As expected, larger update periods basically increase ow blocking. The larger update period results in the higher degree of inaccuracy in the link-state, and more changes in network could be unnoticed. As links approach saturated under the inaccuracy, link states and residual bandwidth databases viewed from the source router are likely unchanged, might mistake infeasible path as feasible. In that case, ows are blocked in signaling phase and only admitted if other ows leave.
0.10 0.08 0.06 per-flow(CSP) per-pair(CSP) per-pair/flow(CSP) per-pair/class(CSP) per-flow(WSP) per-pair(WSP) per-pair/flow(WSP) per-pair/class(WSP)
0.04 0.02
per-flow(CSP) per-pair(CSP) per-pair/flow(CSP) per-pair/class(CSP) per-flow(WSP) per-pair(WSP) per-pair/flow(WSP) per-pair/class(WSP)
0.10 0.08 0.06 0.04 0.02
0.00
0.00 0
10
20
30
40
50
60
70
80
90
100
0
Link-state update period (unit) WSP and CSP, ρ=0.7, λ=1, flush=100, b=3Mbps
Blocking probability with large requirement Fig. 6.
10
20
30
40
50
60
70
80
90
100
Link-state update period (unit) WSP and CSP, ρ=0.7, λ=1, flush=100, b=1.5Mbps
Blocking probability with small requirement Fig. 7.
However, blocking does not appear to grow even higher as the update period goes beyond a critical value. Figure 7 shows results of the experiment as in Fig. 6 but with the less bandwidth requirement and longer mean duration of the ow. The climbing of the curves grow slower than those in Fig. 6. This phenomenon suggests that to get more accurate network state and better QoS routing performance, update period (namely the value MaxLSInterval in OSPF) should not go beyond the mean holding time of the admitted ows. Per-pair routing gets higher blocking probability than other granularities. TraÆc in the pure per-pair network tend to form bottleneck links and is more imbalanced than in other networks. Conversely, in the per- ow and per-pair/ ow networks, the traÆc obtains a QoS path more exibly and has more chances to get alternative paths in large networks. Intuitively, the nest granularity, per- ow scheme should result in the lowest blocking probability. However, it is not always true in our experiments. In Fig. 6, indeed, the per- ow scheme with CSP has the strongest path computation ability; it could nd a feasible route for a ow under heavy load but with a longer length. A ow with longer path utilizes more network resources than a ow with
shorter path. Though we limit the number of hops, namely H , of the selected path to the network diameter, the per- ow scheme still admits as many ows as it can. Eventually, network resources are exhausted, new incoming ow is only admitted if other ows are terminated. That is why the per- ow scheme performs similarly to or somewhat poor than the per-pair/ ow and per-pair/class schemes that we proposed. In addition, with the large update periods, stale link-state information reduces the eectiveness of path computation of the per- ow scheme. It is possibly to mistake infeasible path as feasible (optimistic-leading), or mistake feasible path as infeasible (pessimistic-leading). Thus, it will get more signaling blocks in former case and routing blocks in latter case; both are negative to the performance of per- ow routing. Obviously, by comparing the statistics of CSP with WSP, WSP heuristic performs better than CSP in this experiment. WSP uses breadth- rst search to nd multiple shortest paths and pick one with the widest bandwidth, and achieves some degree of load balancing. On the other hand, traÆc is more concentrated in CSP-computation networks. To cope with this shortage in CSP, appropriate link cost functions which consider the available bandwidth of the link should be chosen. Studies with regarding to this issue can be found in [14]. This experiment also studies the eectiveness of dierent numbers of routing classes, m, of Per Pair Class with per-pair/class granularity. Figure 8 illustrates that when m = 1, all ows between the same S-D pair share the same path, just the same as per-pair. When m = 2, the per-pair/class shows its most signi cant improvement compared to m = 1, but there is very little improvement when m 3. The simulation results reveal that the Per Pair Class can yield a good performance with only a very small number of routing alternatives. 0.16
0.08
0.14 0.06
Blocking probability
Blocking probability for per-pair/class
0.12 0.10 0.08 0.06 0.04
0.04
0.02
S-flow R-flow S-pair R-pair S-pair/flow R-pair/flow
#class=1 #class=2 #class=3 #class=4
0.02 0.00
0.00 0
10
20
30 40 50 60 70 Link-state update period (unit) WSP, ρ=0.7, λ=1, flush=100, b=3Mbps
80
90
100
Blocking probability of Perpair/class Fig. 8.
Misleading and Staleness
0
Fig. 9.
blocks
10
20 Link-state update period (unit) WSP, ρ=0.7, λ=1, flush=100
30
40
Routing blocks vs. Signaling
In our architecture, the path cache is used under the link-state update protocol. Both cache-leading and staleness of network state may cause misbehavior of routing schemes. Routing paths extracted from
the cache could be optimistic-leading or pessimistic-leading that we mentioned previously. The extracted path also could be misleading, that is, ows following a misleading path might not nd suÆcient resources along the path, although there exist alternative paths with abundant resources. In Fig. 9, we have insight into the blocking probability, blocked either in routing phase (pre x \R-") or in signaling phase (pre x \S-"). Look at the performance under accurate network state (i.e. period=0), the routing blocks account for all blocked ow requests. As the update period getting larger, more and more ows mistake an infeasible path as feasible path. Therefore, those ows cannot reserve enough bandwidth in the signaling phase and will be blocked. Situation of blocking shifting from routing to signaling phase is caused by the staleness of network state. Rising (Psig ) and falling (Prout ) curves of each scheme cross over. The cross point is postponed in the per-pair cache scheme. As caching mechanism usually does not re ect accurate network state immediately and thus sensitivity of staleness is reduced. Figure 10 shows the cache misleading probabilities due to caching, i.e., Pmisl (scheme)
= Preq (scheme)
Preq (per flow);
(2)
of various routing schemes. In case of no staleness of the network state, since the per- ow routing requires path computation for every single ow, there is no misleading, i.e., Pmisl (per- ow)=0, regardless of network load and size. Obviously, the per-pair (or per-destination) scheme obtains the highest misleading from the cache. On the other hand, the per-pair/ ow and the per-pair/class have little misleading probability. This is because when looking up the P-cache, if the feasibility check fails due to insuÆcient residual bandwidth along the path held in the P-cache, per-pair/ ow and per-pair/class schemes will nd another feasible path for the ow. However, feasible path nding could fail due to some paths are nearly exhausted and trunk reservation in [6] can slow down links from being exhausted.
0.05 Per-flow Per-pair Per-pair/flow Per-pair/class
1.00 0.90
Normalized average number of cache entries per flow
Misleading probability
0.04
0.03
0.02
0.01
0.80
Per-flow Per-pair Per-pair/flow Per-pair/class
0.70 0.60 0.50 0.40 0.30 0.20
0.00 0.10 -0.01 0.4
0.00 0.4 0.5
0.6
0.7
0.8
0.9
1.0
Fig. 10.
Cache misleading probability
0.5
0.6
0.7
0.8
0.9
1.0
Offered load (ρ) WSP, trigger update, λ=1, flush=100, b=3Mbps 100K flows forwarding capacity
Offered load (ρ) WSP, trigger update, λ=1, flush=100
Fig. 11.
per ow
Average number of cache entries
Cache Size
Figure 11 gives the average number of cache entries for each single
ow, i.e. normalized Ncache . It indicates that the Ncache of per- ow, per-pair, and per-pair/class schemes remain nearly constant regardless of traÆc loading. On the other hand, Ncache of per-pair/ ow increases as the traÆc load increases. Statistics in Fig. 11 can be veri ed by the storage complexities as follows. The cache size of per-pair is bounded by (n 1)2 with O(n2 ) complexity, where n is the number of nodes. Metric Ncache (per-pair) is relative to the network size and forwarding capacity. Assume the wire-speed router has the forwarding capacity of 100K ows, Ncache (per-pair) is near to 0.1. Similarly, cache of perpair/class is bounded by (n 1)2 m and has a complexity of O(n2 m), where m is the number of classes. Ncache (per-pair/class) is (n 1)2 m divided by the number of forwarding ows. Finally, Ncache (per- ow)=1 in Fig. 11, and thus, the cache size increases dramatically as the number of ows increases in per- ow scheme, which disallows it to scale well for large backbone networks. Compared to the per- ow, hybrid granularity is used in the per-pair/ ow and the per-pair/class schemes, both signi cantly reducing the cache size to about 10% (in light load) to 20{40% (in heavy load) without increasing the blocking probability, compared to the per- ow in Fig. 7.
e
e
e
e
e
e
e
Number of Path Computations
Figure 12 compares the average number of path computations per ow, i.e. normalized Ncomp , of various schemes. This metric primarily evaluates the computational cost. Note that in order to evaluate the eect of granularity in QoS routing, the simulation only uses on-demand WSP and CSP path computation heuristics. However, only plotting curves of WSP are shown, statistics of CSP are almost the same as WSP. Obviously Fig. 12 and 13 have an upper bound, i.e. Ncomp (per- ow)=1, and a lower bound, i.e. Ncomp (per-pair) which increases as the number of blocked ows increases. Note that the Ncomp (per-pair/ ow) and Ncomp (per-pair/class) are quite in uenced by the refresh timeout of entry (i.e. f lush).
e
e
e e
e
1.0e+08 1.00
0.80
1.0e+07
Per-flow Per-pair Per-pair/flow Per-pair/class
#path computations (24hr)
Normalized average number of path computations per flow
0.90
0.70 0.60 0.50 0.40 0.30 0.20
1.0e+06
1.0e+05
1.0e+04
1.0e+03
0.10 0.00 0.4
0.5
0.6
0.7
0.8
0.9
1.0
1.0e+02 1.0
Average number of path computations per ow
1.5
2.0
2.5
3.0
Arrival rate λ (#flows/sec) WSP, trigger update, flush=100, b=3Mbps
Offered load (ρ) WSP, trigger update, λ=1, flush=100, b=3Mbps
Fig. 12.
per-flow per-pair per-pair/flow per-pair/class
A snapshot of number of path computations Fig. 13.
Figure 13 shows the number of path computations regarding to dierent ow request rate within a speci c twenty-four hours period. Statistics of the per ow, form the upper bound curve and the per-pair form the lower bound. The per-pair/ ow and the per-pair/class schemes are in between, and as the loading increases they either increase and approach the upper bound, or decrease and approach the lower bound. The upward-approaching routing schemes, whose number of path computations is dominated by the number of ow request, including per- ow and per-pair/ ow schemes. On the other hand, the number of path computations is dominated by its network size and connectivity, including per-pair and per-pair/class schemes. Figure 13 reveals that \caching" in the per-pair scheme, reduces number of path computations as the loading increases. This is because there are suÆcient
ows to relay and survive the life time of cache entry, and a greater percentage of succeeding ow requests do not invoke path-computation. These requests simply look up the cache to make routing decisions. On the other hand, in cases of per- ow granularity, since every ow request requires path computation, the number of path computations increases with the oered load. Notably, there is an in ection point in the curve of per-pair/class. Multiple entries in the perpair/class cache lead to this phenomenon. The property of the basic per-pair cache produces the concave plotting while the multiple entries produce the convex plotting.
6 Conclusions This study has investigated how granularity aects the Constraint-based routing in MPLS networks and has proposed hybrid granularity schemes to achieve cost eective scalability. The Per Pair Flow scheme with per-pair/ ow granularity adds a P-cache (per-pair) and an O-cache (per- ow) as the routing cache, and performs low blocking probability. The Per Pair Class scheme with perpair/class granularity groups the ows into several routing paths, thus allowing packets to be label-forwarded with a bounded cache size. Table 1.
Summary of the simulation results
Cache Compu. Storage granularity overhead overhead Blocking Misleading Per-pair ??? ??? ? ? Per- ow ? ? ??? ??? Per-pair/ ow ?? ?? ??? ??? Per-pair/class ? ? ? ??? ??? ??? ? ? ?: good, ??:medium, ?:poor ? can be improved by using path pre-computation. 0
0
Extensive simulations are run with various routing granularities and the results are summarized in Table 1. Per-pair cache routing has the worst blocking probability because the coarser granularity limits the accuracy of the network state. The per-pair/ ow granularity strengthens the path- nding ability just as the per- ow granularity does. Additionally, the per-pair/class granularity has small blocking probability with a bounded routing cache. Therefore, this scheme is suitable for the Constraint-based routing in the MPLS networks.
References 1. D. Black, S. Blake, M. Carlson, E. Davies, Z. Wang, and W. Weiss. An architecture for dierentiated services. RFC 2475, December 1998. 2. K. Nichols, S. Blake, F. Baker, and D. Black. De nition of the dierentiated services eld (DS Field) in the ipv4 and ipv6 headers. RFC 2474, December 1998. 3. T. Li and Y. Rekhter. A provider architecture for dierentiated services and traÆc engineering(PASTE). RFC 2430, October 1998. 4. Y. Bernet, J. Binder, S. Blake, M. Carlson, S. Keshav, E. Davies, B. Ohlman, D. Verma, Z. Wang, and W. Weiss. A framework for dierentiated services. draftietf-diserv-framework-02.txt, February 1999. 5. R. Callon, P. Doolan, N. Feldman, A. Fredette, G. Swallow, and A. Viswanathan. A framework for multiprotocol label switching. draft-ietf-mpls-framework-05.txt, September 1999. 6. Eric C. Rosen, Arun Viswanathan, and Ross Callon. Multiprotocol label switching architecture. draft-ietf-mpls-arch-06.txt, August 1999. 7. Francois Le Faucheur, Liwen Wu, Bruce Davie, Shahram Davari, Pasi Vaananen, Ram Krishnan, and Pierrick Cheval. MPLS support of dierentiated services. draft-ietf-mpls-di-ext-02.txt, October 1999. 8. Eric C. Rosen, Yakov Rekhter, Daniel Tappan, Dino Farinacci, Guy Fedorkow, Tony Li, and Alex Conta. MPLS label stack encoding. draft-ietf-mpls-label-encaps07.txt, September 1999. 9. G. Apostolopoulos, R. Guerin, S. Kamat, and S. K. Tripathi. On Reducing the Processing Cost of On-Demand QoS Path Computation. In Proc. of International Conference on Networking Protocols (ICNP), Austin, October 1998. 10. G. Apostolopoulos, D. Williams, S. Kamat, R. Guerin, A. Orda, and T. Przygienda. QoS Routing Mechanisms and OSPF extensions. RFC 2676, August 1999. 11. J. A. Shaikh. EÆcient Dynamic Routing in Wide-Area Networks. PhD thesis, University of Michigan, May 1999. 12. Q. Ma, P. Steenkiste, and H. Zhang. Routing High-Bandwidth TraÆc in Max-Min Fair Share Networks. In SIGCOMM'96. ACM, August 1996. 13. B. M. Waxman. Routing of Multipoint Connections. IEEE JSAC, 6(9):1617{1622, December 1988. 14. D. Zappala, D. Estrin, and S. Shenker. Alternate Path Routing and Pinning for Interdomain Multicast Routing. Technical Report 97-655, USC, 1997.