lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal....

55
Computer Networks: Architecture and Protocols CS4450 Lecture 10 Fundamentals of Rou4ng Rachit Agarwal

Transcript of lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal....

Page 1: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

ComputerNetworks:ArchitectureandProtocols

CS4450

Lecture10FundamentalsofRou4ng

RachitAgarwal

Page 2: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

2

Page 3: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

GoalsforToday’sLecture

• Recap:WhyNetworkLayer?

• Recap:TherightwaytothinkaboutRoutingTables…

• Correctnessdefinitionforroutingtables

• OurfirstNetworkLayerProtocol:LinkState

3

Page 4: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Recapfromlastlecture

Page 5: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

• Whynotjustusespanningtreesacrosstheentirenetwork?

• Easytodesignroutingalgorithmsfor(spanning)trees

• Step1:Sourcenode“floods”itspacketonitsspanningtreelinks

• Step2:Wheneveranodereceivesapacket:

• Forwardsincomingpacketouttoalllinksotherthantheonethatsentthepacket

Recap:Whydoweneednetworklayer?

Page 6: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Recap:FloodingExample

Source

DesMnaMon

1

3

2

7

6

5

4

Eventuallyallnodesarecovered

Onecopyofpacketdeliveredtodes4na4on

1

2

4

7

5

6

Page 7: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

• Whynotjustusespanningtreesacrosstheentirenetwork?

• Easytodesignroutingalgorithmsfor(spanning)trees

• Step1:Sourcenode“floods”itspacketonitsspanningtreelinks

• Step2:Wheneveranodereceivesapacket:

• Forwardsincomingpacketouttoalllinksotherthantheonethatsentthepacket

• Amazingproperties:

• Noroutingtablesneeded!• Nopacketswilleverloop.• Atleast(andexactly)onepacketmustreachthedestination

• Assumingnofailures

Recap:Whydoweneednetworklayer?

Page 8: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Recap:Threefundamentalissues!

Source

DesMnaMon

1

3

2

7

6

5

4

1

2

4

7

5

6

Issue1:Eachhosthastodounnecessarypacketprocessing!(todecidewhetherthepacketisdes4nedtothehost)

Page 9: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Source

DesMnaMon

1

3

2

7

6

5

4

Recap:Threefundamentalissues!

Issue2:Higherlatency!(Thepacketsunnecessarilytraversemuchlongerpaths)

Page 10: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Source

DesMnaMon

1

3

2

7

6

5

4

Recap:Threefundamentalissues!

Issue3:Wastedbandwidth!(2-6and3-1packetsunnecessarilyhavetosharebandwidth)

Page 11: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Questions?

Page 12: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

• Networklayerperforms“routing”ofpacketstoalleviatetheseissues

• Usesroutingtables

• Letsunderstandroutingtablesfirst

Whydoweneedanetworklayer?

Page 13: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

WhatpathwillapackettakefromCornelltoMIT?

• Routingtablesallowfindingpathfromsourcetodestination

RoutingPacketsviaRoutingTables

Cornell

Harvard

MIT

Switch#1

Switch#2

Switch#3

Page 14: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

• Findingpathforapacketfromsourcetodestination

RoutingPacketsviaRoutingTables

Cornell

Harvard

MIT

Switch#1

Switch#2

Switch#3

HowtospecifywhetherthepacketshouldtakePath1orPath2?

Page 15: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

EachSwitchstoresatableindica4ngthenexthopforcorrespondingdes4na4onofapacket(calledarou4ngtable)

• SupposepacketfollowsPath1:Cornell-S#1-S#3-MIT

RoutingTable

Cornell

Harvard

MIT

Switch#1

Switch#2

Switch#3L1

L2 L3

L4

L5 L6

DESTINATION NEXTHOP

CORNELL L1

MIT L3

HARVARD L4

DESTINATION NEXTHOP

CORNELL L2

MIT L5

HARVARD L5

DESTINATION NEXTHOP

CORNELL L5

MIT L6

HARVARD L3

Page 16: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Seesomethinginteres4ng?

• Letsfocusononedestination-MIT

RoutingTable:Therightwaytothinkaboutthem

Cornell

Harvard

MIT

Switch#1

Switch#2

Switch#3L1

L2 L3

L4

L5 L6

DESTINATION NEXTHOP

CORNELL L1

MIT L3

HARVARD L4

DESTINATION NEXTHOP

CORNELL L2

MIT L5

HARVARD L5

DESTINATION NEXTHOP

CORNELL L5

MIT L6

HARVARD L3

Page 17: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Rou4ngtableentriesforapar4culardes4na4onforma(directed)spanningtreewiththatdes4na4onastheroot!!!!

• Letsfocusononedestination-MIT

RoutingTable:Therightwaytothinkaboutthem

Cornell

Harvard

MIT

Switch#1

Switch#2

Switch#3L1

L2 L3

L4

L5 L6

DESTINATION NEXTHOP

CORNELL L1

MIT L3

HARVARD L4

DESTINATION NEXTHOP

CORNELL L2

MIT L5

HARVARD L5

DESTINATION NEXTHOP

CORNELL L5

MIT L6

HARVARD L3

Page 18: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

• Routingtablesarenothingbut….• Acollectionof(directed)spanningtree• Oneforeachdestination

• RoutingProtocols• “n”spanningtreeprotocolsrunninginparallel

RoutingTable:Therightwaytothinkaboutthem

Page 19: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

• Globalroutingstateisvalidif:• italwaysresultsindeliverpacketstotheirdestinations

• GoalofRoutingProtocols• Computeavalidstate

• Buthowtotellifaroutingstateisvalid?…• Thinkaboutit,whatcouldmakeroutingincorrect?

“ValidRoutingTables”(routingstate)

Page 20: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

• Globalroutingstatevalidifandonlyif:• Therearenodeadends(otherthandestination)• Therearenoloops

• Adeadendiswhenthereisnooutgoinglink• Apacketarrives,but..

• theroutingtabledoesnothaveanoutgoinglink• Andthatnodeisnotthedestination

• Aloopiswhenapacketcyclesaroundthesamesetofnodesforever

ValidityofaRoutingState

Page 21: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

• SupposepacketwantstogofromCornelltoMITusinggivenstate:

Example:RoutingwithDeadEnds

Cornell

Harvard

MIT

Switch#1

Switch#2

Switch#3L1

L2 L3

L4

L5L6

DESTINATION NEXTHOP

CORNELL L1

MIT L2

HARVARD L4

DESTINATION NEXTHOP

CORNELL L2

HARVARD L5

DESTINATION NEXTHOP

CORNELL L5

MIT L6

HARVARD L3

NoforwardingdecisionforMIT!

DeadEnd!PacketneverreachesMIT

Page 22: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Example:RoutingwithLoops

Cornell

Harvard

MIT

Switch#1

Switch#2

Switch#3L1

L2 L3

L4

L5L6

DESTINATION NEXTHOP

CORNELL L1

MIT L3

HARVARD L4

DESTINATION NEXTHOP

CORNELL L2

MIT L2

HARVARD L5

DESTINATION NEXTHOP

CORNELL L5

MIT L5

HARVARD L3

• SupposepacketwantstogofromCornelltoMITusinggivenstate:

Loop!PacketneverreachesMIT

Page 23: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

• Howcanweverifygivenroutingstateisvalid?

• Howcanweproducevalidroutingstate?

TwoQuestions

Page 24: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

• Checkvalidityofroutingstateforonedestinationatatime…

• Foreachnode:• Marktheoutgoinglinkwitharrowfortherequireddestination

• Therecanonlybeoneateachnode

• Eliminatealllinkswithnoarrows

• Lookwhat’sleft.Stateisvalidifandonlyif• Remaininggraphisaspanningtreewithdestinationassink

• Whyisthistrue?

• Tree->Noloops• Spanning(tree)->Nodeadends

CheckingValidityofaRoutingState

Page 25: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Example1

Page 26: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Example1:PickDestination

Page 27: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Example1:PutArrowsonOutgoingPorts

Page 28: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Example1:RemoveunusedLinks

LeavesSpanningTree:Valid

Page 29: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Example2:

Page 30: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Example2:

Isthisvalid?

Page 31: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Example3:

Page 32: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Example3:

Isthisvalid?

Page 33: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

• Simpletocheckvalidityofroutingstateforaparticulardestination

• Deadends:nodeswithoutarrows

• Loops:obvious,disconnectedfromdestinationandrestofthegraph

CheckingValidityofaRoutingState

Page 34: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

• Howcanweverifygivenroutingstateisvalid?

• Howcanweproducevalidroutingstate?

TwoQuestions

Page 35: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

• Easytoavoiddeadends

• Avoidingloopsishard

• Thekeydifferencebetweenroutingprotocolsishowtheyavoidloops!

• Trytothinkaloopavoidancedesignforfiveminutes

CreatingValidRoutingState

Page 36: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

• CreateTree,routeontree• E.g.,Spanningtreeprotocol(switchedEthernet)• Good:easy,no(persistent)loops,nodeadends• Not-so-good:unnecessaryprocessing,highlatency,lowbandwidth

• Obtainaglobalview:• E.g.,Linkstate

• Distributedroutecomputation:

• E.g.,Distancevector• E.g.,BorderGatewayProtocol

Fourflavorsofprotocols

Page 37: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

RoutingMetrics

• Routinggoals:computepathswithminimumX

• X=numberof“hops”(nodesinthemiddle)

• X=latency• X=weight• X=failureprobability• …

• Generallyassumeeverylinkhas“cost”associatedwithit

• Wewanttominimizethecostoftheentirepath

• WewillfocusonasubsetofpropertiesX,where:

• Costofapath=sumofcostsofindividuallinks/nodesonthepath• E.g.,numberofhopsandlatency

Page 38: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

#1:CreateaTree

Page 39: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

• Removeenoughlinkstocreateatreecontainingallnodes

• Soundsfamiliar?Spanningtrees!

• Ifthetopologyhasnoloops,thenjustmakesurenotsendingpacketsbackfromwheretheycame

• Thatcausesanimmediateloop

• Therefore,ifnoloopsintopologyandnoformationofimmediateloopsensuresvalidrouting

• However…threechallenges• Unnecessaryhostresourcesusedtoprocesspackets• Highlatency• Lowbandwidth(utilization)

#1:CreateaTreeOutofTopology

Page 40: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Globalview

Page 41: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

TwoAspectsofGlobalViewMethod

• Protocol:Whatwefocusontoday

• Wheretocreateglobalview

• Howtocreateglobalview• Disseminatingroutecomputation(ifnecessary)

• Whentorunroutecomputation

• Algorithm:computingloop-freepathsongraph

• Straightforwardtocomputelowestcostpaths

• UsingDijkstra’salgorithm(pleasestudy;algorithmscourse)

• Wewon’tspendtimeonthis

Page 42: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Wheretocreateglobalview?

• Oneoption:Centralserver• Collectsaglobalview• Computestheroutingtableforeachnode

• “Installs”routingtablesateachnode• Software-definedNetworks:laterincourse

• Secondoption:Ateachrouter• Eachroutercollectsaglobalview• ComputesitsownroutingtableusingLink-stateprotocol

• Link-stateroutingprotocol• OSPFisaspecificimplementationoflink-stateprotocol

• IETFRFC2328(IPv4)or5340(IPv6)

Page 43: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

OverviewofLink-StateRouting

• Everyrouterknowsitslocal“linkstate”• Knowsstateoflinkstoneighbors• Up/down,andassociatedcost

• Arouterfloodsitslinkstatetoallotherrouters• Usesaspecialpacket—LinkStateAnnouncements(LSA)

• Announcementisdeliveredtoallnodes(nextslide)

• Hence,everyrouterlearnstheentirenetworkgraph

• Runsroutecomputationlocally

• Computingleastcostpathsfromthemtoallothernodes

• E.g.,usingDijkstra’salgorithm

Page 44: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

HowdoesFloodingWork?

• “Linkstateannouncement”(LSA)arrivesonalinkatarouter

• Thatrouter:• Remembersthepacket

• Forwardsthepacketoutallotherlinks• Doesnotsenditouttheincominglink

• Why?

• Ifapreviouslyreceivedannouncementarrivesagain…

• Routerdropsit(noneedtoforwardagain)

Page 45: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Link-StateRouting

S1

S2

S3

S7S5

S6

S4

Host A

Host B

Host C

Host DHost E

Page 46: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

EachNodeThenhasaGlobalView

S1

S2

S3

S7S5

S6

S4

Host A

Host B

Host C

Host DHost E

Page 47: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

WhentoInitiateFloodingofannouncements?

• Topologychange• Linkfailures• Linkrecovery

• Configurationchange• Linkcostchange(whywouldonechangelinkcost?)

• Periodically• Refreshthelink-stateinformation

• Typically(say)30minutes

• Correctsforpossiblecorruptionofdata

Page 48: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

MakingFloodsReliable

• ReliableFlooding• Ensureallnodesreceivesamelinkstateannouncements

• Noannouncementsdropped

• Ensureallnodesusethelatestversion

• Supposewecanimplementreliableflooding.Howcanitstillfail?

• Canyoueverhaveloopswithlink-staterouting?

• Again:Canyoueverhaveloopswithlink-staterouting?

Page 49: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

AreLoopsStillPossible?

55

5 35

51

1

A

D E

F

CB

55

5 35

5

1

A

D E

F

CB

A and D think this is the path to C

E-C link fails, but D doesn’t know yet

E thinks that this the path to C

E reaches C via D, D reaches C via E Loop!

Page 50: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

TransientDisruptions

55

5 35

5

1

A

D E

F

CB

55

5 35

5

1

A

D E

F

CB

• Inconsistentlink-stateviews• Someroutersknowaboutfailurebeforeothers

• Theshortestpathsarenolongerconsistent• Cancausetransientforwardingloops

• Transientloopsarestillaproblem!

Page 51: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Convergence

• Allroutershaveconsistentroutinginformation

• E.g.,allnodeshavingthesamelink-statedatabase

• Forwardingisconsistentafterconvergence• Allnodeshavethesamelink-statedatabase

• Allnodesforwardpacketsonsamepaths

• Butwhilestillconverging,badthingscanhappen

Page 52: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

TimetoReachConvergence

• Sourcesofconvergencedelay?• Timetodetectfailure

• Timetofloodlink-stateinformation(~longestRTT)

• Timetorecomputeforwardingtables

• Performanceproblemsduringconvergenceperiod?

• Deadends• Loopingpackets• Andsomemorewe’llseelater….

Page 53: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

LinkStateisConceptuallySimple

• Everyonefloodslinksinformation

• Everyonethenknowsgraphofthenetwork

• Everyoneindependentlycomputespathsonthegraph

• Allthecomplexityisinthedetails

Page 54: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

• Oftengettingaglobalviewofthenetworkisinfeasible• Distributedalgorithmstocomputefeasibleroute

• ApproachA:Findingoptimalrouteformaximizing/minimizingametric

• ApproachB:Findingfeasiblerouteviaexchangingpathsamongswitches

#3:DistributedRouteComputation

Page 55: lecture10-SPT-routing-fundamentals - Cornell University · Fundamentals of Rou4ng Rachit Agarwal. 2. Goals for Today’s Lecture • Recap: Why Network Layer? • Recap: The right

Nextlecture!HappyFebruaryBreak!!