Projekter inden for datanet Infrastruktur og routing DIKU.PEH.882
Vigtige milepæle 1969 1977 1983 1988 1988 1990 1995 1993 1995 ARPANET (4 knuder) sat i drift Første version af IP og TCP udarbejdet MILNET skilles ud fra ARPANET NSFNET klar som backbone-net Domain Name System (DNS) tages i brug Advanced Networks and Services overtager NFSNET Første kommercielle net, idet MERIT, MCI og IBM stod bag ANS NSFNET solgt til America Online idet behovet for ét backbone-net mindsket World Wide Web ser dagens lys IP version 6 RFC færdig DIKU.PEH.883
ARPANET - oprindelige arkitektur Projekter indenfor datanet Host Host-host protokol Host Host-IMP protokol Source IMP to destination IMP protokol IMP IMP-IMP protokol IMP IMP Subnet IMP IMP DIKU.PEH.884
ARPANET december 1969 SRI UTAH UCSB UCLA SRI Stanford Research Institute International UTAH University of Utah UCSB University of California at Santa Barbara UCLA University of California at Los Angeles DIKU.PEH.885
ARPANET december 1969 (II) DIKU.PEH.752
Visualisering af Internet core net Projekter indenfor datanet http://www.caida.org/analysis/topology/as_core_network/ A graph visualisation showing the topology of the core of the Internet from mid-january 2000. It reveals the peering relations and geographic locations of Autonomous Systems (ASes), which are a vital part of Internet infrastructure that represent large ISP networks for the complex routing of traffic flows. It was created by researchers at CAIDA as part of their skitter project. DIKU.PEH.888
IP Backbone - BTnet (2000) http://www.ignite.com/uk/aboutus/network.html The IP backbone network of BTnet in the United Kingdom, as early 2000. DIKU.PEH.863
PSINet (Marts 1999) http://www.psi.net/network/connectivitymaps.html PSINet s global Internet backbone network from March 1999. DIKU.PEH.864
Interoute i-21 network http://www.interoute.com/network_map.cfm A map of the Interoute i-21 network spanning much of Europe. It is a nice example of the use of a subway map metaphor. DIKU.PEH.865
Tele Danmarks Backbone 1. Maj 1998 DIX Århus Albertslund DIKU.PEH.886
Danish Internet exchange point (D 10 IX) Arrowhead AT&T Global Network Services Denmark Bredbandsbolaget Broadcom ApS Cohaesio A/S Colt Telecom CSC Computer Management CyberCity DMdata a/s Equant Denmark A/S (Global One) Forskningsnettet Jay.net Kabelnettet.dk Kommunedata KomTel Lycos Europe/Spray Network Netgroup A/S Novo Nordisk IT Orange Sektornet Song Networks Sonofon TDC Tele2/UNI2 Telia Tiscali Utfors WEBPARTNER WorldCom Denmark Zen Systems ApS 26. marts 2003 DIKU.PEH.887
Et internets arkitektur Intern knude (Interior node) Gateway (Exterior node) Net (Autonomous System) DIKU.PEH.889
Interessante links ISP / Backbone Maps CAIDA Mapnet http://www.caida.org/tools/visualization/mapnet Russ Haynal's ISP Page http://navigators.com/isp.html ISPworld (by Jeffery Carl) http://www.ispworld.com/ Div maps og visualiseringer An Atlas of Cyberspace http://www.cybergeography.org/atlas/atlas.html Statistik NUA http://www.nua.ie/surveys/ DIKU.PEH.916
Routing /rutning Rutning (routing) er processen at vælge den vej, data skal følge gennem nettet fra de kommer ind (hos afsenderen) til de forlader nettet (hos modtageren): rutningsproces: processen at finde vejen i den enkelte router rutningsalgoritme : den metode, der anvendes til at bestemme (den optimale) rute statisk (non-adaptive) adaptive rutningsprotokol : den protokol, der anvendes, når rutningsinformation skal udvekles DIKU.PEH.407
Krav til en rutningsalgoritme virke korrekt den skal være i stand til at rute korrekt simpel jo mere simpel jo bedre, idet den ofte anvendes robust nettet skal ikke reloades hver gang en knude går ned og den skal virke, selvom nettet er overbelastet stabil retfærdig optimal rutning i nettet skal konvergere mod en ligevægt algoritmen må ikke favorisere nogen algoritmen skal udnytte transportmediet bedst muligt DIKU.PEH.408
Rutningsalgoritmer Distance Vector algoritmen udveksler rutningstabeller med naborouter er adaptiv kendte problemer topologi opdateringsproblemet problem med Split Horizon Hack Link State algoritmen udveksler link state tabeller med naborouter er adaptiv hver router beregner den optimale rute for hele nettet kræver nogen CPU kraft og lager DIKU.PEH.890
Distance Vector algoritmen A B Modtages af knude G Ny tabel i G a G h f e C F D E Til knude: A B C D E F G H I fra A 0 12 14 18 16 20 9 19 25 fra F fra E fra H 20 21 7 17 18 0 11 21 27 24 12 16 6 0 18 7 17 9 19 29 28 23 17 21 10 0 9 Delay målt fra G: 8 12 10 9 Delay 8 20 19 16 10 12 0 9 18 linie a a f e e f - h h H I DIKU.PEH.891
Topologi opdaterings problemet Projekter indenfor datanet DIKU.PEH.410
Split Horizon Hack (I) split horizon algoritmen virker ligesom distribueret routing (distance vector routing) dog sendes afstanden til X ikke ad den linie pakker til X sendes ad. Aktuelt sendes afstanden uendeligt. DIKU.PEH.411
Split Horizon Hack (II) DIKU.PEH.412
Link State algoritmen (I) Opdage nabo routers og lære deres netadresser her anvendes en speciel HELLO pakke Måle delay eller anden metrik til nabo routers delay kan måles med en ECHO pakke Opbygge en pakke, der indeholder alle kendte oplysninger se næste slide Sende denne pakke til alle andre routers i nettet den basale distributionsmåde er flooding Beregne den optimale rute til enhver anden router her anvendes Dijkstra s shortest path algoritme DIKU.PEH.413
Link State algoritmen (II) A 12 B Link State pakker 14 14 6 A Seq. # B Seq. # C Seq. # D Seq. # E Seq. # 9 7 C F 10 D Age B 12 C 14 G 9 Age A 12 C 14 D 6 Age A 14 B 14 D 10 F 7 Age B 6 C 10 E 6 Age D 6 G 7 I 9 11 6 F G H I Seq. # Seq. # Seq. # Seq. # G 7 E Age C 7 Age A 9 Age G 10 Age E 9 10 H 9 9 I G 11 F 11 E 7 H 10 I 9 H 9 DIKU.PEH.414
Rutning i Internet Rutningsprocessen Class baseret Classless baseret (CIDR) Rutningsalgoritmer distance vector algoritmen link state algoritmen path vector algoritmen Rutningsprotokoller Interior Gateway Protocols (IGP) Routing Information Protocol (RIP, RFC 2453) Open Shortest Path First (OSPF, RFC 2328) Exterior Gateway Protocol (EGP) Border Gateway Protocol (BGP4, RFC 1771) DIKU.PEH.892
Rutning i Internet - rutningsproces Projekter indenfor datanet 1) Uddrag modtager IP adressen (I-dest) fra datagrammet 2) Find IP adressen på modtager nettet (net-id) 3) Hvis net-id er lig med adressen på et af de direkte connected net, så send datagrammet til modtageren via dette net 4) ellers, hvis I-dest optræder som en host-specifik rute, så send datagrammet, som specificeret i tabellen 5) ellers, hvis net-id optræder i rutningstabellen, så send datagrammet, som specificeret i tabellen 6) ellers, hvis en default rute er defineret, så send datagrammet til den defaulte gateway 7) ellers, smidt datagrammet væk, og send en ICMP pakke til afsenderen DIKU.PEH.893
Classless Inter Domain Routing (CIDR) Reserverer resterende Class C adresser til områder Europa 194.0.0.0 195.255.255.255 (33½ M) Nord Amerika 198.0.0.0 199.255.255.255 (33½ M) Central og Syd Amerika 200.0.0.0 201.255.255.255 (33½ M) Asien og Pacific 202.0.0.0 203.255.255.255 (33½ M) Reserve 204.0.0.0 223.255.255.255 (335½ M) Definerer en maske, der anvendes ved rutning Eksempel: 200.25.0.0 ~ 11001000.00011001.00000000.00000000 /16 ~ 11111111.11111111.00000000.00000000 DIKU.PEH.894
Rutning i CIDR (I) ISP A: 200.25.0.0 ~ 11001000.00011001.00000000.00000000 /16 ~ 11111111.11111111.00000000.00000000 ORG B (800): 200.25.24.0 ~ 11001000.00011001.00011000.00000000 /22 ~ 11111111.11111111.11111100.00000000 ORG C (300): 200.25.28.0 ~ 11001000.00011001.00011100.00000000 /23 ~ 11111111.11111111.11111110.00000000 ORG D (500): 200.25.30.0 ~ 11001000.00011001.00011110.00000000 /23 ~ 11111111.11111111.11111110.00000000 DIKU.PEH.895
Rutning i CIDR (II) ISP A 200.25.0.0/16 INTERNETTET 200.25.16.0/20 200.25.24.0/22 200.25.28.0/23 200.25.30.0/23 Org B 200.25.24.0/24 200.25.25.0/24 200.25.26.0/24 200.25.27.0/24 200.25.28.0/24 200.25.29.0/24 Org C 200.25.30.0/24 200.25.31.0/24 Org D DIKU.PEH.896
Rutning i CIDR (III) Pakke med Destination = 200.25.31.11 skal rutes. net-id prefix next router 200.25.0.0 /16 via linie 1 11001000.00011001.00011111.00001011 AND 11111111.11111111.00000000.00000000 11001000.00011001.00000000.00000000 = 200.25.0.0 ( ) net-id prefix next router 200.25.24.0 /22 via linie 1 200.25.28.0 /23 via linie 2 200.25.30.0 /23 via linie 3 11001000.00011001.00011111.00001011 AND 11111111.11111111.11111100.00000000 11001000.00011001.00011100.00000000 = 200.25.28.0 (-) 11001000.00011001.00011111.00001011 AND 11111111.11111111.11111110.00000000 11001000.00011001.00011110.00000000 = 200.25.30.0 (-) 11001000.00011001.00011111.00001011 AND 11111111.11111111.11111110.00000000 11001000.00011001.00011110.00000000 = 200.25.30.0 ( ) DIKU.PEH.897
Rutning i Internet - autonomt system Projekter indenfor datanet Autonomt system Interior Gateway Protocol Exterior Gateway Protocol DIKU.PEH.898
Path Vector rutning Hverken distance vector eller link state algoritmen kan anvendes som Exterior Gateway Protocol: distance vector antager, at der anvendes samme distance metric i hele nettet distance vector giver ikke mulighed for at vælge hvilke AS, der skal passeres forskellige metric s gør det umuligt for link state algoritmen at udføre konsistente beregninger flooding af link state information til alle router er ikke mulig Alternativet - Path Vector rutning: anvend kun information om, hvilke autonomous systems (AS), der kan nås via en router, og hvilke AS, der skal passeres for at nå dertil dette giver også mulighed for policy routing DIKU.PEH.899
Border Gateway Protocol (BGP) BGP vedligeholder routing tabeller (Routing Information Bases) Adj-RIBs-In: information fra indkomne UPDATE messages Loc-RIB: routing information som ved at anvende de lokale routing policies på informationen i Adj-RIBs-In ADJ-RIBs-Out: information, som kan sendes til peer BGP s i UPDATE messages BGP speakers udveksler routing information BGP routers udveksler ikke regelmæssigt routing information, kun ved ændringer BGP anvender en enkel routing metric et vilkårligt nummer, der specificerer degree of preference tildeles af netværks administartoren vha. en funktion (decision process) DIKU.PEH.900
BGP OPEN message En Open message er den første pakke, der udveksles Den indeholder følgende information: version BGP versions nummer My Autonomous System afsenderens AS nummer Hold Time foreslået værdi for Hold Timer BGP Identifier afsenderens BGP identifier (= BGP spekerens assigned IP address) Optional parameters: Authentication data DIKU.PEH.901
BGP UPDATE message En UPDATE message anvendes til at informere om én mulig rute og/eller tilbage-trække flere ikke-mulige ruter Den indeholder følgende information: withdrawn routes en liste af IP address prefixes for ruter, der trækkes tilbage path attributes beskriver den annoncerede rute: origin, AS path, next hop, mult exit disc, local pref, atomic aggregate, aggregator network layer reachability information en liste af IP address prefixes for den annoncerede rute DIKU.PEH.902
BGP KEEPALIVE message KEEPALIVE messages udvekles mellem peers BGP speakers til at tilkendegive, at de er i live består kun af BGP pakke hovedet skal sendes så ofte, at Hold Timer ikke udløber må ikke sendes oftere end en per sekund hvis Hold Timer er nul, må KEEPALIVE messages ikke sendes regelmæssigt DIKU.PEH.903
BGP NOTIFICATION message NOTIFICATION messages sendes, når en fejlsituation opstår Den indeholder følgende information: error code notification type error subcode data yderligere specifikation af fejlen anvendes til diagnose af fejlsituationen DIKU.PEH.904
Behandling af BGP UPDATE message Hvis UPDATE tilbage-trækker en eller flere ruter, skal disse fjernes fra Adj-RIBs- In, og Decision Processen skal udføres. Hvis UPDATE indeholder en mulig rute skal denne placeres i Adj-RIBs-In og følgende skal udføres hvis NLRI er identisk til en rute allerede i Adj-RIBs-In, skal den nye erstatte den gamle, og Decision Processen skal udføres hvis den nye rute er en overlapping rute, som er inkluderet i en tidligere rute, skal Decision Processen udføres hvis den nye rute har identiske path attributes og er mere specifik end en tidligere rute udføres intet hvis den nye rute ikke findes i Adj-RIBs-In, skal den indsættes her, og Decision Processen udføres hvis den nye rute er overlapping, men mindre specifik end en tidligere rute, skal Decision Processen udføres på sættet af destinationer, angivet af den mindre specifikke rute DIKU.PEH.905