Nätverkslagret - Intro Uppgifter Erbjuda unika adresser för varje nod Veta hur nätet är uppbyggt Hitta bästa vägen Olika datalänksprotokoll Undvika stockningar (congestion)
Nätverkslagret - Intro
Principer för att bygga nätverkslager 1 Traditionellt i Telekomvärlden Tillförlitligt (reliable) Connection oriented Exempel på protokoll : ATM 1. Skicka uppkopplingspaket (med fullständig adress) detta lämnar ett spår. (info om uppkopplingen lämnas i varje nod) En statisk förbindelse skapas, en så kallad VC (Virtual Circuit). 2. Efterföljande paket följer spåret styrs av VC-numret (Har ej fullständig adress) 3. Sist skickas nedkopplingspaket Den skapade VC:n tas bort
Principer för att bygga nätverkslager 2 Internetvärlden Ej tillförlitligt (unreliable) Connectionless Exempel på protokoll: IP -Ingen statisk förbindelse -Alla paket som skickas är oberoende av varandra ock kan ta olika vägar -Alla paket måste innehålla en fullständig mottagaradress
Routing Handlar om att hitta bästa vägen och bästa vägen kan beräknas genom tex Antal routerhopp Minimal delay (tid) Lägsta pris Politiskt korrekt Utifrån de kriterier vi sätter upp finns det alltid en bästa väg.
Routrarnas uppgifter Förmedla trafik mellan nät Separera nät (broadcastdomäner) Hitta bästa vägen till varje nät (Info fås ur routingtabellen) Kan (vanligtvis) bygga upp sin routingtabell själv genom att utbyta information med sina routergrannar (via routingprotokoll)
Några definitioner/begrepp Routingalgoritm - Teoretiska ideer/modeller) Routingprotokoll - Implementation av algoritmen - Används för att skicka routinginformation mellan routrar (förväxla inte med routade protokoll!) Routingtabell - Information om bästa väg till varje nät - Varje router har en egen (unik) routingtabell
Statiska routingalgoritmer Routingtabellen läggs in i förväg och ändras inte. Kan skapas genom: - I förväg beräknade vägar till alla nät. Kan tex beräknas med Shortest Path algoritmen - Flooding: Skicka inkommande paket ut på alla portar (utom varifrån det kom) Fördel: Fungerar alltid Nackdel: Många onödiga paket (dubletter) (OBS förväxla inte flooding som är ett distributionssätt med broadcasting som är ett adresseringssätt. Flooding används bara mellan routrar)
Dynamiska (adaptiva) routingalgoritmer Routrarna skickar infopaket mellan varandra. Utifrån den erhållna informationen bygger sedan varje router upp sin routingtabell. Två familjer av dynamiska routingalgoritmer (och därtill hörande routingprotokoll) - Vektorbaserade (Distance Vector) - Länkbaserade (Link state)
Vektorbaserade protokoll Princip: Berätta allt du vet (=hela din nuvarande routingtabell) för dina närmaste routergrannar. Dessa använder din info för att modifiera sina egna routingtabeller och skickar sedan sina vidare till nästa router osv Fördel: Enkelt Nackdel: Risk för vilseledande information (felaktiga routingtabeller) i vissa lägen (count to infinity-problematiken) Exempel på protokoll: RIP, IGRP, EIGRP
Länkbaserade protokoll Princip: Lär känna dina grannar (routrarna) och det nät som förbinder er - Skicka den informationen till ALLA routrar (mha flooding) med sk Link State Packet - Varje router får så småningom ett sådant infopaket från varje annan router. - Med den informationen skapar varje router sedan sin egen routingtabell Fördel: snabbt skapas korrekta routingtabeller Nackdel: Kräver mer beräkningsarbete i routrarna Exempel på protokoll: OSPF, IS-IS
Routing på Internet (1) Internet = samling fristående delnät (oftast med olika ägare) som använder samma protokoll (tex är nätverksprotokollet = IP) Ett sådant delnät kallas ett AS (Autonomous System) Inom ett AS används ett IGProutingprotokoll (Internal Gateway Protocol) tex RIP, OSPF, IS-IS Mellan AS används ett EGProutingprotokoll (External Gateway Protocol) I praktiken alltid BGP-4
Routing på Internet (2) Observera att EGP och IGP bara gäller routingprotokoll. Routade protokoll (i praktiken alltid IP) är de som sköter datatransporten från A B