File Transfer Protocol
Fra Wikipedia, den frie encyklopedi.
FTP (File Transfer Protocol) er en eldre protokoll for overføring av filer, som kjører på TCP/IP-protokollene. En av de større ulempene med FTP er at overføringen ikke blir kryptert, så blant annet brukernavn og passord blir sendt i klartekst over nettet. Det er anbefalt å heller bruke OpenSSHs verktøy SCP til filoverføring, ettersom det er en kryptert kommunikasjonsprotokoll.
Hvordan foregår overføringen?
Normal FTP-overføring foregår ved at en FTP-klient sender en forespørsel til en FTP-tjener på port 21, FTP-protokollens kontrollport. Her skjer selve autentiseringen, samt alle kommandoer til FTP-tjeneren. Ved henting av data fra tjeneren åpner FTP-klienten en port hos seg1, og forteller på kontrollporten hvilken port som er valgt. Denne porten omtales som dataporten. Deretter initierer FTP-tjeneren dataoverføringen fra sin port 202 mot denne porten.
Denne måten å kommunisere på skaper ofte problemer hvis klienten sitter bak en brannmur, ettersom brannmuren må skjønne og lese av trafikken for å åpne relaterte porter på vei tilbake. Derfor ble FTP-protokollen utvidet til å inneholde også et alternativt passivt modus, spesifisert i RFC 1579. Passivt modus fungerer som følger:
FTP-klienten kontakter tjeneren på port 21, som normalt. Når autentisering er utført og klienten har bestemt seg for hva som skal overføres, åpner tjeneren en tilfeldig port (over 1023) hos seg og informerer via kontrollporten om at det har skjedd. Deretter er det klientens ansvar å kontakte tjeneren for å sette i gang dataoverføringen. På denne måten blir all trafikk initiert fra innsiden av eventuelle brannmurer, noe som de fleste håndterer langt bedre.
I tillegg til FTP-klientene har mange andre programmer innebygget FTP-funksjonalitet uten å ha dette som hovedfunksjonsområde. Eksempler er Konqueror, som kan drive filbehandling over FTP, og de fleste nettlesere som kan laste ned fra FTP.
Fotnoter:
1RFC 959 spesifiserer at dataporten på klienten skal være samme port som kontrollporten. Det høres kanskje litt rart ut at samme port er i bruk, men dette er helt uproblematisk.
2RFC 959 spesifiserer at dataporten på tjeneren skal være porten under kontrollporten.
Se også: FTP-klient, FTP-tjener

