FTP (lyhenne sanoistaFile Transfer Protocol[1]) onTCP-protokollaa käyttävä tiedostonsiirtomenetelmä kahden tietokoneen välille. FTP-yhteys toimii asiakas-palvelin -periaatteella. Yleensä asiakas (client) ottaa yhteyttäpalvelimeen (host taiserver), joka tarjoaa FTP-palvelun.
Vuonna 1971MIT-yliopiston paikallisissa koneissa ryhdyttiin koekäyttämään FTP:n kaltaista tiedostonsiirtoprotokollaa. Varsinainen termi FTP syntyi vuonna 1972, kun se määriteltiin Yhdysvaltain puolustusministeriön verkonARPANETin (Advanced Research Projects Agency NETwork) tiedostonsiirtoprotokollaksi. Päätavoitteiksi asetettiin luotettava ja tehokas tiedostojen siirto. FTP:n määrittely on muuttunut hieman vuosien mittaan ja sen ominaisuuksiin on lisätty muun muassa virheenkorjaus. FTP:n määrittely ja sisältö on pysynyt lähes samanlaisena 80-luvun puolivälistä tähän päivään saakka.
FTP-palvelin voi toimia kahdessa eri tilassa, passiivisessa tai aktiivisessa. Oleelliset erot tilojen välillä on siirtoyhteyden muodostamistavassa. Aktiivinen palvelin avaa itse yhteyden asiakkaaseen ja aloittaa tiedonsiirron, kun taas passiivinen valmistautuu siirtämään tietoa, mutta odottaa että asiakas avaa tiedonsiirtoyhteyden.
FTP-protokolla mahdollistaa tiedostojen siirron kahden koneen välillä käyttöjärjestelmästä riippumatta.
Tavallinen FTP-yhteys koostuuTelnet-protokollaa käyttävästäkontrolliyhteydestä jabinääri- taiASCII-muotoisestatiedostonsiirtoyhteydestä, jossa varsinainen siirto tapahtuu.
FTP:n tavoitteet ovat:
- Helpottaa tiedostojen siirtämistä ja jakamista
- Peittää tallennusjärjestelmien väliset erot käyttäjältä
- Siirtää dataa tehokkaasti ja luotettavasti.
Haittapuolia:
- Salasanat ja siirrettävät tiedot lähetetäänsalaamattomina. Kehittyneet FTP-palvelin- ja asiakasohjelmistot osaavat hyödyntää SSL- taiTLS-salausta kontrolliyhteydessä ja siirtoyhteydessä.
- Tiedonsiirtoyhteyden avaaminen palomuurien jaIP-osoitemuunnoksien kautta kulkevan reitin yli on ongelmallista.
FTP määritelläänRFC-dokumentissa:
- RFC 959 - File Transfer Protocol (FTP)
TavanomainenTCP-portti FTP-palvelulle on 21, jota käytetään yhteyden hallintaan. Varsinainen siirrettävä data siirretään portin 20 kautta.