Datalink-laget er det andre av de sju lagene i OSI-modellen. Det utfører tjenester for nettverkslaget og benytter seg av tjenestene på det fysiske laget.

Datalink-laget er det laget i modellen som sørger for at data er overført korrekt mellom to tilstøtende nettverksenheter. Datalink-laget tilbyr metoder for å overføre data mellom enhetene og sørger for å oppdage, og om mulig rette opp, mulige feil som oppstår på det fysiske laget. Eksempler på datalink-protokoller er Ethernet for lokale datanett, og PPP, HDLC og ADCCP for punkt-til-punkt forbindelser.

Datalink-laget omhandler bare det å få informasjon fra et sted til et utvalg av tilstøtende steder. Det er ikke noe behov for data på dette laget å kunne nå overalt, bare å nå et annet sted. Ansvaret for at informasjonen skal komme videre til den endelige mottakeren overlates til nettverkslaget.

Dette laget er bygget opp av to komponenter. Den ene komponenten er Logical Link Control, som avgjør hvor en ramme med data slutter og den neste begynner. I et brevpostnettverk er hvert brev en ramme med data, og man kan lett se hvor er brev begynner og slutter fordi det er inni en konvolutt. Man kan også spesifisere at et brev skal begynne med «Hei» og slutte med «Vennlig hilsen».

Den andre komponenten er Media Access Control (medietilgangskontroll). Denne komponenten avgjør hvem som har tilgang til mediet til enhver tid. Det er i hovedsak to typer medietilgangskontroll: distribuert og sentralisert. Begge disse kan sammenlignes med kommunikasjon mellom personer:

  • I et nettverk med folk som snakker, altså en samtale, ser vi etter tegn fra våre samtalepartnere på at de er i ferd med å begynne å snakke. Hvis to personer begynner å snakke samtidig, vil de stoppe opp og begynne et spill om hvem som skal få snakke først. Dette er distribuert styring.
  • I mer formelle sammenhenger og debatter er det ofte en ordfører som avgjør hvem som til enhver tid har ordet. Dette er sentralisert styring.

Eksempler rediger

Grensesnitt rediger

Datalink-laget er ofte implementert i programvare som en nettverkskortdriver. Operativsystemet har definerert et programvaregrensesnitt mellom datalink-laget og resten av stakken ovenfor. Dette grensesnittet utgjør ikke et lag, men er bare en definisjon på kommunikasjon mellom lagene. Noen eksempler er: