Transportlaag

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken
OSI-model

7: Toepassingslaag
6: Presentatielaag
5: Sessielaag
4: Transportlaag
3: Netwerklaag
2: Datalinklaag
1: Fysieke laag

De transportlaag is de vierde laag uit het OSI-model, en zorgt voor het probleemloze transport van data voor de applicaties. De meest gebruikte protocollen uit deze laag zijn het Transmission Control Protocol (TCP) en het User Datagram Protocol (UDP), data-eenheden uit deze laag worden meestal segmenten (of datagrammen in het geval van UDP) genoemd.

Verbindinggeoriënteerd[bewerken]

Bepaalde transportlaag-protocols, waaronder het TCP, bieden de hogere lagen een 'verbinding'. Door het leveren van een betrouwbaarheid, congestion control, volgordecontrole en foutcontrole als dienst aan de hogere lagen uit het OSI-model, lijkt het voor de applicaties en de gebruiker alsof er een vaste verbinding is tussen de systemen. Ook al levert de netwerklaag alleen een verbindingsloze dienst, waarbij alle data in losse delen (packets) wordt verstuurd en ontvangen (packetswitching), en is er geen lijn exclusief gereserveerd voor deze verbinding. De verbinding die de transportlaag levert wordt alleen geregistreerd op de twee eindsystemen.

Betrouwbaarheid[bewerken]

Het protocol uit de onderliggende netwerklaag, bijvoorbeeld het Internet Protocol (IP), levert een zogenoemde best-effort delivery dienst. Hierdoor is het nooit zeker of een bepaald pakket zal aankomen op de bestemming, omdat het netwerklaag-protocol alleen zijn uiterste best zal doen. Bepaalde protocollen uit de transportlaag (bijvoorbeeld TCP), kunnen deze zekerheid wel leveren. Met behulp van de SYN- (SYNchronise) en ACK-segmenten (ACKnowledge), houden zij bij of er data verzonden kan worden, en of de data aangekomen is. Aan ACK-segment wordt meestal ook het volgnummer toegevoegd, zodat er sneller besloten kan worden, of er bepaalde segmenten opnieuw moeten worden verstuurd (bij verloren of beschadigde segmenten). Wanneer de verbinding wordt verbroken wordt dit door middel van een FIN-segment duidelijk gemaakt.

Congestion control[bewerken]

Om te voorkomen dat netwerken of systemen te zwaar belast blijven, in het geval van grote hoeveelheden data, bieden sommige datalinklaag-protocols de mogelijkheid tot congestion control. Hierbij wordt in de header van een segment aan de verzender doorgegeven dat de ontvanger op het moment te zwaar belast is, en dat er even gewacht moet worden met het versturen van data. Waardoor wordt voorkomen dat verzenders een overbelast netwerk, overbelast blijven houden door het opnieuw sturen van segmenten, wanneer deze als gevolg van de problemen niet, of niet op tijd aankomen.

Volgordecontrole[bewerken]

Een andere dienst die door een protocol uit de transportlaag kan worden geleverd, is het bijhouden van de volgorde van alle segmenten. Hierbij wordt door het protocol een volgnummer aan de header toegevoegd. Waardoor het in gevallen wanneer de pakketten van het netwerklaag-protocol in de verkeerde volgorde aankomen (bijvoorbeeld wanneer de pakketten via andere knooppunten over een netwerk zijn gestuurd), toch nog mogelijk is om de data te herstellen en opnieuw in goede volgorde te plaatsen. Dit is een dienst die wel door TCP wordt geleverd, maar niet door UDP. Door het controleren van de datavolgorde, en alle data in een buffer te plaatsen, is het mogelijk om applicaties een bytestream te leveren. Een stroom van data, zodat de applicatie niet meer hoeft te wachten op het binnenkomen van de data.

Foutcontrole[bewerken]

Ook de foutcontrole van verbindingen wordt door de transportlaag geleverd. Het protocol berekent voor alle uitgaande data de checksum, en voegt deze toe aan de header van het uitgaande segment. Voor alle binnenkomende data wordt de berekende checksum vergeleken met de ontvangen checksum, zodat er kan worden gecontroleerd of alles intact is aangekomen.

Poorten[bewerken]

Diensten die protocollen uit de transportlaag kunnen bieden zijn de TCP- en UDP-poorten. Wanneer aan iedere applicatie een uniek poortnummer (door middel van een socket) wordt gegeven, wordt het mogelijk om meerdere applicaties tegelijk te laten communiceren met andere systemen. Het transpoortlaag-protocol zal dan voor alle segmenten die binnenkomen, zorgen dat ze naar de bij het poortnummer behorende socket worden gestuurd, dit wordt demultiplexing genoemd. Alle data die verzonden wordt over de sockets van een systeem, worden door ditzelfde protocol 'verpakt' en aangevuld met header-informatie, ook wel multiplexing genoemd.

Protocollen[bewerken]

Er zijn een groot aantal datacommunicatieprotocollen die zich binnen de beschrijving van de transportlaag bevinden. Voorbeelden hiervan zijn:

Internet

IBM/Microsoft

  • NetBEUI (NetBios Extended user interface)

Apple

  • AURP (Apple Talk Update-based Routing Protocol)
  • RTMP (Routing Table Maintenance Protocol)
  • AEP (AppleTalk Echo Protocol)
  • ATP (AppleTalk Transaction Protocol)
  • NBP (Name Binding Protocol)

DEC

  • NSP (Network Services Protocol)

OSI

  • TP0, TP1, TP2, TP2, TP4 (transport Protocol)
Bronnen, noten en/of referenties
  • Computernetwerken, Een 'top-down'-benadering, James F. Krose en Keith W. Ross, Addison-Wesley/Pearson Education Benelux, 2003, ISBN 90-430-0806-0