Trill Parent node shi≥, Mi ga on. IETF 98, Chicago.

Trill Parent node shi/,
Mi2ga2on.
IETF 98, Chicago.
h"ps://datatracker.ie0.org/doc/dra3-rp-trill-parentselec7on-03
R.Parameswaran,
BrocadeCommunica7onsInc.,
[email protected].
1
Problem Statement/Summary
•  Theparentselec7onrules,standardizedinTrill’s
treeconstruc7onprocess,canleadtoun-necessary
shi3sinparent-childrela7onships,insome
situa7ons.
•  Awareofthisimpac7nglatencyrequirementsfor
somecustomers.
•  Thedra3presentedhereproposestwodis7nct
solu7onswhichcanbeusedtoaddressthe
problem.
2
Problem statement
•  WhatistheissuewithTrill’sstandardtreeconstruc7on
method?
•  Let’sseehowTrilldefinesparentselec7onduringtree
construc7on.
[RFC6325]:
•  "Whenbuildingthetreenumberj,rememberallpossible
equalcostparentsfornodeN.A3ercalcula7ngtheen7re
'tree‘(actually,directedgraph),foreachnodeN,ifNhas'p'
parents,thenordertheparentsinascendingorder
accordingtothe7-octetIS-ISIDconsideredasanunsigned
integer,andnumberthemstar7ngatzero.Fortreej,choose
N'sparentaschoicejmodp."
3
Problem statement (contd).
•  Thereisanaddi7onalcorrec7onpostedtothisin
[RFC7780]:
•  [RFC7780],Sec7on3.4:
“ThisischangedsothattheselectedparentMUSTbe
(j-1)modp.Asaresult,inthecaseabove,tree1will
selectparent0,andtree2willselectparent1.This
changeisnotbackwardcompa7blewith[RFC6325].If
allRBridgesinacampusdonotdeterminedistribu7on
treesinthesameway,thenformosttopologies,the
RPFCwilldropmanymul7-des7na7onpacketsbefore
theyhavebeenproperlydelivered."
4
Problem Statement (Depic2on) A
1
1
3
2
Considertree2,andsay
nodeAisthetreeroot.
Now,considerwhat
happensifNode1
goesdown?
B
A
C
B
C
2
3
BeforeNode1goesdownthe
Orderedlistis:
[1(@index0),2(@index1),3]
Parentselec7onfornodesB,C,
IsmandatedbyTrillasthenodeat
index:
(Treenum–1)modnum_parents
=(2-1)mod3
=1,whichcorrespondstotheindexof
Node2.
Assumethatnodes1,2,3areinsortedorder,sortedbyascendingorderofISIS7octetID.
5
Problem Statement (contd) A
2
1
3
Considerwhathappensif
Node1
goesdown?
B
A
C
B
C
2
3
OrderedlistofparentsforB,Cnowis
[2(@index0),3(@index1)]
Parentselec7onfornodesB,C,
IsmandatedbyTrillasthenodeat
index:
(Treenum–1)modnum_parents
=(2-1)mod2
=1,whichcorrespondstotheindexof
Node3.
BandC’sparentshi3edfromnode2tonode3–thisisunnecessary,since2neverwent
down.Similarproblemscanhappenwithothertreenumbers,andthiscanhappenateach
parent/childrela7onshipinthetree.
6
Solu2on (Approach 1).
•  Howcanthisbesolved?
•  Affinitysub-TLV(It’sasub-TLVoftheRoutercapabilityTLV).
•  Otherdra3s/RFCsnowuseaffinitysub-TLVinotherscenarios.
•  AffinityTLVbasicallydictatesparent-childmappings.
•  Ispublishedbytheparent,iden7fyingthelistofchildrenit
wantstobindto,andthespecifictreeonwhichthisistobe
done.
•  Powerfulsub-TLVwhichneedstobeusedwithincertainguidelines.
•  Applicabilitytothiscase,operatorpinss7ckinesstochildren
onaspecific(parent)node,usingaCLI.Operatortakes
responsibilityofconfiguringCLIononlyoneofasetofpossible
parentnodes(shouldnotbeconfiguredonmorethanone
sibling,andshouldnotbeconfiguredontherootofthetree).
7
Solu2on (Approach 1) Contd.
•  Operatorconfiguresparents7ckinessonapar7cularparent(designatedparent),
forpar7culartreenumber.
•  Thedesignatedparentrunsthroughatreecalcula7on,ignoresthedefaultTrill
parentselec7onrule,andassertsitsrighttobeaparent,ifduringtree
computa7onitfindsitselftobeapoten7alparentofoneormorechildnodes.
•  Oncethetreecomputa7oncompletes(withanaddi7onalstabiliza7on7mer),the
designatedparentnodepublishesanAffinitysub-TLV,iden7fyingthechildnodes
andthetreenumber.
•  Thisisalsorepeatedinanysubsequenttreecomputa7ons.
•  Othernodesinthenetworkblindlyhonortheaffinitysub-TLVsentbythe
designatedparent,ifany.
•  Notethattreestructurewillchangeaslinksandnodesgodownorcomeupin
thenetwork.Thedesignatedparentwilleitherpublishunchanged,orchange,or
retractaffinitysub-TLVasnetworkeventschangethetree,dependingon
whetherithaschildrenornotinthenewtreeorder(designatedparentmakesa
best-efforttotryandpreserveitsexis7ngchildrela7onships,treestructure
permiqng,disregardingthedefaultTrilltreeconstruc7onrule,andignoringits
ownaffinityTLVinitsowntreecalcula7on).
•  Intheeventofaretrac7onoftheaffinitysub-TLV,othernodesinthenetwork
fallbacktothedefaultTrilltreeconstruc7onrules.
8
Solu2on, Approach 1: A
A
Affinitysub-TLV,Tree=2,
Child=B,C(Originatedby2)
a3eroperatorconfig,before
Node1goesdown.
1
3
2
1
B
C
ConsiderwhathappensifNode1
goesdown?Node2publishesanaffinitysub-TLVbeforeNode
1goesdown,preven7ngtheproblemofBandC’sparentshi3.
B
C
2
3
•  Once2publishesanaffinitysub-TLV,
allothernodesinthenetworkfactor
it,intheirtreeconstruc7on,using
Node2astheparentforB,Cintree
2’sconstruc7on.
•  Node2doesnotblindlyhonorTrill’s
defaultparentselec7onrules(and
ignoresitsownaffinitysub-TLV)and
instead,triestoassert/preserveits
parentrela7onshiptoitschildrento
theextentpossible,andpublishesor
updatestheaffinitysub-TLVa3erits
owntreeconstruc7onoftree2.
9
Solu2on (Approach 2). •  UseamodifiedversionofSPFwhichinsertsapolicydriven
selectorforthechoiceofparentwhenmul7pleparentscan
pullachildnodeintotheSPFtreeatthesameop7malcost.
•  Makethepolicyfunc7onchoosebasedonapreviousstable
snap-shotofthesametree.
•  Henceforagivenchildnode,itwillpickthesameparentthat
ithadinthepreviousstablesnap-shotofthetree,beforethe
networkchurneventhappened.Theveryfirsttreecalcula7on
usesthedefaultTrillparentselec7onrules.
•  Thisdetermina7onhappensinadistributedfashionateach
nodeinthenetwork.
•  Hence,nodesinthenetworkhadbe"eragreeonwhatthe
previousstablesnap-shotofthetreelookedlike.
10
Solu2on (Approach 2) Contd:
•  Thisisrela7velydifficulttodo,butwecanleveragethe
factthatbythe7meroutes/resultofthetree
computa7onwasdownloadedtotheRIB,allthenodesin
thenetworkagreedonthepreviousstableversionofthe
tree,sousethisastriggertocollectthesnapshot.
•  Mayneedaddi7onaldampening,attheRIBtrigger.
•  Worksbestinsmalltomid-sizenetworks.
•  Specialhandlingneededforlinkflaps,otherevents
wheretheparentchildrela7onshipinvertsetc..
11
Solu2on, Approach 2
A
A
Nodeslatchtotheirprevious
stabletreecomputa7onand
usethattoguidetree
construc7on.
Aistreeroot,Node1went
down.
1
2
1
B
C
2
3
3
Considertree2,andsaynodeAis
thetreeroot.Now,considerwhat
happensifNode1goesdown?
Duringtreecalcula7on,becausethe
priortreecalcula7onusedNode2as
theparent,thepolicyselec7onstep
B
C
con7nuestoselectNode2asthe
parentinnewtreecalcula7ons.
Ini7altreecomputa7onusestheTrilldefaultrules.Subsequenttreecomputa7onsusethe
previousstablesnap-shottodriveparentselec7on.
12
Other Considera2ons:
•  Betweenthetwoapproaches,approachAis
preferable,sinceaffinitysub-TLVmakesthe
networkbehaviormorepredictable,unlessthere
areIPRconsidera7ons.
•  NoIPRoneitheroftheseapproachesatBrocade
Communica7ons,Inc.
13
Status/Advancement:
•  Reques7ngadop7onasWGdocument,awareofcustomerslookingforawayto
preventunnecessaryparentshi3s.
•  AfewlogicalinconsistenciesinapproachB,clarifica7oninApproachA,fixedina
privatecopyofthedra3,willuploada3erIETF98.
•  MightremoveortweakapproachBfromthedra3insubsequentuploads.
•  ApproachBasproposedheremaynotbefeasibleand/orcanbetweaked,but
thepolicydrivenSPFtreecomputa7onproposedinapproachBmighthave
somevalueifthereisinterestinpursuingnetworkwidealterna7vedefault
parentselec7onrules.
•  ApproachAcanbeenhancedtoaddnoderedundancyforthes7cky/designated
parent.
•  Planningtochangethedra3toInforma7onal,assumingapproachAremains
feasible.
14