Network Working Group S. Giacalone INTERNET-DRAFT Predictive Systems Expiration Date: January 2001 Filename: draft-giacalone-scored-fair-metric-routing-00.txt August 2000 Scored Fair Metric Calculation This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract This memo defines a modular metric calculation system termed Scored Fair Metric Calculation (SFMC). SFMC can be integrated with Link State and Distance Vector routing protocols and their extensions [1,4,5,6,7], enabling them to find network paths that support the highest possible number of best metrics across a network. SFMC makes it possible to support and mix large sets of heterogeneous network features and capabilities. SFMC solves many of the issues inherent in routing protocols that attempt to use complex sets of metrics by decoupling raw metric data from the input side of routing protocols. Unlike the past, SFMC regards all metrics all the time, while treating all metrics equally (by default). Additionally, the SFMC architecture provides a simple and flexible interface for extensive manipulation of path selection. Please send comments to ospf@discuss.microsoft.com. Copyright Notice Expires February 2001 [Page 1] Internet Draft Scored Fair Metric Calculation August, 2000 Copyright (C) The Internet Society (2000). All Rights Reserved. Table of Contents TBD Overview While attempts have been made to build routing protocols which are able to compare metrics based on complex sets of network state data such as bandwidth, delay, and reliability there are still significant challenges in constructing protocols that: -Are simple -Treat metrics fairly by regarding all metrics all the time while not permitting some metrics to over-shadow others (metric starvation) -Permit differing (heterogeneous) metric types to be used for simplicity and extensibility In spite of the difficulties related to complex metric comparison in routing protocols, there has been renewed interest in adding the capability to discern more network state and capability data [1,4,5,6,7], than ever before. The goal of SFMC is to allow advanced and complex topological decisions to be made by routing protocols. SFMC is designed to be added to existing and developmental routing protocols (and their extensions) enabling them to use complex heterogeneous metric data simply and fairly. SFMC can be viewed by other protocols as a module. SFMC provides many benefits while removing issues related to previous complex metric usage in routing protocols. SFMC introduces a metric calculation system which takes in heterogeneous state and capability (including metric)data from routing protocols, extensions or elsewhere, pre-compares the data and then outputs (calculates) homogeneous metrics called "SFMC-scores" to path selection (possibly routing) protocols. Protocols must determine the potential set of physical best-Path interfaces (which might be next-hops) before sending data to SFMC for processing. Although SFMC compares metric data, it is more accurately termed a metric calculation system, as opposed to the metric comparison sub- systems found in current routing protocols. SFMC does not alter metric data, it interprets to produce (construct) abstracted metrics for use by routing protocols. When using SFMC, final metric comparison and next hop selection remain a function of the routing protocol. Expires January 2001 [Page 2] Internet Draft Scored Fair Metric Calculation August, 2000 While SFMC can be viewed by other protocols as a module, it is itself based on a modular internal architecture. SFMC scores are derived by comparing sets of metrics of each enabled type from each potential next-hop interface/s in isolated SFMC "rounds". In each SFMC round, the potential interface/s with the best metric/s is/are awarded SFMC point/s. SFMC points can then be tallied, and presented to other protocols as the metrics for use in best-path selection. SFMC is fair to all metrics sent to it, by considering all metrics in all instances, while preventing metric starvation (when very good metrics obscure more balanced paths). SFMC allows differing metric types to be used and metric data types can be advertised in their native format. Note that SFMC does not intend to change the way the routing protocols work; SFMC does not select best paths, it interprets metrics. Diagram of SFMC's relationship to an example protocol: +-+-+-+-+-+-+-+-+-+-+ | routing | | protocol | | | + +-+-+-+-+-+-+-+-+ | | protocol | | | extension |<-- heterogeneous metrics and capabilities-- | | reception |-- >heterogeneous metrics and capabilities-+ | | subsystem | | | +-+-+-+-+-+-+-+-+ | | | SFMC |-- < --------------------------------------+ | | subsystem |-- >homogeneous SFMC scores----------------+ | +-+-+-+-+-+-+-+-+ | | | | | topology | | | selection |-- < --------------------------------------+ | subsystem | +-+-+-+-+-+-+-+-+-+-+ The specific goals of SFMC are to: -Allow new advanced routing protocols to be developed. -Allow routing protocol extensions [1] to find shortest paths through a network based on sets of very granular network engineering information, instead of just cataloging it in a database. -Solve the problems found in the singular metric comparison schemes of current routing protocols Expires January 2001 [Page 3] Internet Draft Scored Fair Metric Calculation August, 2000 Since SFMC is a module in relation to other protocols, it provides an straightforward interface for manipulating metrics (SFMC scores), and therefor path selection. This document also outlines a number of methods for manipulating SFMC scores. Terminology -Good: When used to modify the word metric, good can mean higher or lower value, which ever is more preferable to the routing protocol. -Fair/Fairness: All will be considered, and one device's overwhelmingly "good" value won't win over many moderately "good" values, unless specifically configured to do so. -Next-hop: Can mean either the interface of the first hop towards the destination or intermediate interfaces, depending on how the routing protocol selects topology. For example Distance Vector protocols only understand destination-first (next) hop tupples. However, using Link State protocols, it may be possible to determine the best path interface from a set of intermediate next-hops. Issues with existing complex metric mechanisms There are numerous issues related to the use of current routing protocol metric comparison systems. This section outlines those issues, so that the benefits of Scored Fair Metric Calculation can be clearly defined in the subsequent section/s. Preference based mechanisms In routing protocols that use preference based metric mechanisms, some metrics are considered before others in predefined order. Only when metrics result in a tie are other "lower-level" metrics considered. This predefined ordering leads to some metrics not being considered at all. For (simple) example assume that we desire to find the best (lowest) delay and (highest) bandwidth path to a particular destination. Further assume that delay has consideration priority over bandwidth in our hypothetical metric mechanism. In this example, we would determine our path solely on delay (unless there was a tie) while ignoring bandwidth, which is "unfair" and undesirable. Example of device using a Preference based routing protocol (all metrics are arbitrary): Device A interface metrics Delay = 9 Banwidth = 150 \/ +-+-+-+-+-+-+ | Expires January 2001 [Page 4] Internet Draft Scored Fair Metric Calculation August, 2000 ----| Device A |---| | +-+-+-+-+-+-+ | +-+-+-+-+-+-+ | | |Calculating|---Network/s |Destination | Device | | | +-+-+-+-+-+-+ | +-+-+-+-+-+-+ | ----| Device B |---| +-+-+-+-+-+-+ | /\ Device B interface metrics Delay = 10 Banwidth = 200 In this diagram, Device A would be chosen to complete the shortest path, with no regard to either device's Bandwidth. Composite based mechanisms In routing protocols that use preference based metric mechanisms metrics data is mathematically combined into a single numerical value before consideration. The use of mathematical composite (combined) metrics presents issues which make it undesirable: -Firstly, in composite based mechanisms all metrics must be comprised of a mathematical compatible data type. For example, to determine topology based on both delay and bandwidth, a similar integer must be used for both metrics, as it is not possible to directly sum 1540Mbps and 10ms. A logical solution for making differing metrics mathematically compatible, is to convert them to an integer. For example, 1 to 255 with 255 as the best metric. After metrics are conversed to common integers, they can be added to form a composite of the individual metrics. The requirement for metrics to use mathematically compatible values presents a number of sub- issues: -Since metrics are combined into compatible metric numbers, the definition of "best" must be the same for all metrics. For example, the LOWER delay metrics (which are better)and HIGHER bandwidth metrics (which are better) might both be represented as 255 (the higher and better number. In this scenario, it's at the least confusing to represent lower delay values with a higher metric. Conversely, the lowest delay and highest bandwidth might both be represented as 1. In this scenario, it's confusing to represent higher bandwidth values with a lower metric. -The need to convert state values into generic numbers obscures the true state of the network, as native states are not easily accessible. Expires January 2001 [Page 5] Internet Draft Scored Fair Metric Calculation August, 2000 -Secondly, when mathematically compatible metrics are combined into composites, metric "starvation" becomes possible. Consider a scenario where device A has a single overwhelmingly "good" metric (Bandwidth) let say 255, but device B has two moderately "good" metrics (delay and jitter) lets say 90 and 90. In this scenario, device A is chosen as the shortest path, even though device B has better over-all state. This example represents the starvation of device B's metrics (where 255 is best): Device A interface metrics: Delay = 10/255 Jitter = 10/255 Bandwidth = 255/255 Total = 275 \/ +-+-+-+-+-+-+ | ----| Device A |---| | +-+-+-+-+-+-+ | +-+-+-+-+-+-+ | | |Calculating|---Network/s |Destination | Device | | | +-+-+-+-+-+-+ | +-+-+-+-+-+-+ | ----| Device B |---| +-+-+-+-+-+-+ | /\ Device B interface metrics: Delay = 90 Jitter = 90 Bandwidth = 90 Total = 270 Diagram representing "metric starvation", in which device A's bandwidth metric unfairly obscures device B's better over all metric suite. While metric starvation may be more critical in link-state protocols, it is also apparent in distance vector protocols. SFMC Benefits SFMC has numerous benefits, including: -It is simple -Providing a modular system for calculating (not only comparing) metrics (SFMC scores) based on very complex sets of advanced state data. SFMC an intermediary between raw metrics and protocols. -It can be used with many existing and developmental protocols, Expires January 2001 [Page 6] Internet Draft Scored Fair Metric Calculation August, 2000 with minimal modification to those protocols -Decoupling metric semantics from the metric (SFMC score) presented to protocols. -Metrics are not converted into mathematically compatible integers, as they do not need to be combined into composite metrics. -Allowing routing protocols, and even their metric enhancements, to continue to be used. This includes features such as variance [7], equal-cost-multi-path (ECMP), and any other routing protocol feature that does not effect the construction metric data. -Comparing all desired metrics, even when ties are present. SFMC is much more fair than preference based metric calculation mechanisms). -Allowing heterogeneous metrics data types and semantics. SFMC can compare heterogeneous metrics and interpret them to provide a single homogeneous metric (SFMC score) to protocols for topological selection. -It eliminates metric starvation. SFMC is designed to provide a better score to a potential next-hop which has the best metric suite, instead of one which has a small number of extremely good metrics. Since SFMC prefers next-hops with the best mix of desired metrics, it is much more fair than composite based schemes. -SFMC provides a logical step for the inclusion of metric and score tuning features. Even though SFMC prefers next-hops with the best mix of desired metrics, it includes features to influence scoring, and therefor routing. -Since SFMC does not attempt to make metric data compatible, native network state data is easily accessed from multiple points in the network. -It eliminates confusion resulting from metric conversion when metrics with lower is better metric semantics are converted into mathematically compatible integers with higher is better semantics. -It reduces resource consumption SFMC Basic Functionality Expires January 2001 [Page 7] Internet Draft Scored Fair Metric Calculation August, 2000 SFMC is a modular system for calculating advanced metrics. It is a module to other protocols, and is within itself, modular. SFMC useae may be added as a configurable option. The possible use/assignment of protocol "options bits" is TBD. Heterogeneous metric data is handed to SFMC which then makes relativistic interoperations of the data between interfaces to produce homogeneous scores, with which protocols (can) use to make topological selections. When data is sent to SFMC, SFMC must prune any interface that does not support desired capabilities. Note that this means that SFMC must not consider any metric for interfaces which do not support desired features. However, SFMC MUST consider all available metrics from interfaces that do not support some number of desired metrics. For example, if a best path based on support for RED capability, lowest delay and highest bandwidth is desired, SFMC must prune any interface not supporting RED. However, if an interface does not support the lowest delay metric, SFMC must still consider it (as long as is supports RED). Thereafter, SFMC begins a multi-stage (modular) relativistic process of comparing metrics and building score(s). The metric comparison process is supported by the construction of an SFMC table, which may include metric (and perhaps COS and Color), device ID, Interface ID, and SMFC points. The SFMC table relates metrics of the same type across a common set of interfaces, allowing relative comparison between those metrics. SFMC can then award points to the interface/s with the best metric/s for each related set. After SFMC compares a metric type-set, it moves on to the next set of metrics. When no more metric-type-sets exist, SFMC tabulates points to build SFMC scores. Obviously, SFMC must then send scores to the routing protocol for consideration in building topology. SFMC should work as efficiently and effectively as existing metric comparison systems in simple scenarios, but as complexity builds the benefits of SFMC become greater. Note that SMFC relies on actual metric data within the delay pair, and not a generic representation (i.e. composite metric). SFMC SCORES MAY BE USED BY THE ROUTING PROTOCOL TO MAKE TOPOLIGAL DECISIONS. There are no constraints in ordering the sets of specific metric types in the SFMC table. When metrics result in a tie, tied scores are sent to the protocol using SFMC. That protocol will determine how to the handle equal cost metrics (the scores). Note that even when metrics tie, subsequent metrics ARE considered by SFMC. Expires January 2001 [Page 8] Internet Draft Scored Fair Metric Calculation August, 2000 SFMC examples Metric values in all examples are arbitrary. In these examples, assume an arbitrary routing protocol. Note the use of native metric data types. Simple Example of SFMC To demonstrate a simple scenario using SFMC, assume that we want to calculate the best delay path between the calculating router and the destination network. Device A interface metrics: Delay = 10ms \/ +-+-+-+-+-+-+ | ----| Device A |---| | +-+-+-+-+-+-+ | +-+-+-+-+-+-+ | | |Calculating|---Network/s |Destination | Device | | | +-+-+-+-+-+-+ | +-+-+-+-+-+-+ | | ----| Device B |---| | +-+-+-+-+-+-+ | | /\ | Device B interface metrics: | Delay = 15ms | | \/ Calculating Device's Corresponding SFMC Table: Device A Device B Point|Metric|Metric | Point|Metric|Metric | |Type | | |Type | | - - | - - | - - | - - | - - | - - | 1 |Delay |10ms | 0 |Delay |15ms | - - | - - | - - | - - | - - | - - | Score 1 | | | 0 | | | In this simple example, SFMC prunes interfaces which don't support desired capabilities. However, in this example there are no desired capabilities, so each interface will considered. Next, in SFMC round 1, SFMC compares each delay metric, and awards an SFMC point to the interface with the best metric/s (Device A in this case, as the delay is lower). Since there was only one metric sent to SFMC, there is only a single SFMC round. Expires January 2001 [Page 9] Internet Draft Scored Fair Metric Calculation August, 2000 Finally, SFMC sums the points awarded during the metric comparison rounds (there was only one round in this case), a sends that data to the routing protocol. In this example device A has a better SFMC score, and most likely it would be chosen as the best path by the routing protocol. More Complex Example of SFMC To demonstrate a more complex scenario of SFMC operation, assume that we want to calculate the best delay, jitter, bandwidth and Current Average Queue depth path between the calculating router and the destination network. Further assume each device has two input interfaces with differing states: Device A interface metrics: Interface 1 Interface 2 Delay = 8ms Delay = 10ms Jitter = 20ms Jitter = 19ms Bandwidth = 100Mbps Bandwidth = 100Mbps Queue Depth = 10KB Queue Depth = 10KB Interface 1 \/ ---- +-+-+-+-+-+-+ | | | Device A |---| | --- +-+-+-+-+-+-+ | || /\ | || Interface 2 | || | +-+-+-+-+-+-+ || | |Calculating|---Network/s |Destination | Device | || | +-+-+-+-+-+-+ || | || Interface 1 | || \/ | | --- +-+-+-+-+-+-+ | | | Device B |---| ---- +-+-+-+-+-+-+ | /\ Interface 2 Device B interface metrics: Interface 1 Interface 2 Delay = 3ms Delay = 2ms Jitter = 10ms Jitter = 11ms Bandwidth = 1000Mbps Bandwidth = 1000Mbps Queue Depth = 1KB Queue Depth = NA Expires January 2001 [Page 10] Internet Draft Scored Fair Metric Calculation August, 2000 Calculating Device's Corresponding SFMC Table (table split into sections for pagination only): Device A Interface 1 Interface 2 Point|Metric |Metric |Point|Metric |Metric | |Type | | |Type | | - - | - - - - | - - - | - - | - - - - | - - - | 0 |Delay |8ms | 0 |Delay |10ms | - - | - - - - | - - - | - - | - - - - | - - - | 0 |Jitter |20ms | 0 |Jitter |19ms | - - | - - - - | - - - | - - | - - - - | - - - | 0 |Bandwidth |100mbps | 0 |Bandwidth |100Mbps | - - | - - - - | - - - | - - | - - - - | - - - | 0 |Queue De. |10KB | 0 |Queue De. |10KB | - - | - - - - | - - - | - - | - - - - | - - - | Score 0 | | | 0 | | | Device B Interface 1 Interface 2 Point|Metric |Metric |Point|Metric |Metric | |Type | | |Type | | - - | - - - - | - - - | - - | - - - - | - - - | 0 |Delay |3ms | 1 |Delay |2ms | - - | - - - - | - - - | - - | - - - - | - - - | 1 |Jitter |10ms | 0 |Jitter |11ms | - - | - - - - | - - - | - - | - - - - | - - - | 1 |Bandwidth |1000mbps| 1 |Bandwidth |1000Mbps| - - | - - - - | - - - | - - | - - - - | - - - | 1 |Queue De. |1 KB | 0 |Queue De. |NA | - - | - - - - | - - - | - - | - - - - | - - - | Score 3 | | | 2 | | | In this example the SFMC process is more complex than the previous example and therefor longer: As always, SFMC prunes interfaces which don't support desired capabilities. However, in this example there are no desired capabilities, so each interface will considered. In the first metric comparison, called round 1, SFMC compares delay metrics (and only delay metrics) across the (4) interfaces residing on each potential next hop node, of which there are two. In this comparison, interface 2 of device B is awarded a point, as it has the lowest delay. After delay metric comparison, next moves on to round 2 (there are no comparison ordering constraints). In round 2, jitter metrics (only) are compared across the (4) interfaces residing on each potential Expires January 2001 [Page 11] Internet Draft Scored Fair Metric Calculation August, 2000 next hop node. In this comparison, interface 1 of device B is awarded a point, as it has the most tightly constrained Jitter metric. In SFMC round 3, only bandwidth metrics are compared across the (4) interfaces residing on each potential next hop node. In this round, , interface 1 AND 2 of device B are awarded a point, as they tie for the highest bandwidth. As queue depth metrics are next in the table, SFMC compares them across the (4) interfaces residing on each potential next hop node. In this comparison, interface 1 of device B is awarded a point, as it has the smallest current average depth. Note in this round that SFMC treats interfaces that do not support specific metric types as having an arbitrarily "poor" metric. The final step in this example is for SFMC to sum each interface's SFMC points into a decoupled (metric-independent) SFMC score. This score is then presented to other protocols (routing protocols and extensions) as metric data. From the SFMC scores, which are now used as metrics, topology decisions can be made based on best metric/s. Example of Metric Fairness (Combating Metric-Starvation) This example demonstrates SFMC's default behavior when presented with metrics from an interface (or device) that would be cause metric starvation in other metric schemes. In this example, network administrators desire the best path between the calculating device and the destination network based on delay, bandwidth, jitter and queue depth. However, its clear the device A has overwhelmingly "good" bandwidth; which in other protocols would force device A to become the next hop in the path. SFMC allows all metrics (delay, bandwidth, jitter and queue depth) to be considered equally and fairly (by default). Device A interface metrics: Delay = 10ms Jitter = 10ms Bandwidth = 1000Mbps Queue Depth = 1KB \/ +-+-+-+-+-+-+ | ----| Device A |---| | +-+-+-+-+-+-+ | +-+-+-+-+-+-+ | | |Calculating|---Network/s |Destination | Device | | | +-+-+-+-+-+-+ | +-+-+-+-+-+-+ | | ----| Device B |---| | +-+-+-+-+-+-+ | | /\ Expires January 2001 [Page 12] Internet Draft Scored Fair Metric Calculation August, 2000 | Device B interface metrics: | Delay = 9ms | Jitter = 9ms | Bandwidth = 100Mbps | Queue Depth = .5KB | | \/ Calculating Device's Corresponding SFMC Table: Device A Device B Interface 1 Interface 1 Point|Metric |Metric |Point|Metric |Metric | |Type | | |Type | | - - | - - - - | - - - | - - | - - - - | - - - | 0 |Delay |10ms | 1 |Delay |5ms | - - | - - - - | - - - | - - | - - - - | - - - | 0 |Jitter |10ms | 1 |Jitter |5ms | - - | - - - - | - - - | - - | - - - - | - - - | 1 |Bandwidth |1000mbps| 0 |Bandwidth |155Mbps | - - | - - - - | - - - | - - | - - - - | - - - | 0 |Queue De. |1 KB | 1 |Queue De. |.5KB | - - | - - - - | - - - | - - | - - - - | - - - | Score 1 | | | 3 | | | During the SFMC process for this example, Device A is awarded a point for it's highest bandwidth. Device B is awarded points for lower delay, jitter, and queue depth. Note that even though device A's bandwidth ratio is much higher than any metric ratio in which device B wins, device B ) has a better SFMC score as it supports "more" best metrics and should therefor be selected by the routing protocol as the best path. SFMC Tuning Features Since SFMC allows metric calculation and path selection to be decoupled, all metrics are treated extremely fairly and default SFMC operation may not be optimal. A major benefit of SFMC's architecture is the simple and flexible interface it provides for extensive manipulation of path selection. This section outlines a number of methods which permit the granular control of SFMC operation. SFMC tuning features allow: -Weight to be placed on metric type- Which metric is most important? -Static constraint weighting- What ranges of metric values are most important? -Average constraint weighting- What relative ranges of metric values Expires January 2001 [Page 13] Internet Draft Scored Fair Metric Calculation August, 2000 are most important? -Variance- How much "worse" than the "best" metric is acceptable? -Constraint- What basic ranges of values are acceptable? It might be desirable to artificially manipulate the default score assigned to the interface/s with the best metric/s in a set. Changing the awarded SFMC points for a metric points would change that metric's influence in SFMC scoring. There are several methods through which varying SFMC scoring effects can be achieved. Note that all of these scoring enhancements operate at and manipulate SFMC scoring rounds. Static Metric Type Weighting Using Static Metric Type Weighting, the score of interface/s within a metric certain type is increased based on the type of metric. This is a simple method for assigning relative value for inter-metric comparison. Note that this is an enhancement of the scoring round at the metric level. For example: -Determine the best interface for a certain metric type. However, instead of assigning one SFMC point to that interface assign X number of points. Put differently -When comparing the delay metric between a set of routers, it might be beneficial to award the router with the lower delay two SFMC points (instead of one). Static Constraint Score Weighting Using Static Score Weighting, the score of interface/s within a certain metric type is increased based on a static range table of constraints. This is a simple method for assigning relative value for intra-metric comparison. Note that this is an enhancement of the scoring round at the metric level. For example: -If delay is between 0 and 10ms then award 2 SFMC points -If delay is between 10 and 20ms then award 1 SFMC points -Else award no points Averaged Delta Constraint Score Weighting Expires January 2001 [Page 14] Internet Draft Scored Fair Metric Calculation August, 2000 Using Averaged Delta Constraint Score Weighting, the score of the interface/s with the best metric/s of a certain type is/are automatically increased based on their relationship to other interfaces. This method averages each interface's metric with the others in a set, awarding numbers of points based on percentage. Note that Averaged Delta Score Weighting is an enhancement of the scoring round for a metric type. For example, if four interfaces have delay metrics of: -50ms (Interface 1) -50ms (Interface 2) -25ms (Interface 3) -10ms (Interface 4) Then calculate total delay (which is 135ms). Then average the interface delays: -Interface 1 = 37% = 0 POINTS -Interface 2 = 37%= 0 POINTS -Interface 3 = 18.5%= 1 POINT -Interface 4 = 7% = 2 POINTS Then compare to percentages to scoring table: -If between 0% and 10% then award 2 SFMC points -If between 10% and 20% then award 1 SFMC points -Else award no points Therefor in this example: -Interface 1 would be scored 0 POINTS -Interface 2 would be scored 0 POINTS -Interface 3 would be scored 1 POINT -Interface 4 would be scored 2 POINTS Note that the calculations in this example could be reversed for metrics in which higher values are "better". Variance Constraint Score Weighting In Variance Constraint Score Weighting, the score of the interface/s with the best metric/s of a certain type is/are automatically increased based on their relationship to interfaces with the best metric. This method determines the interface with the best metric in a set, and then awards SFMC points to it and all other interfaces within a configurable range. Using the delay example again, if four interfaces have delay metrics of: Expires January 2001 [Page 15] Internet Draft Scored Fair Metric Calculation August, 2000 -50ms (Interface 1) -50ms (Interface 2) -25ms (Interface 3) -10ms (Interface 4) -Then determine the interface with the best delay (which is interface 4). Award points to that interface and any interface within a configurable range (which might be +20ms or 14.8%) -Interface 1 = 0 POINTS -Interface 2 = 0 POINTS -Interface 3 = 1 POINT (as it is less the best metric plus 20ms) -Interface 4 = 1 POINT (as it is best) Note that the calculations in this example could be reversed for metrics in which higher values are "better". Constraint Based Scoring In Constraint Based SFMC Scoring only metrics within certain bounds are awarded points. Using the delay example again, if four interfaces have delay metrics of: -50ms (Interface 1) -50ms (Interface 2) -25ms (Interface 3) -10ms (Interface 4) -Then award points to only interfaces with delay lower than 30ms. -Interface 1 = 0 POINTS -Interface 2 = 0 POINTS -Interface 3 = 1 POINT (less than 30ms) -Interface 4 = 1 POINT (less than 30ms) 6 Acknowledgements 7 References [1] Giacalone, S., "Network Engineering Extensions to OSPFv3" work in progress (independent Internet Draft). [2] Moy, J., "OSPF Version 2", RFC 2328, April 1998 [3] Coltun, R., Moy, J., "OSPF for IPv6" RFC 2740, December 1999 Expires January 2001 [Page 16] Internet Draft Scored Fair Metric Calculation August, 2000 [4] Katz, D., Yeung, D, "Traffic Engineering Extensions to OSPF", internet Draft, April 2000 [5] Awduche, D., et al, "Requirements for Traffic Engineering Over MPLS, work in progress. [6] Luciani, J., Rajagopalan, B., Awduche, D., Cain, B., Jamoussi, B., " IP over Optical Networks - A Framework", work in progress. [7] Kompella, K., Rekhter, Y., Awduche, D., Hannan, A., Hjalmtysson, G., Lawrence, J., Okamoto, S., Basak, D., Bernstein, G., Drake, J., Margalit, N., Stern, E., "Extensions to IS-IS/OSPF and RSVP in support of MPL(ambda)S", work in progress. [8] Cisco Systems, "Internetwork Design Guide", February 1996 [9] Cisco Systems, "MPLS Traffic engineering", online, http://www.cisco.com/univercd/cc/td/doc/product/software /ios120/120newft/120limit/120s/120s8/te_1208s.htm#xtocid2395327 A Compatibility SFMC is a modular system that can be integrated with developmental and existing routing protocols and extensions. SFMC can inter-operate with both Link-State and Distance Vector protocols. Devices using a topology selection protocol which in turn relies on SFMC will, in all likelihood, view the network differently than devices which use topology selection protocol with more simple metric calculation mechanisms. Therefor, it may be necessary that all devices in a network either use, or don't use, an SFMC based topology selection protocol at a given time. A.1 Usage in direct metric relationship (lower metric-better) protocols This memo assumes that routing protocols consider higher metrics as "better" metrics. In the event that a routing protocol considers a lower metric as "better" there are two alternatives. Firstly, the routing protocol can be modified to work with the specification in this draft. Secondly, SFMC can be modified to award points to interfaces that do NOT posses the "best" metric in a set. In this alternative, SFMC would send lower scores for interfaces with better over all metrics. Note that this alternative might require some default point allocation, and modification of SFMC tuning features. A.2 SFMC in Distance Vector Protocols Expires January 2001 [Page 17] Internet Draft Scored Fair Metric Calculation August, 2000 This memo assumes SFMC use with Link-State protocols. However, there does not appear to be any issue with using SFMC with Distance Vector protocols. The most prevalent change when using SFMC with Distance Vector protocols would be that the metrics handed to SFMC would be metrics for an entire path, not hop by hop metrics. Basic SFMC operation will be unchanged. A.3 Usage with Resource Class/Color It is assumed that metric data will be sent into SFMC on a per interface and PER RESOURCE CLASS/COLOR basis. In this case SFMC would operate normally, but now for each resource class/color (separately). A.4 Usage with SRLG Shared Risk Link Groups may be handled in a number of ways: Firstly if a static SRLG is configured, then that SRLG is treated as a capability in SFMC. For example, if SRLG 1 is configured, SFMC can either include or exclude the device/interface. Secondly, SFMC may (only) compare device/interfaces with the same SRLG attribute, sending SFMC scores to the routing protocol for those device/interfaces. Other device/interfaces may be compared separately. Note that this might require extending SFMC. Thirdly, the routing protocol can handle SRLG, by determining what device/interface data to send to SFMC. A.5 Usage with existing routing protocol enhancements SFMC should not effect the basic operation (the premise) of path selection enhancements in existing routing protocols. This is because SFMC calculates metrics (scores) after interpreting raw metrics. The routing protocol continues to make final next hop/best path selection. There are also enhancements to allow Link-State protocols to operate over MPLS [9]. SFMC does not appear to over lap with these extensions, and may enhance them. A.6 Interoperation with OSPF A requirement of SFMC is that the routing protocol provide raw metric data pertaining to sets of potential best path interfaces at either the first or every hop towards the destination. Whether potential Expires January 2001 [Page 18] Internet Draft Scored Fair Metric Calculation August, 2000 best path interfaces can be discerned at only the first hop or each hop towards a destination depends on the routing protocol. A potential point at which SFMC and OSPF can interact is defined in [2], section 16.1.2 (d). But because of the semantics of OSPF's operation in this section, it may be necessary, to: -Have OSPF add (sum)the metrics for each metric type across each candidate path. In this scenario, SFMC would run once (one round for each metric type) as it does for Distance Vector protocols. -Provide all metrics for each hop for each candidate path. In this case SFMC would run as specified in this document, but the method for correlating hop by hop metrics to each other is TBD. It may also be possible to use SFMC in other ways with OSPF. This area should be further investigated. The most optimal method for interworking SFMC with OSPF would be if it was possible to compare potential best-path-interfaces at each hop across the network (towards the destination). For example, SFMC should operate optimally when metric sets are compared at the first hop set of interfaces, the second set, and so on. However, this method of SFMC interoperation may require changes to OSPF itself. B Security Considerations SFMC does not appear to provide risk in addition to that already present in routing protocols to which it may be applied. C Authors' Addresses Spencer Giacalone Predictive Systems, Inc. 25a Vreeland Road Florham Park, NJ 07932 Phone: +1 (973) 301-5695 EMail: spencer.giacalone@predictive.com D Full Copyright Statement Copyright (C) The Internet Society (2000). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this Expires January 2001 [Page 19] Internet Draft Scored Fair Metric Calculation August, 2000 document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Expires January 2001 [Page 20]