Published on

Mik azok a portok?

Authors
  • avatar
    Name
    Bartók Dániel
    Twitter

Az oldalon már számos bejegyzésben esett szó arról, hogy milyen folyamatok zajlanak le egy hálózati kapcsolat során. Ilyen például, amikor beírunk egy weboldal címet a böngészőbe. Az egyik kulcsszereplő a DNS, "akiről" megtanultuk, hogy az internet telefonkönyve, hiszen minden névhez ismeri a hozzá tartozó IP címet. A másik nélkülözhetetlen elem, a címben is szereplő port. Nézzük is, hogy miért.

Hálózati portok szerepe

Az informatika fejlődése során nem egyszer szembesültek azzal a szakemberek, hogy amikor egy dolognak nevet akartak adni kiderült, egy másik kontextusban már használják. Ez alól a port sem kivétel, így beszélhetünk hardver portokról és hálózati portokról is. Előbbi egy összefoglaló név a számítógépen található különféle bemenetekre, amelyeken keresztül különféle eszközöket csatlakoztathatunk. Például egeret és billentyűzetet. Erről a jövőben egy külön bejegyzésben tervezek írni.

Utóbbi, vagyis a hálózati portok is egyfajta bemenetet biztosítanak, de, ahogy a neve is sugallja nem fizikai, hanem hálózati kapcsolatok során. Mivel egy számítógépen vagy szerveren egyszerre akár több szolgáltatás is elérhető, ezeket valahogyan szükséges megkülönböztetni, erre valók a portok. Leegyszerűsítve, a port hasonló szerepet tölt be, mint a társasházaknál a névtábla.

A szolgáltatásokhoz egy port számot tudunk rendelni, melyen keresztül elérhetjük azt. Ez egy 0 és 65535 közötti szám és mindig a cím után kettősponttal elválasztva szükséges megadni (www.xyz.hu:443). A weboldal címeknél miért nem kell megadni a portot? Tehetné fel a Kedves Olvasó jogosan a kérdést. Vannak dedikált portok, amelyeknél nem szükséges azokat külön beírnunk, ilyen például az is, amikor egy https://-el kezdődő címre kattintunk. A böngésző ilyenkor tudja, hogy neki az adott címen a 443-as portra kell mennie. Ezt a folyamatot hivatott bemutatni a lenti kis példa is, ahol szintén nem adtam meg portot a Zsebinformatikus címe után, viszont a program automatikus hozzáadta azt:

A portot nem minden esetben szükséges kiírni

Használat szerint három nagy listába sorolhatjuk a portokat1:

  • Jól ismert portok (0-1023)
  • Alkalmazásokhoz regisztrált portok (1024-49151)
  • Dinamikus/privát portok (49152-65535)

A továbbiakban táblázatos formában bemutatok néhány gyakran használt portot mindhárom listából.

Jól ismert portok

Az itt szereplő portok meghatározott szolgáltatásokhoz vannak rendelve, melyet az Internetes Számkiosztó Hatóság (IANA) kezel.

Port számHozzá kapcsolódó szolgáltatás leírás
22Secure Shell (SSH) - Távoli bejelentkezésre használják. Általában a rendszergazdák ezen keresztül érik el a szervereket.
25Simple Mail Transfer Protocol (SMTP) - Email-ek küldésére használják.
53Domain Name Server (DNS) - DNS lekérdezések és névfeloldás során használják.
80HyperText Transfer Protocol (HTTP) - Weboldalak kiszolgálása titkosítatlan kapcsolaton keresztül. Nem biztonságos!
443HyperText Transfer Protocol Secure (HTTPS) - Weboldalak kiszolgálása titkosított kapcsolaton keresztül. A mai webes forgalom alappillére.

Regisztrált portok

Ide olyan portok kerülnek, amelyek az IANA szervezetnél regisztrálásra kerültek. Ezek jellemzően különféle alkalmazásokhoz tartoznak.

Port számHozzá tartozó alapértelmezett alkalmazás
3306MySQL adatbázis
27017MongoDB adatbázis
25565Minecraft szerver

Dinamikus/privát portok

Ahogy a neve is sugallja, az itt szereplő portok nincsenek kiosztva, hanem a kapcsolódási folyamat során kerülnek felhasználásra. Ezeket nem a szerver, hanem a kliens (pl. böngésző) használja. A folyamat során véletlenszerűen választ egyet az elérhetők közül, és azt csakis addig használja, amíg él a kapcsolat. Ennek a megoldásnak hála, tudunk például egyszerre több weboldalt vagy szolgáltatást is használni.

A lenti példában szépen látszik ez a folyamat. A curl nevű programmal kétszer is "meglátogattam" a Zsebinformatikus weboldalt, ilyenkor a háttérben felépül a kapcsolat a kliens és a szerver között. Az 5. oszlopban látjuk a cél elérhetőségét, ami most mindkétszer ugyanaz, ez a weboldal címe és portja. A negyedik oszlopban pedig azt láthatjuk, hogy a curl program a két kapcsolathoz két szabadon elérhető dinamikus portot választott (esetünkben 49373 és 49646). Szerencsére a dinamikus portok tartománya hatalmas, így csak nagyon-nagyon extrém esetben fordulhat elő olyan, hogy nincs szabadon elérhető, így nem tudunk új kapcsolatot kiépíteni. (Velem már előfordult. 🙂)

Dinamikus portok a gyakorlatban

Nem is gondolnánk, hogy ezeken felül még milyen bonyolult folyamatok zajlanak le, amikor egy böngésző használatával meglátogatunk egy weboldalt. Ma ezek közül ismét bemutatásra került egy, de még mindig csak a felszínt kapargatjuk, ezért időről-időre fogok bejegyzéseket hozni ebben a témában is.

Ti tudtátok, hogy léteznek portok és hogy mire valók?

Írjátok meg a hozzászólásokban!

Footnotes

  1. A teljes felsorolás megtalálható a Wikipédián is

Támogass egy kávéval