Hopp til innhald
Fagartikkel

TCP, UDP og portar

TCP og UDP er protokollar (felles regelsett) for korleis informasjon frå eit køyrande dataprogram som skal sendast over nettverk, blir delt opp i datapakkar. Datapakkane blir merkte med pakkenummer og portnummer slik at mottakaren skal kunne setje dei saman og sende informasjonen til rett program.

Dei fleste datapakkar som går via nettverk og over internett bruker anten TCP (Transmission Control Protocol) eller UDP (User Datagram Protocol). Desse transportprotokollane ligg på lag 4, transportlaget, i TCP/IP-modellen.

Protokollane deler opp data frå program (prosessar) som ønsker å sende data ut over nettverk eller internett. Dataa blir delte opp i datapakkar, og kvar pakke får eit pakkehovud med informasjon om portnummer, sjekksum og, for TCP, sekvensnummer (sequence number).

Portnummer

Portnummer er eit nummer mellom 1 og 65 535 som datapakkar blir merkte med for å indikere kva program dei skal leverast til hos mottakarmaskina.

Standardiserte portnummer

Mange av portnummera er standardiserte. Til dømes er port 22 standardport for SSH, som blir brukt for fjernstyring av Linux-terminal, og 443 er standardport for nettlesartrafikk i HTTPS. Dei fleste program vil forvente at standard portnummer blir brukte, men vi kan overstyre dette ved behov. I slike tilfelle må portnummeret spesifiserast både på server- og klientsida. Om du til dømes set opp ein webserver, kan du setje han til å bruke port 8 000. For å nå denne frå ei klientmaskin må portnummeret òg spesifiserast, til dømes ved å skrive inn adressa under i nettlesaren:

https://192.168.1.55:8000

Wikipedia har ei liste over portnummer og tenestene dei er assosierte med, anten offisielt eller av vane:

Wikipedia: List of TCP and UDP port numbers

Sikkerheitsrisiko ved å ha portar opne mot internett

Standardportar for fjernstyring av serverar, som SSH og RDP (Remote Desktop Protocol) er vanlege mål for eksterne trusselaktørar. Serverar som har tenester som kan nåast frå internett, bør ikkje ha desse portane sett opp slik at dei aksepterer trafikk utanfrå lokalnettverk.

Sjølv bruk av ikkje-standardiserte portar er risikabelt då moderne skannarverktøy kan finne ut kva tenester som aksepterer trafikk på kva portar.

Det er derfor tilrådd å setje opp VPN, avgrense kva IP-område (ranges) som har løyve til å ta kontakt på desse portane eller andre tiltak som hindrar at eksterne har nokon som helst moglegheit til å prøve tilkopling til portar relaterte til fjernstyring.

UDP

UDP (User Datagram Protocol) er ein transportprotokoll som er spesialisert for hurtig kommunikasjon (time-sensitive) til dømes ved overføring av video og lydstraumar og DNS-oppslag.

UDP har ikkje fram-og-tilbake-kommunikasjonen mellom avsendar og mottakar som sikrar at datapakkane faktisk kjem fram. Overføringar med UDP kan dermed ha noko pakketap. Dette gjer UDP upassande for sending av datafiler, men bra for straumar og enkle kommunikasjonspakkar. UDP blir ofte brukt for nettbaserte spel der låg forseinking er essensielt. I slike tilfelle må det byggast inn i spelklient og servar korleis dei skal handtere tapte datapakkar.

TCP

TCP (Transmission Control Protocol) er ein transportprotokoll med funksjonalitet for å hindre pakketap. TCP-datapakkar blir merkte med eit sekvensnummer som identifiserer kvar pakke sitt nummer i rekka av datapakkar.

Det går aktiv kommunikasjon fram og tilbake mellom klient og servar. Dette sikrar at datapakkar som går tapt undervegs på veg til mottakaren, blir sende på nytt frå avsendaren. Ulempa med den ekstra kommunikasjonen er at protokollen gir noko høgare forseinking.


Relatert innhald

Fagstoff
TCP/IP-modellen

TCP/IP-modellen viser korleis datapakkar blir bygde opp for å få dei fram til riktig mottakar og korleis dei blir tolka når dei kjem fram.