how to compute shortest paths in a distributed network · • how to compute shortest paths in a...

30
CSE 461 University of Washington 1 Topic How to compute shortest paths in a distributed network The Link-State (LS) approach Flood! … then compute

Upload: trandang

Post on 07-Oct-2018

244 views

Category:

Documents


0 download

TRANSCRIPT

CSE461UniversityofWashington 1

Topic•  Howtocomputeshortestpathsinadistributednetwork–  TheLink-State(LS)approach

Flood! …thencompute

CSE461UniversityofWashington 2

Link-StateRouKng•  OneoftwoapproachestorouKng

–  TradesmorecomputaKonthandistancevectorforbeMerdynamics

•  WidelyusedinpracKce–  UsedinInternet/ARPANETfrom1979– ModernnetworksuseOSPFandIS-IS

CSE461UniversityofWashington 3

Link-StateSeWngNodescomputetheirforwardingtableinthesamedistributedseWngasfordistancevector:

1.  Nodesknowonlythecosttotheirneighbors;notthetopology

2.  Nodescantalkonlytotheirneighborsusingmessages

3.  Allnodesrunthesamealgorithmconcurrently

4.  Nodes/linksmayfail,messagesmaybelost

CSE461UniversityofWashington 4

Link-StateAlgorithmProceedsintwophases:1.  Nodesfloodtopologyintheform

oflinkstatepackets–  Eachnodelearnsfulltopology

2.  Eachnodecomputesitsownforwardingtable

–  ByrunningDijkstra(orequivalent)

CSE461UniversityofWashington 5

Phase1:TopologyDisseminaKon•  Eachnodefloodslinkstatepacket(LSP)thatdescribestheirporKonofthetopology

A B

C

D

E

F

G

H

2

1

10

2

24

24

4

33

3

Seq. # A 10 B 4 C 1 D 2 F 2

NodeE’sLSPfloodedtoA,B,C,D,andF

CSE461UniversityofWashington 6

Phase2:RouteComputaKon•  Eachnodehasfulltopology

–  BycombiningallLSPs

•  EachnodesimplyrunsDijkstra–  SomereplicatedcomputaKon,butfindsrequiredroutesdirectly

–  Compileforwardingtablefromsink/sourcetree

–  That’sitfolks!

ForwardingTable

CSE461UniversityofWashington 7

To Next A C B C C C D D E -- F F G F H C A B

C

D

E

F

G

H

2

1

10

2

24

24

4

33

3

SourceTreeforE(fromDijkstra) E’sForwardingTable

HandlingChanges•  Onchange,floodupdatedLSPs,andre-computeroutes

–  E.g.,nodesadjacenttofailedlinkornodeiniKate

CSE461UniversityofWashington 8

A B

C

D

E

F

G

H

2

1

10

2

24

24

4

33

3

XXXXSeq. # A 4 C 2 E 4 F 3 G ∞

B’sLSPSeq. #

B 3 E 2 G ∞

F’sLSP Failure!

CSE461UniversityofWashington 9

HandlingChanges(2)•  Linkfailure

–  BothnodesnoKce,sendupdatedLSPs–  Linkisremovedfromtopology

•  Nodefailure–  AllneighborsnoKcealinkhasfailed–  Failednodecan’tupdateitsownLSP–  ButitisOK:alllinkstonoderemoved

CSE461UniversityofWashington 10

HandlingChanges(3)•  AddiKonofalinkornode

–  AddLSPofnewnodetotopology–  OldLSPsareupdatedwithnewlink

•  AddiKonsaretheeasycase…

CSE461UniversityofWashington 11

Link-StateComplicaKons•  Thingsthatcangowrong:

–  Seq.numberreachesmax,oriscorrupted–  Nodecrashesandlosesseq.number–  NetworkparKKonsthenheals

•  Strategy:–  IncludeageonLSPsandforgetoldinformaKonthatisnotrefreshed

•  Muchofthecomplexityisduetohandlingcornercases(asusual!)

DV/LSComparison

CSE461UniversityofWashington 12

Goal Distance Vector Link-State

Correctness Distributed Bellman-Ford Replicated Dijkstra

Efficient paths Approx. with shortest paths Approx. with shortest paths

Fair paths Approx. with shortest paths Approx. with shortest paths

Fast convergence Slow – many exchanges Fast – flood and compute

Scalability Excellent – storage/compute Moderate – storage/compute

CSE461UniversityofWashington 13

IS-ISandOSPFProtocols•  WidelyusedinlargeenterpriseandISPnetworks–  IS-IS=IntermediateSystemtoIntermediateSystem

–  OSPF=OpenShortestPathFirst

•  Link-stateprotocolwithmanyaddedfeatures–  E.g.,“Areas”forscalability

CSE461UniversityofWashington 14

Topic•  HowtoroutewithmulKpleparKes,eachwiththeirownrouKngpolicies–  ThisisInternet-wideBGProuKng

ISPA ISPC

DesKnaKon

ISPBSource

StructureoftheInternet•  Networks(ISPs,CDNs,etc.)grouphostsasIPprefixes•  Networksarerichlyinterconnected,onenusingIXPs

CSE461UniversityofWashington 15

CDNC

PrefixC1

ISPAPrefixA1

PrefixA2NetF

PrefixF1

IXPIXP

IXP IXP

CDND

PrefixD1

NetE

PrefixE1

PrefixE2

ISPB

PrefixB1

CSE461UniversityofWashington 16

Internet-wideRouKngIssues•  TwoproblemsbeyondrouKngwithinanindividualnetwork

1.  Scalingtoverylargenetworks–  TechniquesofIPprefixes,hierarchy,prefixaggregaKon

2.  IncorporaKngpolicydecisions–  LeWngdifferentparKeschoosetheirroutestosuittheirownneeds Yikes!

CSE461UniversityofWashington 17

EffectsofIndependentParKes•  Eachpartyselectsroutestosuititsowninterests–  e.g,shortestpathinISP

•  WhatpathwillbechosenforA2àB1andB1àA2?– Whatisthebestpath?

PrefixB2

PrefixA1ISPA ISPB

PrefixB1

PrefixA2

CSE461UniversityofWashington 18

EffectsofIndependentParKes(2)•  Selectedpathsarelongerthanoverallshortestpath–  Andsymmetrictoo!

•  Thisisaconsequenceofindependentgoalsanddecisions,nothierarchy PrefixB2

PrefixA1ISPA ISPB

PrefixB1

PrefixA2

CSE461UniversityofWashington 19

RouKngPolicies•  CapturethegoalsofdifferentparKes–couldbeanything–  E.g.,Internet2onlycarriesnon-commercialtraffic

•  Commonpolicieswe’lllookat:–  ISPsgiveTRANSITservicetocustomers–  ISPsgivePEERservicetoeachother

CSE461UniversityofWashington 20

RouKngPolicies–Transit•  Oneparty(customer)getsTRANSITservicefromanotherparty(ISP)–  ISPacceptstrafficforcustomerfromtherestofInternet

–  ISPsendstrafficfromcustomertotherestofInternet

–  CustomerpaysISPfortheprivilege

Customer1

ISP

Customer2

RestofInternetNon-

customer

CSE461UniversityofWashington 21

RouKngPolicies–Peer•  Bothparty(ISPsinexample)get

PEERservicefromeachother–  EachISPacceptstrafficfromtheotherISPonlyfortheircustomers

–  ISPsdonotcarrytraffictotherestoftheInternetforeachother

–  ISPsdon’tpayeachother

CustomerA1

ISPA

CustomerA2

CustomerB1

ISPB

CustomerB2

CSE461UniversityofWashington 22

RouKngwithBGP(BorderGatewayProtocol)•  BGPistheinterdomainrouKngprotocolusedintheInternet–  Pathvector,akindofdistancevector

ISPAPrefixA1

PrefixA2NetFPrefixF1

IXP

ISPBPrefixB1 PrefixF1viaISP

B,NetFatIXP

CSE461UniversityofWashington 23

RouKngwithBGP(2)•  DifferentparKeslikeISPsarecalled

AS(AutonomousSystems)•  BorderroutersofASesannounce

BGProutestoeachother

•  RouteannouncementscontainanIPprefix,pathvector,nexthop–  PathvectorislistofASesonthewaytotheprefix;lististofindloops

•  RouteannouncementsmoveintheoppositedirecKontotraffic

RouKngwithBGP(3)

CSE461UniversityofWashington 24

Prefix

CSE461UniversityofWashington 25

RouKngwithBGP(4)Policyisimplementedintwoways:

1.  BorderroutersofISPannouncepathsonlytootherparKeswhomayusethosepaths–  Filteroutpathsotherscan’tuse

2.  BorderroutersofISPselectthebestpathoftheonestheyhearinany,non-shortestway

RouKngwithBGP(5)•  TRANSIT:AS1says[B,(AS1,AS3)],[C,(AS1,AS4)]toAS2

CSE461UniversityofWashington 26

RouKngwithBGP(6)•  CUSTOMER(othersideofTRANSIT):AS2says[A,(AS2)]toAS1

CSE461UniversityofWashington 27

RouKngwithBGP(7)•  PEER:AS2says[A,(AS2)]toAS3,AS3says[B,(AS3)]toAS2

CSE461UniversityofWashington 28

RouKngwithBGP(8)•  AS2hearstworoutestoB(viaAS1,AS3)andchoosesAS3(Free!)

CSE461UniversityofWashington 29

CSE461UniversityofWashington 30

BGPThoughts•  Muchmorebeyondbasicstoexplore!

•  PolicyisasubstanKalfactor–  Canweevenbeindependentdecisionswillbesensibleoverall?

•  Otherimportantfactors:–  Convergenceeffects–  Howwellitscales–  IntegraKonwithintradomainrouKng–  Andmore…