Portti (tietoliikenne)
From Wikipedia, the free encyclopedia
Portit ovat tietotekniikassa käytettyjen protokollien päätepisteitä keskenään kommunikoivien sovellusten välillä. Portti tarjoaa jonon tiedon lähettämiseen ja vastaanottamiseen.[1] Porteilla erotellaan samaa verkkoyhteyttä käyttävät sovellukset ja numero on lisätunniste, jolla järjestelmä välittää tiedon oikealle sovellukselle.[2]
Tähän artikkeliin tai osioon ei ole merkitty lähteitä, joten tiedot kannattaa tarkistaa muista tietolähteistä. Voit auttaa Wikipediaa lisäämällä artikkeliin tarkistettavissa olevia lähteitä ja merkitsemällä ne ohjeen mukaan. |
Tätä artikkelia tai sen osaa on pyydetty parannettavaksi, koska se ei täytä Wikipedian laatuvaatimuksia. Voit auttaa Wikipediaa parantamalla artikkelia tai merkitsemällä ongelmat tarkemmin. Lisää tietoa saattaa olla keskustelusivulla. Tarkennus: käytetyt temit eivät ole normaalisti käytettyjä |
Esimerkiksi TCP/IP-pino käyttää portteja eri protokollien ja palvelujen erottamiseen. Porttinumero liittyy aina tiettyyn IP-osoitteeseen ja yhdellä tietokoneella voi olla myös useampia osoitteita.
TCP- ja UDP-porttinumerot ovat 16-bittisiä positiivisia kokonaislukuja välillä 0–65535. Porttinumerot ovat abstrakteja ilman fyysistä esitystä ja niitä on jokaisella IP-osoitteella 65536 kappaletta. Porttinumerolla erotetaan oikea vastaanottava sovellusohjelma. Asiakas-palvelin-arkkitehtuurissa kuunteleva palvelinohjelma "sitoo" itsensä tiettyyn porttiin odottamaan yhteyttä.[3]
Porttinumero ei rajoita avoimien yhteyksien määrää, vaan asiakkaan portin ja osoitteen perusteella erotellaan avoimet yhteydet. Samaan porttiin voi olla yhtä aikaa useita avoimia yhteyksiä.[4]
Ehdotus porttinumeroiden varaamiseen on peräisin vuodelta 1972. Mukana oli ehdotus numeroiden ryhmittelystä eri sovelluksia varten.[5] Ensimmäinen numero varattiin telnet-ohjelmalle ja varattujen numeroiden lista kasvoi nopeasti.[6] Ennen porttinumeroita ehdotettiin palvelunimen käyttöä (Server socket name).[7]
Portteja varataan kolmessa ryhmässä: järjestelmäportit (System Ports, 0-1023), käyttäjäportit (1024-49151) ja dynaamiset ja/tai yksityiset portit (49152-65535).[8] Porttinumeroiden käyttöä on selkeytetty alkuperäisestä ehdotuksesta vuosien varrella ja uusia protokollia on lisätty, muun muassa SCTP ja DCCP.[9]
Palvelinohjelma kytkeytyy tyypillisesti odottamaan (kuuntelemaan) yhteyttä johonkin hyvin tunnettuun porttiin (well-known ports) palvelinkoneella. Yhteyttä ottavat asiakasohjelmat voivat varata satunnaisen portin omalta koneelta. Unix-tyyppisissä käyttöjärjestelmissä porttien, joiden numero on alle 1024, avaamiseen tarvitaan pääkäyttäjäoikeudet. Porttinumeron 0 käyttö on sallittu, mutta usein sillä pyydetään järjestelmää valitsemaan vapaa portti.
Portit ovat yhteinen mekanismi sekä TCP- että UDP-protokollille. TCP-portti 80 ei ole sama kuin UDP-portti 80. Yleinen käytäntö on kuitenkin se, että jos TCP-portti 80 on varattu jollekin protokollalle (HTTP) niin vastaavaa UDP-porttia 80 pidetään varattuna samaan käyttötarkoitukseen, vaikkei protokolla sitä tarvitsisikaan.
Esimerkki:
asiakas.fi:45637 → kohde.fi:80 asiakas.fi:45637 ← kohde.fi:80