aq-ashwood-ECT-framework-1109-v2.ppt

Download Report

Transcript aq-ashwood-ECT-framework-1109-v2.ppt

IEEE 802.1aq Shortest Path Bridging
Equal Cost Tree (ECT) Framework Proposal
Peter Ashwood-Smith
incorporating graphics by: Guoli Yin
incorporating MCID input from: Nigel Bragg
ECT 3..16 from: Mick Seaman (per –d2-1)
Nov 2009
IEEE 802.1aq
Atlanta
1
Presentation Structure
• There are strict requirements on ECT algorithms compatible
with SPB :
– we summarise these
• Nonetheless, a number of different algorithms have been
identified and successfully prototyped :
– we give a couple of examples
So what is the best way to preserve rigour and allow future
algorithm innovation ?
• Define an extensible Framework (compatible with previous
work).
• and populate it initially with currently known and validated
algorithms
Nov 2009
IEEE 802.1aq
Atlanta
2
Algorithm requirements review:
Shortest paths computed by SPB must be symmetric and downstream
congruent.
• Symmetry required for:
• Learning in the case of SPPV
• Ingress checking (SA lookup miss => discard) for SPPM
• Downstream congruence required for:
• Hop by hop destination-based (DA/VID) forwarding, every hop
agrees on same ‘rest of path’, so state scales O(N) vs. O(N2)
Equal cost shortest paths computed by SPB must be resolved by a
technique which is independent both of the direction of computation and the
location in the topology of the computing node.
Nov 2009
IEEE 802.1aq
Atlanta
3
Tie-Breaking – base algorithm
•When only one shortest path there is no issue.
•When two equal min sum of link metric paths exist must deterministically pick 1.
•Basic tie breaker is called LowPathID :
• a lexicographically ordered list of the BridgeIds forming the Path
•LowPathId will pick path with the minimum BridgeId between fork/join points.
•LowPathId is trivial to implement in Dijkstra, just backtrack when join occurs:
•Track min BridgeId on each path until they converge (fork point).
•LowPathId is the path with the min of the two mins between fork/join.
Min=1
1
3
•BridgeId = BridgePriority concatenated with SysID
•Winner can be tuned by adjusting BridgePriority
6
fork
Nov 2009
IEEE 802.1aq
Atlanta
2
4
Min=2
5
join
4
HOW DOES IT WORK IN PRACTICE?
Animated GIF,
run interactive to view.
Low PathID
As applied to a 7
member E-LAN
ISID 100 all
members support
both transmit/receive.
SPF tree shown from
each member :
N
using Low PathID
algorithm.
Symmetry highlighted
Between 35 and 40.
Nov 2009
IEEE 802.1aq
Atlanta
5
Tie-Breaking – 15 additional algorithms allow ECT
•There are 15 additional algorithms defined, allows ECT diversity.
•Each starts by running a 1:1 permutation on the BridgeID’s with XOR against
known (network-global) masks.
•The LowPathID algorithm #1 is run after XOR with mask 0x0 (no change).
•For example, algorithm #2 will invert all the bytes in the BridgeID.
•We have been calling this ‘highPathId’ so uses all 1’s as its mask.
•Each of the other 14 algorithms uses a different bit mask to XOR the BridgeID
into a new unique permutation.
•We implement all 16 by XOR-ing with the mask and finding min of min.
•The masks are as follows (in hex), each byte in 8 byte mask uses same value.
00 ff 88 77 44 33 cc bb 22 11 66 55 aa 99 dd ee
Nov 2009
IEEE 802.1aq
Atlanta
6
EXAMPLE ECT diversity for Algorithms 1,2 and 9
#S
#1
0 | FF | 22
1 | FE | 23
#2
#3
0 | FF | 22
2 | FD | 20
#D
0 | FF | 22
3 | FC | 21
BridgeID
INPUT
XOR-MASKs
RESULT
#1 xor 0 = 1
#1 xor FF = FE
#1 xor 22 = 23
KEY
#2 xor 0 = 2
#2 xor FF = FD
#2 xor 22 = 20
N = min {BridgeID XOR MASK[i]}
#N = Bridge ID
Nov 2009
IEEE 802.1aq
Atlanta
#3 xor 0 = 3
#3 xor FF = FC
#3 xor 22 = 21
7
HOW DOES IT WORK IN PRACTICE?
Animated GIF,
run interactive
to view.
8 X ECT
66 nodes Metro style
8 x ECT
36 node DS-style/fat
HUGE improvement over
Low/high PathID (x 2 ECT).
But routes get missed because:
I made 2 ‘tweak’s to priorities to
get this result.
If Diameter = D and avg
adjacency = A there are:
O((A-1)D) paths.
Nov 2009
IEEE 802.1aq
Atlanta
What other approaches can
we take to maximize diversity?
8
There seem to be numerous different classes of ECT
algorithm with different properties.
1. Minimum/Max of some nodal identifier over paths.
• 1:1 Permutations of that identifier to spread min around.
• Operator can explicitly set identifiers to tweak spreading.
2. Minimum/Max of some link identifier over paths.
• 1:1 Permutations of that link identifier to spread min around.
• Operator can override link id to tweak spreading.
3. Minimum/Max of a sum of a secondary metric.
• Hash produces the secondary metric.
• User can override the secondary metric to tweak spreading.
4. Algorithms which consider previous ECT algorithms path usage
to increase diversity. (Requires serial run instead of parallel).
Nov 2009
IEEE 802.1aq
Atlanta
9
Since there seems to be a rich area of research to look into new ECT
algorithms and with proper ECT diversity a form of traffic engineering emerges.
So we propose:
1. Fix the 16 ECT algorithms as defined in –d2-1 and advance the spec…but
2. Include a framework that allows new ECT algorithms to be implemented.
3. Framework to include hello/LSA policies & TLVs for safe migration.
4. Framework includes concept of Opaque ECT-DATA on a node or link basis for
future ECT algorithms.
5. Vendors/Researchers and future standards work can build into this
framework without changes to IETF ISIS work or even IEEE 802.1aq.
•
•
Nov 2009
Vendors could sell proprietary ECT behaviors or publish informational.
Other standards bodies can add custom behaviors, Data Center etc.
IEEE 802.1aq
Atlanta
10
The proposal – full text submitted to Don Fedyk
ECT-ALGORITHM ::= OUI:24 || INDEX:8
OUI = 00-80-C2, INDEX 0-16 defined by 802.1aq. 0=STP, 1=LowPathID etc.
ISID  ECT-VID  ECT-ALGORITHM
So we expand from 8 bit Algorithm to 32 bits in SPB Instance sub TLV.
HELLO  { < ECT-ALGORITHM, ECT-VID, USE-FLAG > } *
Hello protocol carries algorithm identifier and VID used and indication of its
current usage state for clean migration.
LSP  { < ECT-ALGORITHM, ECT-VID, DATA-VID, USE-FLAG > }*
Announces support for given algorithm and the VID to use. SPBM ECT-VID
and DATA-VID are the same and are just the B-VID. Otherwise SPBV then
ECT-VID is Base-VID and DATA-VID is the SPVID.
LSP  OPAQUE-NODE-ECT-TLV || ECT-ALGORITHM … ECT-DATA
LSP  OPAQUE-LINK-ECT-TLV || ECT-ALGORITHM … ECT-DATA
Allows future expansion.
Nov 2009
IEEE 802.1aq
Atlanta
11
ECT MIGRATION
•USE-FLAGs should be advertised when ISIDs reference an ECT-ALGORITHM.
•Hellos should set USE-FLAG if they are locally referencing or remotely seeing
references to the ECT-ALGORITHM.
• Adjacency permitted if { <ECT-ALGORITHM>, <ECT-VID> } * match.
•If mismatch for a given ECT-ALGORITHM the adjacency is allowed only if
USE-FLAG not set on at least one end.
• this allows a new ECT-ALGORITHM to be introduced gradually whilst
the network continues running the current production algorithm
•Must not locally use an ECT-ALGORITHM unless all adjacencies agree
on ECT-VID.
•This should permit a new ECT-ALGORITHM to be turned on, advertised
and then migrated to.
•It also permits movement away from an ECT-ALGORITHM and then the
deprecation of that ECT-ALGORITHM network wide once no longer in use.
Nov 2009
IEEE 802.1aq
Atlanta
12
MCID – migration issues (SPB only)
1. It may not be possible to accurately populate the VID space a priori.
2. and since we do not want to take down an adjacency just because we
are adding a new un anticipated VID
3. We propose to allow an AUX-MCID to be advertised.
4. An adjacency is not rejected if the primary MCIDs don’t match as long
as there is a match of the AUX-MCID with the primary MCID.
• i.e. either the primary OR the auxiliary MCID of one bridge must
match the primary MCID of the other to keep the adjacency up.
5. This allows configuration of one end of a link followed by out of sync
configuration of the other end without loss of adjacency.
6. Responsibility for ensuring that primary and auxiliary MCIDs represent
compatible super/sub-sets of VIDs lies with the network administrator
• but in-service upgrade of this sort is not for the amateur anyway
Nov 2009
IEEE 802.1aq
Atlanta
13