FTP
Da Wikipedia, l'enciclopedia libera.
Livello applicazioni | HTTP, HTTPS , SMTP, POP3, IMAP, FTP, SFTP, DNS SSH, IRC, SNMP, SIP, RTSP, Rsync, Telnet, DHCP, HSRP, BitTorrent, RTP, ... |
Livello di trasporto | TCP, UDP, SCTP, DCCP ... |
Livello di internetworking | IPv4, IPv6, ICMP, BGP, OSPF, RIP, IGRP, IGMP,IPsec... |
Livello di collegamento | Ethernet, WiFi, PPP, Token ring, ARP, ATM, FDDI, LLC, SLIP ... |
Livello fisico | Doppino, Fibra ottica, Cavo coassiale, Codifica Manchester, Codifica 4B/5B, cavi elettrici, WiFi ... |
L'FTP, acronimo di File Transfer Protocol (protocollo di trasferimento file), è un servizio che fornisce gli elementi fondamentali per la condivisione di file tra host.
Gli obiettivi dell'FTP sono:
- promuovere la condivisione di file (programmi o dati)
- incoraggiare l'uso indiretto o implicito (tramite programma) di computer remoti
- salvaguardare l'utente al variare dei sistemi di stoccaggio file, tra un host e l'altro
- trasferire dati in maniera affidabile ed efficiente
L'FTP ha subito una lunga evoluzione negli anni: il primo meccanismo di trasmissione file risale al 1971, fu sviluppato presso il MIT.
[modifica] Il modello
Dove:
- PI (protocol interpreter) è l'interprete del protocollo
- DTP (data transfer process) è il processo di trasferimento dati, che stabilisce e gestisce la connessione dati. Può essere attivo o passivo.
- Server PI è il PI del server, che ascolta la porta L in attesa di una connessione dallo User PI e stabilisce la connessione di controllo della comunicazione. Riceve comandi standard FTP dallo User PI, manda risposte e governa il Server DTP.
- Server DTP è il DTP del server, che nello stato normale attivo stabilisce la connessione con la porta in ascolto. Setta i parametri per il trasferimento e lo stoccaggio, e trasferisce i dati a comando. Può essere messo in stato passivo per ascoltare, piuttosto che iniziare una connessione sulla porta dati.
L'FTP usa il TCP per creare una connessione per le informazioni di controllo (detta out of band in quanto 'secondaria' a quella dati), poi crea una seconda connessione sempre TCP per il trasferimento dei dati. La connessione di controllo usa telnet per scambiare comandi e messaggi tra host.
Nome | Comando | Parametri | Descrizione |
---|---|---|---|
Abort | ABOR | Termina la connessione per il trasferimento dei dati | |
Account | ACCT | <account-information> | Alcuni server richiedono un account per accessi specifici, ad esempio per memorizzare file |
Allocate | ALLO | <decimal-integer> | Alcuni server lo richiedono per riservare spazio sufficiente per contenere i nuovi file da trasferire |
Append (with create) | APPE | <pathname> | Obbliga il server ad accettare i dati inviati tramite la connessione dati e salvarli in un file. Se il file esiste già i dati vengono aggiunti, altrimenti il file viene creato ex-novo |
Change to parent directory | CDUP | Cambia la directory di lavoro corrente con quella di livello superiore | |
Change working directory | CWD | <pathname> | Cambia la directory di lavoro sul server |
Delete | DELE | <pathname> | Cancella dal server il file specificato |
Help | HELP | <string> | Restituisce informazioni sul comando specificato |
List | LIST | <pathname> | Se l'argomento indica un file, elenca le proprietà del file; se l'argomento è una directory, il server trasferisce una lista di file nella directory |
Trasfer mode | MODE | <mode-code> | Modalità di trasferimento (S=stream, B=block, C=compressed). Il valore di default è S |
Make directory | MKD | <pathname> | Crea sul server la directory indicata |
Name list | NLST | <pathname> | Elenca il contenuto della directory indicata |
Noop | NOOP | Indica nessuna azione tranne l'invio di un Ok dal server | |
Password | PASS | <password> | Completa, per alcuni server, l'identificazione dell'utente. Deve essere immediatamente preceduta dal comando USER |
Passive | PASV | Mette il server in ascolto su una porta che non è quella predefinita in attesa di una connessione dati | |
Data port | PORT | <host-port> | Indirizzo internet dell'host e indirizzo TCP della porta, per la connessione dati |
Print working directory | PWD | Nella risposta viene indicato il nome della directory corrente | |
Logout | QUIT | Disconnette l'utente e chiude la connessione di controllo. Se i file sono ancora in trasferimento, attende che terminino prima di chiudere le connessioni | |
Reinitialize | REIN | Resetta tutti i parametri, termina le connessioni dati ma mantiene quelle di controllo ed aspetta un comando USER | |
Restart | REST | <marker> | Riprende il trasferimento file dall'offset indicato |
Retrieve | RETR | <pathname> | Obbliga il server a spedire una copia del file all'utente/server dall'altra parte della connessione |
Remove directory | RMD | <pathname> | Rimuove dal server la directory specificata |
Rename from | RNFR | <pathname> | Indica il vecchio nome del file da rinominare. Deve essere immediatamente seguito da un RNTO |
Rename to | RNTO | <pathname> | Indica il nuovo nome del file da rinominare, indicato dal comando RNFR immediatamente precedente |
Site parameters | SITE | <string> | Comando usato dal server per fornire servizi specifici del suo sistema che sono essenziali per il trasferimento dei file ma non sufficientemente universali per essere inclusi come comandi del protocollo |
Structure mount | SMNT | <pathname> | Inserisce la struttura di file specificata |
Status | STAT | <pathname> | È una risposta inviata dal server: durante il trasferimento di file contiene lo stato dell'operazione, oppure tra un trasferimento e l'altro e allora ha lo stesso significato del comando LIST |
Store | STOR | <pathname> | Obbliga il server ad accettare i dati inviati tramite la connessione dati e salvarli |
Store unique | STOU | <pathname> | Obbliga il server ad accettare i dati inviati tramite la connessione dati e salvarli con un nome univoco |
File structure | STRU | <structure-code> | Codice della struttura dati (F=file, R=record, P=page). Il valore di default è F |
System | SYST | Restituisce il sistema operativo in uso sul server | |
Representation type | TYPE | <type-code> | Tipo di rappresentazione dei dati (A=ASCII, E=EBCDIC, I=binary). Il valore di default è A |
User Name | USER | <username> | Identificazione dell'utente richiesta dal server per poter accedere al suo file system |
[modifica] Collegamenti esterni
![]() |
|||||||
---|---|---|---|---|---|---|---|
Progetto Informatica | Portale Informatica | BarCode | |||||
Categorie principali
|