Lenkelaget og LAN
Den siste etappen i reisen nedover protokollstabelen. Her møter vi de konkrete kablene, rammene og adressene som til slutt bærer bitene fra den ene maskinen til den andre.
Det store bildet
Lenkelaget er den siste etappen — det som faktisk får bits fra én maskin til naboen over en fysisk lenke. Alt over (IP, TCP, HTTP) stoler blindt på at dette fungerer.
Hvis nettverkslaget (IP) er som å adressere et brev med postnummer for riktig by, er lenkelaget den lokale postbudet som kjenner hvert hus i gaten. MAC-adresser er som husnummeret på én bestemt gate — de har bare lokal betydning. Når en pakke ankommer ditt lokale nettverk, har IP fått den til riktig «nabolag» (subnett), men det er Ethernet og ARP som finner den konkrete maskinen. Det er «den siste meteren» av leveransen.
Tenk deg et travelt kontor med én delt printerkabel. Alle vil skrive ut samtidig. CSMA/CD er reglene de følger: lytt før du sender (carrier sense), send når kanalen er ledig, og lytt mens du sender (collision detection) — oppdages kollisjon, stopper begge, venter en tilfeldig tid (exponential backoff), og prøver igjen. (Kollisjonsunngåelse er typisk CSMA/CA, som brukes i WiFi — det er tema i kapittel 7.) Ethernet bruker nøyaktig CSMA/CD-logikken på delt medium.
Når laptopen din sender en pakke til ruteren hjemme, bruker den Ethernet (via WiFi eller kabel). Den trenger ruterens MAC-adresse — og bruker ARP for å finne den. Laptopen sender en broadcast: «Hvem har IP 192.168.1.1?» Ruteren svarer med sin MAC-adresse. Alt dette skjer automatisk, uten at du merker det, hver gang du åpner en nettside.
Rask repetisjon
Åpne spørsmål i tilfeldig rekkefølge. Klikk kortet for å snu — bruk ← / → for å bla, mellomrom for å snu, R for å shuffle.
-
Hva er lenkelagets rolle, og hva kalles dataenheten på dette laget?
Svar: Lenkelaget overfører data over hver enkelt fysiske lenke mellom to nabonoder. Dataenheten kalles en ramme (frame), som kapsler inn et IP-datagram med lokal adresse-, type- og kontrollinformasjon.
Hvorfor: IP tar seg av stien fra ende til ende, men IP bryr seg ikke om hvordan en pakke fysisk kommer fra én ruter til neste. Den jobben gjøres på lenkelaget. En typisk reise fra Trondheim til California kan ha 15 hopp — hver med sitt eget lenkelag og potensielt forskjellig teknologi (fiber, WiFi, satellitt). Hver lenke er ett hopp; hver ramme leveres bare ett hopp av gangen.
-
Hvilke fem typer tjenester kan lenkelaget tilby?
Svar: (1) Framing og lenketilgang — pakke datagrammet inn med hode/hale, og bestemme hvem som får sende på et delt medium. (2) Pålitelig levering via lokal retransmisjon. (3) Flytkontroll mellom nabonoder. (4) Feildeteksjon og feilretting. (5) Halv- eller full-dupleks.
Hvorfor: Ikke alle teknologier tilbyr alt — designet velger bevisst hva som hører hjemme på lenkelaget og hva som overlates til høyere lag. På kablet Ethernet er feilraten så lav at pålitelig levering hører bedre hjemme i TCP ende-til-ende; derfor kjører Ethernet kun feildeteksjon (CRC), ikke retransmisjon. WiFi har høyere feilrate og bruker linklags-ACK for å skjule mest mulig fra TCP.
-
Hvor i en datamaskin er lenkelaget implementert, og hvorfor akkurat der?
Svar: I nettverkskortet (NIC) — en blanding av maskinvare, firmware og litt programvare. Operativsystemet snakker med NIC-en over systembussen.
Hvorfor: Lenkelaget må operere på bit-nivå med strenge tidskrav: carrier sense, kollisjonsdeteksjon og CRC-sjekk i sanntid på linehastighet. Det er for tidkritisk til å gjøres i ren programvare. Ethernet-brikken og WiFi-brikken i laptopen er to forskjellige lenkelagsimplementasjoner som lever side om side.
-
Forklar enkel paritetsbit og todimensjonal paritet — hva kan hver av dem oppdage og rette?
Svar: Enkel paritet legger til én bit som gjør at totalt antall 1-ere blir partall. Den oppdager alle odde antall bitfeil, men misser partall. Todimensjonal paritet arrangerer bits i et rutenett med rad- og kolonneparitet og kan både oppdage og rette en enkeltbitfeil.
Hvorfor: Med 2D peker den brutte raden og den brutte kolonnen ut feilen i krysset, som kan flippes tilbake. Dette er bare en pekepinn på smartere koder (Hamming, etc.). I praksis brukes ikke 2D til Ethernet — CRC er mye mer effektivt mot bursts, som er den dominerende feiltypen ved elektrisk støy.
-
Hva er CRC, hvordan virker den, og hvor mange feil fanger den?
Svar: CRC (Cyclic Redundancy Check) er feildeteksjon basert på modulo-2-polynomdivisjon (XOR). Sender og mottaker er enige om en generator
Gpår+1bits. Senderen finnerRslik at<D,R>går opp iG; mottaker deler det mottatte påGog forventer rest 0. CRC fanger alle bursts kortere ennr+1bits, alle odde antall bitfeil, og lengre bursts med sannsynlighet1 − (½)ʳ.Hvorfor: XOR er ekstremt billig i maskinvare (et skiftregister + noen porter), og burst-feil er typisk for elektrisk støy. Ethernet bruker CRC-32, så sjansen for å gå glipp av en lang burst er ca. 1 av 4 milliarder. CRC er ren feildeteksjon — feil rammer kastes uten retransmisjon.
-
Hva er forskjellen mellom punkt-til-punkt-lenker og broadcast-lenker, og hvorfor må vi koordinere på sistnevnte?
Svar: En punkt-til-punkt-lenke har akkurat to endepunkter (én sender, én mottaker) og trenger ingen koordinering. En broadcast-lenke deler ett medium mellom flere noder; sender to samtidig, overlapper signalene og blir uleselige — en kollisjon.
Hvorfor: På et delt medium har vi et koordineringsproblem (cocktailparty-analogien): hvem får sende, og når? Det er nettopp dette MAC-protokoller (multiple-access) løser. Eksempler på broadcast-medium: gammelt koaks-Ethernet, WiFi i luften, hub-baserte segmenter. Moderne svitsjet Ethernet er i praksis punkt-til-punkt — derfor er kollisjoner sjeldne i dag.
-
Hvilke tre brede klasser av multiple-access-protokoller finnes, og hva er hovedfilosofien til hver?
Svar: (1) Kanalpartisjonering (TDMA, FDMA): del kanalen i faste biter — én bit per node. (2) Random access (ALOHA, CSMA, CSMA/CD, CSMA/CA): bare send når du vil; håndter kollisjoner når de skjer. (3) Ta tur (polling, token passing): en avtalt mekanisme bestemmer hvem som får sende neste.
Hvorfor: De idealene en MAC-protokoll burde oppfylle (én aktiv node bruker hele
R;Mnoder deler rettferdigR/M; ingen sentral master; enkel) kan ingen protokoll oppfylle samtidig. Hver klasse er et kompromiss: partisjonering er forutsigbar men sløser ved lav last; random access er effektiv ved lav last men kollapser ved høy; ta-tur unngår begge ulemper, men har overhead og enkeltfeilpunkter. -
Hva er fordelen og ulempen med TDMA/FDMA?
Svar: Fordel: Ingen kollisjoner og garantert båndbredde — perfekt ved høy, jevn last. Ulempe: Ved lav last sløses tildelte slots/bånd som ingen bruker.
Hvorfor: Hvis bare 1 av 6 noder har data å sende, må den vente på sitt slot hver sjette gang og får bare
R/6, mens5R/6ligger ubrukt. Det er prisen for forutsigbarheten. Brukes derfor i mobilnett og satellitt der trafikken er jevn nok til at det lønner seg, ikke i kontornett der trafikken er burst-y. -
Hva er maksimal effektivitet i slotted ALOHA, og hva betyr tallet?
Svar: Maks effektivitet er
1/e ≈ 37 %under idealiserte antagelser (uendelig mange noder, like sannsynlige rammer). Det betyr at i beste fall er 63 % av tidslukene enten kollisjoner eller tomme.Hvorfor: Optimum nås når i snitt nøyaktig 1 node sender per slot — for få og mange slots står tomme; for mange og kollisjoner dominerer. Slotted ALOHA er enkel og fin ved lav last, men ineffektiv når mange vil sende samtidig. Den ble historisk brukt til oppstrøms forespørsler i kabelmodemnett.
-
Hva er maksimal effektivitet i ren (unslotted) ALOHA, og hvorfor er den lavere enn slotted?
Svar: Maks effektivitet er
1/(2e) ≈ 18 %— nøyaktig halvparten av slotted.Hvorfor: Uten synkroniserte slots kan en ny ramme kollidere både med slutten av en pågående ramme og med starten av neste. Den «sårbare perioden» er dobbelt så lang (
2TmotT). Slotted ALOHA halverer denne perioden ved å tvinge alle til å starte på samme slot-grense — som dobler effektiviteten. -
Hvorfor kan kollisjoner skje i CSMA, selv om alle noder lytter før de sender?
Svar: På grunn av propageringsforsinkelse. Når node A begynner å sende, tar det en endelig tid før signalet når node B i andre enden. I det tidsvinduet hører B ingenting og kan også begynne å sende — så møtes signalene midt på linjen og kolliderer.
Hvorfor det betyr noe: Det er propageringsforsinkelsen som setter den øvre grensen for hvor lang en Ethernet-kabel kan være — jo lengre kabel, jo større vindu for kollisjoner. Det er også grunnen til at Ethernet har en minimum rammestørrelse: sendetiden må være lenger enn rundturs-propagering for at CSMA/CD i det hele tatt skal fungere.
-
Forklar CSMA/CD-algoritmen som klassisk Ethernet bruker.
Svar: (1) NIC-en lager en ramme. (2) Lytter på kanalen — venter til ledig. (3) Begynner å sende, og lytter samtidig på sitt eget signal. (4) Hvis signalet avviker fra det den sender → kollisjon: avbryt og send et 48-bits jam-signal så alle vet det skjedde. (5) Gå inn i binær eksponentiell backoff og prøv igjen. (6) Etter maks 10 forsøk: gi opp og rapporter feil.
Hvorfor: Forskjellen fra ren CSMA er steg 4 — ved å oppdage kollisjonen mens den skjer, slipper man å fullføre en ramme som likevel er ødelagt. Det sparer mye tid på korte kabler. Jam-signalet sikrer at alle andre noder også registrerer kollisjonen, ikke bare de to som krasjet.
-
Forklar binær eksponentiell backoff i Ethernet — og hvorfor den er adaptiv.
Svar: Etter den m-te kollisjonen velges et tilfeldig heltall
Kfra{0, 1, …, 2ᵐ−1}, og noden venterK · 512bit-tider før neste forsøk. Etter 1. kollisjon:K ∈ {0,1}; etter 2.:{0..3}; vedm = 10:{0..1023}.Hvorfor: Genialt fordi det er adaptivt. Når kollisjoner er sjeldne, er ventetiden kort og systemet svarer raskt. Når kollisjoner blir hyppige (mange noder kjemper), øker ventetiden automatisk og systemet roer seg ned av seg selv. 512 bit-tider tilsvarer rundturstiden for et maks Ethernet-segment, så et nytt forsøk ikke kan kollidere med en pågående ramme.
-
Hva er polling og token passing — og hva er deres største svakhet?
Svar: Begge tilhører klasse 3 («ta tur»). Ved polling sender en master-node en invitasjon til hver slavenode etter tur («Har du noe å sende?»). Ved token passing sirkulerer en spesiell liten melding (token) mellom nodene, og du får bare sende når du holder tokenet.
Hvorfor: Begge unngår kollisjoner og sløsing ved lav last — ideelle på papiret. Svakheten er single point of failure: dør master-noden eller mistes tokenet, stopper alt opp. I tillegg er det polling-overhead og forsinkelse. Bluetooth bruker en variant av polling; gammel Token Ring og FDDI brukte token passing.
-
Hvorfor trenger vi både MAC-adresser og IP-adresser?
Svar: IP-adresser er logiske og ende-til-ende — de identifiserer hvor du er i nettverket og brukes av rutere for å nå riktig subnett. MAC-adresser er fysiske og hopp-for-hopp — innbrent i NIC-en, brukt på lenken for å levere rammen til rett nabo.
Hvorfor: Lagdeling. Lenkelaget må kunne fungere med hvilken som helst nettverksprotokoll (IP, men historisk også IPX, AppleTalk) og trenger sin egen adresseringsform. Dessuten følger MAC-en kortet (uendret når du flytter), mens IP-adressen byttes med subnett. Postanalogi: IP = postadresse (endres når du flytter), MAC = personnummer (følger deg).
-
Hva er ARP, og hvordan fungerer en ARP-utveksling?
Svar: ARP (Address Resolution Protocol) finner MAC-adressen til en gitt IP på samme LAN. Avsenderen broadcaster en ARP-query («Hvem har IP 192.168.1.5?») til
FF-FF-FF-FF-FF-FF. Verten med den IP-en svarer unicast med en ARP-reply som inneholder sin MAC. Resultatet caches typisk i 20 minutter.Hvorfor: Når A skal sende et datagram, kjenner den IP-en til mottakeren (f.eks. fra DNS), men ikke MAC-en. Uten MAC-en kan ikke en Ethernet-ramme adresseres. ARP er den minimale broen mellom IP og MAC. Cachen unngår at hver eneste ramme krever en ny utveksling.
-
Hva skjer hvis IP-mottakeren ikke ligger på samme LAN — hvordan brukes ARP da?
Svar: Avsenderen ARP-er ikke etter mottakeren, men etter sin default gateway-router. Ethernet-rammen får routerens MAC som destinasjon, mens IP-datagrammet inni har fortsatt sluttvertens IP som mål. Routeren mottar rammen, pakker ut datagrammet, slår opp i rutetabellen, og pakker det inn på nytt med nye MAC-adresser for neste hopp.
Hvorfor: ARP fungerer kun innenfor ett LAN — du kan ikke broadcaste til hele internett. Kjerneinnsikten: IP-adressene er ende-til-ende (uendret hele veien), mens MAC-adressene byttes ved hvert hopp. Rammen er lokal levering; IP-pakken er global rute.
-
Hvilke felter inneholder en Ethernet-ramme, og hva gjør hvert av dem?
Svar:
- Preamble (8 byte) — synkroniserer mottakerens klokke; siste to bits «11» signaliserer rammestart.
- Destinasjons-MAC (6 byte) — hvem rammen er til.
- Kilde-MAC (6 byte) — hvem som sendte den.
- Type (2 byte) — hvilken protokoll ligger inni (
0x0800= IP,0x0806= ARP). - Data (46–1500 byte) — payload (typisk et IP-datagram).
- CRC-32 (4 byte) — feildeteksjon over hele rammen.
Hvorfor: Type-feltet er multipleksingen oppover — NIC-en bruker det til å levere rammen til riktig protokoll på lag 3. 1500 byte er Ethernets MTU. CRC-feil → rammen kastes taust; Ethernet retransmitterer ikke.
-
Hvorfor har klassisk Ethernet en minimums-rammestørrelse på 64 byte?
Svar: For at CSMA/CD skal kunne oppdage en kollisjon før rammen er ferdig sendt. Sendetiden må være minst like lang som rundturs-propageringstid (
2 · t_prop) over det lengste segmentet — ellers kunne en kollisjon ha skjedd lengst borte uten at senderen merket det.Hvorfor 64 spesifikt: Ved 10 Mbit/s og maks segmentlengde 2500 m gir dette nettopp 64 byte = 512 bit-tider. Kortere rammer ville bli sendt ferdig før kollisjonsignalet rekker tilbake. Derfor må korte payloads padres opp til minst 46 byte. På moderne svitsjet full-dupleks Ethernet er kollisjoner ikke et problem, så minimumet er en historisk arv.
-
Hvorfor er Ethernet både connectionless og upålitelig — er ikke det dårlig design?
Svar: Connectionless = ingen handshake mellom NIC-er før data sendes. Upålitelig = ingen ACK ved suksess, ingen NAK ved feil — feilrammer kastes bare. På moderne kablet Ethernet er bitfeilraten så lav at det å bygge pålitelighet inn i hvert hopp er bortkastet arbeid.
Hvorfor: TCP fanger likevel opp den lille mengden feil som slipper gjennom, og gjør det ende-til-ende én gang i stedet for én gang per hopp. På trådløse lenker (WiFi) er feilraten mye høyere, og der gjør 802.11 faktisk det motsatte — har linklags-ACK og retransmisjon. Designvalget følger feilraten på mediet.
-
Hva er forskjellen mellom en hub og en svitsj, og hvordan påvirker dette kollisjonsdomenet?
Svar: En hub er en ren elektrisk repeater — den gjentar alle bits ut på alle andre porter, slik at hele nettet er ett stort kollisjonsdomene. En svitsj er en lag-2-enhet som videresender selektivt basert på MAC-adresser — hver port er et eget kollisjonsdomene.
Hvorfor det betyr noe: På en hub deler alle båndbredden, og to samtidige sendere kolliderer alltid. På en svitsj kan flere par snakke samtidig uten å forstyrre hverandre — en svitsj med 6 porter kan ha 3 uavhengige samtaler i gang. Det er denne segmenteringen, sammen med full-dupleks lenker, som fjernet behovet for CSMA/CD i moderne Ethernet.
-
Forklar self-learning-algoritmen til en svitsj — hva gjør den når den får inn en ramme?
Svar: (1) Lær: les kilde-MAC og noter porten rammen kom fra i forwarding-tabellen, med tidsstempel. (2) Slå opp destinasjons-MAC. (a) Hvis funnet og samme port som inngang → kast (mottaker har allerede hørt). (b) Hvis funnet på annen port → send ut kun der. (c) Hvis ikke funnet → flood ut på alle porter unntatt inngangsporten.
Hvorfor: Svitsjen lærer kun fra kilden, fordi den er verifisert («rammen kom åpenbart fra denne porten»); destinasjonen er bare et håp. Når mottakeren svarer, lærer svitsjen også hvor han er, og videre kommunikasjon går målrettet uten flooding. Aging sletter gamle oppføringer slik at flyttede maskiner ikke feilsendes til. Det er dette som gjør svitsjer plug-and-play.
-
Hva er forskjellene mellom en svitsj og en ruter?
Svar:
- Lag: Svitsj = lag 2 (lenke), ruter = lag 3 (nettverk).
- Adresse: Svitsj ser på MAC-adresser, ruter ser på IP-adresser.
- Tabellen: Svitsjen lærer passivt via self-learning; ruteren bygger sin via aktive rutealgoritmer (OSPF, BGP).
- Oppsett: Svitsj = plug-and-play; ruter må konfigureres.
- Skopet: Svitsj innenfor ett LAN; ruter på tvers av subnett, hele internett.
Hvorfor: Begge er «store-and-forward», men opererer med ulike adresser og ulik horisont. Svitsjen er rask og dum men begrenset til et LAN. Ruteren er smart og fleksibel men har høyere prosesseringskostnad. Du trenger begge: svitsjen håndterer det lokale, ruteren binder LAN-ene sammen.
-
En student kobler en ny laptop til kablet Ethernet på campus og åpner google.com. Hvilke protokoller kjøres før første piksel vises?
Svar (i rekkefølge):
- DHCP — laptopen broadcaster og får IP-adresse, nettmaske, default gateway, DNS-server.
- ARP — laptopen finner gatewayens MAC-adresse på det lokale LAN-et.
- DNS — slår opp
google.com→ IP-adresse (sendes til DNS-server via gateway). - TCP — three-way handshake (SYN / SYN-ACK / ACK) mot Googles server.
- HTTP —
GET / HTTP/1.1sendes; serveren returnerer HTML.
Hvorfor: Det som ser ut som én handling involverer faktisk syv samarbeidende protokoller (også IP og Ethernet under). Hver løser ett spesifikt problem. På grunn av lagdelingen vet ingen av dem at de andre finnes — det er det som gjør internett mulig.
-
Beregn CRC for data
D = 100100med generatorG = 1101. Hva blirR, og hva sendes på kabelen?Svar:
Ghar 4 bit, sår = 3. Skift D tre posisjoner (legg til tre nuller):100100000. XOR-divider med G:100100000 ⊕ 1101 ───────── 01000000 ⊕ 1101 ───────── 1010000 ⊕ 1101 ───────── 111000 ⊕ 1101 ───────── 1100 ⊕ 1101 ───────── 001 ← RDet som sendes på kabelen er
<D,R> = 100100001.Hvorfor: Mottakeren XOR-deler hele 9-bits-sekvensen på samme G og forventer rest 0. Hvis bit har snudd underveis, blir resten ulik 0, og rammen kastes. Trikset er at
<D,R>er konstruert til å være eksakt delelig med G — derfor bærer R akkurat den informasjonen som trengs for å avdekke bitfeil. -
Hvordan er en MAC-adresse strukturert, og hva er broadcast-adressen?
Svar: En MAC-adresse er 48 bit (6 byte), typisk skrevet i heksadesimal med bindestreker eller koloner, f.eks.
1A-2F-BB-76-09-AD. De første 24 bitene er en OUI (Organizationally Unique Identifier) tildelt av IEEE til produsenten; de siste 24 bitene er produsentens egen sekvensnummer. AdressenFF-FF-FF-FF-FF-FFer broadcast — leveres til alle noder på lokal lenke.Hvorfor: OUI-systemet sikrer at MAC-adresser er globalt unike uten et sentralt register — produsenten bare teller seg oppover i sitt tildelte rom. Adressen er innbrent i ROM på NIC-en. Broadcast-adressen brukes blant annet av ARP-queries og DHCP-discover.
-
Hva er Ethernet MTU, hvorfor er den 1500 byte, og hva skjer hvis et IP-datagram er større?
Svar: MTU (Maximum Transmission Unit) er 1500 byte for standard Ethernet — den største payload én ramme kan bære. Et IP-datagram som er større, må fragmenteres av IP-laget før det legges i flere rammer.
Hvorfor 1500: Et historisk kompromiss. Større rammer betyr mindre header-overhead per byte data (bra), men også lengre tid hvor en feil-ramme må retransmitteres og lengre køforsinkelser bak en stor ramme (dårlig). 1500 byte var balansen Metcalfe og medforfattere valgte. Jumbo frames (≈9000 byte) støttes av noen LAN-er, men er ikke standard. Minimum er 46 byte payload (=64 byte ramme totalt) av CSMA/CD-grunner.
-
Forklar overgangen fra delt buss-Ethernet til svitsjet stjerne-Ethernet — og hvorfor CSMA/CD nesten er overflødig i dag.
Svar: Opprinnelig var Ethernet en bussteknologi der alle maskiner delte én lang koaks-kabel — ett stort kollisjonsdomene, og CSMA/CD var nødvendig. Moderne Ethernet er svitsjet: hver vert har en dedikert lenke til en sentral svitsj. Hver lenke er sitt eget kollisjonsdomene med bare to endepunkter, og full-dupleks er standard — begge sider sender samtidig uten å forstyrre.
Hvorfor det betyr noe: Med full-dupleks punkt-til-punkt-lenker oppstår ikke kollisjoner i det hele tatt. CSMA/CD eksisterer fortsatt i Ethernet-spesifikasjonen, men aktiveres kun i sjeldne half-dupleks-tilfeller (gamle hubs, etc.). Det er denne segmenteringen, ikke en raskere variant av CSMA/CD, som ga oss skalering fra 10 Mbit/s til 400 Gbit/s.
-
Hvordan fungerer self-learning når flere svitsjer er koblet sammen i et trehierarki?
Svar: Hver svitsj lærer på egen hånd, via sine egne porter, hvilken retning en gitt MAC-adresse ligger. Hvis A skal sende til G langt unna, floodes første ramme gjennom hele treet, og underveis lærer alle svitsjene hvor A er (de ser kilde-MAC). Når G svarer, lærer alle svitsjene hvor G er. Etter én utveksling i hver retning er ruten oppe og går.
Hvorfor det fungerer: Hver svitsj behøver bare vite hvilken port som peker mot en adresse, ikke hele stien. Det skalerer fordi tabellene forblir små (kun MAC-er svitsjen faktisk har sett rammer fra/til). Aging sletter gamle oppføringer slik at flyttede maskiner ikke feilsendes til. Hele systemet er fortsatt plug-and-play — ingen konfigurasjon trengs.
-
Hva får en nykoblet vert fra en DHCP-server, og hvorfor er det nødvendig?
Svar: DHCP gir verten fire ting: (1) en IP-adresse, (2) nettmasken (subnett-prefiks), (3) IP-en til default gateway (første-hopp-router), og (4) IP-en til en DNS-server.
Hvorfor: Uten en IP-adresse kan ikke verten engang lage IP-pakker. Uten nettmasken vet ikke verten om en gitt destinasjon er på samme LAN (send direkte) eller på et annet (send til gateway). Uten gateway-IP-en kan ingenting forlate LAN-et. Uten DNS-IP-en kan ingen domenenavn slås opp. DHCP-utvekslingen skjer som broadcast (verten kjenner ingen MAC-adresser ennå) og er det aller første som skjer når laptopen plugges i.
-
Hva er CDMA, og hvordan skiller det seg fra TDM og FDM?
Svar: CDMA (Code Division Multiple Access) er den tredje kanalpartisjoneringsprotokollen sammen med TDM og FDM. Mens TDM deler kanalen i tid og FDM i frekvens, gir CDMA hver node en unik kode. Alle noder kan sende samtidig på samme frekvens; mottakeren bruker senderens kode til å trekke ut riktig signal fra summen.
Hvorfor: Med ortogonale koder summerer andres bidrag seg til (omtrent) null hos en mottaker som korrelerer på riktig kode. Brukt i mobilnett (3G) og opprinnelig militær teknologi (anti-jamming). Du trenger bare grunnprinsippet: dimensjonen som deles er kode, ikke tid eller frekvens.
-
Hvilken klasse av multiple access-protokoll tilhører TDM, FDM og CDMA?
Svar: Alle tre er kanalpartisjoneringsprotokoller (Klasse 1). De gir hver node sin egen del av kanalen — i tid (TDM), frekvens (FDM) eller kode (CDMA).
Hvorfor det er felles: Ingen kollisjoner og garantert båndbredde, men sløsing ved lav last fordi en node ikke kan bruke andres tildelte del. Egnet når trafikken er jevn og forutsigbar — typisk mobilnett og satellitt.
-
Hvilken klasse av multiple access-protokoll tilhører ALOHA, slotted ALOHA, CSMA og CSMA/CD?
Svar: Alle fire er random access-protokoller (Klasse 2). De sender uten å reservere kanalen på forhånd og håndterer kollisjoner i etterkant.
Hvorfor det er felles: Effektivt ved lav last (én ensom node bruker hele R), men kollapser ved høy last fordi kollisjonsraten øker. Slotted ALOHA topper på 1/e ≈ 37 %, pure ALOHA på 1/(2e) ≈ 18 %. CSMA/CD legger til lytting og kollisjonsdeteksjon for å redusere bortkastet sendetid.
-
Hvilken klasse av multiple access-protokoll tilhører polling og token passing?
Svar: Begge er «ta tur»-protokoller (Klasse 3). En koordineringsmekanisme bestemmer hvem som får sende — enten en master-node som inviterer (polling), eller et token som sirkulerer mellom nodene.
Hvorfor det er felles: Klassen kombinerer fordeler fra de to andre: ingen kollisjoner og en aktiv node får hele R. Ulempen er overhead (polling-meldinger / token-rundtid) og et single point of failure (mister man master-noden eller tokenet, stopper alt). Bluetooth bruker polling; gammel Token Ring og FDDI brukte token passing.
-
Hva er DOCSIS, og hva er CMTS?
Svar: DOCSIS (Data-Over-Cable Service Interface Specification) er lenkelagsprotokollen i kabelnett-aksess. CMTS (Cable Modem Termination System) er sentralenheten ved hodeenden som koordinerer trafikken fra alle kabelmodemer i området.
Hvorfor: Et kabelnett er en case som bruker flere MAC-protokollklasser samtidig — FDM for å skille opp- og nedstrøms-kanaler, TDM-lignende mini-slots i hver opp-strøms-kanal, og random access for forespørsler om mini-slots. Det illustrerer at virkelige systemer ofte hybrid-kombinerer klassene.
-
Hvordan kombinerer DOCSIS flere multiple access-klasser?
Svar:
- FDM — opp- og nedstrøm bruker hver sine frekvensbånd, og hvert bånd er en egen broadcast-kanal.
- TDM-lignende mini-slots — hver opp-strøms-kanal er delt i tidsluker som CMTS eksplisitt allokerer til kabelmodemer (annonseres i en MAP-melding på nedstrøm).
- Random access — for å be om en mini-slot, sender modemet en mini-slot-request i et eget sett dedikerte tids-slots; disse kan kollidere.
- Sentralisert allokering — CMTS tildeler mini-slots, så ingen kollisjoner i selve datatrafikken.
Hvorfor: Nedstrøm har bare én sender (CMTS) — ingen multiple access-problem. Oppstrøm har mange sendere — derfor mini-slot-request-mekanismen med eksplisitt allokering for å eliminere kollisjoner i datatrafikken.
-
I DOCSIS, hvordan oppdager et kabelmodem at en mini-slot-request kolliderte?
Svar: Modemet kan verken gjøre carrier sense eller kollisjonsdeteksjon på opp-strøms-kanalen. Det infererer en kollisjon ved fravær av svar — hvis CMTS ikke allokerer en mini-slot i den neste MAP-meldingen som svar på forespørselen, antar modemet at requesten kolliderte.
Hvorfor: Etter inferert kollisjon brukes binær eksponentiell backoff (samme prinsipp som Ethernet) for å spre retransmisjonene i tid. Dette ligner mer på ren ALOHA enn på CSMA/CD, fordi modemet ikke kan høre andre senderes signaler på opp-strøms-kanalen.
-
Hva er Internet-checksum, hvor brukes den, og hvordan er den forskjellig fra CRC?
Svar: Internet-checksum behandler dataene som en sekvens av 16-bits heltall, summerer dem, og tar 1-komplementet. Den brukes i TCP, UDP og IP (transportlaget og nettverkslaget). CRC brukes på lenkelaget (Ethernet, WiFi).
Hvorfor forskjell: Transportlaget kjører i programvare i operativsystemet — checksum er enkel og rask å regne ut i SW. Lenkelaget kjører i dedikert maskinvare på NIC-en, hvor mer komplekse CRC-operasjoner går lynraskt med bare et skiftregister og noen XOR-porter. CRC fanger flere feiltyper (særlig burst-feil) enn checksum, men er overkill for SW-implementasjon.
-
Hva er Forward Error Correction (FEC), og når foretrekkes det fremfor retransmisjon?
Svar: FEC er feilretting i mottaker — sender legger til nok redundans (f.eks. via Hamming-koder eller 2D-paritet) til at mottakeren kan rette enkelte feil uten å be om retransmisjon. To-dimensjonal paritet er det enkleste eksemplet (kan rette én bit).
Når foretrekkes FEC: Når propageringsforsinkelsen er stor (lange dyp-rom-lenker eller satellitt) — å vente på en NAK + retransmisjon tar for lang tid. Også for sanntidsapplikasjoner som ikke tåler retransmisjonsforsinkelse. Brukes i lyd-CDer og strømming. Ulempen er ekstra båndbredde-overhead også når det ikke er feil.
-
List opp tre feildeteksjons-strategier som brukes i nettverk, og deres styrker.
Svar:
- Paritetsbit (1D eller 2D) — én eller flere ekstra bits, fanger alle odde antall feil. 2D-paritet kan også rette en enkeltbitfeil. Enkel men relativt svak.
- Internet-checksum — sum av 16-bits ord, tar 1-komplementet. Svakere enn CRC, men raskt å regne i SW. Brukes mest på transport- og nettverkslaget (TCP, UDP, IP).
- CRC (Cyclic Redundancy Check) — modulo-2-polynomdivisjon. Fanger alle bursts ≤ r bit, alle odde antall feil, og lange bursts med sannsynlighet 1 − 0.5ʳ. Implementert i HW på NIC-en. Standard på Ethernet (CRC-32).
Hvorfor flere alternativer: Sterkere deteksjon koster mer regnetid og flere overhead-bits. Lavfeilrate-lenker bruker raske/svake metoder; krevende lenker bruker mer robuste.
-
Hva er de fire ønskede egenskapene til en multiple access-protokoll?
Svar:
- Når kun én node har data å sende, får den hele kanalkapasiteten R.
- Når M noder har data, får hver i snitt R/M (rettferdig deling).
- Desentralisert — ingen master-node som er enkeltfeilpunkt.
- Enkel og billig å implementere.
Hvorfor: Ingen reell protokoll oppfyller alle fire samtidig — de tre klassene representerer forskjellige kompromisser. TDM/FDM mister 1; slotted ALOHA mister 2; polling mister 3; alle reelle systemer betaler en pris et sted.
-
Hvilke av de fire MAC-egenskapene oppfyller slotted ALOHA, og hvilke oppfyller token passing?
Slotted ALOHA:
- ✓ Egenskap 1 — én aktiv node får hele R
- ✗ Egenskap 2 — kollisjoner gjør at maks effektivitet er 1/e ≈ 37 %, ikke ekte R/M
- ✓ Egenskap 3 — desentralisert, ingen master
- ✓ Egenskap 4 — meget enkel
Token passing:
- ~ Egenskap 1 — en aktiv node får R, men venter på tokenet
- ✓ Egenskap 2 — rettferdig deling
- ✓ Egenskap 3 — desentralisert (ingen master)
- ✗ Egenskap 4 — ikke enkel: token-tap krever gjenopprettingsmekanisme
-
Sammenlign størrelsen på MAC-, IPv4- og IPv6-adresserommene.
Svar:
- MAC: 48 bit → 2⁴⁸ ≈ 2.8 × 10¹⁴ adresser
- IPv4: 32 bit → 2³² ≈ 4.3 × 10⁹ adresser
- IPv6: 128 bit → 2¹²⁸ ≈ 3.4 × 10³⁸ adresser
Hvorfor: MAC ble designet med rikelig margin (en NIC per dings) men er flat — ingen aggregering. IPv4 er hierarkisk, men i praksis tom — derav NAT og IPv6. IPv6-rommet er astronomisk stort og går aldri tom i praksis.
-
Etter den 5. kollisjonen i CSMA/CD: hva er P(K = 4), og hvor lenge venter noden i sekunder på 10 Mbps Ethernet?
Svar: Etter m kollisjoner velges K uniformt fra {0, 1, …, 2ᵐ − 1}. Med m = 5 er settet {0, …, 31} — 32 mulige verdier — så P(K = 4) = 1/32.
Ventetiden er K · 512 bit-tider = 4 · 512 = 2048 bit-tider. På 10 Mbps tilsvarer 1 bit 0.1 µs (= 10⁻⁷ s), så ventetiden blir 2048 · 0.1 µs = 204.8 µs ≈ 0.2 ms.
Hvorfor formelen: 512 bit-tider tilsvarer rundturs-propagering i et maks Ethernet-segment — slik at en ny ramme ikke kan kollidere med en pågående.
-
Hvis alle lenker tilbød pålitelig levering på lenkenivå, ville TCPs pålitelighetstjeneste vært overflødig?
Svar: Nei. Selv med pålitelige lenker kan datagrammer fortsatt gå tapt eller bli korrupte i ruterne — for eksempel ved bufferoverflyt (kø-tap), feil i ruterminne, eller andre hendelser mellom lenkene. Pålitelighet på lenkenivå garanterer kun at hvert hopp leverer rett, ikke at ende-til-ende-leveransen er rett.
Hvorfor: Dette er den klassiske «end-to-end»-argumentasjonen. Pålitelighet trengs der den brukes — hos endepunktene. TCP gir ende-til-ende-garantier som ingen sum av lenkelagsgarantier kan matche.
-
Hva er ARP-tabellens TTL, og hvorfor finnes den?
Svar: Hver oppføring i ARP-tabellen har en TTL (Time-To-Live), typisk 20 minutter. Når TTL utløper, slettes oppføringen og må læres på nytt ved neste behov.
Hvorfor: En verts MAC-adresse kan endres (nytt nettverkskort, virtualisert vert, en annen vert som arver IP-en). Hvis ARP-cachen aldri oppdateres, vil rammer feilsendes til en gammel adresse for alltid. TTL gjør at systemet selv-helbreder etter endringer, uten manuell konfigurasjon. Det er prisen for plug-and-play.
-
Hva er den «sårbare perioden» i ALOHA, og hvorfor er den dobbelt så lang i pure som i slotted?
Svar: Den sårbare perioden er tidsvinduet hvor en annen nodes start vil kollidere med din ramme. I slotted ALOHA er den 1 slot (T) — en kollisjon kan bare skje hvis en annen node sender i samme slot. I pure ALOHA er den 2T — din ramme kan kollidere med en annen som startet inntil T sekunder før (slutten av deres ramme overlapper med starten av din), og med en annen som starter inntil T sekunder etter (starten deres overlapper med slutten av din).
Hvorfor det forklarer effektiviteten: Dobbelt så lang sårbar periode → dobbelt så stor kollisjonssannsynlighet → halvparten av effektiviteten: 1/(2e) i pure mot 1/e i slotted.
-
Hva er forskjellen på filtering og forwarding i en svitsj?
Svar:
- Filtering — å bestemme om en ramme skal kastes eller videreføres. Brukes når svitsjen ser at destinasjonen er på samme port som rammen kom inn på (mottakeren har allerede hørt rammen).
- Forwarding — å bestemme hvilken port rammen skal sendes ut på, og legge den i riktig output-buffer.
Hvorfor begrepene: Begge skjer ved oppslag i samme svitsjtabell, men beskriver to ulike utfall. Filtering hindrer unødvendig trafikk på segmenter som ikke trenger å se rammen — det er en del av grunnen til at svitsjer er bedre enn hubber.
-
Når en svitsj mottar en ramme på port x — hvilke tre tilfeller kan oppstå basert på destinasjons-MAC?
Svar:
- Ingen oppføring for destinasjon → svitsjen flooder rammen ut på alle porter unntatt port x.
- Oppføring peker på samme port x → svitsjen filtrerer (kaster) rammen, fordi mottakeren allerede har hørt den.
- Oppføring peker på en annen port y → svitsjen videresender rammen ut på port y.
Hvorfor flooding er trygt: Selv om floodede rammer skaper unødvendig trafikk midlertidig, er de selvbegrensende. Mottakeren svarer, og da lærer svitsjen hvor mottakeren ligger — fremtidig kommunikasjon blir målrettet.
-
Hva er aging i en svitsjtabell, og hvorfor er det viktig?
Svar: Aging er at hver tabelloppføring har et tidsstempel og slettes etter en periode uten trafikk fra MAC-en (typisk noen minutter). Når en ramme kommer fra en kjent MAC, oppdateres tidsstempelet.
Hvorfor: Verter flyttes mellom porter (laptop kobles til en annen kontakt, server byttes ut, kabel kobles om). Uten aging ville en flyttet vert få trafikk sendt til feil port for alltid. Aging gjør svitsjen selvtilpassende — en del av plug-and-play-egenskapen.
-
På et delt LAN sender A en unicast-ramme til B. Vil C's adapter prosessere rammen? Hva endres ved broadcast?
Unicast (dst-MAC = B): C's adapter mottar bitsekvensen fysisk, men sjekker destinasjons-MAC, ser at det ikke er sin egen, og kaster rammen i HW. Ingenting passes opp til nettverkslaget. C's CPU forstyrres ikke.
Broadcast (dst-MAC = FF-FF-FF-FF-FF-FF): C's adapter aksepterer rammen og sender innholdet opp til nettverkslaget — som så avgjør hva som skal skje med datagrammet (typisk DHCP eller ARP).
Hvorfor: Adressefiltrering i HW er nettopp poenget med MAC-adresser — å spare CPU-en for å bli forstyrret av all trafikken på et delt medium.
-
Kan samme MAC-adresse opptre i to forskjellige ARP-tabeller på samme ruter?
Svar: Nei, ikke i normal drift. Hvert ARP-modul tilhører ett spesifikt grensesnitt (subnett) og har bare oppføringer for verter på sin egen lenke. En vert har én NIC per LAN, så MAC-en sees kun i ett av subnettene ruteren er koblet til.
Et unntak: Hvis en vert har flere NIC-er (én per subnett), har den forskjellige MAC-er per NIC — så fortsatt ingen overlapp. Hvis adressen er duplisert i to tabeller, er det en feil (MAC-konflikt eller cache-forgiftning).
-
En NIC-produsent får ett OUI-block (24 bit reservert OUI, 24 bit fritt). Hvor mange år rekker det hvis de produserer 1 million adaptere per år?
Svar: Ett OUI-block gir 2²⁴ = 16 777 216 unike adresser. Med 1 000 000 adaptere/år rekker det:
2²⁴ / 10⁶ ≈ 16.78 årHvorfor det betyr noe: Store produsenter (Intel, Apple, Samsung) bruker opp et OUI-block raskt og får tildelt flere fra IEEE. Eksemplet illustrerer hvorfor MAC-adresserommet (selv om det er stort: 2⁴⁸) må administreres.
-
Hvorfor sendes ARP-query som broadcast, men ARP-reply som unicast?
Svar: En ARP-query må nå alle for å finne den ene som har den etterspurte IP-en — derfor broadcast (FF-FF-FF-FF-FF-FF). Men i query-en står spørrerens egen MAC-adresse, så den som svarer vet nøyaktig hvor svaret skal — derfor unicast.
Hvorfor: Broadcasting er dyrt — alle adaptere må prosessere rammen og kanskje vekke CPU-en. Bruk det bare når man må. Etter at en node er funnet via ARP, kan all videre kommunikasjon gå unicast.
-
Hvorfor har en svitsj output-buffere, og hva betyr det for forsinkelse?
Svar: Flere innkommende rammer kan være på vei til samme utgangsport samtidig (eller raskere enn portens linehastighet kan ta unna). Svitsjen lagrer dem i en output-buffer per port til de kan sendes. Dette er store-and-forward-prinsippet, akkurat som i en ruter.
Konsekvens for forsinkelse: En ramme kan oppleve køforsinkelse i svitsjen om porten er travel. Hvis bufferet blir fullt, dropper svitsjen rammer (akkurat som en ruter). Tap på grunn av køoverflyt skjer derfor også på lenkelaget, ikke bare i ruterne.
-
Hvorfor sies svitsjer å være «plug-and-play», mens rutere ikke er det?
Svar: En svitsj trenger ingen konfigurasjon — den lærer opp tabellen sin selv ved å observere kilde-MAC i innkommende rammer (self-learning). Plugg den inn, og den fungerer.
Rutere må konfigureres fordi: hvert grensesnitt trenger en IP-adresse i riktig subnett, det må settes opp en rutealgoritme (OSPF, BGP) eller statiske ruter, og IP-tildeling for hosts (DHCP) må ofte settes opp. IP-adresser er ikke innbrent — de må styres.
Hvorfor: Svitsjer er enkle og raske, men begrenset til ett LAN. Rutere er kraftigere, men koster mer i konfigurasjons- og prosesseringstid. Praksis: bruk svitsjer innenfor en bygning, rutere mellom subnett.
-
Hva betyr Ethernet-navngivningen «100BASE-T» og «1000BASE-LX»?
Svar:
- 100 / 1000 — datarate i Mbit/s (100 Mbit/s, 1 Gbit/s, osv.).
- BASE — baseband-overføring (kun Ethernet-trafikk på mediet, ingen frekvensmultipleksing).
- T — twisted-pair kobber.
- LX, FX, SX — fiberbaserte varianter (X = optisk fiber).
Hvorfor: Alle 802.3-Ethernet-standarder deler samme rammeformat og MAC-protokoll, men har ulik datarate og ulikt fysisk medium. Selv om standardene heter forskjellige ting, ser rammen din lik ut på 10BASE-T (10 Mbit/s) og 10GBASE-T (10 Gbit/s).
-
Hva er innholdet i Ethernets 8-byte preamble, og hva gjør den siste byten spesielt?
Svar: De første 7 bytene er
10101010hver — en jevn vekslende bit-strøm som lar mottakerens klokke synkronisere seg med senderens. Den 8. byten er10101011— siste to bit «11» er start frame delimiter (SFD) som markerer at rammen begynner.Hvorfor: Senderens og mottakerens klokker drifter litt fra hverandre. Ved å først sende et forutsigbart mønster gir senderen mottakeren tid til å låse seg på riktig bit-tid. SFD signaliserer at preamblen er over og at neste byte er destinasjons-MAC.
-
Hva sier formelen for CSMA/CD-effektivitet, og hva betyr den intuitivt?
Svar: Effektivitet ≈
1 / (1 + 5 · d_prop / d_trans), der d_prop er propageringstiden mellom de fjerneste nodene og d_trans er sendetiden for en maks-størrelse ramme.Intuisjon:
- Hvis d_prop → 0 (kort kabel) → effektiviteten → 1. Kollisjoner detekteres umiddelbart, ingen tid sløses.
- Hvis d_trans → ∞ (store rammer) → effektiviteten → 1. Når en node først har kanalen, holder den den lenge.
- Lange kabler eller små rammer reduserer effektiviteten.
Dette er mye bedre enn slotted ALOHAs 37 % — derfor brukes CSMA/CD når kabellengden tillater kollisjonsdeteksjon i tide.
-
Hva betyr det at en svitsj er «transparent», og hva er konsekvensen?
Svar: Transparent betyr at vertene ikke vet at svitsjen er der — de adresserer rammer direkte til andre verters MAC, ikke til svitsjen. Svitsjen videresender bare basert på destinasjons-MAC; den har ingen egen MAC-adresse på portene som hostene ser.
Konsekvens: Du kan plugge en svitsj inn i et eksisterende nett uten å konfigurere noe på vertene. Svitsjen er usynlig for IP-laget. Sammenlign med en ruter: ruteren har en egen IP-adresse på hvert grensesnitt, og hostene må kjenne den (default gateway).
-
Hvorfor er det ingen protokoll som oppfyller alle fire MAC-egenskaper samtidig?
Svar: Hver klasse må gi opp minst én egenskap:
- Kanalpartisjonering (TDM/FDM/CDMA) gir opp egenskap 1 — én aktiv node får bare R/N, ikke R.
- Random access (ALOHA, CSMA/CD) gir opp egenskap 2 — kollisjoner gjør at M aktive noder ikke deler R/M rettferdig.
- Polling gir opp egenskap 3 — krever en master, som er enkeltfeilpunkt.
- Token passing gir opp egenskap 4 — token-tap krever ekstra gjenopprettingsmekanismer.
Hvorfor: Det er en grunnleggende kompromiss-situasjon. Hvilken klasse du velger avhenger av lasten du forventer og hvor robust du trenger systemet.
Test deg selv
Sjekk om du har forstått de viktigste konseptene fra dette kapittelet.