Portti ( englanniksi portti ) on ei-negatiivinen kokonaisluku, joka on kirjoitettu OSI- verkkomallin siirtokerroksen ( TCP , UDP , SCTP , DCCP ) protokollien otsikoihin.
Yleensä käyttäjätilan käyttöjärjestelmää käyttävässä isännässä on käynnissä useita prosesseja , joista jokaisessa on käynnissä ohjelma . Jos useat ohjelmat käyttävät tietokoneverkkoa , käyttöjärjestelmä vastaanottaa ajoittain verkon yli IP-paketin , joka on tarkoitettu jollekin ohjelmalle.
Ohjelman prosessi, joka haluaa kommunikoida verkon kautta, voi (esimerkiksi pistoketta luotaessa ):
Tietoa vaihdetaan verkon yli kahden prosessin välillä käyttämällä tiettyä protokollaa . Yhteyden muodostamiseksi tarvitset:
Lähettäjä- (lähde)prosessin portti voi olla kiinteä (staattinen) tai määrätty dynaamisesti jokaista uutta viestintäistuntoa varten.
Kun muodostat yhteyden TCP :n kautta, käytetään lähetysprosessin porttia:
Kun yhdistetään UDP-protokollan kautta , on sallittua määrittää numero nolla lähetysprosessin portin sijaan, mikä tarkoittaa "porttia ei ole määritetty".
Kun yhdistetään SCTP - protokollan kautta yhdistyksen sisällä, voidaan käyttää seuraavia:
Koska lähettävän isännän IP-osoite ja lähetysprosessin portin numero ovat analogisia kirjekuoriin kirjoitetun palautusosoitteen kanssa (jolloin vastaanottaja voi lähettää vastauksen lähettäjälle), lähetysprosessin porttinumeroon viitataan joskus "käänteisenä" porttina.
Jos isäntäkoneen prosessi käyttää jatkuvasti samaa porttinumeroa (esimerkiksi verkkopalvelinohjelman prosessi saattaa käyttää porttia 80 tietojen lähettämiseen ja vastaanottamiseen), portin sanotaan olevan "avoin".
Termejä "avoin portti" ja "suljettu portti" (estetty) käytetään myös verkkoliikenteen suodatuksessa .
Jos prosessi on vastaanottanut porttinumeron käyttöjärjestelmästä ("avoi portin") ja "pitää sen auki" tiedon vastaanottamista ja lähettämistä varten, prosessin sanotaan olevan "kuuntelu" ( puhekielessä kuuntelee , englanniksi kuunnella ) -portti.
Yleensä palvelimen jollekin protokollalle toteuttavan ohjelman prosessi liittyy portin kuunteluun. Prosessi, jossa ohjelma toteuttaa asiakkaan samaa protokollaa varten, antaa käyttöjärjestelmälle usein mahdollisuuden määrittää portin numeron yhteyden muodostamiseksi palvelimeen.
Jos isäntä vastaanottaa paketin, lähettäjäprosessin porttia kutsutaan "etä" ( eng. remote ) portiksi tai "avoinna toisessa isännässä ", ja vastaanottavan prosessin porttia kutsutaan "paikalliseksi" portiksi, eli , avoinna nykyisessä isännässä. Jos isäntä lähetti paketin, lähetysprosessin porttia kutsutaan "paikalliseksi" portiksi (avataan nykyisessä isännässä ) ja vastaanottavan prosessin porttia kutsutaan "etäportiksi" (avoinna toisessa isännässä ).
TCP/IP -mallin sovelluskerroksen protokollien porttinumerot ( HTTP , SSH jne.) määrittää yleensä IANA -organisaatio ( englanniksi internet a ssigned n umbers a uthority ) . Käytännössä porttinumerot voidaan kuitenkin turvallisuussyistä valita mielivaltaisesti.
Termiä "portti" käytetään useimmiten TCP- ja UDP -protokollien yhteydessä näiden protokollien suosion vuoksi . SCTP- ja DCCP - protokollat käyttävät numeroita, jotka vastaavat TCP- ja UDP-protokollien "porttinumero"-käsitettä.
TCP- ja UDP - protokollan otsikoissa on varattu 16 - bittiset kentät porttinumeroiden tallentamiseen . TCP - protokollalle portti numero 0 on varattu, eikä sitä voida käyttää. UDP : ssä lähetysprosessin portin määrittäminen ("käänteinen" portti) on valinnainen, ja portin numero 0 tarkoittaa, että porttia ei ole. Siten portin numero on luku välillä 1 - 2 16 -1=65535 .
Seuraavat protokollat toteuttavien ohjelmien prosessit ovat käynnissä palvelimella :
SMTP - protokollan toteuttavan ohjelman prosessi yleensä "kuuntelee" TCP - porttia numero 25 (lyhyesti: "tcp/25").
POP - protokollaa toteuttavan ohjelman prosessi yleensä "kuuntelee" TCP -porttia numero 110 (lyhyesti: "tcp/110").
Prosesseja voidaan ajaa samalla isännällä (tietokoneella). Tietyn prosessin määrittely tapahtuu portin numeron perusteella.
Prosessi , jossa asiakasohjelma haluaa muodostaa yhteyden palvelimeen lähettääkseen (SMTP) tai vastaanottaakseen (POP tai IMAP) sähköpostia, saa yleensä portin numeron dynaamisesti .
DHCPJoissakin tapauksissa tunnettujen porttinumeroiden käyttö on pakollista.
Esimerkiksi IP-osoitteen saamiseksi DHCP : n kautta asiakasprosessi lähettää datagrammin UDP : n kautta portista 68 (lähettävän prosessin portti ) porttiin 67 (vastaanottoprosessin portti).
Porttinumerot voidaan määrittää verkkosivustojen osoitteissa ( URL ) tai muissa tietokoneverkoissa saatavilla olevissa resurssitunnisteissa ( URI ). Oletusarvoisesti HTTP käyttää porttia 80 ja HTTPS porttia 443. URL , kuten http://www.example.com:8080/polku/ , osoittaa, että verkkoresurssia palvelee verkkopalvelin portissa 8080.
Voit selvittää aktiivisten (käyttöjärjestelmän prosesseille myöntämien) porttien lukumäärän siirtokerroksen protokollia varten monissa käyttöjärjestelmissä ( Windows , Unix-tyyppinen ) käyttämällä apuohjelmia netstatja nmap( UNIX OS ja Linux OS ).
netstatApuohjelmien ja osoittamat porttitilat nmapnäkyvät taulukossa.
Portin tila [1] | Kuvaus |
---|---|
Avattu tai kuunneltu ( englanniksi avaa tai kuuntele ) | Ohjelma - palvelin on valmis vastaanottamaan yhteyksiä ohjelmista - asiakkaat ("kuuntelee" portissa) |
Suodatettu ( suodatettu englanniksi ) | Ei voida määrittää, onko portti auki vai kiinni, mahdollisesti palomuurista tai muusta syystä |
suljettu _ _ _ | Käyttöjärjestelmä ei ole vielä antanut porttinumeroa millekään prosessille , mutta se voi tehdä sen milloin tahansa |
TCP-portit eivät mene päällekkäin UDP-porttien kanssa: TCP-portti 1234 ei häiritse UDP-viestintää portin 1234 kautta.
Useimmissa UNIX-tyyppisissä käyttöjärjestelmissä porttien 0-1023 kuuntelu vaatii erityisoikeuksia ( root ). Käyttöjärjestelmä antaa muut porttinumerot niitä pyytäville prosesseille.
Jotkin suositut liikenteen haukkumisohjelmat (esimerkiksi Wireshark ) ja verkon palomuurit käyttävät yleisesti hyväksyttyjä porttinumeroita tiedonsiirtoprotokollan määrittämiseen , mikä ei aina ole oikein. Joissakin tapauksissa verkkopalvelut käyttävät standardista poikkeavia porttinumeroita tai porttinumeroita muuhun kuin aiottuun tarkoitukseen. On esimerkiksi tunnettuja tapauksia , joissa Internet-palveluntarjoajat ovat käynnistäneet SMTP -palvelimia porteissa 2525 (ei 25) varmistaakseen käyttäjiensä turvallisuuden. Erikoissivustot, kuten hallinnolliset verkkorajapinnat , toimivat usein muissa porteissa kuin standardeissa 80 ja 443.