Internet DRAFT - draft-giacalone-scored-fair-metric-routing
draft-giacalone-scored-fair-metric-routing
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]