Transmission Control Protocol (TCP) er designet til at håndtere multipleksing ved at bruge portnumre til at identificere forskellige applikationer eller processer på en enkelt computer. Hver applikation eller proces er tildelt et unikt portnummer, som gør det muligt for TCP-laget at skelne mellem indgående datastrømme og levere dem til den relevante applikation. Sådan håndterer TCP multipleksing:
TCP-portnumre:
- Hvert TCP-portnummer er et 16-bit usigneret heltal, der spænder fra 0 til 65535.
- Velkendte porte (0 til 1023) er reserveret til standardtjenester og applikationer, såsom HTTP (port 80), FTP (port 21) og SMTP (port 25).
- Kortvarige porte (over 1023) er dynamisk tildelt til midlertidige forbindelser, såsom dem, der bruges af webbrowsere.
Multipleksing af indgående data:
- Når data ankommer til et TCP-slutpunkt (IP-adresse og portnummerkombination), undersøger TCP-laget destinationsportnummeret.
- Hvis portnummeret matcher en velkendt port, sender det dataene til den tilsvarende tjeneste eller applikation.
- Hvis portnummeret er en flygtig port, slår den processen eller applikationen, der er knyttet til den pågældende port, op i dens interne datastrukturer og videresender dataene i overensstemmelse hermed.
Multipleksing af udgående data:
- Når en applikation sender data til en specifik destinations-IP-adresse og portnummer, tjekker TCP-laget, om der er en eksisterende forbindelse til det endepunkt.
- Hvis der findes en forbindelse, tilføjer den dataene til forbindelsens sendebuffer.
- Hvis der ikke er nogen eksisterende forbindelse, etablerer den en ny TCP-forbindelse ved at sende en SYN-pakke til destinationsadressen og porten.
- Når forbindelsen er etableret, sendes dataene gennem den etablerede forbindelse.
Ved at bruge portnumre som identifikatorer multiplekser TCP flere datastrømme over en enkelt netværksforbindelse, hvilket sikrer, at data fra forskellige applikationer eller processer er korrekt rutet og leveret til deres tilsigtede modtagere.