Slik virker Internett
Hva er egentlig Internett og hvordan fungerer det?
Ordet "Internett" er for mange et abstrakt begrep. Vi tar deg med under panseret for å se hva som virkelig skjer når du skriver en nettadresse og trykker "Enter".
Man ser ofte Internett som synonymt med «World Wide Web». Dette er imidlertid feil. Internett er navnet på det fysiske nettverket med kabler og datamaskiner, mens World Wide Web er en tjeneste som kjører "oppe på" Internett for å vise nettsider med tekst, lyd og bilder. Man kan kjøre mange andre tjenester som bruker Internett som infrastruktur, og eksempler på dette er FTP, bittorrent eller e-post. Men, la oss først se litt på hva Internett egentlig er.
Litt historie
Internett stammer fra helt tilbake til starten av 60-tallet. Man regner «ARPANET» som forgjengeren til Internett, og dermed er dette «starten» på Internett slik vi kjenner det i dag.
ARPA eller «Advanced Research Projects Agency» ble opprettet i 1958 og hadde ansvaret for å utvikle teknologi til det amerikanske forsvaret. Dette var midt i den kalde krigen og ARPA satte seg tidlig et mål om å lage et nettverk for å knytte datamaskiner sammen. Dette nettverket skulle være så robust at hvert punkt i nettet ikke var kritisk for nettverket i sin helhet. Med andre ord skulle nettverket fortsette å fungere, selv om et punkt ble tatt ut.
Denne drømmen ble realisert i 1964 da «packet switching» ble introdusert. Vi skal se nærmere på packet switching litt senere, men det viktige er at det bidro til å gjøre nettverket mer robust enn noe tidligere nett. I 1969 åpnet ARPA for andre aktører i nettet sitt og ARPANET var født. Det tok tre år før Europa skulle tilknyttes ARPANET. Norge var faktisk først ut, og Forsvarets forskningsinstitutt på Kjeller, med Yngvar Lundh i spissen, fikk første datamaskin på ARPANET i 1972. Neste land som fikk ARPANET i Europa, var Vest-Tyskland i 1980, så det er ikke uten grunn vi ser Yngvar Lundh som en pionér på europeisk Internett.
Internett blir født
ARPANET viste seg å være en stor suksess og andre tilsvarende nett begynte å sprette fram. I Norge var universiteter og høyskoler tidlig ute med «Uninett». Dette ble primært brukt til å utveksle elektronisk post og det var ikke før i 1991, da Tim Berners-Lee fra forskningsinstituttet CERN presenterte sitt «World Wide Web», at vi så et globalt nettverk, kalt Internett, vokse fram. Tim Berners-Lee lagde verdens første server med en nettside. Nettet kunne nå ikke bare brukes til å sende meldinger, men også til å presentere og lese informasjon.
I 1994 slår Uninett seg nå sammen med flere små nettverk, og etter hvert større internasjonale nettverk, med blant annet Telenor i ryggen. Slik er det Internett vi kjenner det i dag blitt tilgjengelig for folk flest. Bruken og størrelsen på Internett eksploderte og vokste - og vokser - fortere enn noen turte å drømme om. Det vokser faktisk så fort at vi begynner å få problemer med størrelsen allerede nå, snaue 15 år etter. Det begynner nemlig å bli tomt for unike adresser i nettet.
Mye av skylden for den eksploderende veksten legger vi på Tim Berners-Lee og hans nettsider. Selv i dag er det dette vi forbinder med Internett og vi bruker fortsatt hans originale teknologi for å lage nettsider.
WWW blir født
Så, hva er Internett? Internett lar din datamaskin koble seg til millioner av andre datamaskiner. Noen av disse datamaskinene er såkalte servere og kan tilby for eksempel nettsider man kan besøke. Internett er kort sagt et nettverk av kabler som kobler sammen datamaskiner og lar dem snakke sammen. Man har blitt enige om «språk» eller «protokoller» som det heter, som definerer hva, hvordan og på hvilken måte maskinene skal snakke sammen.
Den protokollen man oftest møter til daglig er http eller «HyperText Transfer Protocol». Denne er så å si slik som Tim Berners-Lee definerte den for snart 20 år siden. Når man er på en nettside, ser man at det står http i adressefeltet. For eksempel http://www.klikk.no. Det forteller nettleseren at vi skal se nettsiden www.klikk.no og at vi bruker «språket» http. Da http er så vanlig, er det ikke noe en vanlig nettsurfer trenger å forholde seg til. Det blir fylt inn automatisk av nettleseren, men nå vet du i hvert fall hva det betyr.
Da disse protokollene er offentlige og Internett er tilgjengelig for alle, har alle muligheter til å lese en nettside, men kanskje enda viktigere, alle har muligheten til å opprette en nettside og gjøre den tilgjengelig for resten av verden.
IP-adresser
Når man kobler en PC på Internett, er det første som skjer at den får en såkalt IP-adresse. Dette er en unik adresse som identifiserer nettopp denne maskinen på internett. IP-adresser skrives som fire tall, 0 til 255, med punktum imellom. Altså fra 0.0.0.0 til 255.255.255.255. Når man så skal inn på en annen datamaskin som er koblet til Internett, er det bare å skrive denne IP-adressen i nettleseren. Tilbyr datamaskinen en nettside, vil den vises. www.vg.no har for eksempel IP-adresse 193.69.165.21. Prøv å skrive dette inn i nettleserens adressefelt og man kommer på nettsiden til VG.
Man fant tidlig ut at IP-adresser er vanskelig å huske for folk flest. Her kommer en annen smart oppfinnelse inn. Man har lagd noe som heter navnetjenere eller «DNS servere». Dette er datamaskiner som oversetter en nettadresse til en IP-adresse. DNS-serverne har egentlig bare en lang liste med alle verdens nettsider med hver sin IP-adresse tilknyttet. Når man så skriver www.vg.no, skjønner maskinen umiddelbart at dette ikke er en IP-adresse, men en menneskeskrevet nettadresse. Den går nå bak kulissene og slår opp adressen og finner hvilken IP-adresse den skal gå til.
DNS-serverne er det ISP-ene som har ansvaret for. En ISP eller en «Internet Service Provider» er firmaene som tilbyr internett til sluttbruker. I Norge er Telenor, NextGenTel og Tele2 eksempler på ISP-er. Hver ISP har typisk flere DNS-servere hver seg, i tilfelle en skulle krasje eller pågangen blir for stor.
TCP/IP
Nå er vi på mikroskopisk nivå når det gjelder Internett. Nemlig TCP (Transfer Control Protocol) over IP (Internet Protocol). Dette er noe man ikke trenger å forholde seg til daglig, men er man under panseret, så er man under panseret.
Når man i nettleseren skriver inn en adresse og trykker Enter, vil en nettside begynne å vises på skjermen. Dette er data i form av tekst, bilder kanskje til og med video og lyd. Man kan også laste ned film eller programmer på nettet. Hvordan flytter man så denne dataen over tusenvis av kilometer uten at noe blir tapt eller feil?
Laster man ned et program på Internett, kan dette programmet bestå av milliarder av 1-er og 0-er. Er bare én av disse feil, vil i verste fall programmet ikke fungere. Det stiller dermed ekstreme krav til at ting kommer korrekt fram. Det skal i tillegg være raskt og robust. Hvordan løser man så dette?
Måten det gjøres på, er å dele opp programmet i uavhengige deler, eller «pakker» som de kalles. Reglene for disse pakkene er definert fra protokollen TCP. En TCP-pakke består av en kropp og et hode. Kroppen inneholder en bit data, mens i hodet står det blant annet hvor pakken kommer fra, hvor den skal, og aller viktigst en «checksum». En checksum er en kontrollsum som blir regnet ut ifra gitte felter i pakken. Maskinen som sender pakken regner ut checksummen og legger den med i hodet. Når mottagermaskinen så får pakken, ser den på innholdet og regner ut en egen checksum. Er checksummene like, betyr det at all data kom riktig fram, hvis ikke, droppes pakken og spørres om på nytt. På den måten sikrer man hele tiden å få riktig data.
TCP jobber mot IP-adresser og man slår ofte sammen disse teknologiene og kaller kommunikasjonen TCP/IP. TCP/IP er mye av grunnen til at nettet er så robust og raskt som det er i dag. Dette fordi den tillater tidligere nevnte «packet switching».
Packet switching og rutere
Det som gjør Internett så banebrytende robust, er at det faktisk er et nett og ikke en ring, linje eller stjerne som var brukt tidligere. Det er med andre ord ekstremt mange veier til målet, og om et knutepunkt skulle bryte sammen, går man bare veien rundt.
Når en server så skal sende fra seg TCP-pakker til en som vil se en nettside, har disse pakkene mange veier å gå. Maskinene, eller knutepunktene, som holder kontroll på disse veiene, kalles for «rutere». Pakken forlater serveren og går til nærmeste ruter. Denne ruteren mottar pakken og ser i hodet hvor den skal. Den ser så på hva som er raskeste vei videre og sender den fra seg til neste ruter som gjentar prosessen. Pakken hopper fra ruter til ruter helt til den når mottagermaskinen.
Hvilken vei som er raskest, forandrer seg konstant etter hvor mye trafikk som er på de forskjellige linjene og ruterne er hele tiden klar over hvor raskeste vei til målet er. Første pakke kan dermed være innom fire rutere, mens neste kan være innom 20, alt ettersom hva som er raskest og tilgjengelig der og da. Dette kalles «packet switching» og gjør at man hele tiden utnytter nettet der det er kapasitet tilgjengelig. Packet switching er grunnen til at Internett fungerer såpass knirkefritt som det gjør, og at pakker finner nye veier så fort en ruter skulle krasje.
Porter
En siste faktor i kommunikasjon på Internett er såkalte porter. Disse brukes for å identifisere maskiner eller programmer som ikke en IP-adresse klarer. Man kan kalle en port en utvidelse av en IP-adresse. Hvis IP-adressen er husnummeret, er porten navnet på hvem som skal ha brevet.
En datamaskin kan kort sagt kun ha én IP-adresse. Men, si at man surfer på to nettsider samtidig. Eller laster ned et program, samtidig som man surfer. Hvordan skiller man da på innkommende TCP-pakker? Her kommer porter inn. Hvert program, eller hver tilkobling, tar seg et portnummer som identifiserer akkurat denne tilkoblingen og gjør at man kan skille på innkommende pakker. Det samme gjelder internt i et nettverk. Har du flere datamaskiner på nettverket hjemme, vil du fortsatt kun ha én IP-adresse utad. Derfor har du en ruter du kobler ADSL-linjen inn i. Den oversetter den ene eksterne IP-adressen til alle interne IP-adresser du måtte ha. Dette skjer ved hjelp av portnummer som hver maskin hjemme får tildelt.
Du går inn på en nettside
OK, så hva skjer bak kulissene fra man skriver inn en nettadresse i nettleseren og trykker Enter? Det første som skjer er at datamaskinen du sitter på snakker med DNS-serveren du har fått tildelt. Den oversetter adressen du har skrevet til en IP-adresse. Dette er adressen til datamaskinen som står oppført som «eier» av nettsiden. Det kan være en privat datamaskin eller en enorm dedikert server.
Når du nå har IP-adressen til serveren som sitter på nettsiden, er det første som skjer en såkalt handshake. Dette er tre TCP-pakker som oppretter forbindelsen mellom din maskin og serveren. Din maskin sender en hei-pakke, eller en «SYN» som det heter. Serveren svarer med «SYN-ACK» og du svarer til slutt «ACK». Tilkobling er nå opprettet og man kan begynne å spørre etter nettsiden.
Neste pakke som blir sendt er en pakke som spør serveren etter en spesiell side. Serveren svarer først med en pakke som forteller om siden finnes og er tilgjengelig. Er den det, vil serveren dele opp hele siden i små pakker og sende dem en etter en.
Mottagermaskinen mottar en og en pakke og sender tilbake en kvittering på hver pakke som er mottatt korrekt. Når så alle pakker er mottatt, sier hver maskin takk for seg ved hjelp av to ha-det-bra-pakker hver seg. Nettleseren din setter så sammen alle pakkene til et dokument som vises i nettleseren.