File Transfer Protocol: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Annullate le modifiche di 94.34.135.244 (discussione), riportata alla versione precedente di FrescoBot
Etichetta: Rollback
m Funzionamento generale: formattazione paragrafi per leggibilità
Riga 28:
FTP, a differenza di altri protocolli come per esempio [[Hypertext Transfer Protocol|HTTP]], utilizza due [[connessione (informatica)|connessioni]] separate per gestire comandi e dati. Un [[server FTP]] generalmente rimane in ascolto sulla [[Porta (reti)|porta]] 21 [[Transmission Control Protocol|TCP]] a cui si connette il [[client]]. La connessione da parte del client determina l'inizializzazione del canale comandi attraverso il quale client e server si scambiano comandi e risposte. Lo scambio effettivo di dati (come per esempio un [[file]]) richiede l'apertura del canale dati, che può essere di due tipi.
 
* In un canale dati di tipo '''attivo''' il client apre una porta solitamente casuale, tramite il canale comandi rende noto il numero di tale porta al server e attende che si connetta. Una volta che il server ha attivato la connessione dati al client FTP, quest'ultimo effettua il binding della porta sorgente alla porta 20 del server FTP. A tale scopo possono venire impiegati i comandi '''PORT''' o '''EPRT''', a seconda del protocollo di rete utilizzato (in genere [[IPv4]] o [[IPv6]]).
 
* In un canale dati di tipo '''passivo''' il server apre una porta solitamente casuale (superiore alla 1023), tramite il canale comandi rende noto il numero di tale porta al client e attende che si connetta. A tale scopo possono venire impiegati i comandi '''PASV''' o '''EPSV''', a seconda del protocollo di rete utilizzato (in genere [[IPv4]] o [[IPv4|IPv6]]).
 
Sia il canale comandi, sia il canale dati sono delle connessioni [[Transmission Control Protocol|TCP]]; FTP crea un nuovo canale dati per ogni file trasferito all'interno della [[sessione]] utente, mentre il canale comandi rimane aperto per l'intera durata della sessione utente, in altre parole il canale comandi è persistente mentre il canale dati è non persistente.