Sie sind auf Seite 1von 20

22

SERVICIOS DE APLICACIN: TELNET, FTP, TFTP, NFS, SMTP, POP3, IMAP4, WWW Y GOPHER
22.1 PROTOCOLOS DE APLICACIN TCP/IP
En la figura 22.1 mostramos los protocolos de aplicacin de la suite TCP/IP, los cuales son: a) b) Protocolo de acceso remoto TELNET. Protocolos de transferencia de archivos Protocolo de Transferencia de Archivos (File Transfer Protocol FTP). Protocolo Trivial de Transferencia de Archivos (Trivial File Transfer Protocol TFTP). Protocolo de Sistema de Archivos en Red (Network File System Protocol NFS).
Terminal de usuario Host de cliente AP de usuario Peticiones /respuestas locales Sistema operativo Sistema operativo AP Sistema de interactiva archivos Usuario de correo AP de administracin

Sistema de correo local Cliente TELNET Cliente FTP SMTP Cliente SNMP Peticiones /respuestas normalizadas Servidor TELNET Servidor FTP

Sistema local de correo SMTP Servidor SNMP

PORT

PORT

PORT

PORT

PORT

PORT

PORT

PORT

TCP IP

UDP Mensajes en sintaxis definida

TCP IP

UDP

Figura 22.1 Sumario de aplicaciones bsicas del protocolo TCP/IP 318

C AP . 22 S ERVICIOS DE APLICACIN : T ELNET , F TP , T FTP , N FS , S MTP , P OP 3, I MAP 4, WWW Y G OPHER

Protocolos de correo electrnico. Protocolo Simple de Transferencia de Correo (Simple Mail Transfer Protocol SMTP). Protocolo de Correo Post Office, versin 3 ( Post Office Protocol, version 3 POP3). Protocolo de Acceso a Mensaje de Internet, versin 4 (Internet Message Access Protocol, version 4 IMAP4). Protocolos de acceso a internet World Wide Web WWW. Protocolo de Transferencia de Hipertexto. GOPHER. Un objetivo de estos protocolos es establecer una trayectoria de comunicacin entre dos protocoos de aplicacin o dos procesos involucrados, cuya panormica presentamos a continuacin. Como se recordar todos los procesos de aplicacin cliente-servidor tienen un nombre asociado a una direccin a nivel de red Internet. El procedimiento de traslacin se realiza a travs de un proceso conocido de DNS -Domain Name Server (Servidor de dominios de nombres). La direccin Internet consta de dos partes: La direccin IP del host (IP address). El nmero de puerta local (Local port number). El protocolo IP usa la direccin IP de cada router de Internet para enrutar los datagramas por la Internet hacia el computador de destino; el TCP usa el nmero de puerta dentro del computador, o por UDP, para identificar el proceso especfico dentro del computador al que se dirige el mensaje. Un sistema abierto incluye clientes y servidores mltiples de diferentes tipos (FTP, etc.) y del mismo tipo (servidores mltiples de archivos, servidores de correo, etc.). Sin embargo, a todos los servidores del mismo tipo se les asigna el mismo nmero de puerta a nivel de toda la red. Un servidor especfico es identificado entonces por la direccin IP del computador en el cual reside. Los nmeros de puerta asociados con los diferentes tipos de servidores se denominan puertas bien conocidas (well-known port) e incluyen:
20 FTP (Data Transfer Module). 21 FTP (Control module). 23 TELNET. 25 SMTP. 53 DNS. 80 WWW.

c)

De aqu, cuando un proceso cliente inicia una llamada al correspondiente proceso servidor, ste usa como direccin de destino la direccin IP del computador en el cual el servidor est operando acoplado con el adecuado nmero de puerta bien coTerminal nocida de ese servidor. Como direccin fuente ste Host de Servidor Host cliente usa la direccin IP de su propio computador conjun- de usuario AP de Programas / usuario Procesos tamente con el siguiente nmero de puerta libre en interactivos ese computador. Entonces la entidad local del protocolo TCP establecer una conexin de transporte entre el proceso cliente y el proceso servidor, usando Sistema operativo Sistema operativo estas direcciones, sobre las cuales los intercambios de mensajes tomarn lugar.

22.2 PROTOCOLO DE TERMINAL DE ACCESO REMOTO - TELNET


Como ilustra la figura 22.2, a travs del sistema operativo local se accede al cliente TELNET, tanto por el proceso de la aplicacin del usuario como ms usualmente por un usuario en el terminal. Este protocolo permite a un terminal de usuario ingresar (log on) al sistema operativo de la mquina remota, para iniciar la ejecucin de un programa o proceso sobre
319

Cliente TELNET TCP/IP

Servidor TELNET TCP/IP

Mensajes en formato NVT NVT = Terminal virtual de red


Figura 22.2 Esquema de interaccin cliente/servidor TELNET

C AP . 22 S ERVICIOS DE APLICACIN : T ELNET , F TP , T FTP , N FS , S MTP , P OP 3, I MAP 4, WWW Y G OPHER

esa mquina como, por ejemplo, un editor de textos y entonces interactuar con ste como si el terminal del usuario o el proceso estuviera conectado u operando sobre la misma mquina. Todos los comandos (caracteres de control) y datos ingresados en el terminal de usuario, o suministrados por la aplicacin del usuario, pasan por el sistema operativo local al proceso cliente-TELNET el cual a su vez los pasa al correspondiente servidor TELNET usando el TCP. Este ltimo, entonces, emite los comandos en beneficio del usuario a travs del sistema operativo local hacia el proceso interactivo. El servidor TELNET se conoce como pseudo terminal. Los dos protocolos TELNET se comunican entre s mediante comandos cadenas de caracteres nicos o continuados codificados en un formato normalizado conocido como terminal virtual de red (Network Virtual TerminalNVT). El conjunto de caracteres usado en los comandos corresponde al cdigo ASCII, as como los datos de entrada y de salida. Si stos fueran diferentes del conjunto de caracteres locales del computador, el TELNET correspondiente llevar a cabo las funciones necesarias de mapeo para la conversin respectiva. De esta manera, las dos entidades de protocolo TELNET realizan la funcin de capa de presentacin del modelo OSI. Todos los datos de salida del proceso interactivo son devueltos de la misma forma para ser mostrados sobre el terminal del cliente o para ser interpretados por el proceso de aplicacin. El conjunto de caracteres ASCII usa 7 bits por caracter. Todos los comandos y datos en formato NVT, sin embargo, estn codificados con caracteres de 8 bits. Entonces, si el bit ms significativo es 0, todos los caracteres tienen su significado normal, incluso los caracteres de control ASCII. Adems, un conjunto extra SIGNIFICADO de caracteres de comando se defi- COMANDO DECIMAL NOP 241 No operacin ne poniendo el bit ms significatiEC 247 Borrar carcter vo igual a 1. Debido a que tales EL 248 Borrar lnea caracteres tienen su bit ms signiGA 249 Continuar adelante ficativo, stos pueden ser rpidaAYT 250 Se encuentra usted ah? mente diferenciados del conjunto IP 251 Proceso de interrupcin de caracteres ASCII. De aqu, si AO 252 Aborto de salida BRK 253 Salida de break se requiere, ellos pueden interDMARK 254 Reasumir salida mezclarse dentro del tren de datos SB 255 Cadena de negociacin de opcin de arranque que viajan en una direccin. En la SE 256 Cadena de opcin de negociacin final tabla 22.1 se define un conjunto WILL 257 Opcin de aceptacin / peticin de octetos de comando junto con WONT 258 Peticin de opcin de rechazo sus significados. DO 259 Opcin de aceptacin de peticin DONT 260 Opcin de rechazo de aceptacin de peticin Todos los comandos son precedidos por un byte IAC (InTabla 22.1 Octetos de comandos NVT y su significado terpret As Command), compuesto ntegramente por dgitos 1 (255). Si un comando tiene ms de un octeto, entonces la cadena de octetos debe iniciar con un comando SB y terminar con un comando SE. Algunos comandos tienen igual significado que los usados por la mayora de programas interactivos. Adems, se requieren otros comandos porque el software interactivo (proceso) est operando en una mquina remota. La mayora de programas interactivos permiten al usuario controlar la salida de largas cadenas de caracteres a la pantalla del terminal, mediante el ingreso de caracteres o pares de caracteres de control definidos. Los comandos DRK y DNARK sealizan la misma funcin: el primero sirve para detener la transmisin, mientras que el segundo es para reasumir la transmisin. El comando AO sirve para pedir que se aborte la actual salida. En adicin, si el proceso de salida contina emitiendo datos despus de dicho pedido de abortar, el usuario podra ingresar una secuencia de caracteres para concluir el proceso remoto. Si esto ocurre, el cliente TELNET enva un byte de comando IP usando la primitiva de servicio TCP URGENT. Como se recordar, los datos asociados con esta primitiva se transmiten fuera del orden normal de flujo del control de la ventana. Este comando siempre ser recibido por el servidor. Todos los datos se transfieren en caracteres ASCII de siete dgitos, aunque es posible tambin enviarlos en caracteres de 8 bits. Esto puede ser necesario para transferir caracteres de
320

C AP . 22 S ERVICIOS DE APLICACIN : T ELNET , F TP , T FTP , N FS , S MTP , P OP 3, I MAP 4, WWW Y G OPHER

presentacin especial o si el proceso de aplicacin, en lugar de ser un usuario en el terminal, es un proceso de servidor que quiere intercambiar bloques de datos binarios. Con este propsito, se ingresa un comando conocido como opcin de negociacin. Otras funciones operativas pueden solicitarse de la misma manera. Los cdigos de opcin se presentan en la tabla 22.2. Las peticiones de opcioNOMBRE CDIGO SIGNIFICADO nes se inician por cualquier lado Pedir / Aceptar cambio a Transmitir en binario 0 de la conexin usando comandos caracteres de 8 bits WILL, WONT, DO y DONT, Caracteres (eco) recibidos de Eco 1 regreso en el transmisor seguidos por el nmero del cdiPeticin/Respuesta del estado del Estado 5 go particular de la tabla. TELNET receptor Las opciones de comanInsertar marca de tiempo en datos Marca de tiempo 6 de retorno dos tpicos son: IAC, SB, WILL, Peticin/Respuesta del tipo de 0, SE, para solicitar al receptor Tipo de terminal 24 terminal remoto que acepte 8 bits binarios. Enviar lneas completas en vez de Modo de lnea 34 caracteres individuales. El TELNET receptor debe entonces retornar lo siguiente: Tabla 22.2 Cdigos de opciones NVT y su significado IAC, SB, DO, 0, SE, si estuviera preparado para aceptar; o IAC, SB, DONT, 0, SE, si no estuviera preparado para aceptar. Como alternativa, el receptor podra iniciar la conmutacin enviando: IAC, SB, DO, 0, SE. El transmisor podra entonces enviar tanto: IAC, SB, WILL, 0, SE, para indicar que est aceptando para conmutar; o en caso contrario: AC, SB, WONT, 0, SE, para rechazar. En el modo binario todos los octetos IAC se envan dos veces para indicar al receptor que interprete al octeto como data y no como arranque de un comando. El comando marca de temporizacin (timing mark) cumple una funcin similar a la funcin de sincronizacin de la capa de sesin del modelo OSI. El empleo de otros comandos puede ser deducido de sus significados. 22.2.1 COMANDOS TELNET Sobre sistemas UNIX, el siguiente comando TELNET se ingresa en la invitacin que realiza el computador central, tal como sigue:
telnet hostname

Donde hostname es el nombre de la computadora a que se desea ingresar. Tambin se puede escribir una direccin IP en lugar del nombre del computador. Con este comando se inicia la aplicacin TELNET. Una vez que TELNET est trabajando, los comandos que se ingresen se ejecutarn sobre la computadora remota. TELNET tambin proporciona algunos comandos especiales que se pueden emplear durante una sesin TELNET y que son los siguientes:
close: Cierra la conexin. display: Presenta la configuracin de la conexin, tal como la puerta o la emulacin de terminal. environ: Programa las variables ambientales. El sistema operativo usa estas variables para proveer informacin especfica para la mquina o informacin especfica para el usuario. logout: Sale de la computadora remota y cierra la conexin. mode: Alterna entre el modo de transferencia de archivos binarios o archivos ASCII. open: Conectar a una computadora remota. quit: Sale de TELNET. send: Enva secuencias especiales de protocolo TELNET a las computadoras remotas, tal como en el caso de una secuencia de aborto, de una secuencia de corte (break) o de una secuencia de fin de archivo. set: Programa los valores de operacin de una conexin. unset: Desprograma los valores de operacin. ?: Permite imprimir informacin de ayuda.

En plataformas grficas como Microsoft Windows, normalmente TELNET tiene icono propio y opera en una ventana, pero los comandos y procesos subyacentes son los de un sistema basado en texto.

22.3 PROTOCOLOS DE TRANSFERENCIA DE ARCHIVOS


Entre los protocolos de transferencia de archivos tenemos los siguienes: FTP, TFTP y NFS.
321

C AP . 22 S ERVICIOS DE APLICACIN : T ELNET , F TP , T FTP , N FS , S MTP , P OP 3, I MAP 4, WWW Y G OPHER

A continuacin los desarrollaremos en detalle, incluyendo sus comandos. 22.3.1 PROTOCOLO DE TRANFERENCIA DE ARCHIVOS - FTP Este protocolo (File Transfer Protocol Terminales Terminal de Servidor de usuario usuario FTP) permite acceder a un servidor de arServidor de AP de chivo remoto, el cual es un requisito funarchivos usuario damental en muchas aplicaciones distribuidas. En algunas instancias, mltiples clientes pueden acceder a un solo servidor Sistema Sistema Sistema de archivo, mientras que varias copias del operativo operativo operativo mismo archivo pueden estar guardadas en varios servidores. La figura 22.3 muestra un ejemplo de aplicacin. Cliente FTP Cliente FTP Servidor FTP A un cliente FTP pueden acceder tanto un usuario en un terminal como un proceso de aplicacin de usuario. NormalTCP/IP TCP/IP TCP/IP mente, un solo cliente puede soportar muchos de estos usuarios concurrentemente. ste proporciona a cada usuario un conjunMensajes en formato NVT to similar de servicios disponibles en los sistemas de archivos. Entonces, cada usua- NVT=Network virtual terminal FTP=File transfer protocol rio puede hacer listas de directorios, obte- Figura 22.3 Esquema de interaccin de cliente/servidor FTP ner (leer) contenido de archivos, crear nuevos archivos, actualizarlos o eliminarlos y otras actividades. Igualmente, un servidor FTP puede contestar a las peticiones de varios clientes concurrentemente. Al recibir cada peticin, el servidor acta con su sistema local de archivos para atender como si sta se hubiese generado localmente. El cliente FTP permite al usuario especificar la estructura y el tipo de datos del archivo involucrado. Estas estructuras son similares a las de los sistemas de archivos. Se soportan 3 tipos de estructura de archivos: No estructurados Mdulo de Mdulo de Mdulo de Mdulo de Estructurados transferencia transferencia control control de datos de datos De acceso aleatorio Se soportan cuatro tipos de Puerta Puerta Puerta 21 Puerta 20 formato de datos: Binarios de 8 bits TCP Control TCP texto ASCII de la IP IP conexin texto EBCDIC Archivo binario de longitud variable. Red El servidor FTP accede a cada archivo desde su sistema de archivos locales y Conexin de datos los transfiere al cliente FTP Figura 22.4 Modelo de operacin del FTP con la estructura definida con anterioridad. En la figura 22.4 presentamos este modelo de comportamiento. Como un archivo no estructurado puede contener cualquier tipo de data binario o texto ste se transfiere entre dos entidades de protocolo FTP en un tren de bits transparentes. El usuario interpreta entonces la secuencia de bits de acuerdo a los tipos de datos dentro de ste. Los archivos estructurados consisten en una secuencia de registros de tamao fijo de un tipo definido. De aqu el contenido de tales archivos se transfiere normalmente en una cadena de bloques de tamao fijo. Alternativamente, los contenidos pueden transferirse en modo comprimido, cuando los archivos son grandes. Los tipos de redundancia pueden ser explotados por cada en322

C AP . 22 S ERVICIOS DE APLICACIN : T ELNET , F TP , T FTP , N FS , S MTP , P OP 3, I MAP 4, WWW Y G OPHER

tidad de protocolo FTP aplicando un algoritmo de compresin, previo acuerdo, al contenido de los archivos antes de transmitirlos. En el modelo OSI, la capa de presentacin ejecutara esto. Los archivos de acceso aleatorio estn compuestos por registros de tamao variable, y son referidos como pginas, es decir, como un archivo paginado. Cada registro /pgina tiene un encabezamiento asociado, el cual incluye una longitud, el tipo de campo e informacin posicional, la cual indica la posicin de la pgina /registro relativa al contenido del archivo total. Cada pgina se transfiere entre las dos entidades de protocolo en la misma forma. En el caso de transferencias de modo bloque y modo comprimido, las dos entidades FTP controlan la transferencia de los archivos grandes con controles especiales. Esta accin es similar a los servicios de sincronizacin de la capa de sesin del modelo OSI. Para manejar peticiones mltiples concurrentemente, cada servidor FTP y cliente si es que ste tambin puede soportar mltiples peticiones crea una nueva instancia de protocolo FTP o proceso FTP para cada nueva peticin recibida. Usualmente hay un solo proceso principal, que es el nmero de la puerta bien conocida, al cual se pasan todas las nuevas peticiones. Este proceso maestro crea un nuevo proceso para esta conexin, realizando varias funciones de control asociadas con la sesin, que incluyen el procedimiento de derecho de acceso (LOG ON con password) y la descripcin de la estructura y los tipos de datos asociados de los archivos que han de transferirse. ste tambin define si se usar algn tipo de compresin y qu algoritmo de compresin. Muchos fabricantes han creado otro proceso para manejar los datos transferidos actualmente asociados con la sesin. En tales casos, una sesin simple FTP involucra dos conexiones de transporte: una para intercambiar mensajes de control y la otra para transferir contenidos de archivos. Esto, por supuesto, es totalmente transparente para el usuario y el software del servidor. El formato de los mensajes asociados con el contenido de los archivos se determina por la estructura del archivo. El formato de los mensajes intercambiados entre dos procesos de control FTP las unidades de protocolo de datos FTP debe tambin ser acordado en sintaxis para asegurar que stas tengan el mismo significado (y que, por tanto, sern interpretadas de la misma manera) en ambas computadoras. Con este propsito se emplea el formato NVT. 22.3.1.1 COMANDOS FTP A continuacin listamos los comandos FTP ms utilizados y sus definiciones. Cuando los comandos UNIX y los de DOS realizan la misma funcin, los presentamos a ambos en el mismo punto de la lista. Hay que tener en consideracin que muchos servidores FTP residen en un computador UNIX, por lo cual son sensitivos al tipo del texto, es decir que ellos distinguen entre letras minsculas y maysculas. Debe escribirse con el tipo de letra o caracter exacto cuando se ingresan los nombres de los archivos. El directorio actual de la computadora local, en la cual una persona inicia una sesin FTP, es la ubicacin por defecto a la cual se transfieren los archivos del servidor. f tp : Usado para iniciar el programa cliente FTP. Se puede ingresar el comando ftp solo o seguido de una direccin IP o del nombre de un dominio. La figura 22.5 ilustra que la sesin FTP, dirigida a rs.internic.net, se inici ingresando el comando: ftp rs.internic.net. En respuesta, se apreC: \System\ WINDOWS > ftp rs.internic.net cia una informacin Connected to rs.internic.net abundante. Las pri220 ****Welcome to the InterNIC registration Host**** meras lneas infor****Login with user name anonymous**** ****You may change directories to the following : man del establecipolicy Registration Policies miento de esta cotemplates Registration templates nexin. Todas las netinfo NIC Information Files lneas entre los codomain Boot domain zone files mandos con nme220 And more! User (rs.internic.net: (none)): anonymous ro 220, incluyendo 331 Guest login ok. Send your complete e-mail address as password aqullas precedidas Password:_ por 220, son de un formato adaptado y Figura 22.5 Iniciando una sesin FTP en Microsoft Windows 98
323

C AP . 22 S ERVICIOS DE APLICACIN : T ELNET , F TP , T FTP , N FS , S MTP , P OP 3, I MAP 4, WWW Y G OPHER

presentado a todos los usuarios. La siguiente lnea pregunta por el identificativo del usuario (User ID). Aqu es conveniente colocar la palabra anonymous. La lnea precedida por 331 es un mensaje del sistema que sugiere utilizar su direccin de correo electrnico como password. Un nmero siempre precede a los mensajes del sistema. Y como se aprecia en la lnea final, el password no se muestra cuando ste se digita. user: Cambia el identificativo del usuario y su password en la sesin actual. Tendr que ingresar un nuevo identificativo de usuario y password, igual que cuando us el comando ftp. help: Muestra los comandos ftp que est disponibles sobre sus clientes FTP. Ls, dir: Estos comandos UNIX: ls o ls-1, o el comando DOS dir listan los contenidos de un directorio. En respuesta a estos comandos se recibe una lista de los nombres de archivos y nombres de directorios contenidos dentro del directorio actual en el que est trabajando el servidor FTP. Entre los mensajes de dos sistemas (las lneas precedidas por 150 y 226) est el actual listado de directorio, que contiene todos los archivos y subdirectorios dentro del directorio actual. El comando ls-1 es similar al comando ls pero muestra detalles adicionales, tales como los permisos de lectura y escritura, as como las fechas de creacin de los archivos. pwd: Imprime el nombre del directorio sobre el cual se est trabajando. cd: Permite cambiar el actual directorio sobre el servidor FTP. mkdir, md: El comando UNIX mkdir o el comando DOS md crean un directorio sobre el servidor FTP dentro del actual directorio de trabajo. Normalmente no estn permitidos durante una sesin FTP annima. rmdir, rd: El comando UNIX rmdir o el comando DOS rd remueven un directorio del servidor FTP desde el directorio de trabajo actual. Normalmente, no se permite su ejecucin durante una sesin FTP annima. binary: Permite conmutar el cliente FTP al modo de transferencia binario desde el modo de transferencia ASCII. El modo binario es til para transferir archivos binarios, como programas y grficos mediante los comandos get o put. ascii: Empleado para conmutar el cliente FTP al modo de transferencia ASCII desde el modo de transferencia binario. El modo ASCII es til cuando se transfieren archivos en modo texto. type: Presenta el modo actual (ASCII o binario) que usar en la transferencia de archivos. status: Muestra informacin sobre el estado de varias programaciones del cliente FTP, tales como el modo de presentacin VERBOSE. get: Permite recuperar un archivo desde un servidor FTP a un cliente FTP. Usando este comando seguido por el nombre de un archivo, ste se copiar desde el servidor FTP al directorio de trabajo del cliente FTP. Si el comando get va seguido por dos nombres de archivos; el segundo nombre designa el nombre del nuevo archivo creado sobre el cliente. put: Cuando este comando va seguido de un solo nombre, permite transferir un archivo de un cliente FTP a un servidor FTP. Si va seguido de dos nombres de archivos, el segundo nombre designa el nombre del nuevo archivo creado en el servidor. open: Establecer una nueva sesin con un servidor FTP. Este comando es esencialmente un atajo para retirarse del FTP y empezar de nuevo. Permite iniciar una sesin con un servidor FTP totalmente diferente o reiniciar una sesin con el servidor actual. close: Termina la sesin actual con el servidor FTP. El programa cliente FTP permanece abierto y se puede empezar una nueva sesin con el servidor usando el comando open. bye, quit: Usados para cerrar la sesin FTP actual y liberar al cliente FTP. La lista precedente no incluye todos los comandos FTP, aunque s los ms usados frecuentemente durante una sesin FTP. Para mayor detalle del protocolo FTP ver la norma RFC 959. 22.3.2 PROTOCOLO TRIVIAL DE TRANSFERENCIA DE ARCHIVOS - TFTP El protocolo FTP es relativamente complejo porque contiene todas las caractersticas necesarias para usarse con una gran variedad de archivos y con algoritmos de compresin, si fuese menester.
324

C AP . 22 S ERVICIOS DE APLICACIN : T ELNET , F TP , T FTP , N FS , S MTP , P OP 3, I MAP 4, WWW Y G OPHER

Estas caractersticas se requieren a menudo en aplicaciones va Internet. Tal nivel de funcionalidad no suele ser necesario en aplicaciones locales. Un ejemplo es el protocolo de transferencia de archivos de un servidor conectado a una red que tiene estaciones sin disco. En este caso, ya que cada peticin de transferencia de archivo emitida por un cliente viaja por la red, el servidor y la estacin de trabajo cliente se conectan al mismo segmento de red. Tales transferencias no requieren muchas de las funciones asociadas al FTP. Por ello se usa un protocolo adicional de archivos llamado Protocolo Trivial de Transferencia de Archivos (Trivial File Transfer Protocol TFTP). El TFTP se usa especialmente en aplicaciones de redes LAN, cuya probabilidad de errores es muy baja. En estas redes, el FTP usa UDP en vez de TCP para sus transferencias de mensajes. Entonces, para superar la posibilidad de mensajes corrompidos (datagramas) se establece un simple control de errores RQ (stop and wait) dentro del protocolo. Con este protocolo slo podr enviarse un mensaje hasta que se reciba la confirmacin o finalice un temporizador. Si esto ltimo ocurre, el bloque que se est esperando ser retransmitido. Esto es adecuado gracias al corto retardo de trnsito de una LAN.
MENSAJE SIGNIFICADO

22.3.2.1 Mensajes del TFTP El protocolo TFTP usa slo cuatro mensajesPDU, los cuales estn codificados en ASCII y se presentan en la tabla 22 .3. Para iniciar una operacin de transferencia de archivos, el cliente enva un mensaje de Tabla 22.3 Mensajes del protocolo TFTP lectura o de escritura que contenga el nombre y el tipo del archivo. Los datos asociados con la peticin del archivo se transfieren en bloques de tamao fijo, cada uno de los cuales contiene hasta 512 bytes. Cada bloque tiene en su cabecera un nmero de secuencia, el cual retorna en la confirmacin respectiva. Este nmero es usado por el receptor-cliente para leer o por el servidor para escribir para detectar duplicados en el caso eventual que una trama de confirmacin se haya perdido. El final de un archivo es detectado por la recepcin de bloques de datos que tienen menos de 512 octetos. As como el FTP, un servidor TFTP puede soportar peticiones de transferencias de mltiples clientes de modo concurrente. Luego de recibir el mensaje de peticin de lectura o escritura, el servidor relacionar a los siguientes bloques de datos o confirmaciones para la correcta transferencia del archivo por medio de las direcciones de puerta de cliente y direccin IP. Esta informacin de direccin se remite al TFTP mediante los protocolos IP/UDP al recibir el datagrama que transporta el mensaje de data o de confirmacin. El TFTP transfiere archivos entre un cliente TFTP y un servidor TFTP, el cual es una computadora que est ejecutando el programa tftpd TFTP daemon. Este TFTP usa el UDP como medio de transporte y, a diferencia del FTP, no necesita cargar un usuario para transferir archivos. Debido a que el TFTP no requiere ingresar un usuario (user logon), puede considerrsele un agujero en la seguridad del servidor, especialmente si este TFTP permite escritura. El diseo de este protocolo es tan pequeo que, junto con el UDP, puede programrsele en una memoria PROM. El protocolo TFTP es limitado (de all su nombre trivial) comparado con el FTP. Este protocolo slo puede leer y escribir archivos, NO puede listar el contenido de los directorios, crearlos o borrarlos, o permitir a los usuarios hacer el logon como permite el protocolo FTP. Adems, se usa principalmente con los protocolos RARP y BOOTP para activar (boot) estaciones sin disco duro. El TFTP puede transferir archivos usando un formato ASCII llamado netascii, o un formato binario llamado octet, o bien un tercer formato llamado mail, ya en desuso. Al ingresar el comando tftp, se inicia una conexin con el servidor y la transferencia de archivos. Culminada sta, se cierra y acaba la sesin. La sintaxis del TFTP es la siguiente:
TFTP (-i) host (get|put) <source file name> (<destination file name>)

Peticin de lectura (Read request) Peticin de escritura (Write request) Bloque de data (Data Block)

La enva un cliente para iniciar una operacin de lectura de archivos. La enva un cliente para realizar una operacin de escritura sobre un archivo. Usado para transportar el contenido de un archivo. La enva tanto un cliente (lectura) como un Confirmacin servidor (escritura) para confirmar la re(Acknowledgement) cepcin de un bloque de datos.

Para mayor informacin sobre el protocolo TFTP consultar la norma RFC 1350.
325

C AP . 22 S ERVICIOS DE APLICACIN : T ELNET , F TP , T FTP , N FS , S MTP , P OP 3, I MAP 4, WWW Y G OPHER

22.3.3

PROTOCOLO DE SISTEMA DE ARCHIVOS EN RED - NFS

El Protocolo de Sistema de Archivos en Red (Network File Sistem ProtocolNFS) es un protocolo de servicio de archivo desarrollado originalmente por SUN Microsystems, que permite a un computador exportar sus sistemas de archivos a otros clientes, para lo cual este debe tener cargado el software NFS servidor. Esta exportacin significa que ste est disponible para clientes en diversas plataformas de sistemas operativos, con la nica condicin de que ellos estn ejecutando el software NFS cliente. La figura 22.6 muestra el servidor NFS exportando el directorio /users. A este directorio pueden acceder simultneamente clienSistema / virtual tes que operan en sistemas Sistema de archivos operativos diversos. El NFS nativo de etc bin archivos users permite crear archivos vir- Servidores NFS tuales. Cada cliente NFC observa el sistema de archivos amy linda dei exportados al ambiente del sistema de archivos nativo del cliente. Por ejemplo, un Drive de / C: Montaje E: Montaje cliente NFS del tipo PC DOS users remoto remoto etc bin accede al sistema de archivos bin data dei amy dei usr amy exportado mediante un conlinda linda Sistemas trolador de red y un cliente UNIX operativos de PC: Clientes NFS UNIX ver este sistema NT, DOS, OS/2 como si estuviera enlazado a Figura 22.6 Usando el sistema de archivos en red su sistema de archivo local.

22.4 SISTEMAS DE CORREO ELECTRNICO


El correo electrnico, conocido normalmente como e-mail, es probablemente el servicio ms ampliamente usado en las redes de computadoras y la aplicacin ms usada en Internet. No es un servicio nuevo, pues estuvo disponible a nivel local en la mayora de sistemas de computadoras interactivas grandes por muchos aos. De aqu, hay una evolucin Archivos natural para extender este servicio a travs de la red. Hay varios protocolos de servicios de correo, como: Agente Protocolo de Transferencia de Correo Simple Transmisor de usuario SNMP (Simple Mail Transfer Protocol SMTP). Protocolo de Oficina de Correo versin 3 Usuario (Post Office Protocol version 3 POP3). Protocolo de Acceso a Mensajes de Internet Red (Internet Message Access Protocol v.4 IMAP4).
TCP/IP

22.4.1

PROTOCOLO DE TRANFERENCIA SIMPLE DE CORREO - SMTP

El protocolo de transferencia de correo simple (Simple Mail Transfer ProtocolSMTP) administra la transferencia de mensajes del sistema de correo de un computador hacia otro sistema de correo remoto. Acepta correo local y para ello se tiene a los sistemas locales. Como interacta con el sistema local de correo y no con el usuario, el SMTP est encubierto para cualquier transferencia de correo local en esa mquina. La figura 22.7 ilustra la interrelacin entre SMTP y correo local.
326

Receptor SNMP Usuario Casillas de usuarios


Figura 22.7 Esquema de sistema correo local SMTP

C AP . 22 S ERVICIOS DE APLICACIN : T ELNET , F TP , T FTP , N FS , S MTP , P OP 3, I MAP 4, WWW Y G OPHER

22.4.1.1

Funciones y componentes del SMTP

Normalmente hay una cola de entrada y una cola de salida en la interface entre el sistema de correo local a menudo referido como sistema de correo nativo y las partes de cliente-servidor del SMTP. Sus funciones son las siguientes: El cliente opera con el inicio de la transferencia del correo hacia otro sistema. El servidor est relacionado con el correo que se recibe del exterior. El sistema de correo local asigna a cada usuario una casilla, en la que pueda depositar o recuperar su correo. Cada casilla tiene un nombre nico que consta de dos partes: una local y una global. Parte local: Es el nombre del usuario y es nico slo dentro del sistema de correo local. Parte global: Es la identidad del computador que debe ser nica dentro de la Internet total. Esta parte tiene varios campos y su formato vara para los diferentes tipos de instituciones, tales como de educacin, gobierno, militares, comerciales, etc. En la transferencia del correo electrnico es necesario contemplar lo siguiente: El formato del mail: Para asegurar que ste sea interpretado de la misma manera por todos los sistemas involucrados. Este formato tiene una cabecera y un cuerpo. El protocolo SMTP: Usado para transferir el correo de una mquina a otra. Cada lnea en la cabecera comprende una palabra clave (keyword), luego dos puntos (:) y a continuacin una cadena de texto. Algunas palabras claves son obligatorias y otras son opcionales. El encabezamiento mnimo es:
TO FROM : : : : : : : : nombre del destinatario nombre del remitente nombre del destinatario nombre del remitente copias para asunto a tratar fecha puntero de encriptacin

Otros incluyen:
TO FROM CC SUBJECT DATE ENCRYTED

El encabezamiento incluyendo el asunto y los nombres de los destinatarios. Estn siempre en texto simple. Aunque en algunas circunstancias las dos mquinas comunicantes pueden estar conectadas en la misma red si routers va Internet estn involucrados en la ruta, se colocan lneas adicionales de la forma siguiente: RECEIVED FROM : Identificacin del router que envi el correo. El cual puede ser aadido en la cabecera por cada router. Esto proporciona un medio de determinar la ruta tomada por el correo a travs de la Internet. Despus que un mensaje de correo ha sido creado en su formato normalizado, el sistema de correo local determina el nombre del destinatario, si ste debe depositarse dentro de una casilla local o si debe ir a la cola de salida listo, para ser transmitido al exterior. Para enviar un correo, el cliente SMTP primero obtiene la direccin IP del computador de destino del servicio de directorio conocido como el sistema de DNS (Domain Name System) y lo usa conjuntamente con el nmero de la puerta del SMTP (port 25), para establecer la conexin TCP con el servidor SMTP del computador de destino. Una vez que la conexin ha sido establecida, el cliente inicia la transferencia del correo hacia el servidor. 22.4.1.2 Comandos del SMTP

La transferencia de correo consiste en el intercambio de unidades de datos de protocolo SMTP referidas como comandos. Estos comandos, codificados en cadenas de caracteres ASCII, incluyen: Un nmero de tres dgitos. Un comando textual. Ambos valores. Estos comandos se transfieren a la conexin TCP establecida empleando las primitivas
327

C AP . 22 S ERVICIOS DE APLICACIN : T ELNET , F TP , T FTP , N FS , S MTP , P OP 3, I MAP 4, WWW Y G OPHER

SEND/DELIVER. En la figura 22.8 se presenta el intercambio de comandos. Una vez que una conexin TCP ha sido establecida, el servidor TCP Cliente SMTP Servidor SMTP SMTP retorna el comando 220 de Establecimiento Port 25 regreso al cliente para indicar que de conexin TCP est listo para recibir el correo. El 220: listo para correo cliente responde enviando un coHello: Nombre del cliente mando HELLO junto con la identidad Nombre de servidor de la mquina cliente. El servidor, al MAIL FROM: recibir este comando, responde con nombre del emisor la identidad de la mquina servidora 250: Ok RCPT TO: usada y un registro de la transaccin nombre de destinatario del correo. Luego el cliente enva el 550: Recipiente no est aqu encabezado del correo al emitir el 250: Ok comando MAIL seguido por FROM: DATOS la lnea de la cabecera del MAIL. El servidor responde con el Contiene el cuerpo del comando de confirmacin 250. Lue- mensaje terminado por una Correo recibido lnea con un solo punto go el cliente enva el comando RCPT 250:Ok seguido por el - TO: la lnea del enQUIT cabezado del MAIL, el cual es con221: destino cerrando firmado por el comando 250. Luego de haber establecido Conexin TCP liberada comunicacin, es necesario enviar el contenido del mensaje, o sea iniciar la fase de transferencia. Para ello, el Figura 22.8 Secuencia de intercambio de comandos del cliente enva el comando DATA seprotocolo SMTP alando el inicio del cuerpo del correo. El servidor contesta con el comando 354 y el cliente remite entonces el contenido del mail como una secuencia de lneas. Para indicar el fin del contenido enva una lnea con un solo punto. El servidor confirma la recepcin remitiendo el comando 250. El cliente termina la fase de transferencia enviando un comando QUIT, al cual el servidor responde con el comando 221, lo cual produce la liberacin de la conexin TCP. Respecto a los mensajes, si se quiere enviar mensajes no textuales como archivos binarios, audio e imgenespuede codificarse el mensaje como un mensaje de texto mediante la utilidad UUENCODE, disponible en muchos sistemas. El receptor del mensaje decodificar el mensaje codificado con un utilitario llamado UUENCODE. Otra forma de enviar mensajes es usando el protocolo MIME (Multipurpose Internet Mail Extensions), descrito en las normas RFC 1896, 2046 y 2049. El MIME sirve para codificar distintos tipos de contenido, tales como texto simple, texto en formato enriquecido (Rich Text Format), imagen, audio, video y documentos HTML. Los contenidos de los mensajes MIME pueden tener un contenido de varias secciones (nested) y los agentes de usuario (clientes de correo) pueden elegir entre representaciones alternativas del mensaje. Hay funciones adicionales en algunas implementaciones propietarias. Por ejemplo, si el destinatario ya no tiene casilla en el servidor, ste puede usar una direccin para redireccionar el mensaje. Tambin luego que un cliente envi su correo, puede invitar al servidor para enviar correo en direccin opuesta, si hubiera correo esperando, antes de liberar la conexin de transporte. Hasta aqu hemos asumido que todos las computadoras destinatarias utilizan el protocolo SMTP. En la prctica, muchos otros protocolos de correo se usan en las redes. Para que un correo pueda interactuar con otros sistemas de correo debe usarse un servidor de correo. Un ejemplo es el gateway TCP/IP a OSI. Como su nombre implica, ste acta como un punto de transferencia de correo entre dos sistemas de redes de correo dismiles. As, el correo recibido con SMTP de una puerta de red se enva con MOTIS, que es el protocolo de correo de ISO a la otra puerta de red.
328

C AP . 22 S ERVICIOS DE APLICACIN : T ELNET , F TP , T FTP , N FS , S MTP , P OP 3, I MAP 4, WWW Y G OPHER

22.4.2 EXTENSIONES MULTIPROPSITO DE CORREO POR INTERNET MIME Otro medio de enviar mensajes que no sean texto es el Protocolo Extensiones de Correo Multipropsito de Internet (Multipurpose Internet Mail ExtensionsMIME), descrito en las RFC 1896, 2045, 2046 y 2049. El MIME (ver la figura 22.9) sirve para codificar distintos tipos de contenido, como texto plano, texto de formateado enriquecido, imagen, audio, video, documentos HTML, etc. Los cuerpos del mensaje MIME pueden tener contenidos anidados y los Cabecera RFC-822 agentes de usuario MIME pueden ele- de mensaje gir dentro de estos contenidos. Por Texto ejemplo, si tenemos un terminal tonto Audio sin capacidad de mostrar un mensaje Cuerpo de MIME RFC-1341 mensaje de audio/video, ste slo mostrar la Imagen porcin de texto del mensaje. Video Otra caracterstica del MIME es un puntero para dar referencias de datos remotos, por ejemplo: dar refeFigura 22.9 Mensaje MIME rencia de un documento ubicado en un FTP. Esto evita tener que incluir el documento en cada mensaje que se enve a la lista de distribucin de correo. Slo los usuarios interesados en el documento, accedern al FTP para recuperarlo. 22.4.2.1 Comandos del correo MIME Los mensajes de correo se envan usando los comandos SMTP, listados en las tablas 22.4 y 22.5.
COMANDO SIGNIFICADO COMANDO SIGNIFICADO

HELO Sender

Es una peticin de conexin de un SMTP Sender. Inicia transaccin de correo en la MAIL FROM: que los datos de correo se envan fromaddr a ms de una casilla de correo. RCPT TO Usado para identificar un destinatario individual del correo. send to El destinatario trata a las lneas que siguen a este comando como DATA datos de correo desde el remitente. Los datos de correo terminan con una lnea que slo tiene un punto. El destinatario enviar una resQUIT puesta OK y la conexin concluir. La transaccin actual de correo RESET debe abortarse. Comando de no operacin. Especifica no otra accin que el destinatario enve una respuesta OK. Este NOV comando puede usarse como una ayuda de diagnstico para verificar si el destinatario responde con una respuesta OK. Tabla 22.4 Comando del transmisor SMTP (cliente) para una implementacin mnima

250 251 450 550 451 551 452 552 553 354 554

Accin solicitada de correo ha sido completada (OK). El usuario no es local; se enviar a <forward-path>. Accin solicitada de correo no tomada en cuenta: casilla no disponible. Por ejemplo: la casilla est ocupada. Accin solicitada de correo no tomada en cuenta: casilla no disponible. Accin solicitada abortada: error en procesamiento. Usuario no local. Por favor trate a: <forward-path> Accin solicitada de correo no tomada en cuenta: insuficiente memoria en sistema. Accin solicitada abortada: asignacin de memoria excedida. Accin solicitada de correo no tomada en cuenta: nombre de casilla no permitido. Por ejemplo: la sintaxis del nombre de casilla puede ser incorrecta. Iniciar el ingreso de correo: finalizar con <CRLF>.<CRLF>. Transaccin fallada.

Tabla 22.5 Ejemplo de comandado del destinario SMTP (Mail server)

Estas tablas contienen los comandos SMTP del emisor y del receptor para una implementacin mnima. Todos estos comandos tienen una longitud de 4 letras. El destinatario SMTP es tpicamente un servidor de correo y responde a los comandos SMTP con cdigos de estado de 3 dgitos que tienen esta sintaxis:
DDD Mensaje Texto

Donde DDD es el cdigo de estado de tres dgitos.


329

C AP . 22 S ERVICIOS DE APLICACIN : T ELNET , F TP , T FTP , N FS , S MTP , P OP 3, I MAP 4, WWW Y G OPHER

La figura 22.10 muestra una sesin SMTP que usa algunos de estos comandos. Ntese que en este ejemplo el correo ha sido enviado desde el usuario kss@scs.psi.com, identificado por el comando Mail. El correo est siendo enviado a jones@scs.psi.com y bob@ltree.psi.com. Ntese que la casilla bob@ltree.psi.com no existe, por eso se retorna un mensaje de error (de cdigo 250). El servidor de correo responde a todos los otros comandos con el cdigo de estado 250. Las normas respecto al SMTP son los siguientes:
PROTOCOLO

S: HELO mquina R: HELO mquina, es un placer conocerte S: MAIL FROM: R: 250 OK S: RCPT To: R: 250 OK S: RCPT a: R: 550 kss@scs.psi.com jones@scs.psi.com bob@ltree.psi.com No existe usuario aqu

(El usuario bob no tiene casilla en ltree.psi.com)


S: RCPT a: R: 250 Ok john@ltree.psi.com

S: DATA R: 354 Iniciando envo de correo; y fin con <CRLF>.<CRLF> S: Texto de mensaje S: Texto de mensaje S: <CRLF>.<CRLF> R: 250 OK S = SMTP remitente R = SMTP destinatario

Figura 22.10 Ejemplo de una sesin SMTP


NOMBRE STATUS RFC # STD #

SMTP SMTP-SIZE SMTP-EXT MAIL

Protocolo de Transferencia de Correo Simple Servicio de Extensin SMTP para tamao de mensaje Extensiones de servicio SMTP Formato de Mensajes de Correo Electrnico Tabla 22.6 Normas relacionadas al SMTP

Rec Rec Rec Rec

821 1870 1869 822

10 10 10 11

22.4.3

PROTOCOLO POST OFFICE VERSIN 3 POP3

El SMTP espera que el computador de destino es decir, el servidor de Servidor SMTP POP3 correo que va a recibir el correo est en lnea, de otra manera la conexin 110 Cliente POP 3 TCP no se podr establecer. TCP Por esta razn no es prctico Agente de IP usuario establecer una sesin SMTP con una TCP computadora de sobremesa para reciIP TCP / IP bir correo, porque las estaciones de Internet trabajo se apagan al final del da. En diversos ambientes de red, el correo SMTP es recibido por Figura 22.11 Arquitectura cliente/servidor POP3 un computador SMTP que siempre est activo. Vase la figura 22.11. Este computador provee un servicio donde las estaciones de trabajo interactan y recuperan sus mensajes usando un protocolo cliente-servidor tal como POP3, descrito en la RFC 1939. El POP3 usa el protocolo de transporte TCP y el servidor POP3 recibe los mensajes en su bien conocida puerta TCP nmero 110 (well-known port). Aunque POP3 se usa para recibir mensajes desde el servidor, el SMTP todava se usa para enviar mensajes desde la estacin de trabajo del usuario a su servidor de correo SMTP. 22.4.3.1 Comandos del POP3 Los comandos POP3 aparecen listados en las tablas 22.7, 22.8 y 22.9, segn la RFC 1939. El Agente de Transferencia de Mensajes (Message Transfer Agent MTA) se ejecuta en una computadora que tiene mayores recursos que la estacin de trabajo. Ofrece servicio de correo a nodos ms pequeos, tales como estaciones de trabajo. El POP proporciona acceso dinmico al servidor de correo.
330

C AP . 22 S ERVICIOS DE APLICACIN : T ELNET , F TP , T FTP , N FS , S MTP , P OP 3, I MAP 4, WWW Y G OPHER

Aunque los comandos USER y PASS de la tabla 22.9 se listan como comandos opcionales en la RFC 1939, la mayor parte de las implementaciones POP3 los soportan. La razn por la cual se consideren como opcionales reside en que pueden ser reemplazados por el mtodo de autenticacin MD5 (Message Digest version 5) usado en el comando APOP.
COMANDO SIGNIFICADO COMANDO SIGNIFICADO

STAT LIST RETR DELE NOV RSET QUIT

Respuesta positiva. Listado de un mensaje especificado. Cuando no se especifica el mensaje se enva una lista de los mensajes pendientes. Recuperar una lista de mensajes esperando. Eliminar un mensaje. No se lleva a cabo ninguna operacin. Quita la marca a mensajes que hayan sido eliminados (deleted). Cierra la conexin TCP.

+OK -ERR

El comando fue ejecutado correctamente. La ejecucin del comando result en error. Tabla 22.8 Respuestas del servidor POP3

COMANDO

SIGNIFICADO

Tabla 22.7 Comandos POP3 requeridos

USER name PASS string TOP msg n UIDL (msg) APOP name digest

Especifica la cadena de nombre para identificar la casilla. Especifica password especfico para la casilla. Enva mensaje OK seguido por la cabecera del mensaje y n lneas del cuerpo del mensaje. Responde con un mensaje seleccionado con su identificativo nico. Especifica la casilla y el MD5 (Message Digest version 5).

En la figura 22.12 presentamos un Tabla 22.9 Comandos POP3 opcionales ejemplo de interaccin entre un cliente POP3 y un servidor POP. La interaccin emplea comandos listados en las tablas 22.7, 22.8 y 22.9. 22.4.3.2
S: C: S: C: S: C: S: C: S: C: S: S: S: : S: S: C: S: S: C: S: C: S:

EJEMPLO DE SESIN POP3

A continuacin en la figura 22.12 mostramos un ejemplo de sesin POP3 tpica.


<Esperar por una conexin sobre la puerta TCP 110> <Conexin abierta> +Ok dewey Servidor POP3 listo (comments to: PostMaster @ edl.edu) USER kss +OK kss is a real hoopy food PASS my password +OK ksss maildrop has 7 messages (1729 octetos) STAT +OK 7 1729 LIST +OK 7 messages (1729 octets) 1 340 2 512 7 59 <CR><LF> RETR 1 +OK 340 octets <CR><LF> QUIT +OK dewey POP3 server signing off <close connection> <wait for next connection>
S: Servidor POP C: Cliente POP3

Estado de conexin Estado de autorizacin

msgid message size

Estado de transaccin STAT LIST msg RETR msgid DELE msgid

Termination multilane POP server sends message 1

Estado de actualizacin

Figura 22.12 Ejemplo de sesin POP3

Esta recreacin de una sesin POP3 muestra que inicialmente se ingresa a un estado de conexin (connection state), en el cual se establece la conexin TCP con el servidor POP3. A continuacin,
331

C AP . 22 S ERVICIOS DE APLICACIN : T ELNET , F TP , T FTP , N FS , S MTP , P OP 3, I MAP 4, WWW Y G OPHER

la sesin ingresa en un estado de autorizacin (authorization state), en el que el usuario ingresa un nombre de usuario y password para ser autenticado por el servidor POP3. En versiones POP3 anteriores la informacin de nombre y password de autenticacin se enviaba como texto plano y era susceptible de ser interceptada, es decir que si alguien examinaba el trazado del paquete POP3 podra descubrir y recuperar esta informacin privada del usuario. El POP3 especifica en la RFC 1939 un mtodo de autenticacin ms seguro basado en el MD5. Despus que el usuario ha sido autorizado, la sesin POP3 entra en el estado de transaccin (transaction state), en el cual se emiten varios comandos tales como: STAT, LIST, RETR, DELE y RSET. En la figura 22.12 el cliente POP3 emite un comando STAT y el servidor retorna el nmero de mensajes con un tamao total de 1729 octetos. Luego, el cliente POP3 usa el comando LIST para pedir una lista de todos los mensajes, a lo cual el servidor POP3 retorna los nmeros de mensajes para cada mensaje y su tamao correspondiente. Seguidamente, el cliente POP3 enva el comando RETR y especifica cada identificador de mensaje que ser descargado. Segn la programacin del cliente POP3 se emite el comando DELE para eliminar mensajes ya recibidos. Luego de descargar los mensajes, la sesin POP3 entra en estado de actualizacin (update state), en el que el cliente POP3 emite el comando QUIT para cerrar la conexin. Entonces, ambos, el cliente y el servidor POP3, pueden actualizar sus estados internos para indicar la cuenta de nuevos mensajes en sus respectivas casillas de correo. Finalmente, se cierra la conexin TCP. 22.4.4 PROTOCOLO DE ACCESO A MENSAJES INTERNET - IMAP4 El POP3 permite a las estaciones de trabajo recuperar sus mensajes de correo, sin embargo tiene varias debilidades. Por ejemplo, el correo debe descargarse a la estacin de trabajo antes de ser manipulado, es decir el POP3 no permite una manipulacin directa de los mensajes de correo en el servidor. Por estas razones se ha propuesto el IMAP4 en reemplazo del POP3. El IMAP4 (Internet Message Access Protocol) es un protocolo cliente/servidor que permite el acceso y manipulacin de los mensajes de correo electrnico en el servidor, as como de archivos de mensajes remotos, llamados casillas electrnicas, de modo similar a las casillas postales. Permite que un cliente fuera de lnea resincronize sus casillas electrnicas con el servidor. 22.4.4.1 Caractersticas y operaciones del IMAP4 Sus caractersticas son las que se listan a continuacin: Permite el acceso y la manipulacin de porciones del correo electrnico sobre el mismo servidor sin tener que descargarlos previamente a la estacin de trabajo. Posibilita revisar los mensajes y sus anexos (attachments) sin tener que ser recuperados. Recupera todos mensajes para una operacin fuera de lnea. Vuelve a sincronizar las casillas locales con las que se encuentran en el servidor. El IMAP4 realiza las siguientes operaciones: Crear, eliminar y renombrar las casillas electrnicas. Hace posible la revisin de nuevos mensajes. Permanentemente remueve mensajes de las casillas electrnicas. Coloca y borra banderas (flags) que indican el estado de los mensajes. Realiza una bsqueda selectiva de los atributos del mensaje, textos y porciones. 22.4.4.2 Mensajes y estados del IMAP4 Por medio de nmeros se accede a los mensajes en IMAP4. stos son tanto nmeros de secuencia de mensaje o identificadores nicos. Adems, tiene un mecanismo para acceder a la informacin de configuracin para soportar mltiples servidores. Normalmente lo soporta un solo servidor. Tal como el POP3, el IMAP4 no especifica un modo de colocacin de correo. Esta funcin la realizan protocolos de transferencia tales como el SMTP. En la siguiente pgina, en la figura 22.13 presentamos la interaccin del cliente/servidor para el IMAP4. Su comportamiento puede describirse en trminos de un diagrama de estado, tal como se ilustra en la figura 22.14.
332

C AP . 22 S ERVICIOS DE APLICACIN : T ELNET , F TP , T FTP , N FS , S MTP , P OP 3, I MAP 4, WWW Y G OPHER

En la dicha figura se Servidor indica que el IMAP4 puede estar IMAP4 Casillas en uno de cuatro estados. La remotas 220 mayora de sus comandos son TCP SMTP vlidos slo en un estado partiCliente IP cular, por lo cual se genera un IMAP4 error de protocolo en el caso en Agente que un cliente intente ejecutar de TCP Usuario TCP/IP un comando en un estado inInternet IP apropiado. Los siguientes son estos estados: Casillas locales Estado no autenticado. Estado autenticado. Figura 22.13 Arquitectura cliente/servidor IMAP4 Estado seleccionado. Estado de liberacin (logout state). Conexin inicial y saludo del servidor En el estado no autenticado el cliente IMAP4 entrega (2) (1) credenciales de autenticacin. No se permite ejecutar (3) no - autenticado la mayora de comandos hasta que el cliente sea auten(4) ticado antes de iniciar la conexin. (7) Una vez autenticado, el cliente pasa al estado autenticado autenticado y debe seleccionar una casilla electrnica (5) (6) (7) antes de ejecutar cualquier comando que afecte a los seleccionado mensajes. Se entra a este estado cuando una conexin (7) preautenticada se inicia o cuando se han aceptado las credenciales de autenticacin que present el cliente logout y cierre de conexin IMAP. Si se equivoca al elegir la casilla electrnica, LEYENDA reingresa al estado de autenticacin, es decir el cliente (1) Conexin sin preautenticacin ( saludo de OK) tiene que autenticarse de nuevo para elegir otra casilla. (2) Conexin de preautenticacin (saludo PREAUTH) Se ingresa al estado seleccionado despus de (3) Conexin rechazada (saludo de BYE) haber escogido una casilla electrnica vlida. En el es- (4) Comando de LOGIN o AUTHENTICATE exitosos tado de liberacin o logout la conexin concluye y el (5) Comando de SELECT o EXAMINE exitosos (6) Comando CLOSE o comandos SELECT o servidor IMAP4 cierra la conexin. Este estado resulta EXAMINE fallados (7) Comando LOGOUT, apagado de servidor o code una peticin de un cliente o de un servidor. nexin cerrada El IMAP4 ha despertado gran inters entre los Figura 22.14 Diagrama de estado del IMAP4 vendedores de sistemas de mensajera.

22.5 PROTOCOLOS DE ACCESO A INTERNET


Para acceder a archivos en Internet han evolucionado varios protocolos. Los ms destacados son: Protocolo de transferencia de hipertexto (HyperText Transfer Protocol HTTP). Gopher. De ambos protocolos el ms popular es el primero, conocido tambin con el nombre ms popular de protocolo WWW (World Wide Web Protocol). 22.5.1 WORLD WIDE WEB (WWW) La figura 22.15, en la siguiente pgina, ilustra el uso del WWW, llamado simplemente el Web. El Web se compone de muchos servidores Web que almacenan documentos con informaciones tales como texto, grficos, sonido y video organizadas en pginas web. Cada pgina contiene instrucciones denominadas hiperenlaces (hyperlinks) que enlazan los documentos web. Los hyperlinks pueden direccionar a documentos en el mismo servidor o diferentes servidores en la Internet. El conjunto resultante de documentos hiperenlazados aparece como un pila de pginas webs que pueden provenir de diferentes pases y continentes, de all su nombre World Wide Web.
333

C AP . 22 S ERVICIOS DE APLICACIN : T ELNET , F TP , T FTP , N FS , S MTP , P OP 3, I MAP 4, WWW Y G OPHER

Los documentos web son accedidos por clientes llamados Web browsers, que operan en las mquinas de los usuarios. El documento web se codifica mediante el denominado lenguaje de hipertexto (HyperText Markup LanguageHTML). Despus que un Web Browser recupera un documento HTML, lo presenta grficamente en pantalla. Este documento contiene la descripcin de los distintos documentos de una pgina web y el browser usa esa descripcin para dibujar grficamente la pgina. Los hiperenlaces aparecen como texto subrayado. Cuando una persona ejecuta este enlace hace que el Web Browser inicie una bsqueda y obtenga estos documentos. Mayores detalles del WWW se hallan en la copiosa literatura al respecto. 22.5.1.1

Capa de texto marcado Documento codificado usando HTML

Enlaces de Hipertexto

Web browser

Cliente Web TCP

Servidor Web

80 TCP IP HTTP IP

- Netscape - Internet Explorer - Web Surfer, etc.

Figura 22.15 El World Wide Web

LENGUAJE DE HIPERTEXTO (HYPERTEXT MARKUP LANGUAGE HTML) Es una implementacin del lenguaje generalizado normalizado de Markup (Standard Generalized Markup LanguageSGML). La norma SGML, conocida como ISO 8879, es un mtodo generalizado de especificaciones de cmo representar documentos con hiperenlaces. Un hiperenlace (hyperlink) es una frase o sentencia resaltada en un documento, de modo que al ejecutarla se direcciona a otro documento o realiza una accin especfica, que podra ser: mostrar una imagen, enviar un correo, pedir informacin mediante un formulario, inicializar un ingreso remoto, consultar una base de datos, iniciar una sesin de transferencia de archivos, ejecutar un programa, etc. Los documentos con hiperenlaces se denominan hiperdocumentos. 22.5.1.2 PROTOCOLO DE TRANSFERENCIA DE HIPERTEXTO (HYPERTEXT TRANSFER PROTOCOL HTTP)

Los comandos del cliente web y los documentos HTML que se envan en respuesta a los comandos del cliente web se transmiten con un protocolo especial llamado Protocolo de Transferencia de Hipertextos. El servidor web tambin se llama servidor HTTP porque responde a las peticiones HTTP. Cuando un documento HTML es pedido por un Web Browser, se establece una conexin entre ste y el servidor Web TCP en la puerta nmero 80 del servidor. Puede especificarse otras puertas, como la nmero 8080, pero la nmero 80 est reservada por defecto para el HTTP. 22.5.1.3 Ejemplo de acceso a un servidor Web En el siguiente ejemplo, una direccin URL pide el servicio de la puerta 8080 de un servidor Web:
http://www.someorg.com:8080

Luego que la conexin se ha establecido, el Web browser enva una peticin de determinado do334

C AP . 22 S ERVICIOS DE APLICACIN : T ELNET , F TP , T FTP , N FS , S MTP , P OP 3, I MAP 4, WWW Y G OPHER

cumento con el protocolo HTTP. Esta peticin incluye el mtodo que se emplear para elegir el documento, el nombre del objeto y la versin del protocolo HTTP. El HTTP utiliza cadenas de texto de tal manera que las personas puedan entender rpidamente el protocolo. Por ejemplo, un Web browser podra enviar la siguiente peticin a un servidor Web:
GET /Web/docs/index.html HTTP/1.0

Esta peticin GET HTTP busca obtener el documento /Web/docs/index.html, usando la versin 1.0 del HTTP. El servidor responde enviando una respuesta que consta de tres partes: Estado de la respuesta. Cabecera de la respuesta. Datos de la respuesta. El estado de la respuesta es una lnea de texto que contiene el nmero de versin del HTTP usado por el servidor, un cdigo de estado que describe el resultado del servidor y una descripcin textual que aclara el significado del cdigo. El siguiente es un ejemplo de respuesta de estado:
HTTP / 1.0 200 OK

La cabecera de la respuesta contiene informacin acerca del tipo de servidor, la versin MIME usada para describir el tipo de contenido, el tipo de contenido que describe todos los campos que siguen en los datos de respuesta y una lnea en blanco. La lnea en blanco es mandatoria porque separa la cabecera de los datos de respuesta. Seguidamente, presentamos un ejemplo de cabecera:
Fecha Servidor MIME versin Tipo de contenido : : : : Tuesday, 05-Nov-96 23:42:4 GMT Novell HTTP Server / 2.5 1.0 texto / plano

[ El cuerpo sigue despus de la lnea blanca mandatoria ]

El mtodo usado por el HTTP para describir los diferentes tipos de datos que debe manejar es el MIME. ste codifica los datos y se us inicialmente en el correo Internet para enviar documentos con una mezcla de texto, imagen, audio y datos. El tipo de contenido es la descripcin tipo MIME de los datos. El TEXT/HTML indica que la mayor categora de los datos que se enviarn ser texto y la subcategora es HTML. Viendo el tipo de texto, el browser interpreta los datos de respuesta que siguen al cdigo HTML. Los datos de respuesta el tercer componente de HTML contienen el texto del documento HTML. Un ejemplo de los datos de la repuesta se muestra a continuacin:
<HTML> <HEAD><TITLE>Simple HTML doc</TITLE></HEAD> <BODY> <P> This is a simple HTML document ... </BODY> </HTML>

Poniendo todas las diferentes piezas juntas, la siguiente secuencia ser vista por el Web browser :
HTTP/1.0 200 OK Date: Tuesday, 05-nov-96 23:42:34 GMT Server: Novell-HTTP-Server/2.5 MIME-version: 1.0 Content-type: text/plain <HTML> <HEAD><TITLE>Simple HTML doc</TITLE></HEAD> <BODY> <P> This is a simple HTML document ... </BODY> </HTML>

Despus que la secuencia peticin /respuesta HTTP ha sido completada, se concluye la conexin TCP/IP subyacente. Para cada peticin /respuesta HTTP debe efectuarse una conexin TCP/IP.
335

C AP . 22 S ERVICIOS DE APLICACIN : T ELNET , F TP , T FTP , N FS , S MTP , P OP 3, I MAP 4, WWW Y G OPHER

La figura 22.16 muestra la Abrir conexin TCP tpica interaccin HTTP. NServidor HTTP Get / HTT tese que el primer paso conhttp://webserver / P 1.0 otro s parmet siste en abrir la conexin ros 80 TCP a la puerta 80 sobre el os armetr 1.0 200 otros p servidor Web. Seguidamente, HTTP ento sigue a TCP docum el cliente Web enva el coIP mando GET /HTTP 1.0. EnLos parmetros Se produce la transferencia tonces se produce la transfede documentos. El servidor Web HTTP estn rencia del documento. Finacierra la conexin TCP codificados en lizada sta, el servidor HTTP MIME cierra la conexin. Si se seAbrir conexin TCP alan otros documentos, se Get / nuevo do abrir otra conexin TCP. cumento otros parmet HTTP 1.0 ros El HTTP est experiEl usuario mentando importantes modielige un hiperenlace ficaciones para soportar co200 metros HTTP 1.0 sigue a otros par para acceder to nexiones TCP persistentes, documen a otro para que stas puedan mandocumento tenerse por un periodo mayor Se produce transferencia de documentos. El servidor Web al requerido para transferir cierra la conexin TCP los documentos, y evitar la sobrecabecera de abrir una Figura 22.16 Interaccin HTTP tpica nueva conexin TCP cada vez que se tenga que acceder a un documento. Este protocolo se describe en la norma RFC 2068. 22.5.1.4 MAQUINAS DE BSQUEDA WEB Y COMPUERTAS CGI Para encontrar tpicos especficos en el Web se puede usar varias mquinas de bsqueda. Estas mquinas siguen todos los enlaces de un documento Web e indexan todos los documentos obtenidos por los enlaces siguientes. Algunas de ellas provienen de organizaciones independientes. Muchos Web browsers contienen mtodos de acceso a estas mquinas. Ejemplos de ellos son: www.yahoo.com CGI www.excite.com www.lycos.com Aplicaciones: Servidor -Bases de datos HTTP www.metacrawler.com. Cliente -Programas Web HTTP Muchas de estas mquinas especiales -Scripts poseen una interface comn browser 80 -Mquinas de de salida (Common Gateway bsqueda TCP TCP InterfaceCGI), que les perIP IP mita ejecutar otros servicios de aplicacin, tal como puede apreciarse en la figura 22.17. Figura 22.17 Interface de Gateway comn (Common Gateway El CGI se emplea para transInterface - CGI) ferir una peticin a otra aplicacin que est funcionando en el mismo servidor o en otro. Los resultados de la aplicacin se envan al servidor HTTP a travs de la CGI, para luego ser reenviados al cliente web. 22.5.2 GOPHER

Aunque la mayor parte de la informacin nueva para el pblico se halla en servidores Web, hay informacin antigua muy til solamente accesible mediante antiguas herramientas como Gopher y el FTP. Gopher perdi popularidad debido al uso masivo del WWW. Fue desarrollado por la Uni336

C AP . 22 S ERVICIOS DE APLICACIN : T ELNET , F TP , T FTP , N FS , S MTP , P OP 3, I MAP 4, WWW Y G OPHER

versidad de Minnesota y consta de un sistema de mens que permite navegar servidor Gopher cliente buscando tpicos de inters. Sus hiperServidor Gopher Gopher enlaces son los ttulos de los mens. Luego de elegir un ttulo de un men se 70 TCP accede a otros mens, estn en el misTCP mo servidor u otro. El conjunto de meIP IP Cadena de recuperacin ns enlazados se llama Gopher space. de los mens La figura 22.18 muestra la inDescarga de tems de Men teraccin entre un cliente y un servidor Gopher. El servidor recibe por una caFigura 22.18 Cliente / Servidor Gopher dena de textos de recuperacin en la puerta TCP nmero 70 enviada por el cliente Gopher. El servidor retorna los items del men basado en la cadena de textos de recuperacin. Existe una herramienta especial denominada VERONICA (Very Easy Rodent-Oriented Networkwide Index to Computerized Archives) asociada con el Gopher, que se utiliza para buscar tpicos en los mens de los servidores Gopher. VERONICA es actualmente un comando del Gopher. 22.5.2.1 Ejemplo de una sesin Gopher Una sesin Gopher se inicia cuanservidor cliente do un cliente enva una peticin Gopher Gopher Apertura de conexin para: de conexin TCP a la puerta 70 rawbits.micro.unm.edu rawbits.micro.unm.edu puerta 70 puerta 70 del servidor Gopher (ver la figura 22.19). El servidor acepta la petiEnva una "cadena vaca" y <CR><F> cin y establece una conexin El servidor acepta la conexin TCP. Entonces, el cliente enva El servidor enva men de alto nivel una secuencia vaca ( ) que aca0 Acerca del gopher de Internet <tab>stuff : Acerca de nosotros <Tab>rawbits.micro.umn.edu ba en los caracteres Retorno de <Tab> 70 <CR><LF> Carro (CR) y Alimentacin de L1 Course schedules<Tab><Tab>events.ais.unm.edu<Tab>70<CR><LF> nea (LF). El servidor contesta enun solo punto viando los tems de men de subevents.ais.unm.edu El usuario Conexin abierta para directorio de alto nivel. stos se selecciona events.ais.unm.edu puerta 70 puerta 70 envan conforme al formato que "course El servidor acepta la conexin schedules" Enva cadena de recuperacin se muestra en la figura 22.20. En este formato, el camtems de Men, tems terminando en <CR><LF> po de selector tiene valores definidos, tales como: archivo, direcFigura 22.19 Operacin del Gopher torio, error, archivo binario DOS, servidor redundante, archivo grfico en formato GIF, archivo binario, archivo de imagen, etc. La cadena de caracteres del campo de presentacin es el tem de mens que presentar el cliente Gopher. El campo de referencia de archivos es una de secuencia de caracteres especiales que debe enviarse al servidor Gopher para recuperar los tems asociados con la seleccin. Los campos de nombre de Host y nmero de puerta de Host definen el punto final TCP del servidor Gopher, donde puede hallarse la referencia del archivo especfico. La RFC 1436 desNmero de cribe el Gopher como: El Cadena de Archivo de Nombre Selector <Tab> <Tab> <Tab> <Tab> puerta de presentacin referencia de Host Protocolo Gopher de InterHost net (Protocolo de bsqueda <Tab> = caracter tab de ASCII y recuperacin de documentos distribuidos). Figura 22.20 Formato del men de tems del Gopher

337

Das könnte Ihnen auch gefallen