Grunnleggende om nettverk.

Kompendium til bruk ved Oslo By Steinerskole, IKT driftsfag.

Del 3, nettverkstopologi.

Hvordan et nettverk virker, introduksjon til OSI modellen og prosjekt 802.



Nettverkskommunikasjon:

Nettverkskommunikasjon, eller nettverksaktivitet dreier seg om å sende data fra en datamaskin til en annen datamaskin. Dette er en komplisert prosess som kan deles opp i flere forskjellige stadier, eller deler om du vil:

Nettverksoperativsystemet følger helt bestemte og veldig strenge regler for hvordan dette skal foregå. Disse reglene kalles protokoller. Det finnes mange forskjellige protokoller, alt fra hvordan diplomater skal oppføre seg i cocktailselskap til hvordan datamaskiner snakker sammen i et nettverk. Protokollene er på mange måter en slags bruksanvisning for datamaskinene i hvordan de skal utføre de forskjellige mindre delene av den større prosessen det egentlig er å få data fra en node til en annen node.

I tidligere tider var det mange protokoller (det er det fremdeles) som var svært forskjellige, men også mange som var veldig like, men med små forskjeller som gjorde at det ikke gikk å snakke sammen (maskin til maskin). Protokoller kan godt sammenlignes med sprog. Franskmenn og engelskmenn kan ikke uten videre forstå hverandre.

Det dukket derfor opp et stadig større behov for å få til en felles standard protokoll som alle kunne forholde seg til. Det finnes to store felles standarder for nettverk i dag. De kalles OSI modellen og prosjekt 802.

Det er absolutt nødvendig å ha en klar forståelse av disse modellene (særlig OSI) for å kunne forstå hvordan et nettverk virker på det tekniske planet.
Vi begynner med å se på:

OSI-modellen:

The International Standards Organization (ISO)”, en organisasjon som er støttet av myndighetene i mange land og som arbeider for å standardisere løsninger på internasjonalt nivå, publiserte en rekke spesifikasjoner for nettverksarkitektur i 1978. Formålet med dette ”regelverket” var å finne en metode hvor maskiner med forskjellige nettverksoperativsystemer og forskjellig hardware kunne snakke sammen til tross for at de ikke var kompatible. Man kan tenke seg en verden hvor det er mange forskjellige språk og folk forstår ikke hverandre. Så finner noen på å lage et nytt språk, Esperanto, som er lett å lære, ikke er basert på et tidligere sprog, men på mange sprog. Dette kan alle lære å snakke og dermed har alle mulighet til å kommunisere med hverandre.
Denne modellen ble bygget om og forbedret i 1984. Den nye modellen ble kalt for ”Open Systems Interconnect reference modell (OSI). Denne nye, reviderte modellen har blitt en internasjonal standard og er en grunnleggende guide for (nesten) alle nettverk. Modellen brukes i en lang rekke protokoller, ikke bare TCP/IP. Det er viktig å huske at dette ikke er spesielt for TCP/IP.
Denne modellen er den mest brukte og best kjente modellen for nettverk i verden i dag. Stort sett alle produsenter av nettverksutstyr (nettverkskort, huber, switcher, rutere etc.) lager utstyret slik at det er kompatibelt med OSI modellen. Den beskriver hvordan software og hardware samarbeider i en lagdelt modell. Det er på mange måter denne lagdelingen som er hemmeligheten bak OSI modellens suksess. Den hjelper også til ved feilsøking i nettverket fordi den beskriver hvordan de forskjellige delene (lagene) skal fungere.

Lagdelt struktur:

Man kan tenke seg OSI modellen som en stor lagdelt bløtkake, en kake med syv lag. Hvert av disse syv lagene dekker forskjellige nettverksaktiviteter som er nødvendige for å få en datapakke frem til mottager uten for mye problemer. Modellen deler altså inn nettverksaktiviteten i 7 separate lag som alle har ansvar for en bestemt del av arbeidet med å få en datapakke fra din maskin til en annen maskin.

OSI-modellen

I illustrasjonen over ser vi de syv lagene OSI modellen er bygget opp av. Denne lagdelingen sørger for å spesifisere hvilke oppgaver, funksjoner og services som skal utføres på de forskjellige nivåene. Disse forskjellige lagene i OSI modellen samarbeider alltid med laget som er rett over og laget som er rett under. (Unntak for lag en og lag syv ). Det vil si at for eksempel funksjonene i lag fem får sine oppgaver fra lag fire og lag seks. Aldri fra lag tre eller syv, alt må alltid gå ”tjenestevei”. ”The session layer”, som er navnet på lag fem, samarbeider altså med ”The presentation layer”, lag 6, og med ”The transport layer”, lag 4. Se modellen over. De to nederste lagene (lag en og lag to) tar seg av kommunikasjon med nettverkets fysiske medium, vanligvis et nettverkskort og en eller annen type kabel. Det høyeste laget, lag syv, bestemmer hvordan et program kan henvende seg til nettverksstrukturen. Et eksempel vil være Internet Explorer, når I.E. sender en pakke til en webserver for å be om en ny side som du ønsker å se på. Det er ikke slik at I.E. opererer på lag syv, det er slik at lag syv leverer et interface (grensesnitt) som I.E. kan forholde seg til. Jo høyere opp i hierarkiet man kommer jo vanskeligere og mer avanserte og komplekse blir oppgavene.

Hvert enkelt av disse lagene utøver en eller flere funksjoner, eller handlinger, som hver for seg bidrar til å klargjøre data for å bli sendt ut på nettverket. Lagene er adskilt fra hverandre av grenser som kalles interface, eller som det kalles på norsk: grensesnitt. All nettverkstrafikk må gå gjennom alle lagene. (Noen unntak finnes hvor det hele stopper på lag 6, men dette kommer vi tilbake til senere). All data sendes fra lag til lag, i rekkefølge, gjennom disse interfaces. Alle lag er ordnet slik at det som ligger høyere bygger på standarder og handlinger som utføres i laget under.

Sammenhengen mellom lagene i OSI modellen:

Formålet med denne laginndelingen er at hvert enkelt lag skal utføre tjenester for det neste laget, på en slik måte at det høyere laget ikke behøver å ta hensyn til, eller for den saks skyld vite, hva som foregikk på laget under, eller hvordan det hele ble gjort. Det øvre laget trenger bare å forholde seg til det ferdige produktet fra laget under. Ikke produksjonsmetoden.

Når kommunikasjonen mellom to computere følger OSI modellen er det som om hvert lag i modellen kommuniserer med det tilsvarende laget i modellen på den andre computeren. Dette er en ”logisk” eller ”virtuell” kommunikasjon. Det foregår egentlig ikke slik, men det ser slik ut. Egentlig foregår det slik at alt først bygges opp i den ene maskinen, og deretter bygges ned i motsatt rekkefølge i den andre maskinen. Den egentlige kommunikasjonen er altså ”vertikal” eller loddrett, ikke ”horisontal” eller vannrett.

OSI-modellen, virkemåte mellom to noder.

Før data mellom disse lagene blir det brutt ned i pakker. En pakke er en viss mengde data som sendes som en selvstendig enhet på nettverket fra en maskin til en annen. (Jevnfør ”IP pakker”). Nettverksoperativsystemet vil sende disse pakkene gjennom alle lagene i OSI modellen, et lag av gangen. I hvert eneste lag blir pakken endret litt, det vanligste er at det legges til tilleggsinformasjon i begynnelsen eller helt på slutten av datapakken. Denne tilleggsinformasjonen kan være for eksempel en IP adresse, eller en annen form for formatering, for eksempel komprimering (nesten som å Zippe) for å minske lengden på pakkene.

All denne formateringen og alle disse tilleggene er helt nødvendige for at pakken skal kunne overleve transporten gjennom nettverkets fysiske medium, vanligvis en kabel.

Hos mottageren blir pakkene sendt gjennom hele modellen, men i motsatt rekkefølge. Dersom et lag har lagt til informasjon i pakken, vil det tilsvarende laget hos mottageren skrelle av den samme informasjonen og sende pakken videre oppover, altså i motsatt retning. Etter hvert som denne datapakken nå vandrer oppover i modellen hos mottager vil den bli strippet for alle tillegg som ble lagt på underveis hos avsender før lag syv kan skilte med en pakke som er nøyaktig maken som utgangspunktet var hos sender. Dataene er nå tilbake i en form og et format som applikasjonene (for eksempel I.E. kan benytte til å vise deg den hjemmesiden du ba om).

Bortsett fra lag en, det nederste laget er det ingen lag som får lov til å sende data direkte til sitt tilsvarende lag hos mottageren. Alle datapakker må, uten unntak, alltid sendes gjennom alle underliggende lag. Det er ikke slik at alle pakker starter i lag 7, noen starter for eksempel i lag 6. Da kan de slippe å ha noe med lag 7 å gjøre, men de kan aldri gå forbi et lag som ligger under. En slik pakke må alltid gå gjennom lag 5 til lag 4 til lag 3 til lag 2 til lag 1 til kabel, til lag 1 til lag 2 til lag 3 til lag 4 til lag 5 til lag 6. Ingen har lov til å ta snarveier.

Ta for eksempel et nettverk med en klient og en server. Det kan hende at en pakke kan komme fra lag 3 (Network layer) på maskin A og ende opp i lag 3 på maskin B. Den går da ned gjennom lag 2 og lag 1, videre gjennom kabelen til maskin B opp gjennom lag en, to og til lag tre.

I et klient / server basert nettverk er dette ganske vanlig, det kan være en nettverksadresse som skal sendes til klienten.

Dette samarbeidet mellom de forskjellige lagene skjer som tidligere nevnt, gjennom et interface eller grensesnitt. Dette grensesnittet bestemmer (definerer) hvilke tjenester de lavere lagene tilbyr til de høyere lagene og hvordan de høyere lagene skal forholde seg til dem. Husk også på at det er et transparent system. Det ser ut til, selv om det ikke er slik, at hvert lag kommuniserer direkte med det tilsvarende laget på den andre maskinen.

Vi skal nå se på de syv lagene et for et. Vi begynner på toppen.

Lag 7: Application layer (applikasjonslaget):

Det øverste laget i OSI modellen. Det er ”vinduet” som programmene på maskinen bruker for å kunne begynne en kommunikasjon med en annen maskin. For eksempel kan programmet I.E. be om å få en oppdatert side fra en webserver, eller Word kan be om å få lagre et dokument i brukerens hjemmemappe på serveren. Dette laget har altså de tjenestene som et program trenger for å kunne bruke nettverket til å henvende seg til en annen maskin. Dette kan være et filoverføringsoppdrag, henvendelser (spørringer) mot en database eller e-post. De lavere lagene yter støtte til de tjenestene lag 7 yter for applikasjonene. (Husk: applikasjoner er det samme som programmer). Applikasjonslaget gir generell tilgang til nettverket, driver flytkontroll (flow control) og feilsjekking. Flytkontroll betyr at det sørger for at data ikke sendes for fort for nettverket og heller ikke langsommere enn nødvendig. Feilsjekking betyr at pakkene granskes for å se om de er hele og uskadet av nettverket, dersom det er innkommende pakker. Dersom det er snakk om utgående pakker beregnes det en sjekksum som legges til pakken slik at den kan kontrolleres i den andre enden.

Lag 6: Presentation layer (presentasjonslaget):

Dette er det nest øverste laget i OSI modellen og har som hovedoppgave å bestemme hvilket format dataene som skal sendes skal ha. Det kan kanskje kalles nettverkets tolketjeneste. På dette nivået, eller laget, vil avsenderen, altså den maskinen som vil sende noe ut på nettet ”oversette” de dataene som kommer fra lag 7 til et ”mellomformat” et slags universalformat som alle maskiner forstår. På mottagersiden vil presentasjonslaget oversette dette universalformatet tilbake til et format som lag 7 kan gi videre til programmene. Presentasjonslaget har ansvar for å holde orden på hvilke protokoller som skal brukes (FTP, HTTP og lignende), oversetting av data fra overliggende protokoller til underliggende (dette kommer vi mer tilbake til senere), kryptering av data, endre eller konvertere mellom forskjellige character sets, altså tastaturtyper som norsk og tysk tastatur og dessuten for kommandoer som har med grafikk å gjøre. Et eksempel kan være Apples Quick Time ™ som operer på lag 6.

En annen, meget viktig tjeneste som foregår på lag 6 er den såkalte redirector (en som videresender i en ny retning) tjenesten. Redirectoren har til oppgave å videreformidle I/O (input / output) fra og til ressurser på en server. Alle vet at en Windowsmaskin kan finne data på en delt nettverksressurs som ligger på en Linux filserver. Linuxmaskinen kan ha disker med filsystemet Extention2, et filsystem Windows ikke forstår noe av. Da kommer nettverkets redirector tjeneste til unnsetning og videreformidler forespørselen på en slik måte at Windowsmaskinen finner filene den vil ha og kan kopiere dem til seg selv. Dette er en meget viktig del av lag seks’ oppgaver.

Lag 5: Session layer (sesjonslaget):

Dette laget har til oppgave å la to programmer på to forskjellige maskiner koble seg til hverandre. Det innebærer at de kan opprette, bruke og avslutte en oppkobling eller kommunikasjonssesjon om du vil. Dette laget har ansvar for at maskinene forstår navn og kommandoer hos hverandre. Dette betyr også at det kontrollerer hvilke kall et program kan foreta på den andre maskinen, altså sikkerhet. Dersom en nettverksressurs har ”read only” begrensninger på en fil, er det lag 5 som har ansvaret for at en ”delete” kommando ikke får lov til å slette noe.
Lag 5 har også ansvar for synkronisering av tid og datastrøm mellom nodene.
Igjen: Time is everything!
Sesjonslaget plasserer små sjekkpunkter (check points) i datastrømmen. Disse har et formål. Dersom nettverket skulle gå ned et øyeblikk, eller la oss si at dette foregår over en dårlig telefonlinje hvor det er stadige små brudd i forbindelsen, vil mottager kunne vite hva som var det siste sjekkpunktet som ble mottatt og be om at de andre dataene (de som skulle ha kommet etterpå) blir sendt om igjen. Sesjonslaget har dessuten en oppgave til; det har ansvar for å koordinere samtalen. Det bestemmer hvem som skal sende, hvem som skal motta, hvor lenge de skal holde på før de bytter rolle også videre.

Lag 4: Transport layer (transportlaget):

Lag 4, transportlaget sørger for et ekstra oppkoblingsnivå, under sesjonslaget. Transportlagets oppgave er å sørge for at pakkene kommer frem hele, feilfrie, i riktig rekkefølge, uten tap av pakker og uten at det videresendes dubletter. Dubletter er pakker som har kommer frem flere ganger. Dersom en maskin tror at en pakke er tapt kan den be avsender om å sende denne en gang til. Hvis nå pakken ikke var tapt, men bare forsinket kan det resultere i at det kommer frem to like pakker. Da vil transportlaget sørge for å kaste den ene.

Dette laget er som de fleste transportfirmaer er, det stabler og ordner og fikser for å få med mest mulig på færrest mulig lass. Tenk deg en semitrailer som en IP pakke og på veien som en nettverkskabel. Det er klart det blir mindre trafikk dersom alle bilene fylles helt opp og ingen kjører med halvfulle lass! På samme måte vil transportlaget ”pakke om” IP pakkene slik at flere små kan bli en stor, og dersom en pakke er for stor, vil den bli brutt opp i flere mindre pakker.

På mottakersiden vil det være lag 4 som pakker ut lastebilene og fikser og ordner slik at pakkene blir sånn som de var før avreise.

Transportlaget vil også sende en melding til avsender om at pakkene er mottatt. Transportlaget driver også med flytkontroll og feilsjekking slik som lag 7, men på et litt lavere nivå. Nå er jo pakkene ikke lenger i det opprinelige formatet. Det har jo presentasjonslaget endret.

Lag 3: Network layer (nettverkslaget):

Nettverkslaget har ansvaret for å legge til adresser til pakkene (både avsender og mottageradresse) og for å oversette mellom logiske adresser og fysiske adresser. Logiske adresser er for eksempel IP adresser, IPX adresser eller AppleTalk adresser. Fysiske adresser er den MAC adressen vi snakket om tidligere,

MAC-Adresser

den som er brent inn i ROM på nettverkskortet og som er unik for alle nettverkskort. Dette laget tar også avgjørelsen om hvilken vei pakken må gå for å komme frem. Det vil si: nettverkslaget bestemmer ruten. Skal pakken sendes lokalt, eller til gateway? Dette avgjøres først, deretter hvilken fysisk vei pakken skal gå, altså hvilken kabel skal vi bruke. Dette blir avgjort på bakgrunn av nettverkets tilstand. Er det stor trafikk i en del, kan det lønne seg å gå en lengre vei for å komme fortere frem. Er det noen huber eller switcher som er nede? Hvor kan vi gå isteden? Det tas også hensyn til hvilke programmer og tjenester som har høy prioritet og hvilke som har lavere prioritet. Kommandoer som du skriver på tastaturet vil vanligvis ha høyere prioritet enn bakgrunnstjenester som for eksempel browsing (kommer tilake til det senere) eller synkronisering av tid mellom to programmer. Dersom maskinen din har to nettverkskort og dermed er switch, for eksempel i en ”delt Internett oppkobling” vil det være på dette laget det bestemmes om en innkommende pakker er til din maskin, eller til en annen på det lokale nettverket.

Nettverkslaget gjør mer. Det tar også ansvar for trafikkflyten, altså at det ikke blir kork eller kø. Hvis nettverkskortet, eller ruteren / gatewayens nettverkskort ikke klarer å sende så store datapakker som maskinen i utgangspunket leverer, vil nettverkslaget dele det opp i mindre pakker. I den andre enden settes de sammen igjen. Man kan tenke tilbake på semitrailerne som frakter pakker langs veien en gang til. Normalt er det bare like lastebiler og maskinen tror det alltid er slik. En gang i blant kan det dukke opp en eldre, mindre lastebil (les: man må kommunisere med et gammelt nettverkskort som har mindre buffer en du selv har) som ikke kan ta så store lass. Da deler vi opp pakkene i enda mindre biter enn vi pleier og så går det allikevel, selv om det går saktere enn ellers.

Lag 2: Data link layer (datalink laget):

Datalink laget har ansvar for å ta imot pakker fra nettverkslaget og sende dem videre til lag 1. Data som sendes kalles ofte frames. Dette engelske ordet som betyr rammer på norsk er synonymt med pakke. Ordene brukes helt om hverandre. Du vil sikkert møte noen som påstår at det er en forskjell på packets og frames, men det er så marginalt at det er bare flisespikkeri å diskutere dette. Det er, stort sett, bare gamle tradisjoner som gjør at noen kaller det frames og andre kaller det packets. Det kan også ha litt med type nettverk å gjøre, men ikke tenk på det, bruk ordene synonymt.

Datapakkene fra lag tre blir omgjort til rå bit-strøm som kan sendes gjennom kabelen. På mottagersiden blir rå bit-strøm fra lag 1 gjort om til frames eller datapakker som kan sendes videre opp i OSI modellens hierarki.

Illustrasjon av en IP pakke.

En dataframe eller datapacket er en organisert og logisk oppbygget struktur som kan brukes til å sende data over et nettverk. I eksempelet over er vi at ”Source address” tilsvarer avsenderadressen ”Destination address” tilsvarer mottakeradressen, ”Frame control” inneholder informasjon om ruting og om pakkene er delt opp i mindre deler og hvordan de skal settes sammen igjen (segment kontroll) og om hvilken type frame / ramme det er.

Det finnes flere typer avhengig av hvilken protokoll vi bruker. I et TCP/IP nettverk er det 802.3 frames, i et Token Ring nettverk er det 802.5 frames og i noen typer trådløse nettverk brukes 802.11b. Vi kommer tilbake til disse rammetypene senere. Den delen som det står DATA på er selve dataene som skal fraktes. Alt annet har med nettverket å gjøre. Frame check sequence, også kalt CRC (Cyclic redundancy control) er en slags fasit til et regnestykke som mottakeren kan bruke på pakken for å se om den er hel og uskadet, og om den er satt riktig sammen. Hvordan disse regnestykkene, eller algoritmene, utføres er ofte ganske komplisert og vi skal ikke gå så mye inn på det nå. Man kan tenke seg at mottaker teller antall bits, ser på hvor mange av dem som er 1 (ikke 0), og hvor mange ganger det fins 17 stykk 1-tall i rekkefølge. Deretter ser vi hva som står i CRC og hvis det stemmer med det vi har telt opp så godtar vi at pakken er OK. Det er nok en del mer komplisert, men det får vi komme til senere.

Det som er viktig å forstå er at denne CRC sjekkingen betyr at datalink laget er sikker på at datastrømmen går feilfritt i nettverket, og at dersom feil oppstår vil det bli oppdaget. Det er ikke dermed sagt at det oppfattes hva som er galt, men det vil bli oppdaget at noe er galt.

IP-pakke (forenklet)

Normalt vil datalink laget sende sine pakker til det fysiske laget og forvente å få et ”ACK” et ”acknowledge” signal tilbake. ”Acknowledge” betyr å bekrefte, vedkjenne eller kvittere for noe.

Dersom en pakke som er sendt ikke resulterer i et ”ACK” vil datalink laget regne med at den er forsvunnet og sende den om igjen. På mottagersiden vil datalinklaget bruke CRC til å sjekke at pakkene er OK, og dersom de ikke er det vil mottager sende et ”NACK” eller ”Negative ACKnowledgement” til sender. Det betyr: Pakken er skadet, vennligst send på nytt. Og det gjør den opprinnelige avsenderen.

Vi skal komme mer tilbake til pakker og hvordan de er bygget opp senere.

Lag 1: Physical layer (fysisk lag):

Det nederste og siste laget i OSI modellen er det fysiske laget, lag 1. Dette laget har ansvar for å formidle de rå, ustrukturerte databitene over et fysisk medium som for eksempel en kabel. Det fysiske laget har ansvar for grensesnittet (interface) mellom de elektriske, optiske og mekaniske delene av nettverket og selve koblingen til kabelen. Det er også det fysiske laget som faktisk frakter signalene som bærer i seg koden for dataene som skal overføres. Dette gjelder selv om vi har med et trådløst nettverk å gjøre. På dette laget defineres selve koblingen mellom nettverkskortet og kabelen. For eksempel defineres det hvor mange ”pinner”, kontaktpunkter kabelen må ha og hvilket punkt som brukes til hva. Eksempelvis hvilken av ledningene i TP kabelen er det som sender og hvilken er det som tar i mot? Her bestemmes også hvilken teknikk som skal brukes for å sende data. Ethernet? Token Ring?

Det fysiske laget har ansvar for å frakte bits (1 og 0) over nettverket. På dette laget har ikke bitene, i seg selv, noen definert mening, eller bestemt sekvens. Det er bare, det ser i alle fall ut som, en tilfeldig rekke med strømpulser hvor strøm betyr 1 og ikke-strøm betyr 0. Lag 1 driver også med datakoding og bit-synkronisering slik at det er sikkert at dersom avsender sender et 1-tall så er det et 1-tall og ikke en null som kommer frem til mottageren. Dette gjøres ved hjelp av klokketakter. Igjen: Time is everything!

Dette laget bestemmer også hvor lenge en bit får lov til å eksistere hvis ikke noen mottager plukker det opp. Det er også, naturligvis, lag 1 som bestemmer om signalet skal sendes som strøm i en kabel, som lys i et IR-nettverk eller som radiobølger i et GSM nettverk.

Q & A:

Q:

Fyll inn de manglende ordene i disse setningene:

  1. OSI modellen deler nettverket i _________ lag.

  2. Hvert lag har som oppgave å tilby tjenester for et __________ lag og sørge for at det neste laget oppover ikke behøver å bry seg om hva som foregår under.

  3. I hvert av lagene i OSI modellen kan pakkene bli formatert, eller de kan få _____________.

  4. Hvert av lagene oppfører seg som om de skulle kommunisere direkte med det _______________ laget på den andre maskinen, selv om vi vet at det ikke er slik i virkeligheten.

  5. Det øverste laget, kjent som ____________ laget gir generell tilgang til nettverket, driver flytkontroll (flow control) og feilsjekking.

  6. Hos avsenderen er det _____________ laget som oversetter formatet som det får fra applikasjonslaget til et slags universalformat.

  7. __________ laget bestemmer ruting, altså hvilken vei en datapakke skal ta fra avsender til mottager.

  8. ____________ laget er ansvarlig for å sende frames til det fysiske laget.

  9. _____________ informasjonen i en datapakke brukes til ruting, segment kontroll og å bestemme ”frame type”, eller rammetype.

  10. ________________ laget bestemmer standardene for hvordan kabelen skal festes til nettverkskortet.

A:

  1. syv

  2. høyere. Ja det er faktisk det samme nedover også.

  3. Tilleggsinformasjon, for eksempel adresser og CRC.

  4. Tilsvarende. Egentlig går alle pakker helt ned og opp igjen til det tilsvarende laget hvor de startet hos avsender.

  5. Applikasjonslaget (lag 7).

  6. Presentasjonslaget (lag 6).

  7. Nettverkslaget (lag 3).

  8. Datalink laget (lag 2).

  9. Kontroll

  10. Det fysiske -- (lag1).

Prosjekt 802.

(link til prosjekt 802: http://www.ieee802.org/1/pages/802.html)

Sent på 1970 tallet da det begynte å bli vanlig å sette opp LAN på kontorer og i foreninger og dette begynte å få konsekvenser for business ble det klart at det var på tide å få på plass noen standarder for LAN. For å få fortgang i dette arbeidet opprettet IEEE ”Prosjekt 802”. Navnet er jo kult i seg selv, men de fleste ler litt når de får høre hva det egentlig kommer av. Prosjektet startet i februar 1980, altså 80-2 eller 802. Det betyr rett og slett at prosjektet startet i februar i 1980. Alle de andre navnene, slik som 802.1 802,11 også videre er bare kommitteer til prosjekt 802. Det er 12 slike organiserte underkommitteer nummerert fra 802.1 til 802.12. IEEE har mange kommitteer. Ikke alle heter noe med 802. Det er kommitteer for alt mulig, alt fra vanlige forskrifter for installering av vanlig strømkabel i USA til programmeringsgrensesnitt for nettverkskort og FireWire standarden (IEEE 1394). Arbeidet, standardene som disse kommitteene utarbeider kaller man gjerne kategorier.

Selv om IEEE 802 standarden faktisk kom før OSI modellen ble de stort sett utviklet parallelt og i samarbeid. Disse forskerne snakket sammen, de var ikke ukjente for hverandre. Det var nok mer enn en som arbeidet med begge prosjektene. Dette resulterte i at de to modellene ble kompatible.

Der OSI modellen tar for seg logiske oppkoblinger mellom tenkte lag i en nettverksoverføring dreier prosjekt 802 seg mer om fysiske komponenter, hovedsakelig om nettverkskort og kabler med kablenes kontakter. Disse standardene finner vi igjen i OSI modellens lag 1 og 2, altså det fysiske laget og datalink laget.

Disse standardene, som gjerne kalles 802 spesifikasjonene, har flere ansvarsområder, blandt annet:

802 spesifikasjonene definerer (bestemmer) hvordan et nettverkskort får tilgang til kabelen og faktisk sender dataene på nettverket. Dette inkluderer å koble til, koble fra og vedlikeholde nettverkskomponenter.

IEEE 802 kategoriene:

LAN standardene fra IEEE grupperes i 12 deler, nummerert fra 1 til 12.

(Pluss noen som er utgått)

Disse er:

Nummer

Kategori

802.1

Lokale nettverk (Inkl. OSI modellen og network management (SNMP)

802.2

Logical Link Control (LLC)

802.3

Carrier-sense Multiple Access with Collision Detection
(CSMA/CD) LAN (Ethernet)

802.4

Token Bus LAN

802.5

Token Ring LAN

802.6

MAN (Metropolitan Area Networks)

802.7

Broadband Technical Advisory Group

802.8

Fibre-optic Technical Advisory Group

802.9

Integrated Voice/Data Networks

802.10

Network Security

802.11

Wireless (Trådløst) network

802.12

Demand Priority Access LAN, 100BaseVG-AnyLAN

802.14

Data over kabel TV nettverk (Bredbånd på TV kabel)



LAN: Local Area Network

MAN: Metropolitan Area Network

WAN: Wide Area Network

Forbedringer i OSI modellen:

De to nederste lagene i OSI modellen, det fysiske laget og datalink laget definerer, altså setter standarden for, hvordan flere computere kan bruke det samme nettverket samtidig uten at de forstyrrer eller ødelegger for hverandre. IEEE har arbeidet med spesifikasjoner for hvordan dette skal foregå. Det er definisjonene på disse to lagene som avgjør hvilken topologi du har valgt. For eksempel er det valg av kabel (lag 1) som avgjør om du har et bussnett eller ikke, og det er selve nettverkskortet (lag 2) som avgjør om det er Ethernet eller noe annet.
802 standarden deler lag 2 i OSI modellen, datalink laget, i to undergrupper, eller ”sublayers” som du vil se at det heter på engelsk. Lagene er:

  1. Logical Link Control (LLC). Dette laget har til oppgave å styre oppkobling / nedkobling, kontrollerer frame-trafikken har kontroll over sekvensering av rammer det vil si sørger for at de blir satt sammen i riktig rekkefølge dersom de har vært delt opp og dessuten er det LLC som sender ACK og NACK.

  2. Media Access Control (MAC). Dette laget har til oppgave å kontrollere selve aksessen (tilgangen) til det fysiske mediet, for eksempel er det MAC som lytter på kabelen i et bussnettverk. MAC har også ansvar for feilsjekking av rammer / frames og leser adressene i rammene. Det siste her er viktig. Vi har tidligere snakket om MAC adresser og om hvordan de er ”brent” inn i en ROM chip på nettverkskortet. En MAC adresse kan se slik ut: 00-A0-24-87-1B-D4. Dette er et 6 byte heksadesimalt tall og de tre første bytes angir produsenten. (00-A0-24 er et 3Com kort, selv om det er produsert av Focus Networks på Taiwan. Det er selve chipen på kortet som er avgjørende, ikke den grønne silikonplaten som den er festet på ;-).

OSI modellen

Logical Link Sublayer:

Det ”logiske link laget” har ansvar for data link kommunikasjon og tildeler såkalte logiske grensesnitt (logical interface points), disse kalles ”service access points” (SAP). Andre maskiner bruker disse SAPene til å kommunisere med LLC og de andre, høyere lagene i OSI modellen. Dette kan sammenlignes med portnumre, eller forskjellige kanaler på en vanlig radio. Det er ikke helt likt, men vi kan godt se på det på den måten for enkelhets skyld. De standardene som gjelder på dette laget er beskrevet og definert i 802.2.

Media Access Control Sublayer:

MAC laget er det nederste av de to underliggende lagene i data link laget. Det har til oppgave å gi datamaskinen fysisk tilgang til kabelen, i konkurranse med de andre maskinene på nettet. Det lytter på kabelen, sender når det er ledig og oppdager det dersom en annen maskin sender samtidig. Da trekker det seg og forsøker litt senere. Det er software i MAC laget som har ansvar for å snakke direkte til hardware i nettverkskortet og har ansvar for at data kommer frem feilfritt.

Oppdelingen av LLC og MAC laget i OSI modellen.

MAC laget har også ansvar for å sjekke adressene i pakkene som flyter forbi i nettverket og se om den er beregnet på seg, eller noen annen. Er det til noen andre overser maskinen denne pakken og lar den vandre videre, ellers blir pakken lest og sendt videre oppover i OSI modellen.

Q & A:

Q:

Fyll inn det manglende ordet i disse setningene:

  1. Standardene vi får gjennom prosjekt 802 dreier seg om hvordan __________ sender data ut på kabelen.

  2. Prosjekt 802 forbedret OSI modellen ved å dele ____________ laget i to underliggende lag.

  3. De to underliggende lagene heter __________ og ___________.

  4. Det øverste av disse to underliggende lagene er ____________.

  5. Det er ___________ laget som har ansvar for direkte kommunikasjon med nettverkskortets hardware.

  6. IEEE kategorien 802.5 er kategorien for ________ _________ nettverk.

  7. IEEE kategorien som bestemmer Ethernetstandarden er _______.

A:

  1. nettverkskortet

  2. Data link laget

  3. Logical Link Layer (LLC) og Media Access Control (MAC).

  4. LLC (logical Link Layer).

  5. MAC (Media Access Control).

  6. Token Ring

  7. 802.3



Her tilhører det en visuell demonstrasjon, demo7

Oppbygning av IP-pakken

Sammendrag:

OSI og Prosjekt 802 modellene definerer standard protokoller som brukes av både nettverkskomponentene (hardware) og programmene (software). Det å sende data over et nettverk er ganske komplisert og disse to modellene beskriver hvordan det foregår i detalj.

OSI modellen har en lagdelt struktur som deler nettverksaktivitet inn i syv definerte lag. De syv lagene er: Applikasjonslaget, Presentasjonslaget, Sesjonslaget, Transportlaget, Nettverkslaget, Data link laget og Fysisk lag. Produsenter av nettverksutstyr, for eksempel nettverkskort følger OSI modellens standarder når de lager utstyret. Ellers ville de neppe få solgt det :-)

Prosjekt 802 modellen definerer de standardene som har med de fysiske komponentene å gjøre. Dette har med lag 1 og lag 2 i OSI modellen å gjøre. 802 modellen deler lag 2 i OSI modellen i to underliggende lag. (Husk at de fremdeles er høyere i OSI modellen enn det fysiske laget!). De to ”nye” lagene kalles Logical Link Layer og Media Access Control layer, kjent som LLC og MAC.

Oppbygging av IP-pakken, bit for bit Nr. 2

Drivere:

En driver, ofte kalt ”device driver” er et lite program, altså software som gir datamaskinen mulighet til å arbeide med en eller annen bestemt ”device”. Ordet er engelsk og betyr ”devise” på norsk, dersom du slår det opp i en ordbok. Devise er ikke et vanlig brukt ord i datasammenheng. Vi kommer derfor til å bruke uttrykket device i dette kompendiet. En device er alt mulig som kobles til datamaskinen, enten via kabel, trådløst eller via en direkte databuss. Selv om devicen er et nettverkskort, en harddisk, en kontroller eller en skriver kreves det en driver. Datamaskinen vil ikke forstå at det finnes et nettverkskort, eller forstå hvordan den skal oppføre seg for å kommunisere med denne gjenstanden (devicen) dersom den ikke får beskjed om at den er der og får en driver som kan hjelpe med kommunikasjonen. Driveren har for eksempel opplysninger om hvilken av kablene (de indre lederne) i skriverkabelen som tar i mot signaler og hvilken som sender. Det er selvsagt mye annen informasjon i driverfilen også. I noen tilfelle må vi legge til (installere) driveren manuelt, andre ganger ser det ut som om det går av seg selv, da er det er plug & play system, men det betyr bare at operativsystemet selv fant driver og installerte den. Det er akkurat det samme som skjer, du blir bare holdt utenfor!
Det kreves drivere til omtrent alt som kobles til datamaskinen. For eksempel:

Vanligvis er det operativsystemet som har kontakt med driveren og i samarbeid får de periferienheten (devicen) til å virke. Installasjon og bruk av en skriver er et godt eksempel på hva en driver gjør. Skrivere produseres av en rekke forskjellige tilvirkere, fabrikker rundt omkring i verden. Alle disse skriverne er bygget forskjellig og har forskjellige egenskaper. Noen kan skrive på veldig store ark, noen på små ark, noen med farger, noen med blekk, noen med voks og noen med laser. Bare for å ta litt av det helt grunnleggende. Det sier seg nesten selv at det ville bli uoverkommelig for produsenter av datamaskiner, eller operativsystemer å utstyre alle maskinene med drivere for absolutt alle typer printere i hele verden. Dertil vil det jo komme massevis av andre drivere…

Isteden er det skriverprodusentene som skriver drivere til sine produkter. Før du kan skrive ut på skriveren må du installere den, det betyr ganske enkelt at kjernen i operativsystemet leser driverfilen, laster den inn i RAM som en modul hvor kjernen kan finne informasjon om hvordan denne skriveren brukes. Normalt er det altså produsenten av en device, eller periferienhet om du vil, som har ansvaret for å skrive driverne. Dette gjelder enten det er et kort som monteres inne i maskinen, eller om det er en periferienhet som kobles til med kabel eller infrarødt link. Det er vanlig at drivere leveres sammen med produktet, enten på CD eller floppydisk. Du kan vanligvis også laste ned drivere fra produsentens hjemmesider, eller andre websteder som har samlinger av drivere. To eksempler kan være www.drivers.com og www.drivershq.com. Det finnes mange andre. Alta Vista har også rykte for å finne drivere raskt og greit. Det er ofte en fordel å hente drivere fra Internett dersom du har muligheten til det. Da er du sikker på å få siste versjon. Spesielt dersom du er smart og henter fra produsentenes hjemmesider. Et unntak er naturligvis ISDN kort, nettverkskort og modemdrivere. Her er du ofte avhengig av å ha en disk fra produsenten for å komme ut på nettet, deretter kan du oppdatere driveren med siste modell.

En litt spesiell type driver som kan skape litt forvirring hos brukere er diskkontrollerdriveren. Det er to hovedtyper diskkontrollere; SCSI (Small Computer Systems Interface) og IDE (Integrated Device Electronics).

SCSI krever et kontrollerkort (noen ganger innebygget på hovedkortet, andre ganger et kort som monteres inn). Fra dette kortet går det en parallell kabel til flere devices, slik som harddisker, CD, skanner og annet. Disse kortene er avhengig av drivere, i noen tilfelle må de installeres FØR du kan installere selve operativsystemet. Hvis du bytter ut et SCSI kort med et annet må du installere ny driver også. IDE bruker ikke slike kontrollerkort, der sitter kontrolleren på selve enheten. I praksis vil det si det grønne kretskortet under disken. Det er kretskort på SCSI disker også, men det krever altså kontrollerkort. I moderne maskiner er dette et PCI kort.

Det er to hovedtyper av drivere, såkalte Character-Device drivers og Block-Device drivers. Forskjellen er at Character-Device er ASCII basert, altså basert på tekst, mens Block-Device drivers er binære, altså rå data, (Raw vs. cooked mode data). ASCII drivere leses av systemet en og en byte av gangen og OS vil hele tiden sjekke om det kommer et Ctrl+C signal fra keyboard. Hvis det gjør det, vil operasjonen stanse.

En binærdriver vil ikke sjekke om det kommer et Ctrl+C før den er ferdig med operasjonen. Den vil alltid lese et bestemt antall sektorer før den slutter. De fleste binærdrivere styrer disk(etter) eller CD / DVD.

Et godt eksempel på en ASCII driver er en printerdriver.

Nettverksdrivere:

Nettverksdrivere, sørger for at et nettverkskort kan kommunisere med ”The Network Redirector”, en nettverkstjeneste som har til formål å akseptere I/O forespørsler for ressurser (filer som er ”delt”) og deretter sender dem (redirigerer) til den maskinen som spurte etter dem. Redirectortjenesten er software.

Drivere og OSI modellen:

Nettverkskort hører hjemme i lag 2, underlag MAC (Media Access Control) i OSI modellen. MAC laget har til oppgave å sørge for at nettverkskortet får tilgang til kabelen. Dette laget ser på kabelen som en delt ressurs og vil kjempe om plass med de andre nettverkskortene på de andre maskinene. Det er altså nettverkskortdriverne som garanterer direkte og feilfri kommunikasjon mellom selve maskinens operativsystem og nettverkskortet. Dette vil jo, igjen, sørge for en forbindelse mellom maskinen din og selve nettverket.

Drivere og nettverksprogrammene:

Det er vanlig at produsentene av nettverkskortet er den som skriver og deler ut driverne til det aktuelle kortet.

Produsentene av operativsystemer har på sin side en såkalt HCL, en Hardware Compatibility List som er en tekstfil hvor det er listet opp alle de nettverkskort (og andre periferienheter av alle typer) som de har testet og funnet at virker i samarbeid med operativsystemet. HCL for Windows 200x er laaang…

Tilsvarende finnes det oversikter over maskinvare som er støttet under andre operativsystemer, for eksempel GNU/Linux og FreeBSD på Internett. Søk på navnet på operativsystemet, gå så til distributørens hjemmesider og søk efter «hardware compatibility» eller lignende.

Under NT 4, som var det forrige operativsystemet til Microsoft, forgjengeren til Windows 2000 hadde HCL omkring 100 testede nettverkskort. På HCL for Windows 2000 er det mer enn 2400 nettverkskort på listen. Du kan finne HCL på denne adressen: www.microsoft.com/hcl. Ofte er det slik at drivere for de kortene som er listet på HCL også er lagt ved i operativsystemet, slik at nettverkskortet blir plug & play kompatibelt. Det er jo klart at det er praktisk med plug & play, men det er to momenter som ikke er bra. Det første er at operativsystemene krever mye plass (Windows 95 tok ca 85 MB, Windows 2000 krever 650 MB minimum) når det skal legges ved drivere for, bokstavelig talt, tusenvis av periferienheter som du aldri kommer til å koble til maskinen. Det andre poenget, og det er ofte vel så viktig, er at dette neppe er den beste måten å være sikker på at det er seneste og mest oppdaterte driver du installerer. I Windows 2000 er det kommet med en automatisk søkefunksjon for drivere som ikke er med i operativsystemet. Maskinen går på nettet og oppsøker windowsupdate.microsoft.com for å se om det er noe nytt der. Det forutsetter, naturligvis at du har tilgang til Internett og at Microsoft har lagt driveren der. Dette er ofte vanskelig å få til med drivere for nettverkskort og modemer / ISDN kort… Fordi det vil være slik at dersom du ikke har driver for nettoppkoblingen vil du ikke komme på nett...

Installasjon av drivere:

Alle operativsystemer har sin egen metode for å installere drivere. Nettverksadministratoren har ansvaret for å installere disse driverne og for å vedlikeholde og oppdatere dem etter behov.

Nye maskiner bruker gjerne et grafisk brukergrensesnitt når du skal installere en driver.

I Windows 2000 gjøres dette i kontrollpanelet:



Bruk ”legg til / fjern maskinvare. Der startes en veiviser, en såkalt wizard:

Følg anvisningene fra veiviseren og sørg for å ha riktig floppy eller mappe med driverfilene tilgjengelig i tilfelle dette ikke er plug & play eller du vil være sikker på å ha den siste og best oppdaterte driveren installert. Under installasjonen vil driverfilene bli kopiert fra der du sier de er til en systemmappe i Winnt mappen, også kjent som %systemroot%. (Merk deg bruken av prosenttegnet; det er viktig og vi kommer tilbake til det senere, når vi ser nermere på Windows NT / 200x / XP.

Konfigurasjon:

Eldre nettverkskort (vanligvis ISA kort) må ofte konfigureres manuelt. Dette har vi tatt opp tidligere, men bare en kort repetisjon:

Moderne kort, av typen PCI er som oftest (egentlig kan vi vel si alltid…) plug & play. Det forutsetter selvfølgelig at operativsystemet er plug & play også. Det er slett ikke alle operativsystemer som er det. Hvis plug & play virker er det ikke mer du trenger å gjøre enn å sette kortet i maskinen og boote. Operativsystemet vil ta seg av alt annet, unntatt det å sette logisk adresse, for eksempel IP adresse og DNS informasjon samt gateway adresse.

Oppdateringer:

En gang i blant vil en produsent av en periferienhet finne ut at det er feil i en driver eller at den kunne vært skrevet bedre. Da gir de ofte ut en ny (og bedre) driver. Det er ikke uvanlig for nettverksadministratorer å abonnere på nyhetsbrev fra de store produsentene som 3Com og HP. Disse kommer som e-post og gir beskjed dersom det er kommet nye drivere. Normalt laster man dette ned fra Internett, men det finnes også abonnement for CD og floppy fra noen distributører. Dette var vanligere før, men det finnes fremdeles steder der det er nettverk, men ikke tilgang til Internett.

Avinstallasjon:

Det hender at en administrator må avinstallere en driver manuelt. Det skjer egentlig ikke så ofte, men for eksempel kan det oppstå konflikt mellom den gamle og en nyere driver. Dessuten er det lurt å avinstallere driveren dersom du fjerner periferienheten for godt. Det er ikke nødvendig for denne driveren å legge beslag på systemressurser og minne dersom den ikke er i bruk. I tilfelle det bare er en driver vil spørsmål om diskplass ikke være relevant. I midlertid er det en del periferienheter (særlig printere) som kommer med store programmer for vedlikehold og overvåking. Slike programmer kan være fra noen få MB til 20 – 30 MB. Da er det også greit å få tilbake plassen det tok på disken din.
Metoden for å fjerne, eller avinstallere en driver er som for å installere den. Du starter den samme veiviseren i kontrollpanelet og følger anvisningene.

Q & A:

Q:

Sett ring rundt det beste alternativet for disse utsagnene:

  1. En driver er:

    1. Maskinvare

    2. En periferienhet

    3. Et kort

    4. Programvare

  2. HCL er:

    1. En liste over produsenter av nettverksoperativsystemer.

    2. En liste med maskinvare som operativsystemprodusenten har ”godkjent” for bruk med systemet.

    3. En liste over alle nettverkskort og hvilken driver det skal ha.

    4. En liste over maskinene i et LAN.

  3. I et nettverksmiljø trenger et nettverkskort en driver for å:

    1. Kunne kommunisere med andre nettverkskort i LAN.

    2. Kunne kommunisere med operativsystemet.

    3. La filserveren i et LAN få levere filer til andre maskiner.

    4. La forskjellige typer datamaskiner kommunisere i et nettverk.

  4. Velg det utsagnet som er mest korrekt med hensyn til printerdrivere:

    1. Det finnes en universaldriver som virker på alle skrivere, og gir full funksjonalitet, uansett type.

    2. Alle skrivere som er produser på samme fabrikk kan bruke samme driver og fremdeles ha full funksjonalitet.

    3. Det er en spesiell driver for hver eneste type skriver og det er vanligvis bare den driveren som vil gi full funksjonalitet.

    4. Det er annerledes med laserprintere, der vil det alltid være bare en eneste driver fra hver produsent og denne driveren vil passe i alle laserskrivere fra denne produsenten. OBS; dette gjelder bare laser, ikke blekkskrivere.

A:

  1. d. software eller programvare.

  2. b. En liste med maskinvare som operativsystemprodusenten har ”godkjent” for bruk med systemet.

  3. b. Kommunikasjon mellom nettverkskortet og OS.

  4. c. Det er en spesiell driver for hver eneste type skriver og det er vanligvis bare den driveren som vil gi full funksjonalitet.
    Du trodde vel ikke på alternativ 4?? Det er selvsagt bare tøv!!

Hvordan et nettverk egentlig sender data:

Vi skal se på hvordan en datapakke er bygget opp, hvordan de sendes og hvordan de mottas i den andre enden.

Pakkens funksjon i nettverkskommunikasjon:

Filene på en datamaskin (dataene) er ofte ganske store filer. Et nettverk, i midlertid, vil få problemer dersom en enkelt maskin forsøker å sende en diger fil ut på nettverket. Det er to gode grunner for hvorfor det ødelegger (sinker) nettverket dersom maskinene sender for store filer av gangen.

For det første påvirker det annen nettverkstrafikk som er tidsavhengig. Det er viktig for to maskiner som skal kommunisere å synkronisere tid. Dette gjelder særlig ved overføring av såkalt streaming, for eksempel hvis du lytter på radio over Internett. Du opplever at det ”lagger” eller ”hakker”. Dette oppstår fordi en maskin oppholder kabelen for lenge. Den oversvømmer ”flooder” nettverket.

For det andre er det raskere å oppdage feil i dataene og be om å få dem sendt om igjen. Dersom en veldig stor datapakke inneholder feil vil det ta lengre tid å sende den på nytt. En liten pakke kan sendes om igjen raskere. Dermed kommer alt sammen frem, totalt sett, raskere.

Den venstre maskinen lar de to andre vente…

For at det skal være mulig for mange brukere å sende og ta i mot data samtidig er det nødvendig å bryte dataene ned i mindre deler. Disse delene er det vi kaller rammer eller pakker. De to ordene er nesten synonyme. Det kan hende de brukes litt forskjellig i forskjellige nettverkstopologier. Vi kommer stort sett til å omtale dem som pakker, det er det vanligste på TCP/IP baserte Ethernet.

Pakker er de minste enhetene i kommunikasjonen i et nettverk. Når data deles opp i mindre pakker blir overføringshastigheten bedre for alle datamaskinene på et nettverk. Mottageren henter pakkene fra nettverkskabelen og setter dem sammen i den opprinnelige rekkefølgen.

Data brytes opp i pakker i kabelen

Når avsendermaskinen lager disse pakkene og gjør dem klare for utsending på nettverket vil den legge til en del informasjon i hver av pakkene. Denne informasjonen er viktig, det er ikke bare adresse på avsender og mottager, det er også en del kontrollinformasjon som gjør det mulig å kontrollere at pakkene er hele og feilfrie, samt i hvilken rekkefølge de skal settes sammen i.

IP-pakke

Pakken inneholder altså en god del informasjon i tillegg til de dataene den egentlig skal overføre. Dette gjør pakkene større. Faktisk ganske mye større. Ofte kan slik informasjon utgjøre bortimot halve pakken. Denne balansen mellom hvor mye informasjon som skal henges på pakkene og det å forsøke å holde pakkene minst mulig er vanskelig. Jo mindre data som sendes med pakkene, jo større prosentvis del av pakken er tilleggsinformasjon. Det er dette som kalles ”overhead”. I et TCP/IP nettverk kan overhead godt være bortimot 40 %, i alle fall dersom pakker som ødelegges av en eller annen grunn også regnes med som overhead. Det er ikke urimelig å gjøre det, dersom vi skal forsøke å måle hvor raskt en fil faktisk kommer frem til mottaker må vi ta hensyn til dette. Ikke bare ren bitrate.

Oppbygging av IP-pakken bit for bit



Oppbygging av IP-pakken bit for bit #2

Går dataoverføringen fra høre mot venstre, eller omvendt?



Ethernet frame

Komponentene i en pakke:

Alle datapakkene har en del komponenter som er felles for alle. Disse komponentene er:

Header:

Headeren inkluderer:

IP-pakke #2

Data:

Her ligger de egentlige dataene som skal overføres. Denne delen av pakken kan variere mye, avhengig av nettverket. Det kan variere fra 512 byte (0,5KB) til 4000 byte (4KB). Dette gjelder svært mange nettverk, men det kan variere mye. Pakkene kan være så små som 64 byte i datadelen og ca. 1500 byte er en veldig vanlig størrelse.

Ettersom de fleste filer vi vil overføre er betydelig større enn 4 KB er det nødvendig å dele filene opp i mindre deler som kan passe inn i en pakke. Det å overføre en stor fil krever altså mange pakker.

Trailer:

Nøyaktig hva som ligger i traileren varierer etter hvilken type overføring du bruker, eller hvilken protokoll, om du vil. Traileren i en TCP pakke er ikke lik traileren i en NetWare eller AppleTalk pakke. Allikevel er både NetWare og AppleTalk basert på OSI modellen. Dette gjelder altså ikke bare på TCP/IP nettverk, det gjelder i OSI/802 baserte nettverk. Protokollen er en annen diskusjon. Her er det overføring av data det er snakk om.

Enda et eksempel på oppbygging av en IP pakke

Traileren inneholder vanligvis en CRC (Cyclic Redundancy Check). En CRC er en slags ”fasit” på et bestemt regnestykke. Dette regnestykket utføres først hos avsender, deretter vil avsender legge ved ”svaret”, eller ”fasit” om du vil. Når mottageren får pakken vil mottageren utføre det samme regnestykket (det er kjent for alle maskiner hvilket regnestykke det er snakk om), og hvis det nye svaret er likt med ”fasiten” vil mottager oppfatte dette som at pakken er hel og uskadet. Hvis ”fasit” IKKE stemmer med det regnestykket mottageren har utført vil mottager regne med at dataene er blitt ødelagt underveis. I så fall vil mottager gi beskjed til avsender om dette og be om å få pakken en gang til.

Det får den.

Forskjellige typer nettverk har forskjellige formater for disse pakkene, og ikke minst: de bruker forskjellig størrelse på pakkene. Dette kan være basert på topologi så vel som protokoll. Det er nettverkskonfigurasjonen som avgjør hvor store, eller små pakker som kan sendes i nettverket, og hvordan nettverksoperativsystemet vil splitte opp data i mindre pakker og så sette disse sammen igjen.
Husk at de fleste filer som skal overføres er betydelig større enn en IP pakke.

Hvordan laver systemet en datapakke?

Vi skal se på hvorledes prosessen med å lave en datapakke foregår; trinn for trinn.

Dette ser vi på fra avsenderens synspunkt.

Prosessen starter i applikasjonslaget (lag 7) i OSI modellen, hvor data genereres av et eller annet program som så ønsker / trenger å sende dette via nettverket. Data som skal sendes begynner sin ferd i applikasjonslaget og går videre gjennom alle de syv lagene.

På hvert av disse syv lagene vil pakken bli litt større, det legges til mer informasjon. Dette er naturligvis ikke mer data som skal til mottageren, det er kontrollinformasjon for pakken, slik som avsender og mottageradresse og CRC. Det er meget viktig å huske at den informasjonen som legges til pakken er relevant for akkurat det laget som legger det til. Det er IKKE tilfeldig hva som legges til hvor og når, det er IKKE tilfeldig hvilken rekkefølge dette har. Det er nettopp derfor vi kaller dette en lagdelt modell, hvert eneste lag har ansvar for sine egne, spesielle funksjoner. Dette betyr også at det er det tilsvarende laget hos mottager som forholder seg til disse tilleggene. For eksempel vil data som legges til i lag 2 (datalink laget) hos avsenderen alltid leses og reageres på av lag 2 hos mottageren. Dette kan ALDRI overføres til et annet lag, det må foregå på samme lag hos mottager som hos avsender. Husk også at disse lagene er logiske enheter, ikke fysiske, det er software vi snakker om, tross alt.

Vi ser på oppbyggingen enda en gang.

Vi tar et eksempel: på transportlaget vil den originale datafilen bli brutt ned i de faktiske pakkene som skal sendes. Dette kontrolleres av hvilken protokoll man bruker på de to datamaskinene som snakker sammen. Det kan også være flere oppdelinger lenger ned i OSI modellen. Men da dreier det seg ikke så mye om protokoll som om nettverkstopologi.
Når pakken kommer så langt nedover i systemet som til transportlaget vil det bli lagt til ”sekvenseringsinformasjon”, altså informasjon om hvilken rekkefølge disse pakkene skal settes sammen i.

Så snart pakken kommer ned til lag 1, vil den ha informasjon som er lagt til av hvert eneste ledd nedover i OSI modellen, til sammen de 6 lag som den har vært gjennom.

Adressering av pakker:

De fleste pakker som sendes over et datanettverk er beregnet på bare en eneste mottager, og som et resultat av dette vil det være bare en computer som reagerer og plukker opp pakken. Alle nettverkskort som er koblet til det samme nettverket vil ”se” alle pakker som flyr forbi, men bare avbryte strømmen og plukke opp pakken dersom den har en mottageradresse som tilsvarer en adresse knyttet til denne datamaskinens nettverkskort. Et nettverkskort kan, under spesielle omstendigheter, ha mer enn en adresse. Faktisk er det slik at alle TCP/IP nettverk er avhengig av at alle nettverkskort har tre eller flere adresser. Vi kommer tilbake til dette på et senere tidspunkt, nå skal det bare nevnes veldig kort at det er 127.0.0.1(loop-back), den egentlige IP adressen til kortet (for eksempel 10.1.1.45) og en broadcast adresse (for eksempel 10.1.1.255) som gjelder alle maskinene på det samme nettverket.

Hvis vi nå tenker oss et virkelig stort nettverk, et som dekker flere byer, land eller til og med kontinenter og som har flere mulige ”veier” en datapakke kan velge for å komme frem til målet, vil nettverkets switcher og / eller rutere bestemme hvilken fysisk vei pakken skal benytte for å komme frem dit den ville. Det kan for eksempel være avgjørende om det er en IP adresse eller en MAC adresse som benyttes til adressering.

Dirigering av pakker:

Nettverkskomponenter (rutere, switcher, bridges etc.) bruker adresseinformasjon i pakkene for å avgjøre hvordan de skal gå frem for å sende pakken til riktig sted, eller for å holde den unna nettverk hvor den ikke har noe å gjøre. Det kan jo, i seg selv, være viktig nok…

Det er to hovedfunksjoner som vi må se på når det gjelder dirigering av pakker. (Dirigering betyr ikke i musikksammenheng, men i trafikkonstabel sammenheng…). Det er to viktige momenter:

Q & A:

Fyll inn manglende ord i setningene, eller sett ring rundt rett / galt der det er naturlig.

Q:

  1. Dersom data som skal sendes deles opp i ___________ vil nettverket som helhet få høyere hastighet for alle nodene.

  2. Prosessen med å lave disse pakkene begynner på lag ____ i OSI modellen.

  3. Pakker inneholder feilkontroller og dersom det oppdages feil vil mottager be avsender om å ___________.

  4. En datapakke kan deles opp i tre hoveddeler: __________, data og trailer.

  5. I headeren på en datapakker er det ofte en kontrolldel som kalles CRC.
    riktig / galt

  6. Formatet på en datapakke bestemmes av kommunikasjonsmetoden, kjent som protokollen, som brukes av både avsender og mottager
    riktig / galt

  7. Et nettverkskort ”ser” alle pakker som kommer i nettverket, men plukker bare opp de som den gjenkjenner ved at pakken har samme adresse som nettverkskortet.
    riktig / galt

  8. Mottageradressen ligger i traileren på datapakken.
    riktig / galt

A:

  1. pakker (datapakker, rammer, frames, packets).

  2. syv / applikasjonslaget.

  3. Sende på nytt.

  4. Header.

  5. galt, den ligger i traileren.

  6. Riktig.

  7. Riktig.

  8. Galt, den ligger i headeren.

Et virkelig eksempel, i detalj:

Vi skal, kort, se på et detaljert eksempel på hvordan en datamaskin i et lokalnett (LAN) sender en fil til utskrift på en nettverksprinter. Vi bruker en delt printer som er direkte koblet til en datamaskin, en printserver på nettverket. Vi skal ikke bry oss om hvilken protokoll disse maskinene og printeren bruker, men legg merke til at det er en printer som er koblet med printerkabel (parallell eller USB) direkte til en maskin som deler denne med de andre på nettverket. Skriveren har altså ikke et eget nettverkskort. Det vi skal se på er hvordan den (avsenderen) sender printerjobben ved hjelp av pakker. Tenk deg at du akkurat har skrevet et langt dokument og vil skrive det ut på en delt printer.

Først må din maskin etablere (opprette) kontakt med printserveren. Det er den andre datamaskinen, den som har kabel bort til selve skriveren (print device).

To arbeidsstasjoner, en server og en delt printer

Deretter må du (eller maskinen din da ) dele denne store printerjobben opp i mindre pakker som sendes til printerserveren. Disse pakkene inneholder avsender og mottageradresse, data og kontrollinformasjon (CRC).

Pakker dannes og sendes

Det neste som skjer er at nettverkskortene (som står og lytter etter pakker med sin egen adresse, klar til å plukke dem opp) vil begynne å sjekke disse pakkene som plutselig dukket opp. Dersom en av maskinene, i dette tilfellet printerserveren, oppdager at pakkene er beregnet på seg selv, vil den begynne å plukke dem opp og forstyrre maskinen. Det er ganske viktig å merke seg at nettverkskortet ikke vil avbryte maskinens arbeid (det som foregår i CPU) før det er nødvendig. Kortet har evnen til å avgjøre om denne pakken er ”til meg” og hvis den er det, plukker den pakken opp og gir beskjed til CPU om at det er noe her som krever oppmerksomhet.  Pakkene vandrer så opp gjennom nettverkskortet, blir behandlet av programvare som følger OSI modellens regler og klareres for å bli sendt til CPU for videre behandling. I dette tilfellet vil det bety at printerserveren gjør seg klar for å motta en printerjobb fra din maskin. Dette kan blant annet bety at den straks sender et signal til selve skriveren om å begynne en vanlig oppvarmingsrutine.

Nå vi nettverkssoftware (spesielt maskinens redirector) behandle data og sette sammen den originale filen og sende den til printeren for utskrift.

Printjobben er kommet frem

Sammendrag:

Før data sendes ut på nettverket vil avsendermaskinen dele dataene opp i små biter, fordi det er lettere og raskere å formidle mindre biter av gangen. Når vi sier raskere er det viktig å huske at vi tenker på hele nettverket under ett, ikke bare en enkelt maskin. Disse bitene, eller datapakkene, om du vil, er de grunnleggende enhetene i dataoverføringen i nettverket. De forholder seg til hverandre og gjør datakommunikasjonen mulig.

Alle pakker har disse grunnleggende enhetene: Avsenderadresse (source address), data (payload), destinasjonsadresse, instruksjoner og CRC (feilsjekking). Hver eneste pakke består av tre grunnleggende deler:

Genereringen (dannelsen) av pakkene begynner på applikasjonslaget og går nedover gjennom OSI modellens syv lag, hvor det legges til informasjon til pakken i hvert eneste lag nedover.