11 EL NIVEL DE APLICACIÓN EN INTERNET 2ª PARTE
11.1 FTP: File Transfer Protocol 2 11.1.1 Introducción 2 11.1.2 Comandos de FTP 4 11.1.3 Protocolo Trivial de Transferencia de Archivos (TFTP). 6 11.2 TELNET 9 11.2.1 Introducción. 9 11.2.2 Modelo de emulación de terminal de telnet. 10 11.2.3 Características de NVT. 14 11.2.4 Control de un cliente telnet de texto. 15 11.3 La World Wide Web. 18 11.3.1 Introducción. 18 11.3.2 El lado del cliente. 18 11.3.3 El lado del servidor. 19 C: telnet www.uv.es 80 21 11.3.4 HTTP: Protocolo de transferencia de hipertexto. 21
11.1 FTP: File Transfer Protocol 11.1.1 Introducción
En un entorno de red, es natural que se quiera copiar archivos entre distintas computadoras. ¿Por qué a veces es tan complicado?. Los fabricantes de computadoras han ideado cientos de sistemas de archivos. Estos sistemas difieren en docenas de detalles menores, y también en unos cuántos detalles importantes. No es sólo un problema de que haya múltiples fabricantes. A veces es difícil copiar archivos entre dos tipos diferentes de computadoras de un mismo fabricante.
Cuando se trabaja en un entorno multsistema pueden aparecer, entre otros, los siguientes problemas:
Convenciones diferentes para nombrar los archivos.
Reglas diferentes para recorrer los sistemas de directorios.
Restricciones de acceso a archivos.
Formas diferentes de representar texto y datos dentro de los archivos.
Los diseñadores del conjunto de protocolos de TCP/IP no trataron de crear una solución general muy complicada que resolviera cualquier problema de transferencia de archivos. En lugar de ello, crearon un protocolo de transferencia de archivos llamado FTP (File Transfer Protocol) bastante básico, pero elegante, útil y fácil de usar.
El protocolo de transferencia de archivos FTP fue diseñado para su uso de forma interactiva por usuarios finales o por programas de aplicación. Aquí limitaremos la explicación al servicio de FTP de usuario final interactivo más familiar, disponible en todas las implementaciones de TCP/IP.
La interfaz de usuario desarrollada para el cliente de transferencia de archivos del UNIX de Berkeley se ha implementado en muchos tipos de computadoras multiusuario. Las funciones esenciales de transferencia de archivos permiten a los usuarios copiar archivos de un sistema a otro, ver listados de directorios y realizar tareas normales, como cambiar de nombre o borrar archivos. Esas funciones forman parte del conjunto de protocolos normalizados de TCP/IP.
El protocolo trivial de transferencia de archivos TFTP (Trivial File Transfer Protocol), del que trataremos al final, es un protocolo de transferencia de archivos sencillo que se usa en situaciones especiales como cuando se carga software en encaminadores, puentes o estaciones de trabajo sin disco.
Normalmente los sistemas de computadoras piden al usuario que introduzca un identificador de conexión y una contraseña para poder ver o manipular los archivos. Sin embargo, a veces es útil crear un área pública de archivos. El FTP ofrece dos tipos de servicios para adaptarse tanto al acceso a información pública compartida como al acceso a archivos privados:
Acceso a archivos públicos por medio de conexiones “anónimas”.
Acceso a archivos privados, restringido a usuarios que poseen un identificador de conexión al sistema y una contraseña.
Veamos un sencillo acceso a los datos públicos de un ordenador:
> ftp glup.irobot.uv.es | El comando ftp hace que comience el programa de la interfaz de usuario del cliente de FTP. El usuario quiere conectarse al ordenador remoto glup.uv.es.
| Connected to glup.irobot.uv.es.
| El cliente local de FTP avisa que se ha conectado con exito.
| 220 glup.irobot.uv.es FTP server (Version 1.7.111.1 Mon Apr 17 20:26:20 GMT 1995) ready.
| Mensaje de bienvenida del sistema remoto. | Name (glup.uv.es:quique): anonymous | El cliente local de FTP pide un identificador de usuario. glup.uv.es aceptará anonymous.
| 331 Guest login ok, send ident as password. Password:
| El cliente local de FTP pide una contraseña. Introducimos la respuesta apropiada, que es nuestro identificador de correo.
|
230 Guest login ok, access restrictions apply. Remote system type is UNIX. Using binary mode to transfer files. ftp>
|
El cursor ftp> significa ¿Qué quieres hacer ahora?. | ftp> cd pub | El usuario cambia al directorio remoto pub, que contiene los documentos que desea.
| 250 CWD command successful. | El comando cd se envió al servidor como el comando formal cwd (cambio de directorio de trabajo, change working directory). El directorio en el servidor es ahora pub y ya se puede transferir el documento.
| ftp> get Manual.doc MiManual.doc | Se quiere una copia del archivo remoto Manual.doc, dicha copia queremos que reciba el nombre local de MiManual.doc.
| 200 PORT command successful. | El cliente local de FTP ha obtenido un segundo puerto y ha enviado un comando PORT al servidor, diciéndole que se conecte a ese puerto.
| 150 Opening BINARY mode data connection for Manual.doc (1681920 bytes).
| Se abre la conexión de datos para la transferencia de archivos. | 226 Transfer complete. 1681920 bytes received in 1.67 seconds (980.66 Kbytes/s)
| La transferencia ha terminado. | ftp> quit | Terminamos la sesión.
| 221 Goodbye. | |
Como se puede observar del diálogo anterior, un usuario interacciona con un proceso del cliente local de FTP. El software del cliente local entabla una conversación formal con el proceso del servidor remoto de FTP a través de una conexión de control. Cuando el usuario final introduce un comando de transferencia o de gestión de archivos, el comando se traduce a uno de los acrónimos especiales de la conexión de control.
En el fondo, la conexión de control no es más que una simple sesión del NVT de telnet. El cliente envía comandos al servidor a través de la conexión de control y el servidor envía respuestas al cliente a través de la misma.
Si el usuario pide una transferencia de archivos, se abre una conexión de datos independiente y el archivo se copia a través de dicha conexión. También se utilizan conexiones de datos para transmitir los listados de directorios. En la figura siguiente se muestra este modelo. El servidor utiliza normalmente el puerto 20 para su extremo de la conexión de datos.
 Figura 11.1: Esquema del funcionamiento de FTP.
Durante el diálogo anterior, el usuario final solicitó un cambio de directorio para copiar un archivo. Esta petición se convirtió en un comando formal de FTP y se envió al servidor remoto de FTP a través de la conexión de control. La transferencia de archivo se realizó por la conexión de datos independiente que se creó al efecto. |