routing on the internet - lunds tekniska högskolabuilding a shortest path tree 2012-10-30 etsf10 -...
TRANSCRIPT
![Page 1: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/1.jpg)
RoutingontheInternet
ETSF05/ETSF10– InternetProtocols
![Page 2: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/2.jpg)
Howdoesroutingwork?
ETSF05/ETSF10- InternetProtocols 3
![Page 3: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/3.jpg)
Choosinganoptimalpath• Accordingtoacostmetric• Decentralisedforwarding– eachrouterhasfull/necessaryinformation
Packet-switchedRouting
4ETSF05/ETSF10- InternetProtocols
![Page 4: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/4.jpg)
Routing inPacketSwitchingNetworks
• Selectrouteacrossnetworkbetweenendnodes• Characteristicsrequired:– Correctness– Simplicity– RobustnessvsStability– FairnessvsOptimality– Efficiency
ETSF05/ETSF10- InternetProtocols 5
![Page 5: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/5.jpg)
SA DA Data SA DA Data
Router
• Internetworkingdevice– Passesdatapacketsbetweennetworks– ChecksNetworkLayeraddresses– UsesRouting/forwardingtables
Two functions:❶ Routing❷ Forwarding
7ETSF05/ETSF10- InternetProtocols
![Page 6: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/6.jpg)
RouterArchitectureOverview
ETSF05/ETSF10- InternetProtocols 8
![Page 7: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/7.jpg)
InputPort
Decentralizedswitching:• Givendestination,lookupoutputportusingroutingtable
• Goal:completeinputportprocessingat‘linespeed’
Physicallayer:bit-levelreception
Datalinklayer:e.g.,Ethernet
9ETSF05/ETSF10- InternetProtocols
![Page 8: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/8.jpg)
InputPortQueuing
• Fabricslowerthatsumofinputportsà queuing• Delayandloss duetoinputbufferoverflow• Head-of-the-Line(HOL)blocking:Datagramatfrontofqueuepreventsothersinqueuefromproceeding
10ETSF05/ETSF10- InternetProtocols
![Page 9: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/9.jpg)
OutputPort
PriorityScheduling:• Schedulingdisciplinemaychooseamongqueueddatagramsfortransmission
11ETSF05/ETSF10- InternetProtocols
![Page 10: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/10.jpg)
OutputPortQueuing
• Datagrams’arrivalratethroughtheswitchexceedsthetransmissionrateoftheoutputlineà buffering
• Delayandlossduetooutputportbufferoverflow
12ETSF05/ETSF10- InternetProtocols
![Page 11: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/11.jpg)
SwitchingFabrics
13ETSF05/ETSF10- InternetProtocols
![Page 12: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/12.jpg)
ForwardingTable
OSPFDomain
RIPDomain
BGP
OSkernel
OSPFProcess
OSPFRoutingtables
RIPProcess
RIPRoutingtables
BGPProcess
BGPRoutingtables
ForwardingTableManager
Staticroutingtable
RoutingTablesandForwardingTable
14ETSF05/ETSF10- InternetProtocols
![Page 13: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/13.jpg)
Routercache
• Savenexthopforpackettype(e.g.addr andTOS)– Keeppacketswithinasessiononthesamepath– Prohibitsreordering– decreasesdelayvariations
• Worksinbothdirections– Replytakethesamepathasrequest
• Drawback:forlongsessions(e.g.video)sessioncontinuitymightbebrokeniflink fails (e.g.mobility)
• Typicalforusernetworks
ETSF05/ETSF10- InternetProtocols 15
![Page 14: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/14.jpg)
PerformanceCriteria
• Usedforselectionofroute• Simplestistochoose“minimumhop”• Canbegeneralizedas“leastcost”routing• Because“leastcost”ismoreflexibleitismorecommonthan“minimumhop”
ETSF05/ETSF10- InternetProtocols 16
![Page 15: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/15.jpg)
Flooding
• InFlooding anincomming packetisretransmittedonalloutgoing links.Ahopcounter isused toprevent loops
• What are thealternativestofind theleast costpath.
B
![Page 16: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/16.jpg)
BestPath:DecisionTimeandPlace
Decisiontime(when?)• Packetorvirtualcircuit(session)basis• Fixedordynamicallychanging
Decisionplace(where?)• Distributed- madebyeachnode• Morecomplex,butmorerobust
• Centralized– madebyadesignatednode• Source– madebysourcestation
ETSF05/ETSF10- InternetProtocols 20
![Page 17: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/17.jpg)
NetworkInformationSourceandUpdateTiming• Routingdecisionsusuallybasedonknowledgeofnetwork,trafficload,andlinkcost– Distributedrouting
• Usinglocalknowledge, information fromadjacentnodes,information fromallnodesonapotential route
– Centralrouting• Collectinformation fromallnodes
Issueofupdatetiming
• Dependsonroutingstrategy• Fixed- neverupdated• Adaptive- regularupdates
ETSF05/ETSF10- InternetProtocols 21
![Page 18: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/18.jpg)
RoutingStrategies- FixedRouting
• Useasinglepermanentrouteforeachsourcetodestinationpairofnodes
• Determinedusingaleastcostalgorithm• Routeisfixed– Untilachangeinnetworktopology– Basedonexpectedtrafficorcapacity
• Advantageissimplicity• Disadvantageislackofflexibility– Doesnotreacttonetworkfailureorcongestion
ETSF05/ETSF10- InternetProtocols 22
![Page 19: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/19.jpg)
RoutingStrategies- AdaptiveRouting
• Usedbyalmostallpacketswitchingnetworks• Routingdecisionschangeasconditionsonthenetworkchangeduetofailureorcongestion
• RequiresinformationaboutnetworkDisadvantages• Morecomplex• Tradeoffbetweenqualityandoverhead• Tooquickupdatesmayleadtooscillations• Tooslowupdatesmayleadtooutdatesinformation
ETSF05/ETSF10- InternetProtocols 24
![Page 20: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/20.jpg)
Linkcost
• Acost function describes thecost fortransmittingapacketoveralink
• Thelink cost can depend one.g.– Datarate– Load– Length– Transmissionmedia– etc
![Page 21: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/21.jpg)
Graf
N={A,B,C,D,E}
Anetworkcanbedescribedbyagraph,consistingofnodes(N)andadges (E)withweightsw(e),i.e.costs.Example (undirectedgraph)
E w(e)AB 3
AD 1
BC 1
BD 1
BE 1
CE 3
DE 3
![Page 22: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/22.jpg)
ARPANETRoutingStrategies1stGeneration
DistanceVectorRouting
• 1969• Distributedadaptiveusingestimateddelay
– Queuelengthusedasestimateofdelay• VersionofBellman-Ford algorithm• Nodeexchangesdelayvectorwithneighbors• Updateroutingtablebasedonincominginformation• Doesn'tconsiderlinespeed,justqueuelengthandrespondsslowlytocongestion
ETSF05/ETSF10- InternetProtocols 29
![Page 23: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/23.jpg)
Leastcostalg 1Bellman-Ford• Find theshortes path fromone sourcenode s totheothers.• Let !(#) bethecost from% to#
• Addition:Keep track of thepath!!
Init:!(%) = 0! # = ∞, # ≠ %
fori = 1./ 0 − 1foreach # ∈ 0
! # = min5∈6
{! 8 +:(8, #)} //Findtheshortestpathfrom//nodeutonodeninonestep
![Page 24: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/24.jpg)
Example Bellman-Ford
Nod A B C D E
init 0 ∞ ∞ ∞ ∞i=1 0 3 ∞ 1 ∞i=2 0 2 4 1 4
i=3 0 2 3 1 3
i=4 0 2 3 1 3
![Page 25: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/25.jpg)
A
D
B
E
C1
11 1
Netgraph asatree
Nod Dist
A 0
B 2
C 3
D 1
E 3
Distantvector forAwhen thealgorithmconverged
![Page 26: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/26.jpg)
Bellman-Fordsalgoritmgrafiskt
<=> = min ?=@ + <@> , ?=A + <A> , ?=B + <B> …
<=> = DE# <=>, ?=F + <F>
Jmf Stallings kap 19.2
![Page 27: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/27.jpg)
Distance Vector Routing
• Best path info shared locally– Periodically– Upon any change
• Routing tables updated for– New entries– Cost changes
2012-10-30 15ETSF10 - Internet Protocols
![Page 28: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/28.jpg)
Updating a Routing Table
2012-10-30 ETSF10 - Internet Protocols 16
to C (+2)
![Page 29: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/29.jpg)
Updating Algorithm (Bellman-Ford)if (advertised destination not in table)
{
add new entry // rule #1
}
else if (adv. next hop = next hop in table)
{
update cost // rule #2
}
else if (adv. cost < cost in table)
{
replace old entry // rule #3
}2012-10-30 17ETSF10 - Internet Protocols
![Page 30: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/30.jpg)
Completed Routing Tables
2012-10-30 ETSF10 - Internet Protocols 18
![Page 31: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/31.jpg)
Problem: Count to Infinity (1)
I can reach A at cost 1A I can reach
A at cost 2I can reach A at cost 3
I can reach A at cost 3
I don’t know A, so I will not tellA I can reach
A at cost 2
2012-10-30 19
1 2 3
1 2 3
ETSF10 - Internet Protocols
![Page 32: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/32.jpg)
Problem: Count to Infinity (2)
A I can reach A at cost 5
2012-10-30 20
A I can reach A at cost 3
I can reach A at cost 4
A I can reach A at cost 2
I can reach A at cost 5
I can reach A at cost 6
I can reach A at cost 7
1 2 3
1 2 3
1 2 3
ETSF10 - Internet Protocols
![Page 33: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/33.jpg)
Solution: Split Horizon
A I can’t reach A
I can reach A at cost 2 but I won’t tell 1
A I can’t reach A
I can’t reach A
A I can reach A at cost 2 but I won’t tell 1
I can reach A at cost 1
2012-10-30 21
1 2 3
1 2 3
1 2 3
ETSF10 - Internet Protocols
![Page 34: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/34.jpg)
ARPANETRoutingStrategies2ndGeneration
Link-StateRouting• 1979• Distributedadaptiveusingdelay criterion– Usingtimestampsofarrival,departureandACKtimes
• Re-computesaveragedelaysevery10seconds• Anychangesarefloodedtoallothernodes• Re-computesroutingusingDijkstra’s algorithm• Goodunderlightandmediumloads• Underheavyloads,littlecorrelationbetweenreporteddelaysandthoseexperienced
ETSF05/ETSF10- InternetProtocols 35
![Page 35: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/35.jpg)
Leastcostalg 2Dijkstra
Init:!(%) = 0! # = ∞, # ≠ %G = ∅ //Visited nodes
whileG ⊂ J8 = KLMmin
5∉O!(8) //Find least weight tounvisted node
G = G⋃8 //Add u tovisited nodesfor# ∉ G
! # = min{! # , ! 8 +:(8,#)} //Lesscost togoton viau?
• Findtheshortes path fromone sourcenode s totheothers.• Let !(#) bethecost from% to#
• Addition:Keep track of thepath!!
![Page 36: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/36.jpg)
SPFexempelmedgrafA
D
B
E
C3
1
A
D
B
E
C3
12
4
A
D
B
E
C
12
4
3
3
A
D
B
E
C
12
3
3 6
A
D
B
E
C
12
3
3
Rotnod
Permanent nod
Preliminär nod
Potentiell väg
Permanent väg
![Page 37: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/37.jpg)
Dijkstra tabell
Besökt L(A) L(B) L(C) L(D) L(E)Q 0 ∞ ∞ ∞ ∞{A} 3:A ∞ 1:A ∞{A,D} 2:D ∞ 4:D
{A,D,B} 3:B 3:B
{A,D,B,C} 3:B
{A,D,B,C,E}
![Page 38: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/38.jpg)
Link State Routing
• Local topology info flooded globally– Periodically– Upon any change
• Routing tables updated for– Link state changes– Cost changes
2012-10-30 28ETSF10 - Internet Protocols
![Page 39: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/39.jpg)
Initial Link State Knowledge
2012-10-30 ETSF10 - Internet Protocols 29
![Page 40: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/40.jpg)
Tree Generation Algorithm (Dijkstra)put yourself to tentative list
while tentative list not empty
{
pick node which can be reached
with least cumulative cost
add it to your tree*
put its neighbours to tentative list**
with cumulative costs to reach them
}*(a.k.a. permanent list)**(if not already there)
2012-10-30 30ETSF10 - Internet Protocols
![Page 41: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/41.jpg)
Building a Shortest Path Tree
2012-10-30 31ETSF10 - Internet Protocols
• After flooding• Take: A
![Page 42: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/42.jpg)
ARPANETRoutingStrategies3rdGeneration• 1987• Linkcostcalculationchanged– Dampenroutingoscillations– Reduceroutingoverhead
• Measureaveragedelayoverlast10secondsandtransformintolinkutilizationestimate
• Calculateaverageutilizationbasedoncurrentvalueandpreviousaverage
R # +1 = STU # + S
T R(#)• Useaslinkcostafunctionbasedntheaverageutilization
ETSF05/ETSF10- InternetProtocols 39
![Page 43: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/43.jpg)
AutonomousSystems(AS)
• Exhibitsthefollowingcharacteristics:– Isasetofroutersandnetworksmanagedbyasingleorganization
– Consistsofagroupofroutersexchanginginformationviaacommonroutingprotocol
– Exceptintimesoffailure,isconnected(inagraph-theoreticsense);thereisapathbetweenanypairofnodes
ETSF05/ETSF10- InternetProtocols 40
![Page 44: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/44.jpg)
InteriorRouterProtocol(IRP)InteriorGatewayProtocol(IGP)
• SharedroutingprotocolspassesroutinginformationbetweenrouterswithinanAS
• Customtailoredtospecificapplicationsandrequirements
• Examples:– RoutingInformationProtocol(RIP)– OpenShortestPathFirst(OSPF)
ETSF05/ETSF10- InternetProtocols 41
![Page 45: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/45.jpg)
ExteriorRouterProtocol(ERP)ExteriorGatewayProtocol(EGP)
• ProtocolusedtopassroutinginformationbetweenroutersindifferentASs
• WillneedtopasslessinformationthananIRP– TotransmitadatagramfromahostinoneAStoahostinanotherAS,arouterinthefirstsystemneedonlydeterminethetargetASanddevisearoutetogetintoit
– OncethedatagramentersthetargetAS,therouterswithinthatsystemcancooperatetodeliverthedatagram
– TheERPisnotconcernedwithdetailsoftheroute• Examples:– BorderGatewayProtocol(BGP)– OpenShortestPathFirst(OSPF)
ETSF05/ETSF10- InternetProtocols 42
![Page 46: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/46.jpg)
Figure 19.9 Application of Exterior and Interior Routing Protocols
Autonomous System 1Autonomous System 2
Subnetwork1.4
Subnetwork1.3
Subnetwork1.2
Subnetwork1.1
Subnetwork2.3
Subnetwork2.2
Subnetwork2.4
Subnetwork2.1
Interior router protocolExterior router protocol
R4R1
R5
R8
R7
R6R2R3
ETSF05/ETSF10- InternetProtocols 43
![Page 47: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/47.jpg)
RoutingAlgorithmsandProtocols
ETSF05/ETSF10- InternetProtocols 48
![Page 48: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/48.jpg)
Distance-VectorRouting• Requiresthateachnodeexchangeinformationwithitsneighboringnodes– Twonodesaresaidtobeneighborsiftheyarebothdirectlyconnectedtothesamenetwork
• Usedinthefirst-generationroutingalgorithmforARPANET
• Eachnodemaintainsavectoroflinkcostsforeachdirectlyattachednetworkanddistanceandnext-hopvectorsforeachdestination
• RoutingInformationProtocol(RIP)usesthisapproach
ETSF05/ETSF10- InternetProtocols 49
![Page 49: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/49.jpg)
RIP(RoutingInformationProtocol)
• IncludedinBSD-UNIXDistributionin1982• Distancemetric:– #ofhops(max15)todestinationnetwork
• Distancevectors:– exchangedamongneighboursevery30secondviaResponseMessage(advertisement)
• Implementation:– Applicationlayerprotocol,usesUDP/IP
ETSF05/ETSF10- InternetProtocols 50
![Page 50: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/50.jpg)
RIPupdatemessage
• Contains thewhole forwarding table• Actiononreception:– Add 1to cost inreceivedmessage– Changenext hopto sending router– Apply RIPupdating algorithm
• Received update msgs identify neighbours!
ETSF05/ETSF10- InternetProtocols 52
![Page 51: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/51.jpg)
RIP:LinkFailureandRecovery
• Ifnoadvertisementheardafter180seconds– Neighbour/linkdeclareddead– Routesvianeighbourinvalidated(infinitedistance=16hops)
– Newadvertisementssenttoneighbours(triggeringachainreactioniftableschanged)
– “Poisonreverse”usedtopreventcounttoinfinityloops
– “Goodnewstravelfast,badnewstravelslow”
57ETSF05/ETSF10- InternetProtocols
![Page 52: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/52.jpg)
RoutingAlgorithmsandProtocols
ETSF05/ETSF10- InternetProtocols 58
![Page 53: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/53.jpg)
Link-StateRouting• Whenarouterisinitialized,itdeterminesthelinkcostoneachofitsnetworkinterfaces
• Therouterthenadvertisesthissetoflinkcoststoallotherroutersintheinternettopology,notjustneighboringrouters
• Fromthenon,theroutermonitorsitslinkcosts• Whenthereisasignificantchange,therouteradvertisesitslinkcoststoallotherrouters
• TheOSPFprotocolisanexample• Thesecond-generationroutingalgorithmforARPANETalsousesthisapproach
ETSF05/ETSF10- InternetProtocols 59
![Page 54: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/54.jpg)
OpenShortestPathFirst(OSPF)Protocol• RFC2328(RequestForComments)• UsedastheinteriorrouterprotocolinTCP/IPnetworks
• Computesaroutethatincurstheleastcostbasedonauser-configurablemetric
• Isabletobalanceloadsovermultipleequal-costpaths
ETSF05/ETSF10- InternetProtocols 60
![Page 55: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/55.jpg)
OSPF(OpenShortestPathFirst)
• Dividesdomainintoareas– Limitsfloodingforefficiency– One”backbone”areaconnectsall
• Distancemetric:– Costtodestinationnetwork
61ETSF05/ETSF10- InternetProtocols
![Page 56: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/56.jpg)
Areas,RouterandLinkTypes
62ETSF05/ETSF10- InternetProtocols
![Page 57: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/57.jpg)
Graph
Networktopologyexpressedasagraph• Routers• Networks– Transit,passingdatathrough– Stub,nottransit
• Edges– Direct,routertorouter– Indirect,routertonetwork
ETSF05/ETSF10- InternetProtocols 63
![Page 58: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/58.jpg)
Figure 19.11 A Sample Autonomous System
3 1
13
1
2
1 8 8
86
6
8 88
N13 N14N12
7 6
67
5
1N15
N12
1
3
1
4
2
9
1 21
3
1210
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12H1
N10
N7
N8
N9
N11
N4
N6
N3
N1
N2
ETSF05/ETSF10- InternetProtocols 64
![Page 59: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/59.jpg)
Figure 19.12 Directed Graph of Autonomous System of Figure 19.11
31
1
3
2
1
8
8
6
6
88 8
N14N13N12
7
6
6
7
5
1 N15
N12
1
3 1
4
29
1
21
3
1
210
1
7
N1
N2
R1
R2
N3
8R3
N4
R4R5
R6
R7
N6
R8
R10
N8R11
N9
R9
N11
H1
R12
N10 N7
ETSF05/ETSF10- InternetProtocols 65
Transitnetwork
Stubnetwork
Direct edgePoint to point
Indirect edge
![Page 60: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/60.jpg)
LinkStateAdvertisements
• Whattoadvertise?– Differententitiesasnodes– Differentlinktypesasconnections– Differenttypesofcost
ETSF05/ETSF10- InternetProtocols 69
![Page 61: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/61.jpg)
RouterLinkAdvertisement
70ETSF05/ETSF10- InternetProtocols
![Page 62: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/62.jpg)
NetworkLinkAdvertisement
• Networkisapassiveentity– Itcannotadvertiseitself
ETSF05/ETSF10- InternetProtocols 71
![Page 63: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/63.jpg)
SummaryLinktoNetwork
• Donebyareaborderrouters– Goesthroughthebackbone
ETSF05/ETSF10- InternetProtocols 72
![Page 64: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/64.jpg)
ExternalLinkAdvertisement
• Linktoasinglenetworkoutsidethedomain
ETSF05/ETSF10- InternetProtocols 74
![Page 65: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/65.jpg)
Hellomessage
• Find neighbours• Keep contact with neighbours:Iam stillalive!• Sentout periodically,typically every 10second• Ifnohellos received during holdtime (typically30seconds),neighbour declared dead.
• Compare RIPupdate messages
ETSF05/ETSF10- InternetProtocols 75
![Page 66: Routing on the Internet - Lunds tekniska högskolaBuilding a Shortest Path Tree 2012-10-30 ETSF10 - Internet Protocols 31 • After flooding • Take: A ARPANET Routing Strategies](https://reader036.vdocuments.us/reader036/viewer/2022071105/5fdfa6c570913e3356009ebd/html5/thumbnails/66.jpg)
Routing Algorithms andProtocols
• InteriorandExteriorRouterProtocols• Distancevector– Bellman-Ford– Announcewholetabletoneighbors– RIP
• LinkState– Dijkstra– Announceneighborconnectionstowholenetwork– OSPF
ETSF05/ETSF10- InternetProtocols 79