De transportlaag, die voornamelijk gebruikmaakt van TCP en UDP, stelt een host in staat meerdere gelijktijdige communicatiestromen over verschillende applicaties te onderhouden via poortnummers .
Hier is hoe het werkt:
* Sockets: Elke communicatiestroom (verbinding) wordt geïdentificeerd door een socket. Een socket is een combinatie van een IP-adres en een poortnummer. Het IP-adres identificeert de host en het poortnummer maakt onderscheid tussen verschillende applicaties of processen die op die host draaien.
* Poortnummertoewijzing: Het besturingssysteem wijst unieke poortnummers toe aan het communicatieproces van elke toepassing. Deze poorten zijn doorgaans kortstondige poorten (dynamisch toegewezen) in het bereik boven 1024. Bekende poorten (onder 1024) zijn gereserveerd voor standaardservices zoals HTTP (poort 80), HTTPS (poort 443) en FTP (poorten 20 en 21).
* Multiplexen en demultiplexen: De transportlaag voert multiplexing uit aan de zendende kant en demultiplexing aan de ontvangende kant.
* Multiplexen: Wanneer meerdere applicaties gegevens willen verzenden, haalt de transportlaag de gegevens van elke applicatie, voegt het juiste poortnummer toe (waarmee de bestemmingsapplicatie wordt geïdentificeerd) en kapselt deze in in een transportlaagsegment (TCP-segment of UDP-datagram). Al deze segmenten worden vervolgens ter levering aan de netwerklaag doorgegeven.
* Demultiplexen: Bij de ontvangende host onderzoekt de transportlaag het poortnummer in elk binnenkomend transportlaagsegment. Op basis van dit poortnummer worden de gegevens doorgestuurd naar de juiste applicatie. Dit zorgt ervoor dat gegevens die voor de ene toepassing bedoeld zijn, niet verwisseld worden met gegevens voor een andere toepassing.
Voorbeeld:
Stel je voor dat een gebruiker een website bezoekt (HTTP, poort 80) en tegelijkertijd een bestand overdraagt (FTP, poorten 20 en 21) op dezelfde computer.
* De webbrowser gebruikt één socket (IP-adres van de webserver, poort 80) om met de webserver te communiceren.
* De FTP-client gebruikt een andere set sockets (IP-adres van de FTP-server, poorten 20 en 21) om met de FTP-server te communiceren.
De transportlaag multiplext de gegevens van zowel de browser als de FTP-client en verzendt deze via afzonderlijke sockets over het netwerk. Bij de ontvangende host demultiplext de transportlaag deze gegevens, zodat de webserver alleen de HTTP-gegevens ontvangt en de FTP-server alleen de FTP-gegevens ontvangt.
Kortom, poortnummers vormen het cruciale mechanisme voor het onderscheiden van de communicatiestromen van verschillende applicaties op de transportlaag, waardoor gelijktijdige communicatie mogelijk wordt. Zonder dit adresseringsmechanisme zou het onmogelijk zijn om de gegevens correct te beheren en door te sturen naar de vele verschillende applicaties die op een host draaien. |