Hvad er en netværksport?

click fraud protection

Det er klart, at den mest almindelige brug af ordet havn refererer til skibsfart. Computing bruger dog også udtrykket port. Faktisk har den to anvendelser. Den første henviser til den stikkontakt, som et kabel kan tilsluttes. Typiske eksempler vil omfatte en USB- eller Ethernet-port. Teknisk set kunne en ethernet-socket opfattes som en netværksport. Det er ikke den accepterede betydning af ordet port i netværk. En netværksport er et logisk tal, der identificerer, hvilken proces eller netværkstjeneste netværkstrafik er beregnet til eller sendes af.

Hvorfor er portnumre nødvendige?

Når din computer kommunikerer med en webserver på internettet, sætter den sin IP-adresse i afsenderfeltet. Dette lader serveren vide, hvilken IP-adresse den skal bruge for at sende svaret. Når dette svar vender tilbage til din computer, fortolker din browser svaret og gengiver websiden.

Dette fungerer fint i et idealiseret system med ét stykke software, der laver og modtager netværkstrafik. Den virkelige verden er dog ikke sådan. På enhver computer er der en række software, der laver netværkstrafik. For at sikre, at netværkstrafikken afleveres korrekt til det rigtige program, i nogle tilfælde den korrekte proces i et program. Et sidste adresselag bruges portnummeret.

Forestil dig at have en webbrowser med to åbne faner og et online videospil samtidigt. Hver browserfane skal være i stand til at sende og modtage netværkstrafik, potentielt samtidigt. Onlinespillet skal også både sende og modtage netværkstrafik. Du ønsker ikke, at dit spil skal filtrere tilfældige websvar fra, og du vil heller ikke have, at din browser skal filtrere din spiltrafik. Begge faner og spillet vil blive tildelt mindst én netværksport hver, så den påtænkte modtagerproces let kan bestemmes.

Det samme virker også for servere. Antag, at du har en server, der kører både en webserver og en e-mail-server. I så fald lader portnummeret operativsystemet nemt skelne mellem, hvilke netværkspakker der er beregnet til hvilken tjeneste.

Hvad er portnumre?

Portnumre har form af et 16-bit heltal uden fortegn. Det betyder, at der er seksten binære bit til at udgøre tallene, ingen negative tal, og alle tal er hele. Dette tillader 65536 mulige portnumre fra 0 til 65535. Der er ikke noget fysisk havnesystem.

Hele adresseringsskemaet, ligesom med IP-adresser og MAC-adresser, er helt logisk. Du kunne tænke på IP- og MAC-adresserne som adressen på et brev for at få det til dit hus/computer. I denne analogi vil portnummeret være som navnet på konvolutten, hvilket sikrer, at det kommer til den rigtige person/proces i dit hus/computer.

Inden for portnummerrummet er der en anden struktur. Portnummer 0 er reserveret. I TCP-trafik er 0 fuldstændig ubrugt. I UDP-trafik er portnummeret valgfrit, med en port på 0, der betyder "ingen port". Dette virker for UDP, fordi det er en statsløs protokol, der ikke nødvendigvis forventer et svar. TCP- og UDP-porte er adskilte. En tjeneste kan binde til en eller flere porte på en eller begge protokoller. Tjenester, der bruger begge, knytter sig typisk til de samme portnumre i TCP og UDP.

Porte 1-1023 er kendt som "velkendte" porte og kræver generelt administrative tilladelser for at binde sig til. Nogle velkendte porte er 80 for HTTP, 443 for HTTPS og 53 for DNS. Dernæst har du intervallet 1024 - 49151. Disse er kendt som de "registrerede" porte. Disse er porte, der regelmæssigt bruges af visse tjenester, men det er ikke almindeligt nok eller var ikke tidligt nok til at få et tal under 1023. Porte mellem 49152 og 65535 er kendt som flygtige porte.

Brugen af ​​portnumre

IANA, Internet Assigned Numbers Authority, vedligeholder de velkendte og registrerede portlister. Kendte havne har kun én tjeneste tilknyttet. Registrerede porte kan dog have en række kendte tjenester, der bruger porten som standard.

Generelt er der faktisk intet, der forhindrer et program i at binde sig til et portnummer. Som nævnt ovenfor har portnumre under 1024 en tendens til at kræve administrative eller root-tilladelser for at binde sig til. Alligevel kan du tvinge enhver tjeneste til at binde til port 80, for eksempel, selvom det ikke er en webserver. Portnumre i de velkendte og registrerede områder har en tendens til kun at blive brugt af netværkslyttere, med flygtige porte, der generelt bruges til at starte forbindelser.

En lytter er en port, der åbnes og efterlades åben. Den lytter efter beskeder, så den kan behandle dem og sende et svar. Dette er næsten udelukkende opførsel af server-type tjenester såsom en webserver. Webserveren vil være hostet på porte 80 og 443, mens en browser, der forbinder til disse porte, lokalt vil bruge en flygtig port.

Standardportnumre for applikationslyttere betyder, at det er nemt at vide, hvordan man rent faktisk opretter forbindelse til en tjeneste. For eksempel, når du sætter HTTPS på forsiden af ​​en URL, antager din browser som standard, at den skal oprette forbindelse til port 443. I nogle tilfælde vil lyttere blive sat op på alternative porte. Dette kan skyldes, at en anden tjeneste eller version af tjenesten allerede bruger standardporten. Det kan også være et forsøg på sikkerhed gennem uklarhed.

Konklusion

En netværksport er en logisk adresse. Softwaren kan binde til en port, så operativsystemet ved, at al trafik sendt til den port er beregnet til denne proces. Portnumre spænder fra 0 til 65535. Mange tjenester er knyttet til et standardportnummer. Serverne bruger disse porte, mens enheder, der forbinder til dem, bruger tilfældige porte med højt antal. Dette tillader nem standardforbindelse til tjenester og sikrer, at forbindelse til en sådan tjeneste ikke forhindrer dig i selv at være vært for en anden tjeneste.