Documente Academic
Documente Profesional
Documente Cultură
SEBASTIN PEALOZA R.
Modelo de FTP
Para establecer el modelo completo de un sistema FTP, a continuacin se describen sus principales componentes: PI de usuario: Intrprete de protocolo de usuario. Inicia la conexin de control sobre el proceso del servidor FTP. Enva los comandos FTP y controla el DTP de usuario si este ltimo toma parte en la transferencia de archivos. DTP de usuario: Proceso de transferencia de datos de usuario. Se encuentra escuchando en un puerto de datos esperando una conexin de datos desde el servidor FTP. Si dos servidores transfieren datos entre si, el DTP de usuario se inactiva. PI de servidor: Intrprete de protocolo de servidor. Se encuentra escuchando por una conexin de control desde el PI de usuario. Recibe los comandos FTP, manda las respuestas y controla el DTP de servidor si as es necesario. DTP de servidor: Proceso de transferencia de datos de servidor. En su estado normal activo, establece e inicia la conexin de datos con el puerto de datos que se encuentra escuchando. Setea los parmetros para la transferencia y el almacenamiento. En el estado pasivo no inicia la conexin, sino, se encuentra escuchando en el puerto por ella.
RFC 959 File Transfer Protocol (FTP) El siguiente modelo representa el diagrama de un servicio FTP:
SEBASTIN PEALOZA R.
Interfaz de Usuario
USUARIO
PI de Servidor
PI de Usuario
Sistema de archivos
Sistema de archivos
1: Conexin de Control: Comandos FTP, Respuestas FTP. Usualmente puerto 21. 2: Conexin de Datos: Transferencia de datos. Usualmente puerto 20. El funcionamiento del sistema se puede resumir en los siguientes pasos: 1) En el modelo, el intrprete de protocolo (PI) de usuario, inicia la conexin de control en el puerto 21, que obedece el protocolo Telnet. Las rdenes FTP estndar las genera el PI de usuario y se transmiten al proceso del servidor a travs de la conexin de control. Las respuestas estndar se envan desde el PI del servidor al PI de usuario por la conexin de control como respuesta a las rdenes. 2) Estas rdenes FTP especifican parmetros para la conexin de datos (puerto de datos, modo de transferencia, tipo de representacin y estructura) y la naturaleza de la operacin sobre el sistema de archivos (almacenar, recuperar, aadir, borrar, etc.). 3) El proceso de transferencia de datos DTP de usuario, debe esperar a que el servidor inicie la conexin al puerto de datos especificado (puerto 20 en modo activo o estndar) y transferir los datos en funcin de los parmetros que se hayan especificado.
SEBASTIN PEALOZA R.
Se puede observar en la fig. 1 que la comunicacin entre cliente y servidor es independiente del sistema de archivos utilizado en cada computador, de manera que no importa que sus sistemas operativos sean distintos, porque las entidades que se comunican entre s son los PI y los DTP, que usan el mismo protocolo estandarizado FTP. La conexin de datos establecida es bidireccional (full-duplex), es decir, se puede usar simultneamente para enviar y para recibir. Adems no tiene por qu existir todo el tiempo que dura la conexin FTP (la conexin de control puede ser establecida independientemente). El protocolo FTP requiere que la conexin de control este abierta mientras exista una transferencia de datos. En este sentido es responsabilidad del usuario hacer el request de cierre de la conexin de control cuando deje de ocupar el servicio FTP. Por tanto, el servidor es quien toma dicha accin. As mismo, el servidor debe abortar la transferencia de datos si la conexin de control se cierra sin haber recibido el comando respectivo. Un punto importante es la relacin entre FTP y Telnet. Como ya se enunci, FTP utiliza el protocolo Telnet para establecer la conexin de control. Para ello existirn dos formas: la primera sera que los PI de usuario o servidor implementen las reglas del protocolo Telnet directamente en sus procesos, y la segunda es que alguno de ellos utilice un modulo de Telnet existente en el sistema. La primera opcin presenta eficiencia e independencia. La segunda, facilidad de implementacin. En la prctica, FTP ocupa muy pocas funcionalidades de Telnet, con lo que en la primera opcin se utilizara una baja cantidad de cdigo para la implementacin. Como otro punto importante, en el texto se describe la conexin de control, los parmetros definidos a travs de los comandos y las respuestas enviadas entre los PI de usuario y servidor. En la siguiente seccin se enumeran las principales consideraciones hechas en el texto.
SEBASTIN PEALOZA R.
QUIT
Descripcin El argumento de este comando es un string Telnet con el nombre de usuario que lo identifica en el sistema. Es requerido para acceder al sistema de archivos del servidor. En un string Telnet de argumento se especifica el password del usuario. Este comando siempre es precedido por USER. Un string Telnet con el nombre de la cuenta constituye el argumento de este comando. Permite al usuario cambiar de directorio de trabajo sin alterar su estada en el sistema. El argumento es algn directorio. Caso particular del anterior. Sirve para cambiar al directorio raz desde cualquier ubicacin. Sirve para montar un sistema de archivos distinto sin alterar la estada del usuario. Reinicializa el sistema para el ingreso de un nuevo usuario. Resetea parmetros. Permite que se terminen procesos. Permite cerrar la sesin de un cliente o usuario. Si no hay transferencia de archivos, el servidor cierra la conexin de control. Si existe dicha transferencia, espera la respuesta y despus cierra la sesin.
Tabla 1. Comandos de control de acceso.
TYPE
SEBASTIN PEALOZA R.
STRU MODE
El argumento es un carcter que especifica la estructura de archivo como F, R o P (File, Record structure, Page structure) Un carcter especifica el modo de transmisin de los datos en S, B o C (Stream, Bloque o Comprimida)
Tabla 2. Comandos de Parmetros de transferencia.
Comando RETR STOR STOU APPE ALLO REST RNFR RNTO ABOR DELE RMD MKD PWD LIST NLST SITE
Descripcin Comando que da la orden al DTP de servidor para que transfiera una copia del archivo al DTP de usuario. Da la orden para que el DTP de servidor acepte el archivo transferido hacia el lado servidor y lo guarde. Caso particular del comando anterior donde el archivo queda en un directorio con nombre nico. Ordena al DTP de servidor aceptar un archivo y si este existiese, adjunta la informacin a dicho archivo antiguo. Este comando permite reservar un espacio en disco duro en el servidor para un posible archivo. Reinicia la transferencia de un archivo indicando el marcador del servidor. Este comando especifica el nombre antiguo de un directorio que ser renombrado. Especifica el nombre nuevo de un directorio que ser renombrado. Junto a RNFR cambia el nombre. Aborta el comando ingresado previamente y las acciones que se lleven a cabo debido a l. Elimina el archivo especificado en el lado del servidor. Remueve un directorio completo. Crea un directorio nuevo. Este comando hace que el nombre del directorio de trabajo sea retornado en una respuesta. Comando que provoca el envi de una lista de archivos desde el servidor al DTP. Se debe setear de manera correcta el tipo antes. Enva una lista de directorios desde el servidor hacia el usuario. Comando que sirve para que el servidor provea servicios ms especificos.
SEBASTIN PEALOZA R.
Comando que sirve para identificar el sistema operativo del servidor. Causa el envi de una respuesta de status de las operaciones en desarrollo. Entrega informacin acerca de cualquiera de los comandos implementados y su sintaxis. Sirve para recibir una respuesta de OK del servidor. No altera otros parmetros.
Tabla 3. Comandos de servicios FTP.
Por su parte, las respuestas FTP son generadas frente a la recepcin de alguno de los comandos mencionados anteriormente. Su funcin principal es asegurar la sincronizacin entre las peticiones y las acciones, adems de que el usuario conozca el estado del servidor en todo momento. Cada comando generar por lo menos una respuesta que consta de tres dgitos XXX seguidos por un pequeo texto. Estos tres dgitos codifican las respuestas. El primero las encasilla como buenas, malas o incompletas, el segundo especfica el error identificado en el primero, y el tercero es utilizado para establecer informacin ms especfica.
Considerando lo anterior, las siguientes tablas representan el significado de los dos primeros dgitos (el tercer dgito esta ntimamente relacionado al significado de los otros dos):
4XX
5XX
Significado El comando fue aceptado pero se debe esperar una segunda respuesta para ingresar nuevo comando. El comando fue aceptado y la accin se llev a cabo con xito. Se puede ingresar uno nuevo. El comando fue aceptado pero se necesita el ingreso de otro comando especificando informacin requerida. El comando fue rechazado y la accin requerida no se efectu, pero el error es temporal y la accin podra ser solicitada de nuevo. Comando no aceptado y accin no efectuada.
RFC 959 File Transfer Protocol (FTP) Segundo dgito X0X X1X X2X X3X X4X X5X
SEBASTIN PEALOZA R.
Significado Error de sintaxis. Respuesta a requerimiento de informacin. Respuesta asociada a conexiones de control o conexin. Asociada a procesos de autentificacin o de accounting. No especificada. Asociada a sistema de archivos.
Es as como por ej. se tendrn algunas respuestas del tipo: 200 Comando OK 502 Comando no implementado 503 Secuencia errnea de comandos 214 Mensaje de ayuda
Informacin adicional
A continuacin se presenta informacin que apoya lo sealado en secciones anteriores mostrando la aplicacin de algunos de los comandos estudiados y estableciendo relaciones entre los sistemas completos de cliente- servidor:
Servidor FTP
Un servidor FTP es un programa especial que se ejecuta en un equipo servidor normalmente conectado a Internet (aunque puede estar conectado a otros tipos de redes, LAN, MAN, etc.). Su funcin es permitir el intercambio de datos entre diferentes servidores/computadores. Por lo general, los programas servidores FTP no suelen encontrarse en los computadores personales, por lo que un usuario normalmente utilizar el FTP para conectarse remotamente a uno y as intercambiar informacin con l. Las aplicaciones ms comunes de los servidores FTP suelen ser el alojamiento web, en el que sus clientes utilizan el servicio para subir sus pginas web y sus archivos correspondientes; o como servidor de backup (copia de seguridad) de los archivos importantes que pueda tener una empresa. Para ello, existen protocolos de comunicacin FTP para que los datos se transmitan cifrados, como el SFTP (Secure File Transfer Protocol).
Cliente FTP
Cuando un navegador no est equipado con la funcin FTP, o si se quiere cargar archivos en un equipo remoto, se necesitar utilizar un programa cliente FTP. Un cliente FTP es un programa
SEBASTIN PEALOZA R.
que se instala en el computador del usuario, y que emplea el protocolo FTP para conectarse a un servidor FTP y transferir archivos, ya sea para descargarlos o para subirlos. Para utilizar un cliente FTP, se necesita conocer el nombre del archivo, el computador en que reside (servidor, en el caso de descarga de archivos), el computador al que se quiere transferir el archivo (en caso de querer subirlo al servidor), y la carpeta en la que se encuentra. Algunos clientes de FTP bsicos en modo consola vienen integrados en los sistemas operativos, incluyendo Windows, DOS, Linux y Unix. Sin embargo, hay disponibles clientes con opciones aadidas e interfaz grfica. Aunque muchos navegadores tienen ya integrado FTP, es ms confiable a la hora de conectarse con servidores FTP no annimos utilizar un programa cliente.
SEBASTIN PEALOZA R.
archivos que no necesita para realizar su trabajo, de esta forma acceder a un entorno restringido, algo muy similar a lo que sucede en los accesos annimos, pero con ms privilegios.