FTP (File Transfer Protocol)

Post on 15-Nov-2014

264 views 1 download

Tags:

description

-Descripción general -Comandos básicos -Diagrama de estados -Capturas en Wireshark

Transcript of FTP (File Transfer Protocol)

FTPPresentado por:Juan Camilo SacanamboyGerardo Andrés SuárezHéctor Alexis Narváez

Contenido

● Glosario● Descripción del protocolo● Comandos principales● Máquina de estados del protocolo● Captura con Wireshark● Conclusiones● Referencias

Glosario

Glosario● RFC (Request for Comments): son publicaciones de la IETF(Internet

Engineering Task Force) y de la Internet Society que contienen información técnica y organizacional relacionada con redes de comunicaciones. Se pueden encontrar protocolos, procedimientos, conceptos, opiniones, notas, entre otros.

● ARPANET (Advanced Research Projects Agency Network): red creada por encargo del DOD (Departamento de Defensa de Estados Unidos). Fue la espina dorsal de Internet hasta 1990, tras finalizar la transición a TCP/IP.

● NCP (Network Control Protocol): predecesor de TCP. Establecía dos puertos de comunicación, para comunicar en dos vías.

1/25

Descripción del protocolo

● RFC 141 - 1971: primera propuesta para implementarlo en hosts en el M.I.T. ● RFC 172 - 1971: protocolo de transferencia de archivos orientado a un nivel de

usuario entre computadores (Incluidos los IMPs).● RFC 354 - 1972: FTP se define como un protocolo para la transferencia de

archivos entre hosts en ARPANET. Transmisión de archivos de manera eficiente y confiable.

● RFC 454 - 1973: primera versión “oficial” de FTP.● RFC 542 - 1973: nueva versión “oficial” de FTP. Varios cambios, pero la

estructura general era la misma.● RFC 765 - 1980: Debido a la transición de NCP a TCP, se especifica FTP para

TCP● RFC 959 - 1985: corrección en documentación, mejor explicación y algunos

comandos nuevos (opcionales).

Historia2/25

Modelo FTP3/25

Tomado de (Postel and Reynolds,1985)

PUERTOS20/TCP DATA Port21/TCP Control Port

Modelo FTP● El user-PI(Protocol Interpreter) inicia la conexión de control. Cuando el

usuario inicia, los comandos son generados por el User PI y se transmiten al servidor, a través de la conexión de control.

● El server-PI responde al user-PI sobre la conexión de control en respuesta a los comandos.

● Los comandos FTP especifican los parámetros para la conexión de datos (puerto de datos, modo de transferencia, tipo de representación y estructura) y la operación (store, retrieve, append,delete, etc.).

● El user-DTP debe escuchar en el puerto de datos y el servidor inicia la conexión de datos y la transferencia de datos, de acuerdo a los parámetros especificados. La conexión de datos puede ser usada para enviar y recibir de manera simultánea.

4/25

Modelo FTP● Transferencia de archivos entre dos hosts, desde un usuario:

El usuario establece la conexión de control hacia los dos servidores y luego establece la conexión de datos entre los dos servidores.

La información de control se pasa al user-PI, pero la información se transfiere entre los servidores.

Se requiere que la conexión de control esté abierta mientras la transferencia de datos esté en progreso. El usuario debe cerrar las conexiones de control cuando finalice el servicio FTP.

Tomado de (Postel and Reynolds,1985)

5/25

Modelo FTP

Relación entre Telnet y FTPFTP usa el protocolo Telnet en la conexión de control. Esto sepuede hacer de dos maneras:

1. El user-PI o el server-PI pueden implementar las reglas del protocolo Telnet en sus propios procedimientos → Eficiencia e independencia.

2. El user-PI o el server-PI pueden hacer uso de un módulo existente de Telnet dentro del sistema → Fácil implementación y programación modular.

6/25

Comandos principales

Categorías de comandos

● De control de Acceso● Parámetros de transferencia● De servicios FTP

7/25

De control de acceso○ USER NAME (USER)○ PASSWORD (PASS)○ ACCOUNT (ACCT)○ CHANGE WORKING DIRECTORY (CWD)○ CHANGE TO PARENT DIRECTORY (CDUP)○ STRUCTURE MOUNT (SMNT)○ REINITIALIZE (REIN)○ LOGOUT (QUIT)

8/25

Parámetros de transferencia○ DATA PORT (PORT)○ PASSIVE (PASV)○ REPRESENTATION TYPE (TYPE)○ FILE STRUCTURE (STRU)○ TRANSFER MODE (MODE)

9/25

De servicios FTP○ RETRIEVE (RETR)○ STORE (STOR)○ STORE UNIQUE (STOU)○ APPEND (APPE)○ ALLOCATE (ALLO)○ RESTART (REST)○ RENAME FROM (RNFR)○ RENAME TO (RNTO)

10/25

De servicios FTP○ ABORT (ABOR)○ DELETE (DELE)○ REMOVE DIRECTORY (RMD)○ MAKE DIRECTORY (MKD)○ PRINT WORKING DIRECTORY (PWD)○ LIST (LIST)○ NAME LIST (NLST)○ SITE PARAMETERS (SITE)

11/25

De servicios FTP○ SYSTEM (SYST)○ STATUS (STAT)○ HELP (HELP)○ NOOP (NOOP)

12/25

Diagrama de Estados

RESPUESTAS

● Aseguran la sincronización de solicitudes y acciones.

● Garantizan que el usuario conozca siempre el estado del servidor.

● Cada comando tiene al menos una respuesta.

● Se componen de 3 bits seguidos de texto.

13/25

RESPUESTAS Significados del primer bit:● 1yz Positive Preliminary reply: la solicitud se inició.

Esperando otra respuesta antes de proceder con un nuevo comando. (120 Service ready in n minutes).

● 2yz Positive Completion reply: se completó la solicitud. Una nueva solicitud puede ser iniciada (220 Service ready for new user)

14/25

RESPUESTAS● 3yz Positive Intermediate reply: se aceptó el comando,

pero la solicitud de respuesta se encuentra suspendida. El usuario debe enviar otro comando. (332 Need account for login).

● 4yz Transient Negative Completion reply: el comando no fue aceptado, pero la condición de error es temporal (421 Service not available, closing control connection).

● 5yz Permanent Negative Completion reply: el comando no fue aceptado (500 Syntax error, command unrecognized).

15/25

Diagramas de estados

GRUPO DE COMANDOS:ABOR, ALLO, DELE, CWD, CDUP, SMNT, HELP, MODE, NOOP, PASV,QUIT, SITE, PORT, SYST, STAT, RMD, MKD, PWD, STRU, and TYPE.

ESTADOS:Success (S)Failure (F)Error (E)Begin (B)Wait for reply(W)

HELP: Lista los comandos que se pueden usar y brinda información sobre alguno en específico.

16/25

Diagramas de estados

GRUPO DE COMANDOS:APPE, LIST, NLST, REIN, RETR, STOR, and STOU.

LIST:se transfiere una lista de archivos al servidor.

17/25

Diagramas de estados - Rename 18/25

Diagramas de estados - Restart

REST:inicia el proceso para reiniciar la transferencia de un archivo. Debe ser seguido por otro comando como RETR.

19/25

Diagramas de estados - Login20/25

Captura con Wireshark

Conexión a servidor FTP21/25

Captura realizada22/25

Reconstrucción de flujo23/25

Conclusiones

Conclusiones● FTP surge como solución a un problema identificado desde

los inicios de las redes de comunicaciones: la transmisión de archivos de manera eficiente y confiable.

● FTP hace uso de los protocolos TCP y Telnet.● Hay diferentes diagramas de estados del protocolo,

dependiendo del comportamiento del comando.● El protocolo utiliza una conexión de datos y otra de control.

La primera para el envío de datos(por el puerto 20) y la segunda para el control (por el puerto 21).

24/25

Referencias

Referencias● Postel, J. and Reynolds, J. (1985). RFC 959: FILE

TRANSFER PROTOCOL (FTP). Request for Comments.

● Ietf.org, (2014). Request for Comments (RFC) Pages. [online] Available at: http://www.ietf.org/rfc.html [Accessed 4 Sep. 2014].

25/25