Jeg er en af den type mennesker som gerne vil hjælpe andre, når der er noget som jeg rent faktisk godt kan hjælpe med og jeg hjælper så en del mennesker, når gælder det computere og netværk.
Jeg har ofte hørt sætninger a la “Hvorfor er nettet (eller internettet) så langsomt?” eller “Hvorfor kan jeg ikke få forbindelse til nettet?”. Nu har jeg efterhånden opgivet at forklare alle, hvordan teknologien hænger sammen og den almindelige bruger har heller brug for at vide det i detajler. Men jeg plejer at svare lidt sarkastisk: “Giver du også motorvejen skylden, når du holder i kø på den?” – en del personer plejer at se eftertænksomme ud, når de får det retur.
Det er min erfaring, at det meget sjældent er selv transportvejen der fejler noget, men langt oftere viser det sig at være software eller services der er kilden til problemerne.
Men for nu at rode mig ud i det, så vil jeg gerne prøve at forklare, hvorfor computere, netværk m.m. er kompliceret, når de skal kommunikere med hinanden.
Min forklaring herunder er en meget forenklet udgave af virkeligheden, så dem der kender til netværkskommunikation vil nok krumme tæer under læsningen.
Det hele starter med OSI-modellen, som er en referencemodel for, hvordan software og operativsystemer kommunikerer. OSI er en forkortelse for Open System Interconnection og det er kort sagt en model som nedbryder kommunikation i nogle mindre dele kaldet lag. Der findes 7 lag i modellen (lag 8 og 9 findes kun fordi nørder har en underlig form for humor). Lagene er opbygget lidt ligesom lagene i et almindeligt løg.
1. Det nederste lag begynder med det fysiske lag og er kort sagt kabling og det styrer netkortet og den måde, det sender små stykker af information over nettet.
2. Data-link laget står for at samle de små stykker indkommende information og korrigere eventuelle transmissionsfejl.
3. Netværkslaget indeholder funktioner til at overføre data og udføre kvalitetsoperationer på tjenester. Det er også i netværkslaget at “IP” fra “TCP/IP-protokollen” hører til.
4. Transportlaget indeholder funktioner der tjekker om den overførte information i form af data ikke er gået forkert under transmissionen. Det er i transportlaget at “TCP” fra “TCP/IP-protokollen” hører til.
5. Sessionslaget har avancerede funktioner til opsætning og nedtagelse af forbindelser mellem maskiner.
6. Præsentationslaget er et bibliotek med funktioner og datastrukturer, som programmører bruger til at præsentere data for netværket når de skal transmitteres til en anden maskine. Det bruges også når data modtages. Eksempelvis SSL, som anvendes til at kryptere data inden afsendelse.
7. Sidste lag er applikationslaget, der også er et bibliotek med funktionskald. Applikationerne anvender disse funktionskald når der kommunikeres med præsentationslaget. Eksempelvis er der et SMTP bibliotek, der kan anvendes hvis der skal opbygges en mailserver.
Kommunikationen mellem to maskiner over et netværk medfører så at data under overførelsen farer op og ned gennem modellens lag (1 til 7 og derefter 7 til 1) ved hver eneste stykke af information.
Nedenstående figur er taget fra Wikipedia, hvor der også er en mere nøjagtig beskrivelse.
Slutteligt vil jeg lige konkludere at det en almindelig bruger kan opleve i forhold til kommunikationen mellem to maskiner er f.eks. at der ikke er “lys” i netkortet, kablet er ikke isat eller programmet svarer ikke eller er meget langsomt.
Hvis en almindelig bruger læser min beskrivelse ovenfor så håber jeg at vedkommende kan indse, hvor jeg ikke altid lige kan svare på, hvorfor nettet er langsomt og det er også ofte årsagen til mine lidt sarkastiske bemærkninger.