Introduksjon til nettverksteknologi



Like dokumenter
1. Informasjonskapsler og pakkefangst. 2. Grunnleggende datakommunikasjon

Kap 3: Anvendelser av Internett

Prosjektet SAMKOM2016

6107 Operativsystemer og nettverk

1. Sikkerhet i nettverk

6105 Windows Server og datanett

6105 Windows Server og datanett

Høgskolen i Telemark EKSAMEN Operativsystem og nettverk inkludert denne forsiden og vedlegg. Merknader:

TDT4110 IT Grunnkurs: Kommunikasjon og Nettverk. Læringsmål og pensum. Hva er et nettverk? Mål. Pensum

Kapittel 4: Transportlaget

6107 Operativsystemer og nettverk

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

Huldt & Lillevik Ansattportal. - en tilleggsmodul til Huldt & Lillevik Lønn. Teknisk beskrivelse

6105 Windows Server og datanett

Høgskolen i Telemark EKSAMEN Operativsystem og nettverk inkludert denne forsiden og vedlegg. Merknader:

Forelesning Oppsummering

6105 Windows Server og datanett

2EOLJDWRULVNRSSJDYHQU L GDWDNRPPXQLNDVMRQ + VWHQ.,QQOHYHULQJVIULVWRNWREHU *MHQQRPJnVWRUVGDJRNWREHU

Oppsummering: Linjesvitsjing kapasiteten er reservert, og svitsjing skjer etter et fast mønster. Linjesvitsj

Høgskolen i Telemark EKSAMEN Operativsystem og nettverk inkludert denne forsiden og vedlegg. Merknader:

Kommunikasjonsnett. Et kommunikasjonsnett er utstyr (maskinvare og programvare) for utveksling av informasjon

6107 Operativsystem og nettverk

6107 Operativsystem og nettverk

UNIVERSITETET I OSLO

Lagene spiller sammen

Dette er en demonstrasjonsside som vi skal bruke for å se litt nærmere på HTTP protokollen. Eksemplet vil også illustrere et par ting i PHP.

Notater: INF Datakommunikasjon

6107 Operativsystemer og nettverk

Det matematisk-naturvitenskapelige fakultet

Obligatorisk oppgave nr 2 i datakommunikasjon. Høsten Innleveringsfrist: 04. november 2002 Gjennomgås: 7. november 2002

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider:

Litt mer detaljer om: Detaljerte funksjoner i datanett. Fysisk Lag. Multipleksing

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

Kapittel 5 Nettverkslaget

6105 Operativsystem og nettverk

Hva består Internett av?

6105 Operativsystem og nettverk

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

Gjennomgang av kap Kommunikasjonsformer Typer av nettverk Adressering og routing Ytelse Protokoller

6105 Windows Server og datanett

6105 Windows Server og datanett

Tjenester i Internett. E-post, HTTP, FTP, Telnet

Detaljerte funksjoner i datanett

Innledende Analyse Del 1.2

NorskInternett Brukermanual. Sist oppdatert Side 1/30

Innledende Analyse Del 1: Prosjektbeskrivelse (versjon 2)

Computer Networks A. Tanenbaum

6105 Windows Server og datanett

Sentrale deler av pensum i INF

Nettlaget. Nettlagets oppgaver

Lek 01 Grunnprinsipper

Tjenestebeskrivelse Internett Ruter Innhold

Et forsøk på definisjon. Eksempel 1

TTM4175: Etisk hacking. Lab E5: Nettverkssniffing

6105 Windows Server og datanett

6105 Windows Server og datanett

Teori om sikkerhetsteknologier

6107 Operativsystemer og nettverk

Introduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus

Mangelen på Internett adresser.

KTN1 - Design av forbindelsesorientert protokoll

1. Intro om SharePoint 2013

Sentrale deler av pensum i INF240. Hensikt. Pål Spilling og Kjell Åge Bringsrud

6105 Windows Server og datanett

Kapittel 10 Tema for videre studier

Blant de mest omtalte Internett tilpassningene i dag er brannmurer og virtuelle private nett (VPN).

EKSAMEN. Emne: Datakommunikasjon. Dato: 30. Nov 2016 Eksamenstid: kl. 9:00 til kl. 13:00

Kapittel 6: Lenkelaget og det fysiske laget

6105 Windows Server og datanett

Kapittel 7: Nettverksteknologier

INF329,HØST

6105 Windows Server og datanett

Teknisk informasjon om bruk av BankID - Ansattes bruk av nettbank fra arbeidsplassen

Løsningsforslag til EKSAMEN

Kapittel 8: Nettverk i praksis

Velkomment til å installere BAS21

1 INTRODUKSJON SAMMENKOBLING AV ET INTERNETTVERK... 2

Introduksjon til programmering og programmeringsspråk

Et forsøk på definisjon

6105 Operativsystem og nettverk

Datateknikk TELE1004-A 13H HiST-AFT-EDT. Oppgåve: Protokollanalysatoren Wireshark. Delemne digitalteknikk og datakommunikasjon Øving 7; løysing

Gruppe: D2A Dato: Tid: Antall oppgavesider: 3 Antall vedleggsider : 0

Forprosjektrapport Bacheloroppgave 2017

6105 Windows Server og datanett

Konfigurasjon av nettverksløsning for Eldata 8.0 basert på PostgreSQL databasesystem.

Høgskolen i Telemark Fakultet for allmennvitenskapelige fag

Et forsøk på definisjon. Eksempel 1

Vanlige spørsmål. GallupPanelet. TNS Panel-app. TNS Juni 2015 v.1.3

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006

1. Systemsikkerhet Innledning. Innhold

EKSAMENSFORSIDE Skriftlig eksamen med tilsyn

Brukerhåndbok Veiledning for fastvareoppdatering

6105 Windows Server og datanett

Testrapport Prosjekt nr Det Norske Veritas

Introduksjon, oppsett og konfigurering av et WLAN

6107 Operativsystemer og nettverk

6107 Operativsystemer og nettverk

TTM4175 Hva er kommunikasjonsteknologi?

Grunnleggende om datanett. Av Nils Halse Driftsleder Halsabygda Vassverk AL IT konsulent Halsa kommune

Installasjon av webtjener

Transkript:

Avdeling for informatikk og e- læring, Høgskolen i Sør- Trøndelag Introduksjon til nettverksteknologi Olav Skundberg og Boye Holden 23.08.13 Lærestoffet er utviklet for faget IFUD1017- A Nettverksteknologi Introduksjon til nettverksteknologi Resymé: Denne leksjonen gir en kort introduksjon til hvordan dagens nettverk er bygd opp og hvordan trafikk blir overført mellom tjenere. Innhold 1 INTRODUKSJON... 2 2 LAGDELTE KOMMUNIKASJONSMODELLER (KAP 2.4)... 2 2.1 HVORFOR ER DATAKOMMUNIKASJON BYGD OPP ETTER EN LAGDELT MODELL?... 2 2.2 HVA ER FORSKJELL PÅ EN TJENESTE, EN PROTOKOLL OG EN APPLIKASJON?... 2 2.3 HVORFOR ER INTERNETT PAKKESVITSJET?... 3 2.4 ER DET NOEN ULEMPER MED PAKKESVITSJING?... 3 2.5 HVA ER EN DATAPAKKE?... 3 2.6 HVORDAN KOMMER PAKKENE FRAM TIL RETT MOTTAKER?... 4 3 ULIKE TYPER NETTVERK (KAP 5.2)... 4 4 WEB (KAP 3.2)... 5 4.1 KORT OM HTTP... 5 4.2 SPESIELLE FUNKSJONER I HTTP... 5 Side 1 av 6

1 Introduksjon Dette kurset forutsetter kjennskap til grunnleggende datakommunikasjon, men erfaringsmessig stiller studenter med forskjellig bakgrunn. Derfor starter denne første leksjonen med en oversikt over de viktigste prinsippene, og bruker funksjoner i web som konkrete eksempler på hvordan protokoller er konstruert for å oppnå ønsket funksjonalitet. Dette vil være til dels kjent stoff for noen, men øvingen er lagt opp med anledning til ytterligere fordyping. Lærestoff Leksjonen henviser til kapitler i læreboka som er pensum. I tillegg er det skrevet kort om de mest sentrale problemstillingene for hvert kapittel. Øving Denne leksjonen, og også senere leksjoner i faget, gjør omfattende bruk av programmet Wireshark. Det er laget en egen veiledning for installasjon og bruk av dette programmet. Øvingen bruker HTTP som konkret eksempel på analyse med Wireshark. 2 Lagdelte kommunikasjonsmodeller (Kap 2.4) 2.1 Hvorfor er datakommunikasjon bygd opp etter en lagdelt modell? Det vanligste argumentet er at for å gjøre oppgaven løsbar, må den deles den opp i mindre oppgaver som kan håndteres hver for seg. Men den helt essensielle effekten av dette er at hvert lag kan tilpasses det behovet man har, uten å måtte endre på de øvrige lagene. For eksempel kan man fritt velge kablet eller trådløst lokalnett, det vil si utskifting på lenkelaget, uten å måtte installere nytt operativsystem. Det måtte man kanskje ha gjort dersom kommunikasjonsprogrammet var en stor pakke. Videre kan man fra hvert lag fritt velge hvilke tjenester man skal benytte fra underliggende lag. For eksempel kan en applikasjonen bruke pålitelig overføring (web) eller upålitelig overføring (multimedia) uten at man trenger endringer i kommunikasjonsprogrammet. 2.2 Hva er forskjell på en tjeneste, en protokoll og en applikasjon? Protokoller opererer mellom likestilte parter (egentlig programmer) som er på samme lag men i ulike maskiner. HTTP er en protokoll på applikasjonslaget og sender meldinger mellom klient og tjener. Tjenester, derimot, tilbys fra ett lag til laget over på en og samme maskin. Pålitelig overføring er eksempel på en tjeneste. For å implementere en tjeneste må det utvikles en protokoll. En applikasjon er et program som tilbyr en nyttefunksjon for brukeren. Opera nettleser er et eksempel på en applikasjon, og denne gjør bruk av protokoller som ligger på applikasjonslaget. Side 2 av 6

Figur 2.1: Skisse over tjenester og protokoller 2.3 Hvorfor er Internett pakkesvitsjet? Internett er pakkesvitsjet, hvor informasjonen overføres i helt atskilte pakker. Dette i motsetning til linjesvitsjing, som i det gamle fasttelefoninettet, hvor det var en kontinuerlig forbindelse mellom sender og mottaker. En fordel med pakkesvitsjing er at flere parter kan benytte samme overføringskanal, man deler på ressursene. Dette skalerer bedre enn linjesvitsjing når det blir svært mange brukere, fordi hver enkel bruker har lange opphold i sin dataoverføring. En annen fordel er at pakkene kan rutes langs forskjellige veier, noe som gir økt sikkerhet. Dette poenget var årsaken til at det militære i sin tid startet utvikling av pakkesvitsjing. 2.4 Er det noen ulemper med pakkesvitsjing? Det er en viss ulempe ved det at kompleksiteten øker i forhold til linjesvitsjing. Når flere deler en overføringskanal, kreves det adressering for å nå rett mottaker. Hvordan skal man styre tilgangen til kanalen? Hvordan skal man forholde seg til at pakker kan forsvinne underveis, det vil si pålitelighet? Nettopp slike problemstillinger er det de ulike protokollene er utviklet for å håndtere. 2.5 Hva er en datapakke? En pakke inneholder som regel to ting: et pakkehode og nyttelast. Pakkehodet er spesifikt for hver enkelt protokoll. Som regel er pakkehodet større jo mer avansert tjenesten er, fordi det da kreves mer informasjon. Når man skal spesifisere en protokoll skjer det alltid en avveining mellom datamengden i pakkehodet, som man ønsker minst mulig, og funksjonaliteten i protokollen. Når et lag benytter en tjeneste fra laget under, blir de data man har overført til laget under og mottas der som nyttelast. Nyttelasten blir pakket inn med pakkehodet som den aktuelle tjenesten/protokollen på dette laget har, og videre overlatt til laget under seg igjen. Dette er en innpakkingsprosess. Når pakken til syvende og sist sendes ut på nettet, finner man en sekvens av pakkehoder. Dette vises visuelt i Wireshark på en glimrende måte, og det er helt essensielt at man danner seg et bilde av denne prosessen. På tilsvarende vis skjer det en utpakkingsprosess hos mottaker, etter hvert som pakkehodene skrelles av og nyttelasten overlates til laget over. Side 3 av 6

Datapakken, det vil si protokollhode og nyttelast, har forskjellig navn avhengig av hvilket lag man refererer til: Tabell 2.1 Lag Applikasjonslaget Transportlaget Nettverkslaget Lenkelaget Pakken kalles Meldinger Segmenter (IP- )Pakker Rammer 2.6 Hvordan kommer pakkene fram til rett mottaker? I hvert pakkehode legges det inn informasjon om mottaker, mottakers adresse. Adressene har forskjellige navn, ulik lengde og forskjellig skrivemåte på de forskjellige lagene: Tabell 2.2 Lag Adresse Lengde Eksempel Transportlag Porter 16 bit 80 (HTTP) Nettlag IP- adresse 32 bit IPv4 158.38.50.20 Lenkelag MAC- adresse 48 bit 00:0F:9A:3D:22:7E En og samme maskin kan ha mange samtidige adresser aktive, for eksempel har LAN- tilkopling og trådløs tilkopling gjerne ulike IP- adresser. Videre kan man kjøre flere nettlesere samtidig. Det betyr at mange pakker kommer til samme IP- adresse, men de må fordeles til rett nettleser. Disse vil skilles med ulike portnummer. 3 Ulike typer nettverk (Kap 5.2) Den kanskje største sammenblandingen av nettbegrep er mellom lokalnett og IP- nett. Vi legger vekt på at et lokalnett er infrastrukturen i form av kabler, svitsjer, trådløsadaptere og dets like innenfor et geografisk avgrenset området. Det kan være et stort campusområde eller et lite hjemmenett. IP- nett, derimot, er en logisk struktur som etableres på denne infrastrukturen. Man kan gjerne ha flere IP- nett innenfor et lokalnett. Tidligere ble separate IP- nett i et lokalnett kalt for subnett, men vi mener dette er et misvisende navn fordi hele Internett er en samling av IP- nett som inngår i større og mindre nettadresser og skilles med nettmasker. Når en pakke sendes fra en ruter til en annen, er også denne forbindelsen et eget IP- nett, men riktignok med den minste størrelsen et IP- nett kan ha. Bedriftsnett kan gjerne være sammenkopling av flere lokalnett, det vil si at bedriften har flere lokasjoner. Da kommer man inn på teknikker for å kople LAN sammen til WAN. Side 4 av 6

4 Web (Kap 3.2) Web er en av de mest populære anvendelse av Internett. Derfor er det utrolig viktig at protokollen for denne anvendelsen, HTTP, fungerer optimalt. Hva som menes med optimalt: Funksjonalitet for brukeren og effektivitet i dataoverføring. Resten av denne leksjonen tar for seg noen spesielle egenskaper ved HTTP. Hensikten med det er å få et detaljert bilde av hvordan denne protokollen opererer, men også se hvordan den har blitt utviklet for å dekke nye behov. 4.1 Kort om HTTP Klient og tjener sender meldinger til hverandre, de kalles forespørsler (request) og svar (response). Meldingene har en fast, tredelt struktur. Denne består av først en linje med selve forespørselen/svaret, deretter headerlinjer med utfyllende informasjon. Til slutt er det eventuelt en kropp med data. Det er ikke alltid at meldinger har kropp. For eksempel når en nettleser ber om å få vist en webside, kan man klare seg med URL. Denne er gitt av forespørselslinjen og en headerlinje. HTTP er tekstbasert og feltene har variabel lengde. Det betyr at man skriver i klartekst hva linjen gjelder og hvilket innhold den har, for eksempel Host: datakom.no. Dette er en headerlinje som forteller hvilket domenenavn man bruker i oppslaget. Men det betyr at mottaker må skanne (parse) gjennom meldingen og tolke de linjene man finner. Alternativet kunne vært som i IP- protokollen, hvor hvert felt har fast lengde og definert betydning. Faste posisjoner er generelt raskere å tolke, men mye mer stivbeint. I så fall måtte man ha innført regler for hvor lange domenenavn kunne være. Det finnes også protokoller som koder/krymper innholdet for å spare båndbredde, for eksempel i GSM. Da overlates prosesseringen (belastningen) til endeutstyret i stedet, og det har aldri vært aktuelt å la webtjenere ta denne ekstra belastningen. Oppsummert: HTTP er en rett fram protokoll som vektlegger enkelhet fremfor kompleksitet. Et annet viktig aspekt ved HTTP er at det er valgfritt hvilke headerlinjer man benytter. Det betyr i praksis at man kan sende med en headerlinje, men mottaker kan velge å benytte seg av den eller ikke, avhengig av hvor avansert den er. En av headerlinjene som klienten kan benytte er Accept- Language: no, hvor avsender sier at den foretrekker norsk språk i visningen. Dette åpner for at tjeneren kan ha et sett av responser tilpasset ulike språk, men hvis den ikke har det blir bare linjen ignorert. Det at headerlinjer kan føyes til uten å måtte omdefinere hele protokollen, er en av hovedgrunnene til at web har hatt så stor suksess. Da HTTP ble definert, var for eksempel netthandel ikke et tema. Senere har man utvidet HTTP med cookies- funksjonen ved å definere nye headerlinjer, og det løste behovet. Dette er et godt eksempel på fleksibilitet. 4.2 Spesielle funksjoner i HTTP HTTP har et stort antall funksjoner, vi skal spesielt studere tre av disse. 4.2.1 Vedvarende forbindelser Denne funksjonen dreier seg om å opprettholde etablert forbindelse med webtjener inntil alle objekter (filer) på websiden er overført. En webside, skrevet i HTML, er som regel sammensatt av tekst, bilder og andre separate ressurser. Hvert av disse objektene må lastes ned separat med egne forespørselsmeldinger. Web krever pålitelig overføring, at data kommer frem korrekt. Dette løses på Side 5 av 6

transportlaget med TCP, som kopler opp, overfører data og kopler ned. HTTP versjon 1.0 koblet ned forbindelsen etter at hvert objekt var overført. Det tar tid og krever ekstra pakker å kople forbindelser opp og ned. Dette er lite brukervennlig (tregt) og lite effektivt (ekstra linjebelastning). Derfor ble det spesifisert mulig het for vedvarende oppkopling. Headerlinje- stikkord er Connection: Keep- Alive. Merk at websider kan være sammensatt av ressurser som er lagret på forskjellige webtjenere. Da må man sjølsagt kople opp til hver enkelt webtjener, man løser ikke dette med vedvarende forbindelser. En annen teknikk som nettlesere benytter seg av er å etablere parallelle forbindelser. Dersom en side består av mange objekter, kan det gå raskere å laste disse i parallell gitt at linjekapasiteten takler det. Dette er ikke en HTTP- funksjon, men noe som nettleseren administrerer. 4.2.2 Lokal mellomlagring Denne funksjonen ble laget for å utnytte lokalt mellomlager på PC, siden hvert objekt som lastes ned lagres der som midlertidige Internett- filer. Det er selvfølgelig raskere (mer brukervennlig) og mer effektivt (sparer linjebelastning) å bruke en fil som er lokalt lagret istedenfor å overføre den på nytt hver gang. Dette ble løst med headerlinjer If- Modified- Since: <tid>. Merk at dersom en fil er endret, lastes hele fila ned på nytt. Dynamiske websider, de som er laget i PHP- språk og lignende, genererer HTML- koden på nytt for hver lesing. Dermed vil slike sider alltid lastes ned i sin helhet hver gang. 4.2.3 Webhotell Et webhotell er en tjeneste hvor en enkelt webtjener tilbyr hjemmesider til forskjellige domenenavn. Man forstår at DNS gjør oppslag på domenenavn for å finne IP- adressen til maskinen og at denne står og lytter på port 80, men ut fra dette alene kan ikke webtjeneren vite hvilken hjemmeside som skal vises. Derfor er det en egen headerlinje som heter Host: <domenenavn>. Side 6 av 6