Föreläsning 4: Nätlagret TDTS09 Dator och internetprotokoll Föreläsning 4: Nätlagertjänster och rotning Jha Takkinen, jhta@ida.li.se IDA/ADIT/IISLAB, Linköpings niersitet 009-0-09 Föreläsningmål: förstå principen för lagrets tjänster modeller för lagrets tjänster idareförmedling kontra rotning hr en roter fngerar rotning (ägal) hantera skalbarhet lite om ip6 instansiering och implementation a principerna på Internet Slides are modified from J.F Krose and K.W. Ross Nätlagret 4- Nätlagret 4- Föreläsning 4: Nätlagret 4. Introdktion 4. Virtal circit and datagram s 4.4 IP: Internet Protocol Datagramformatet IP4-adressering IMP IP6 4. Rotningsalgoritmer Länktillstånd Distansektor Hierarkisk rotning 4.6 Rotning på Internet RIP OSPF BGP Nätlagret transportera segment från sändande till mottagande ärd på sändarsidan, kapsla in segment i datagram på mottagarsidan, leerera segment till transportlagret lagerprotokoll i arje ärd och roter rotern ndersöker hdfälten i alla ipdatagram som passerar applikation transport applikation transport Nätlagret 4- Nätlagret 4-4 Tå nckelfnktioner i lagret Samspelet mellan rotning och idareförmedling idareförmedling (eng. forarding): förfltta paket från en roters ingång till lämplig tgång rotning: bestämma rtt för paket från källa till destination rotningalgoritmer analogi: rotning: processen att planera en resa från A till B idarefömedling: processen att ta sig igenom en enskild kntpnkt nder resan ärde i hd på anländande paket rotningsalgoritm lokal f-tabell ärde i hd tg. 0 000 00 0 00 Nätlagret 4- Nätlagret 4-6
Nätlagrets tjänstemodell Q: Vilken tjänstemodell för kanalen som transporterar datagram från sändare till mottagare? Eempel på tjänst till enskilt datagram: garanterad leerans garanterad leerans med mindre än 40 ms fördröjning Vad har Internet? Eempel på tjänst till ett flöde bestående a flera datagram: leerans a datagram i ordning garanterad minsta bandbredd till flödet kra på ma interall mellan paketen Datagram ingen ppkopplingsfas rotrar: ingen information om tillståndet för ändpnkternas ppkoppling begreppet ppkoppling saknas i lagret paket idarefömedlas med hjälp a destinationsadressen paket mellan samma källa-destination-par kan ta olika ägar applikation transport applikation transport. Sända data. Ta emot data Nätlagret 4-7 Nätlagret 4-8 Tabell för idarefömedling 4 miljarder möjliga rader Längsta prefimatchning Destination (adressinterall) Länkgränssnitt 00000 0000 0000000 00000000 t.o.m. 0 00000 0000 0000 Matchat prefi Länkgränssnitt 00000 0000 0000 0 00000 0000 000000 00000 0000 000 annars 00000 0000 000000 00000000 t.o.m. 00000 0000 000000 00000 0000 00000 00000000 t.o.m. 00000 0000 000 annars Eempel: DA: 00000 0000 00000 00000 DA: 00000 0000 000000 0000 Vilket gränssnitt? Vilket gränssnitt? Nätlagret 4-9 Nätlagret 4-0 Abstrahering a som graf Graf: G = (N,E) N = mängd med rotrar = {,,,,, } E = mängd med ar ={ (,), (,), (,), (,), (,), (,), (,), (,), (,), (,) } Kommentar: Grafabstrahering anändbar i andra sammanhang. Eempel: PP, där N är mängden a ändnoder (eng. peers) och E är mängden a TP-ppkopplingar. Nätlagret 4- Grafabstrahering: kostnader c(, ) = kostnad (, ) - e.g., c(,) = kostnaden kan alltid ara eller omänt relaterad till bandbredden alt. omänt relaterad till stockning Vägkostnad (,,,, p ) = c(, ) + c(, ) + + c( p-, p ) Fråga: Vad är lägsta kostnaden-ägen mellan och? Rotningsalgoritm: algoritm som finner lägsta kostnaden-ägen Nätlagret 4-
Klassificering a rotningsalgoritmer En algoritm för tillståndsrotning Global eller decentraliserad information? Global: alla rotrar har fllständig information om topologin ohc kostnader tillståndsalgoritmer Decentraliserade: en roter et om sina fsiskt nåbara grannar och kostnaden till dessa iterati process för beräkning och tbte a information med grannarna distansektoralgoritmer Statisk eller dnamisk? Statisk: rtter förändras långsamt öer tiden Dnamisk: rtter förändras oftare periodiska ppdateringar som sar på kostnadsändringar Nätlagret 4- Dijkstras algoritm alla noder känner till topologi och alla ostnader åstadkoms ia tillståndsbroadcast alla noder har samma info beräknar lägsta kostnad-ägar från en nod ( källa ) till alla andra noder ger tabell för idarefömedling för den noden iterati: efer k iterationer, et lägsta kostnad-ägen till k destinationer Nätlagret 4-4 Dijkstras Algoritm Initialisering: N' = {} för alla noder 4 om granne till då D() = c(,) 6 annars D() = 7 8 Loop Notation: c(,): kostnad från nod till ; sätts till om ej direkt granne D(): narande kostnad på äg från källa till destination p(): föregående nod längs ägen från källa N': mängden med noder ars lägsta kostnad-äg definitit är känd 9 finn ej i N' sådant att D() är minimm 0 lägg till i N' ppdatera D() för alla grannar till och ej änn i N' : D() = min( D(), D() + c(,) ) /* n kostnad till antingen är en gammal kostnad till eller känd 4 lägsta kostnad-äg till pls kostnaden från till */ tills alla noder finns i N' Dijkstras algoritm: eempel Steg 0 4 N' D(),p(),,, D(),p(), 4,,, D(),p(), D(),p(), D(),p() 4, 4, 4, Nätlagret 4- Nätlagret 4-6 Dijkstras algorithm: eempel () Sltligt kortaste ägen-träd (eng. shortest-path tree) från : Sltlig tabell för idarefömedling i : destination (,) (,) (,) (,) (,) Nätlagret 4-7 Länktillståndsrotning, Dijkstras algoritm: Annat eempel N = {A} D(B), p(b) =, A D(G), p(g) = 6, A N = {ABE} D(F), p(f) =, E D(G), p(g) =, E N = {ABEGF} D(H), p(h) =, F N = {AB} D(E), p(e) =, B D(G), p(g) = 6, A N = {ABEG} D(F), p(f) =, E D(H), p(h) = 4, G N = {ABEGFH} D(D), p(d) =, H N = {ABEGFHD} N = {ABEGFHD} klar! (ett ppspännande träd med... och: lägsta kostnad-äg från A) Hr ser lägsta kostnad-ägen t för A-D? p(d)=h + p(h)=f + p(f)=e + p(e)=b + p(b)=a klar! kostnader längs ägen: + + + + = Nätlagret 0
Distansektoralgoritmen Bellman-Fords ekation (dnamisk programmering) Definiera d () := kostnaden för lägsta kostnad-ägen från till Då är d () = min {c(,) + d () } där min beräknas för alla grannar till Nätlagret 4-9 Bellman-Ford-eempel Som snes är, d () =, d () =, d () = B-F-ekationen säger att: d () = min { c(,) + d (), c(,) + d (), c(,) + d () } = min { +, +, + } = 4 Noden som ger minimm blir nästa hopp längs den kortaste ägen och läggs in i f-tabellen Nätlagret 4-0 Distansektoralgoritmen, forts. D () = ppskattning a lägsta kostnaden från till Nod känner till kostnaden till arje granne : c(,) Nod pprätthåller distansektorn D = [D (): є N ] Nod pprätthåller äen information om sina grannars distansektorer För arje granne, pprätthåller D = [D (): є N ] Nätlagret 4- Distansektoralgoritmen, forts. Grndidé: Varje nod skickar regelbndet sin egen beräknade distansektor periodicall till grannarna sends its on distance ector estimate to neighbors När en nod får en n beräknad DV från en granne så ppdaterar den sin egna DV med hjälp a B-F-ekationen: D () min {c(,) + D ()} för arje nod N Uppskattningen D() konergerar nder normala förtsättningar till den erkliga lägsta kostnaden d () Nätlagret 4- Distansektoralgoritmen, forts. Iterati, asnkrons: arje lokal iteration startar när: lokal kostnad ändras en DV-ppdatering inkommer från en granne Distriberad: arje nod meddelar grannar endast när DV:n ändras grannarna meddelar sedan sina grannar, om det behös Varje nod: änta på (ändring a lokal kostnad eller medd från granne) räkna om ppskattningar om DV till någon dest har ändrats, meddela grannar Distansektorrotning, Bellman-Fordekationen: Annat eempel Dj(g) = = min{c(j, h) + Dh(g), c(j, a) + Da(g), c(j, i) + Di(g), c(j, k) + Dk(g)} = = min{ + 6, 8 + 8, 0 +, 6 + } = 8 Nätlagret 4- Nätlagret 4
Internets lager Nätlagerfnktioner i ärdaroch rotrar: Transportlagret: TP, UDP Intra-AS-rotning kalls äen för Interior Gatea Protocols (IGP) de anligaste Intra-AS-rotningsprotokollen: lager Rotningsprotokoll ägal RIP, OSPF, BGP idareförm.- tabell IP-protockollet adresseringsregler datagramformat pakethanteringsregler IMP-protokollet felrapportering roter- signalering RIP: Roting Information Protocol OSPF: Open Shortest Path First IGRP: Interior Gatea Roting Protocol (isco proprietar) Länklagret Det lagret Nätlagret 4- Nätlagret 4-6 RIP ( Roting Information Protocol) distansektorrotningsalgoritm fanns med i BSD-UNIX-distribtionen 98 aståndsmått: antal hopp (ma = hopp) A B D Från roter A till sb: destination hopp RIP-annonseringar (eng. adertisements) distansektorer: tbts mellan grannar ar 0 seknd ia Response-meddelanden (kallas och annonseringar eller adertisements) arje adertisement: lista på pp till destinations inom AS Nätlagret 4-7 Nätlagret 4-8 RIP: Eempel A D B Destinations Nästa roter Antal hopp t. dest. A B B 7 --..... Rotningstabell i D Nätlagret 4-9 RIP: Eempel, forts. Dest Nästa hopp - - 4.... A Adertisement från A till D D Destinations Nästa roter Antal hopp t. dest. A B B A 7 --..... Rotningstabell i D B Nätlagret 4-0
RIP: Link Failre and Recoer If no adertisement heard after 80 sec --> neighbor/link declared dead rotes ia neighbor inalidated ne adertisements sent to neighbors neighbors in trn send ot ne adertisements (if tables changed) link failre info qickl (?) propagates to entire net poison reerse sed to preent ping-pong loops (infinite distance = 6 hops) RIP Table processing RIP roting tables managed b applikation-leel process called rote-d (daemon) adertisements sent in UDP packets, periodicall repeated Transprt (UDP) forarding (IP) table link roted forarding table roted Transprt (UDP) (IP) link Nätlagret 4- Nätlagret 4- OSPF (Open Shortest Path First) OSPF adanced featres (not in RIP) open : pblicl aailable ses Link State algorithm LS packet dissemination topolog map at each node rote comptation sing Dijkstra s algorithm OSPF adertisement carries one entr per neighbor roter adertisements disseminated to entire AS (ia flooding) carried in OSPF messages directl oer IP (rather than TP or UDP secrit: all OSPF messages athenticated (to preent malicios intrsion) mltiple same-cost paths alloed (onl one path in RIP) For each link, mltiple cost metrics for different TOS (e.g., satellite link cost set lo for best effort; high for real time) integrated ni- and mlticast spport: Mlticast OSPF (MOSPF) ses same topolog data base as OSPF hierarchical OSPF in large domains. Nätlagret 4- Nätlagret 4-4 Hierarchical OSPF Hierarchical OSPF to-leel hierarch: local area, backbone. Link-state adertisements onl in area each nodes has detailed area topolog; onl kno direction (shortest path) to nets in other areas. area border roters: smmarie distances to nets in on area, adertise to other Area Border roters. backbone roters: rn OSPF roting limited to backbone. bondar roters: connect to other AS s. Nätlagret 4- Nätlagret 4-6 6
Internet inter-as roting: BGP BGP (Border Gatea Protocol): the de facto standard BGP proides each AS a means to:. Obtain sbnet reachabilit information from neighboring ASs.. Propagate reachabilit information to all ASinternal roters.. Determine good rotes to sbnets based on reachabilit information and polic. allos sbnet to adertise its eistence to rest of Internet: I am here Nätlagret 4-7 BGP basics pairs of roters (BGP peers) echange roting info oer semipermanent TP connections: BGP sessions BGP sessions need not correspond to links. hen AS adertises prefi to AS: AS promises it ill forard an addresses datagrams toards that prefi. AS can aggregate prefies in its adertisement b c AS a a AS c d ebgp session ibgp session b c a b AS Nätlagret 4-8 Distribting reachabilit info sing ebgp session beteen a and c, AS sends prefi reachabilit info to AS. c can then se ibgp do distribte ne prefi info to all roters in AS b can then re-adertise ne reachabilit info to AS oer b-to-a ebgp session hen roter learns of ne prefi, creates entr for prefi in its forarding table. b c AS a a AS c d ebgp session ibgp session b c a b AS Nätlagret 4-9 Path attribtes & BGP rotes adertised prefi incldes BGP attribtes. prefi + attribtes = rote to important attribtes: AS-PATH: contains ASs throgh hich prefi adertisement has passed: e.g, AS 67, AS 7 NEXT-HOP: indicates specific internal-as roter to net-hop AS. (ma be mltiple links from crrent AS to net-hop-as) hen gatea roter receies rote adertisement, ses import polic to accept/decline. Nätlagret 4-40 BGP rote selection roter ma learn abot more than rote to some prefi. Roter mst select rote. elimination rles:. local preference ale attribte: polic decision. shortest AS-PATH. closest NEXT-HOP roter: hot potato roting 4. additional criteria BGP messages BGP messages echanged sing TP. BGP messages: OPEN: opens TP connection to peer and athenticates sender UPDATE: adertises ne path (or ithdras old) KEEPALIVE keeps connection alie in absence of UPDATES; also AKs OPEN reqest NOTIFIATION: reports errors in preios msg; also sed to close connection Nätlagret 4-4 Nätlagret 4-4 7
BGP roting polic BGP roting polic () W A B X legend: proider cstomer : W A B X legend: proider cstomer : A,B, are proider s X,W,Y are cstomer (of proider s) X is dal-homed: attached to to s X does not ant to rote from B ia X to.. so X ill not adertise to B a rote to Y A adertises path AW to B B adertises path BAW to X Shold B adertise path BAW to? Y No a! B gets no reene for roting BAW since neither W nor are B s cstomers B ants to force to rote to ia A B ants to rote onl to/from its cstomers! Nätlagret 4-4 Nätlagret 4-44 Wh different Intra- and Inter-AS roting? Polic: Inter-AS: admin ants control oer ho its traffic roted, ho rotes throgh its net. Intra-AS: single admin, so no polic decisions needed Scale: hierarchical roting saes table sie, redced pdate traffic Performance: Intra-AS: can focs on performance Inter-AS: polic ma dominate oer performance Föreläsning 4: Sammanfattning 4. Introdktion 4. Virtal circit and datagram s 4. Rotningsalgoritmer Länktillstånd Distansektor Hierarkisk rotning Nästa föreläsning: IPprotokollet, DHP, NAT Nätlagret 4-4 Nätlagret 4-46 8