Transmission Control Protocol (TCP) er utviklet for å håndtere multipleksing ved å bruke portnumre for å identifisere ulike applikasjoner eller prosesser på en enkelt datamaskin. Hver applikasjon eller prosess er tildelt et unikt portnummer, som gjør at TCP-laget kan skille mellom innkommende datastrømmer og levere dem til riktig applikasjon. Slik håndterer TCP multipleksing:
TCP-portnumre:
- Hvert TCP-portnummer er et 16-bits usignert heltall, fra 0 til 65535.
- Velkjente porter (0 til 1023) er reservert for standardtjenester og applikasjoner, som HTTP (port 80), FTP (port 21) og SMTP (port 25).
- Kortvarige porter (over 1023) er dynamisk tilordnet til midlertidige tilkoblinger, for eksempel de som brukes av nettlesere.
Multipleksing av innkommende data:
- Når data kommer til et TCP-endepunkt (kombinasjon av IP-adresse og portnummer), undersøker TCP-laget destinasjonsportnummeret.
- Hvis portnummeret samsvarer med en kjent port, sender det dataene til den tilsvarende tjenesten eller applikasjonen.
- Hvis portnummeret er en flyktig port, slår det opp prosessen eller applikasjonen knyttet til den porten i dens interne datastrukturer og videresender dataene deretter.
Multipleksing av utgående data:
- Når en applikasjon sender data til en bestemt destinasjons-IP-adresse og portnummer, sjekker TCP-laget om det er en eksisterende tilkobling til det endepunktet.
- Hvis en tilkobling eksisterer, legger den dataene til tilkoblingens sendebuffer.
- Hvis det ikke er noen eksisterende tilkobling, etablerer den en ny TCP-tilkobling ved å sende en SYN-pakke til destinasjonsadressen og porten.
- Når tilkoblingen er opprettet, sendes dataene gjennom den etablerte tilkoblingen.
Ved å bruke portnumre som identifikatorer, multiplekser TCP flere datastrømmer over en enkelt nettverkstilkobling, og sikrer at data fra forskjellige applikasjoner eller prosesser blir riktig rutet og levert til de tiltenkte mottakerne.