OSPF Optimized Multipath (OSPF-OMP) Curtis Villamiza r < curtis@ans.net > URLs (including ea rlier simulations): � http://engr.ans.net/mpls-omp { http://engr.ans.net/ospf-omp { http://engr.ans.net/isis-omp { Internet Drafts: � draft-ietf-ospf-omp-01.txt,ps { draft-villamiza r-isis-omp-00.txt,ps { draft-villamiza r-mpls-omp-00.txt,ps { This is {still{ \w o rk in p rogress". �
Draft Status: draft-ietf-ospf-omp-01.txt,ps Changes since the -00 version: � Do cument reo rganized fo r b etter readabilit y { Mino r changes to pa rameters from simulation exp erience { Option to relax SPF b est path criteria (Dave W a rd) { Pseudco de included in app endices to aid implemento rs { Up coming changes: � Optimization of pa rtial paths { Multiple vendo rs considering implementation. � Not sure if any have sta rted co ding. {
OMP Algo rithm Highlights Flo o d Loading Info rmation via OSPF o r IS-IS � Router samples o wn SNMP counters every 15 seconds { Filters and �o o ds dep ending on load level and change { F o rw a rding (OSPF-OMP , ISIS-OMP , MPLS-OMP at ingress) � Compute Hash on IP source/destination { Select from available paths based on hash value { 14-16 bit hash p rovides �ne adjustment granula rit y { Load Adjustment (OSPF-OMP , ISIS-OMP , MPLS-OMP) � load adjustment through change in hash b ounda ry { small initial adjustment { exp onential increase in adjustment increment { increment is halved when adjustment reverses { P ath Setup (MPLS-OMP only) � Setup new paths after p ersistent high utilization { Remove extra paths after p ersistent lo w utilization { TE do es not dep end on ca reful con�guration of IGP link metrics {
Flo o d Loading Info rmation via OSPF o r IS-IS Router samples o wn SNMP counters every 15 seconds � if f In,Out gf Octets,P rd g Counters a re ack et,Disca { Filter using a few compa re, shift, and add op erations � Compute \equivalent load" as describ ed in OSPF-OMP � Check fo r re�o o ding based on: � Time elapsed since last �o o ding { Greater of current load and last �o o ded value { P ercent change since last �o o ded value { When needed, re�o o d and reco rd time and value �
F o rw a rding (OSPF-OMP , ISIS-OMP , MPLS-OMP at ingress) After SPF create \next hop" data structures � Compute Hash on IP source/destination p er pack et � 14-16 bit hash p rovides �ne adjustment granula rit y { CRC16 seems to w o rk �ne. Others ma y b e used. { Select from available paths based on hash value � Compa re hash value to b ounda ries in \next hop" struct { F o rw o rding is lik e ECMP except load split is unequal { Adjustments to b ounda ries will adjust load split { Cha racteristics: � No transient routing lo ops o r drops { No micro�o w pack et reo rdering except during adjustment { Adjustments a re every few minutes (minimal reo rdering) {
Load Adjustment (OSPF-OMP , ISIS-OMP , MPLS-OMP) Load adjustment through change in hash b ounda ry � Initial adjustment a re very small (default is 1%) � Additional adjustments a re made: � When loading on the most heavily loaded link is re�o o ded { After timers expire and no change is rep o rted { The adjustment increment increases exp onentially � When signi�cant adjustment o ccurs, �o o ding is fo rced { Flo o ding will either accellerate o r reverse adjustment { Some oversho ot can o ccur when tra�c rapidly ramps up � When adjustment reverses, adjustment increment is halved � Halving the rate on reversal insures stabilit y { Stabilit y has not b een mathematically p roven, but simu- { lation results strongly indicate stabilit y When load stabilizes, �o o ding rate also drops {
OSPF-OMP when used with MPLS-OMP Besides doing what OSPF no rmally do es, an interio r router � in an MPLS-OMP domain do es the follo wing: Sample its o wn SNMP counters every 15 seconds. { Apply simple �lter to SNMP sampled data. { Determine when to �o o d �itered result acco rding to { guidelines in OSPF-OMP Ingress routers must also do the follo wing: � Setup MPLS LSP path sets acco rding to MPLS-OMP { Adjust loading on path sets acco rding to OSPF-OMP { Hash on src/dst and fo rw a rd acco rding to OSPF-OMP {
A Simple Example C 2 2 B E 2 2 2 2 A D G 2 3 F 6 Majo r ingress and egress a re A, F and E, G � Majo r �o ws a re A-E = F-G = F-E = 0.5, A-G = 1 � Link E-G is double capacit y of others � Link costs a re as sho wn in the circles � Utilizations: Red = 1, Green = 0.5 �
First Opp o rtunit y fo r Load Adjustment C B E A D G F No de B can move load from B-D-E to B-C-E � Utilizations of B-C, C-E, and D-E app roach 0.75 � Utilizations of B-D drops to 0.25 �
Second Opp o rtunit y fo r Load Adjustment C B E A D G F No de F can move load from F-G to F-D-E � No de B will continue to move load from B-D-E to B-C-E � Utilizations of B-C, C-E, and D-E, F-G app roach 0.83 � Utilizations of F-G and E-G app roach 0.67 � No de F will actually not w ait until D-E loading has reached � 0.75, it will sta rt moving load when D-E loading is noticed to b e lo w er than F-G
Second Opp o rtunit y fo r Load Adjustment C B E A D G F No de A can move load from A-B- f CD g -E-G to A-F-G � No de F will continue to move load fro F-G to F-D-E � No de B will continue to move load from B-D-E to B-C-E � Utilization of A-B will app roach 0.83 � Utilizations of F-G and E-G also app roach 0.83 � No de A will sta rt moving load when F-G loading is noticed � to b e lo w er than A-B A-F go es to 0.67, B-D app roaches zero �
The Need fo r P a rtial P ath Optimization C 2 2 B E 2 2 2 2 A D G 3 2 F 6 Consider tra�c in the reverse direction � W o rst loading on the E-C-B-A path load of 1.0 on D-A � W o rst loading on the E-D-B-A path is on D-A and E-D � Moving load from E-D-B-A to E-C-B-A do es not reduce load � on the link D-A so it do es not reduce the load on E-D-B-A. No de E will not move load from E-D-B-A to E-C-B-A �
V alidating the Algo rithms Simulations a re at http://engr.ans.net/ospf-omp � tuto rial directo ry has simple examples { simulations directo ry has la rger top ologies { simulations directo ry has adverse conditions cases { link failure � fast rise in o�erred load � high noise in o�erred load � la rge drift over time � Simulations coverage: � OSPF-OMP is completely covered. { ISIS-OMP is not implemented at all. { MPLS-OMP LSP deletion is not implemented. { MPLS-OMP link failure is not implemented. { MPLS simulations a re not y et on the w eb page. { If UUNET simulations cannot b e made available, simula- { tions using a complex hyp othetical top ology a re needed.
Summa ry Algo rithms a re b eing validated through simulations. � Most a re available at http://engr.ans.net/ospf-omp { Status: draft-ietf-ospf-omp-01.txt,ps � Little change to the algo rithms since -00 version. { Substantial imp rovement to the do cument since -00. { Optimization of pa rtial paths needs to b e added. { Another iteration of the draft is needed. { Comments w ould b e nice. Implementations nicer. {
Recommend
More recommend