Port

A Programozás Wiki wikiből

Internetes port[szerkesztés]

Az TCP, vagy UDP port egy 1-tól 65535 (0xffff)-ig terjedő 16 bites szám. A szám egy hálózati szerver egy szolgáltatását azonosítja. Az IP cím és port megadásával léphet kapcsolatba egy távoli számítógép a szerver egy programjával.

A legelterjedtebb internetes szolgáltatásokhoz kialakult az általuk leggyakrabban használt port szám, de ettől az egyes szerverek bizonyos esetekben eltérhetnek.

Néhány ismert szolgáltatás általánosan használt portja:

  • 21: FTP
  • 22: SSH
  • 23: TELNET
  • 25: SMTP
  • 80: HTTP
  • 110: POP3
  • 143: IMAP
  • 443: HTTPS (ssl)
  • 465: SMTPs (ssl)
  • 993: IMAPs (ssl)
  • 995: POP3s (ssl)
  • 3389: RDP
  • 5900: VNC

Hardverport[szerkesztés]

A hardveres port egy olyan felület, amin keresztül a számítógép kommunikálni képes a gépházon kívül található eszközökkel (perifériákkal és más számítógépekkel). Fizikailag ez általában a gépházon található csatlakozóként jelenik meg, amelyhez kábellel vagy ritkábban közvetlenül kapcsolhatjuk az eszközöket. Maga a jelátvitel általában elektromos impulzusokkal történik, de lehetséges rádióhullámok illetve fény használata is.

A jelenleg PC-n elterjedt port-típusok
  • Billentyűzethez és egérhez: PS/2 (kifutóban) illetve USB
  • Monitorhoz: VGA, DVI vagy HDMI
  • Hálózathoz: Ethernet (8P8C)
Kifutóban levő, ám az ipar számára nagy jelentőséggel bíró interfészek
  • Párhuzamos port - amely egyszerűen a 0x378-as I/O portra írt értéket villamos feszültségként jeleníti meg. A 0x379 pedig a bemenet lábait képezi bináris 0 és 1 értékűre.
  • Soros port - amely áll egy RS232 RX/TX regiszterpárosból, amely a beállított ütemben (baudrate) startbittel kezdve és stopbittel zárva egymás után sorban adja/veszi a biteket, továbbá a párhuzamos portnál leírt direkt I/O regiszterből, amit normál esetben adatfolyam vezérlésre használnak, de bármi egyébre jó. Például mikrovezérlőre való I2C protokollos programletöltésre

A kifutó interfészek szerepét külön megvásárolható PCI buszos I/O kártyák illetve USB portra csatlakoztatható, az eredeti I/O port működését többé-kevésbé emuláló eszközökkel lehet megoldani.

I/O port[szerkesztés]

Az I/O port az Intel processzoroknál használt fogalom a processzor és egyéb hardvereszközök közötti kommunikáció során. A portszám egy 16 bites egész, amely egyben azonosítja a megszólítani kívánt hardvereszközt és az elérni kívánt funkcionalitást. Amikor a processzor meg akar szólítani egy hardvereszközt, a memória írásához/olvasásához hasonló vezérlőjeleket generál, de a címsínre a memóriacím helyett a portszámot rakja, valamint egy speciális vezérlősín bekapcsolásával jelzi, hogy a kérés nem a memóriának szól. A vezérlőjeleket minden hardvereszköz látja, de csak annak szabad reagálnia rá, amelyikhez az adott portszám tartozik. (Ha két hardvereszköz ugyanazt a portszámot kapná, mindketten válaszolni próbálnának a kérésre, ami rosszabb esetben maradandó hardveres meghibásodást is okozhat.) A memóriához hasonlóan az I/O eszközök is bájtonként érhetőek el, vagyis egy portra egyszerre 8 bitet lehet küldeni, vagy arról fogadni. A memóriával ellentétben itt nem követelmény, hogy olvasáskor az előző írás tartalmát kapjuk vissza - egy adott port írása és olvasása aktiválhat egymástól teljesen különböző funkcionalitást is.

Kezdetben a hardvereszközökbe fizikailag be volt építve, hogy melyik portszámot használják, és legfeljebb pár beépített lehetőség közül lehetett választani az eszköz jumpereinek áthelyezésével. A későbbi eszközök már képesek a használt portok menet közbeni változtatására, így a portok kiosztásának feladatát átvehette a felhasználótól az operációs rendszer.

Példák:

  • A PC beépített időzítőjét a 0x40-0x43 portokon keresztül lehet vezérelni
  • Az első Sound Blaster hangkártyát alapértelmezésben a 0x220-0x223 portokon keresztül lehetett használni.