Port (počítačové sítě)

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 31. března 2022; kontroly vyžadují 44 úprav .

Port ( anglicky  port ) je nezáporné celé číslo zapsané v hlavičkách protokolů transportní vrstvy modelu sítě OSI ( TCP , UDP , SCTP , DCCP ).

Popis

Na hostiteli s operačním systémem v uživatelském prostoru obvykle běží několik procesů , z nichž každý spouští program . Pokud počítačovou síť používá několik programů , pak OS pravidelně přijímá přes síť IP paket určený pro jeden z programů.

Proces programu, který chce komunikovat po síti, může (například při vytváření soketu ):

Data se vyměňují po síti mezi dvěma procesy pomocí specifického protokolu . K navázání spojení potřebujete:

Port procesu odesílatele (zdroje) může být pevný (statický) nebo může být přiřazen dynamicky pro každou novou komunikační relaci.

Při připojení přes TCP se používá port odesílajícího procesu:

Při připojení přes protokol UDP je přípustné místo portu odesílajícího procesu uvést číslo nula, tedy „port není zadán“.

Při připojování přes protokol SCTP v rámci sdružení lze použít následující:

Vzhledem k tomu, že IP adresa odesílajícího hostitele a číslo portu odesílajícího procesu jsou analogické se zpáteční adresou napsanou na poštovních obálkách (což umožňuje příjemci odeslat odpověď odesílateli), je číslo portu odesílajícího procesu někdy označováno jako jako „reverzní“ port.

Pokud proces na hostiteli trvale používá stejné číslo portu (například proces v programu webového serveru může používat port 80 k odesílání a přijímání dat), port se nazývá „otevřený“.

Pojmy „otevřený port“ a „uzavřený port“ (blokovaný) se také používají, pokud jde o filtrování síťového provozu .

Pokud proces obdržel od operačního systému číslo portu („otevřel port“) a „ponechal jej otevřený“ pro příjem a přenos dat, nazývá se proces „naslouchající“ ( hovorově naslouchá , z angličtiny  poslouchat ) port.

Obvykle se proces programu, který implementuje server pro nějaký protokol, zabývá nasloucháním na portu. Proces programu implementujícího klienta pro stejný protokol často umožňuje OS specifikovat číslo portu pro připojení k serveru.

Pokud hostitel paket přijme, port procesu odesílatele se nazývá „remote“ ( anglicky  remote ) port nebo „otevřený na jiném hostiteli “ a port přijímajícího procesu se nazývá „lokální“ port, tj. , otevřete na aktuálním hostiteli. Pokud hostitel odeslal paket, port odesílajícího procesu se nazývá „místní“ port (otevřený na aktuálním hostiteli ) a port přijímajícího procesu se nazývá „vzdálený“ port (otevřený na jiném hostiteli ).

Čísla portů pro protokoly aplikační vrstvy modelu TCP / IP ( HTTP , SSH atd. ) jsou obvykle přidělována organizací IANA ( anglicky  internet a ssigned n umbers a uthority ) . V praxi však lze z bezpečnostních důvodů čísla portů volit libovolně.

Pojem „port“ se nejčastěji používá ve vztahu k protokolům TCP a UDP kvůli popularitě těchto protokolů. Protokoly SCTP a DCCP používají čísla, která odpovídají konceptu "čísla portu" pro protokoly TCP a UDP.

V hlavičkách protokolů TCP a UDP jsou pro uložení čísel portů přidělena 16bitová pole . Pro protokol TCP je číslo portu 0 vyhrazeno a nelze jej použít. Pro UDP je určení portu procesu odesílání ("reverzní" port) volitelné a číslo portu 0 znamená žádný port. Číslo portu je tedy číslo v rozsahu od 1 do 2 16 -1=65535 .

Příklady portů

Email (e-mail)

Na serveru běží procesy programů , které implementují následující protokoly :

Proces programu , který implementuje protokol SMTP , obvykle "poslouchá" na portu TCP 25 (zkráceně: "tcp/25").

Proces programu implementujícího protokol POP obvykle "poslouchá" na portu TCP 110 (zkráceně: "tcp/110").

Procesy lze spouštět na stejném hostiteli (počítači). Definice konkrétního procesu se provádí podle čísla portu.

Proces klientského programu , který se chce připojit k serveru a odesílat (SMTP) nebo přijímat (POP nebo IMAP) poštu, obvykle získává číslo portu dynamicky .

DHCP

V některých případech je použití známých čísel portů povinné.

Například pro získání IP adresy přes DHCP odešle klientský proces datagram přes UDP z portu 68 ( port odesílajícího procesu) na port 67 (port přijímajícího procesu).

Použití v URL

Čísla portů mohou být specifikována v adresách webových stránek ( URL ) nebo jiných identifikátorech zdrojů dostupných v počítačových sítích ( URI ). Ve výchozím nastavení používá HTTP port 80 a HTTPS port  443. Adresa URL jako http://www.example.com:8080/cesta/ označuje, že webový zdroj je obsluhován webovým serverem na portu 8080.

Stavy přístavu

Počty aktivních (vydaných procesům operačním systémem) portů pro protokoly transportní vrstvy v mnoha operačních systémech ( Windows , Unix-like ) můžete zjistit pomocí utilit netstata nmap(v OS UNIX a OS Linux ).

Stavy portů zobrazené nástroji netstata nmapjsou uvedeny v tabulce.

Stav přístavu [1] Popis
Otevřeno nebo posloucháno ( anglicky  otevřít nebo poslouchat ) Program - server je připraven přijímat spojení od programů - klientů ("naslouchá" na portu)
Filtrováno ( anglicky  filtrováno ) Nelze určit, zda je port otevřený nebo zavřený, pravděpodobně kvůli firewallu nebo z jiného důvodu
zavřeno _  _ _ OS zatím žádnému procesu nepřidělil číslo portu , ale může tak učinit kdykoli

Čísla portů

Porty TCP se nepřekrývají s porty UDP: Port TCP 1234 nebude rušit komunikaci UDP přes port 1234.

Na většině operačních systémů podobných UNIX vyžaduje naslouchání na portech 0-1023 speciální oprávnění ( root ). Další čísla portů přiděluje operační systém prvním procesům, které si je vyžádají.

Některé oblíbené programy pro sledování provozu (například Wireshark ) a síťové brány firewall používají k určení protokolu přenosu dat obecně přijímaná označení čísel portů , což není vždy správné. V některých případech síťové služby používají nestandardní čísla portů nebo čísla portů používají pro jiné účely, než je jejich zamýšlený účel. Jsou například známy případy , kdy poskytovatelé internetových služeb spouštějí servery SMTP na portech 2525 (místo 25), aby zajistili bezpečnost svých uživatelů. Specializované stránky, jako jsou administrativní webová rozhraní , často fungují na jiných portech, než je standardní 80 a 443.

Viz také

Poznámky

  1. nmap - Port Scanner Archived 23. července 2015 na Wayback Machine // uCoz Publikováno 6. května 2011.