FTP
Transferência de Arquivos (FTP)
O protocolo FTP (file transfer protocol) (RFC959) é o protocolo que suporta a aplicação de transferência de arquivos entre computadores.
Numa sessão FTP um usuário pode transferir arquivos de um computador remoto para um computador local e vice-versa (download e upload, respectivamente). Uma maneira típica de realizar um FTP é utilizar um terminal de texto do Linux, iniciando a aplicação com o comando ftp e executando os comandos apropriados. O primeiro comando do usuário (open) deve fornecer endereço do computador remoto, estabelecendo com isto uma conexão TCP entre o processo FTP cliente e servidor. Depois o usuário deve fornecer sua identificação e sua senha. Outros comandos possíveis são: mudar de diretório (cd), solicitar arquivos (get), enviar arquivos (put), etc.
O protocolo FTP usa duas conexões paralelas TCP para transferir arquivos: uma para controle da conexão e outra para a transferência de dados. O controle de conexão é usado para trocar informações como a identificação do usuário e senha e para transferir os comandos FTP. A conexão de dados é usada para transferir os arquivos propriamente ditos. Cada uma destas duas conexões TCP usa uma porta específica: a conexão de controle de conexão usa a porta 21 e a conexão de dados usa a porta 20.
A figura \ref{FTP} ilustra o serviço FTP, conforme descrito na RFC959. Na figura os blocos \textit{Server/User PI} identificam o interpretador de protocolo e \textit{Server/User DTP} identificam o processo de transfereência de dados, tanto do lado do servidor quanto do lado do usuário.
------------- |/---------\| || User || -------- ||Interface|<--->| User | |\----^----/| -------- ---------- | | | |/------\| FTP Commands |/----V----\| ||Server|<---------------->| User || || PI || FTP Replies || PI || |\--^---/| |\----^----/| | | | | | | -------- |/--V---\| Data |/----V----\| -------- | File |<--->|Server|<---------------->| User |<--->| File | |System| || DTP || Connection || DTP || |System| -------- |\------/| |\---------/| -------- ---------- ------------- Server-FTP USER-FTP
As mensagens de controle FTP são codificadas em formato ASCII, com caracteres maiúsculos, como nos exemplos abaixo.
USER NAME (USER) PASSWORD (PASS) CHANGE WORKING DIRECTORY (CWD) LOGOUT (QUIT) RETRIEVE (RETR) STORE (STOR)
As respostas são sempre de três dígitos, com uma mensagem opcional seguindo o número, como nos exemplos abaixo..
331 User name OK, password required 125 Data conection already open; transfer starting 425 CanŽt open data conection 452 Error writing file.
- Autoria
- Evandro Cantú / IFPR - Câmpus Foz do Iguaçu