Port (computernetværk)

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 31. marts 2022; checks kræver 44 redigeringer .

Port ( engelsk  port ) er et ikke-negativt heltal skrevet i overskrifterne på protokollerne for transportlaget i OSI -netværksmodellen ( TCP , UDP , SCTP , DCCP ).

Beskrivelse

På en vært , der kører et operativsystem , kører der typisk flere processer , som hver kører et program . Hvis flere programmer bruger et computernetværk , modtager operativsystemet med jævne mellemrum over netværket en IP-pakke beregnet til et af programmerne.

Processen med et program, der ønsker at kommunikere over et netværk, kan (f.eks. ved oprettelse af en socket ):

Data udveksles over netværket mellem to processer ved hjælp af en bestemt protokol . For at etablere en forbindelse skal du:

Porten for afsenderprocessen (kilde) kan være fast (statisk) eller tildeles dynamisk for hver ny kommunikationssession.

Ved tilslutning via TCP bruges porten for afsendelsesprocessen:

Ved tilslutning via UDP-protokollen er det tilladt at angive nummer nul i stedet for porten for afsendelsesprocessen, hvilket betyder "port er ikke specificeret".

Ved tilslutning via SCTP -protokollen inden for foreningen kan følgende bruges:

Da IP-adressen på den afsendende vært og portnummeret for afsendelsesprocessen er analoge med den returadresse, der er skrevet på postkuverter (hvilket giver modtageren mulighed for at sende et svar til afsenderen), henvises til portnummeret for afsendelsesprocessen nogle gange. som den "omvendte" port.

Hvis en proces på en vært konsekvent bruger det samme portnummer (for eksempel kan en proces i et webserverprogram bruge port 80 til at sende og modtage data), siges porten at være "åben".

Udtrykkene "åben port" og "lukket port" (blokeret) bruges også, når det kommer til filtrering af netværkstrafik .

Hvis en proces har modtaget et portnummer fra OS ("åbnet en port") og "holder den åben" til modtagelse og transmission af data, siges processen at være "lytter" ( omtale lytter , fra engelsk  lytte ) port.

Normalt er processen i det program, der implementerer serveren for en eller anden protokol, involveret i at lytte på porten. Processen med et program, der implementerer en klient til den samme protokol, gør det ofte muligt for operativsystemet at angive portnummeret for at oprette forbindelse til serveren.

Hvis værten modtager pakken, kaldes porten for afsenderprocessen "remote" ( eng.  remote ) porten eller "åben på en anden vært ", og porten for den modtagende proces kaldes den "lokale" port, dvs. , åben på den aktuelle vært. Hvis værten sendte en pakke, kaldes porten for afsendelsesprocessen den "lokale" port (åbnet på den aktuelle vært ), og porten for den modtagende proces kaldes "fjernporten" (åbnet på en anden vært ).

Portnumre til applikationslagsprotokoller af TCP/IP- modellen ( HTTP , SSH osv.) tildeles normalt af IANA - organisationen ( engelsk  internet a ssigned numbers a uthority ) . Men i praksis kan portnumre af sikkerhedsmæssige årsager vælges vilkårligt.

Udtrykket "port" bruges oftest i forhold til TCP- og UDP-protokollerne på grund af disse protokollers popularitet. SCTP- og DCCP -protokollerne bruger numre, der svarer til "portnummer"-konceptet for TCP- og UDP-protokollerne.

I TCP- og UDP -protokolhovederne er 16 - bit felter tildelt til lagring af portnumre . For TCP -protokollen er portnummer 0 reserveret og kan ikke bruges. For UDP er det valgfrit at angive porten for afsendelsesprocessen (den "omvendte" port), og portnummer 0 betyder ingen port. Portnummeret er således et tal i området fra 1 til 2 16 -1=65535 .

Eksempler på porte

E-mail (e-mail)

Processerne for programmer , der implementerer følgende protokoller, kører på serveren :

Processen for et program , der implementerer SMTP -protokollen , "lytter" normalt på TCP -port nummer 25 (kort sagt: "tcp/25").

Processen med et program, der implementerer POP -protokollen , "lytter" normalt på TCP -port nummer 110 (kort sagt: "tcp/110").

Processer kan køres på den samme vært (computer). Definitionen af ​​en specifik proces udføres af portnummeret.

Processen med et klientprogram , der ønsker at oprette forbindelse til en server for at sende (SMTP) eller modtage (POP eller IMAP) mail, opnår normalt et portnummer dynamisk .

DHCP

I nogle tilfælde er brugen af ​​kendte portnumre obligatorisk.

For at opnå en IP-adresse via DHCP sender en klientproces for eksempel et datagram via UDP fra port 68 ( porten for afsendelsesprocessen) til port 67 (porten for modtageprocessen).

Brug i URL'er

Portnumre kan angives i webstedsadresser ( URL ) eller andre ressourceidentifikatorer, der er tilgængelige på computernetværk ( URI ). Som standard bruger HTTP port 80, og HTTPS bruger port  443. En URL som http://www.example.com:8080/sti/ angiver, at webressourcen betjenes af en webserver på port 8080.

Havnetilstande

Du kan finde ud af antallet af aktive (udstedt til processer af operativsystemet) porte til transportlagsprotokoller i mange operativsystemer ( Windows , Unix-lignende ) ved hjælp af hjælpeprogrammerne netstatog nmap(i UNIX OS og Linux OS ).

netstatHavnetilstandene vist af og forsyningsselskaber nmaper vist i tabellen.

Havnetilstand [1] Beskrivelse
Åbnet eller lyttet til ( engelsk  open or listen ) Programmet - serveren er klar til at acceptere forbindelser fra programmer - klienter ("lytter" på porten)
Filtreret ( engelsk  filtreret ) Kan ikke afgøre, om porten er åben eller lukket, muligvis på grund af en firewall eller anden årsag
lukket _  _ _ OS har endnu ikke udstedt et portnummer til nogen proces , men det kan gøre det til enhver tid

Portnumre

TCP-porte overlapper ikke med UDP-porte: TCP-port 1234 vil ikke forstyrre UDP-kommunikation over port 1234.

På de fleste UNIX-lignende operativsystemer kræver lytning på porte 0-1023 særlige privilegier ( root ). Andre portnumre gives af operativsystemet til de første processer, der anmoder om dem.

Nogle populære trafiksniffer -programmer (for eksempel Wireshark ) og netværksfirewalls bruger almindeligt accepterede portnummerbetegnelser til at bestemme dataoverførselsprotokollen , hvilket ikke altid er korrekt. I nogle tilfælde bruger netværkstjenester ikke-standard portnumre eller bruger portnumre til andre formål end deres tilsigtede formål. For eksempel er der kendte tilfælde af internetudbydere , der lancerer SMTP- servere på porte 2525 (i stedet for 25) for at sikre deres brugeres sikkerhed. Specialiserede websteder, såsom administrative webgrænseflader , fungerer ofte på andre porte end standard 80 og 443.

Se også

Noter

  1. nmap - Port Scanner Arkiveret 23. juli 2015 på Wayback Machine // uCoz Udgivet 6. maj 2011.