Vad händer när man klickar på en länk?
En kort introduktion till Internet
efter en förlaga av Mark Handley
Vad händer när jag klickar på denna länk?
• Enkelt!
– Institutionens utbildningssida visas
• Men hur går det till?
• Också enkelt!
– Webbsidan ligger lagrad på en server
– Min klient hämtar webbsidan och visar den
• Men hur hämtar den webbsidan?
Hur hämtas webbsidan?
• Detta kan besvaras på flera olika plan
– Applikationer (webbläsare, webbserver) – Datatransport (pålitlighet, flödeskontroll) – Nätverksnivå (Routning mellan olika nät) – Accessnät (Ethernet, WLAN, ADSL…)
– Fysisk överföring (Radio, kabel, optisk fiber)
Startpunkt: Min dator
…trådlös anslutning via en accesspunkt…
…vidare via kabel till ett hål i väggen…
…som leder till ett kopplingsskåp…
…vidare via optisk fiber till en annan switch …
…som står i datorhallen
Sista biten till webbservern via
ytterligare en switch
Översiktsbild med noder och länkar
Andra lokala datorer
Utrustning på samma våning
Andra våningar
Datorsalar
Andra servrar i datorhallen
radio ethernet fiber fiber ethernet
Hur kommer alla inblandade burkar överens?
• Det finns regler, s.k. protokoll
• Ett protokoll definierar:
– Hur olika meddelanden ska se ut
– Vad som ska hända när ett meddelande tas emot
• Protokoll har väl avgränsade uppgifter
– Skicka ett meddelande över en länk
– Skicka vidare meddelanden i rätt riktning
– Skicka en förfrågan till en webbserver (och vänta på svar)
– …
Hur hittar mitt meddelande fram?
• Många olika mellanled
– I varje mellanled fattas ett beslut om hur meddelandet ska skickas vidare
• Olika typer av accessteknologi
– Radio, Ethernetkablar, Optisk fiber…
• Identifikation av sändare och mottagare
– Alla mellanled måste använda samma typ av identifierare
Principbild
Länk Länk Länk Länk Länk Länk Länk Länk Länk Länk
radio ethernet optisk ethernet ethernet fiber
Nätverk Nätverk Nätverk Nätverk Nätverk Nätverk
• Kommunikation sker i flera lager samtidigt
– Länklagret skickar ett meddelande mellan två noder som delar samma medium (är anslutna till samma länk)
– Nätverkslagret fattar beslut om via vilken länk meddelandet ska skickas vidare
• Samma typ av adress / identifierare används i alla noder oavsett hur dom är sammankopplade
Låt oss återgå till webbläsaren…
• Bakom varje länk finns en webbaddress
– Ibland anger man denna manuellt
– Exempel: http://www.it.uu.se/edu/
• http protokoll som ska användas
• www.it.uu.se namn på server
• edu/ namn på sida som ska hämtas
• Hur vet webbläsaren vart meddelandet ska skickas?
– Kom ihåg, på nätverksnivån används en annan typ av adresser
Adressöversättning
• Olika adresser på olika nivåer
– Applikationer har ett sätt att identifiera varandra
– Nätverkslagret har ett annat – Länklagret har ett tredje
• Man måste kunna översätta mellan olika adresstyper
• Just nu, låt oss anta att det går
Vad händer i webbläsaren när jag klickar på en länk?
• Serveradressen identifieras (www.it.uu.se)
• Serveradressen översätts till en nätverksadress (130.238.12.100)
• Ett meddelande skickas till datorn med
denna nätverksadress
Utökad principskiss
Länk Länk Länk Länk Länk Länk Länk Länk Länk Länk
radio ethernet ethernet ethernet
Nätverk Nätverk Nätverk Nätverk Nätverk Nätverk
Applikation förfrågan om webbsida Applikation
optisk fiber
Vad är det som saknas?
• Hur fungerar egentligen nätverkslagret?
– Hur ser adresserna ut?
– Hur skickas meddelanden?
– Hur hittar meddelandena fram?
– Hur skickas webbförfrågningar?
Vi introducerar: Internet Protocol (IP)
• Det protokoll som finns i nätverkslagret
– Global leverans av meddelanden – Inga garantier om leverans
• Meddelanden kan försvinna
• Meddelanden kan ta olika lång tid att nå fram
• Meddelanden kan vara defekta vid leverans
• Meddelanden kan anlända i oordning
– Best-effort delivery
Är Best-effort bra nog?
• Nej!
– Vi vill att alla meddelanden ska komma fram i rätt ordning utan att vara defekta
• Hur skulle webbsidan annars se ut???
– Eller epost för den delen?
– Det behövs något mellan nätverkslagret och applikationerna som fixar detta
• Bygger vidare på nätverkslagrets enkla tjänst och ger applikationerna en tjänst de kan använda
– Pålitlighet
– Leverans i rätt ordning – Omsändning vid behov
Ännu mer utökad principskiss
Länk Länk Länk Länk Länk Länk Länk Länk Länk Länk
radio ethernet ethernet ethernet
Nätverk Nätverk Nätverk Nätverk Nätverk Nätverk
Data- transport
Applikation förfrågan om webbsida Applikation
Data- transport
pålitlig dataöverföring
De olika lagren i Internetmodellen
Länklagret Nätverkslagret Transportlagret Applikationslagret
• Applikationer/Program (webb, epost, …)
– Egna adresser
• www.it.uu.se
• lln@it.uu.se
– Utväxlar meddelanden
• Datatransporttjänster åt applikationer
– Olika funktionalitet beroende på protokoll
• Det finns några olika att välja på: TCP, UDP…
– Utväxlar segment eller datagram
• Global best-effort leverans av meddelanden
– IP-addresser
• 130.238.12.108
– Utväxlar paket
• Leverans av meddelande mellan två noder sammanbundna av en länk
– Olika typer av adresser för olika teknologier – Inga leveransgarantier
– Utväxlar ramar
Protokollstacken
WWW
TCP
IP
Ethernet
Kopparkabel
E-mail Spel
UDP
Modem ADSL WaveLAN
Koaxialkabel Etern
HL TL HN
Lagermodellen i praktiken
Applikation Transport
Nätverk Länk Fysiska
HT M
Meddelande Segment
Datagram Ram
HL HN TL
Lagermodellen i praktiken
Applikation Transport
Nätverk Länk Fysiska
HT M
HL HN HT M TL
Två olika lagermodeller
• OSI-modellen har ytterligare två lager:
– Presentationslagret:
• Definierar hur data representeras
• ASCII, GIF, MPEG…
– Sessionslagret:
• Upprätthåller en session
• Kryptering, autenticering…
• Hänvisning till ett lager
– Lagrets namn
– Nummer enligt OSI- modellen
Applikation
Transport Nätverk
Länk Fysiska
Applikation
Transport Nätverk
Länk Fysiska Presentation
Session
Internet-modellen: OSI-modellen:
1 2 3 4 5 6 7
Varför har man en lagermodell?
Komplexa system:
• Strukturen medger identifiering och uttryck av relationen mellan olika delkomponenter.
– Skiktad referensmodell för diskussioner
• Modularisering underlättar underhåll och uppdateringar – Ändring av en tjänst som ett lager tillhandahåller är
transparent för resten av systemet.
• Är denna uppdelning i lager skadlig?