Transmission Control Protocol (TCP) är utformat för att hantera multiplexering genom att använda portnummer för att identifiera olika applikationer eller processer på en enda dator. Varje applikation eller process tilldelas ett unikt portnummer, vilket gör att TCP-lagret kan skilja mellan inkommande dataströmmar och leverera dem till lämplig applikation. Så här hanterar TCP multiplexering:
TCP-portnummer:
- Varje TCP-portnummer är ett 16-bitars osignerat heltal, från 0 till 65535.
- Välkända portar (0 till 1023) är reserverade för standardtjänster och applikationer, som HTTP (port 80), FTP (port 21) och SMTP (port 25).
- Kortvariga portar (över 1023) tilldelas dynamiskt till tillfälliga anslutningar, till exempel de som används av webbläsare.
Multiplexering av inkommande data:
- När data kommer till en TCP-slutpunkt (kombination av IP-adress och portnummer) undersöker TCP-lagret destinationsportnumret.
– Om portnumret stämmer överens med en välkänd port dirigerar den data till motsvarande tjänst eller applikation.
- Om portnumret är en tillfällig port, letar den upp processen eller applikationen som är associerad med den porten i dess interna datastrukturer och vidarebefordrar data därefter.
Multiplexering av utgående data:
- När ett program skickar data till en specifik destinations-IP-adress och portnummer, kontrollerar TCP-lagret om det finns en befintlig anslutning till den slutpunkten.
- Om en anslutning finns lägger den till data till anslutningens sändbuffert.
- Om det inte finns någon befintlig anslutning upprättas en ny TCP-anslutning genom att skicka ett SYN-paket till destinationsadressen och porten.
- När anslutningen är upprättad skickas data via den etablerade anslutningen.
Genom att använda portnummer som identifierare multiplexerar TCP flera dataströmmar över en enda nätverksanslutning, vilket säkerställer att data från olika applikationer eller processer dirigeras korrekt och levereras till deras avsedda mottagare.