Está en la página 1de 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)

Protocolo de acceso remoto


TELNET.

b)

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
Sistema de
interactiva archivos

AP de
usuario

Usuario
de correo

AP de
administracin

Peticiones
/respuestas
locales
Sistema operativo

Sistema operativo

Sistema
de
correo
local

Sistema
local de
correo

Cliente
TELNET

Cliente
FTP

SMTP

Cliente
SNMP

PORT

PORT

PORT

PORT

TCP

Peticiones
/respuestas
normalizadas

Servidor
TELNET

Servidor
FTP

SMTP

Servidor
SNMP

PORT

PORT

PORT

PORT

UDP

TCP

UDP
IP

IP
Mensajes en sintaxis definida

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).
c)

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.

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

Servidor
TELNET

TCP/IP

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

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.

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>)

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

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.

250
251
450
550
451
551
452
552
553
354
554

SIGNIFICADO

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)

Tabla 22.4 Comando del transmisor SMTP (cliente)


para una implementacin mnima

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

SMTP
SMTP-SIZE
SMTP-EXT
MAIL

S: HELO mquina
R: HELO mquina, es un placer conocerte
S: MAIL FROM:
R: 250 OK

kss@scs.psi.com

S: RCPT To:
R: 250 OK

jones@scs.psi.com

S: RCPT a:
R: 550

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

Protocolo de Transferencia de Correo Simple


Servicio de Extensin SMTP para tamao de mensaje
Extensiones de servicio SMTP
Formato de Mensajes de Correo Electrnico

STATUS

RFC #

STD #

Rec
Rec
Rec
Rec

821
1870
1869
822

10
10
10
11

Tabla 22.6 Normas relacionadas al SMTP

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

STAT

COMANDO

SIGNIFICADO

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.

LIST
RETR
DELE
NOV
RSET
QUIT

Tabla 22.7 Comandos POP3 requeridos

+OK
-ERR

SIGNIFICADO

El comando fue ejecutado correctamente.


La ejecucin del comando result en error.
Tabla 22.8 Respuestas del servidor POP3

COMANDO

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

SIGNIFICADO

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

EJEMPLO DE SESIN POP3

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


S:

<Esperar por una conexin sobre la puerta TCP 110>

C:
S:

<Conexin abierta>
+Ok dewey Servidor POP3 listo (comments to: PostMaster @ edl.edu)

Estado de
conexin

C:
S:
C:
S:

USER kss
+OK kss is a real hoopy food
PASS my password
+OK ksss maildrop has 7 messages (1729 octetos)

Estado de
autorizacin

C:
S:
C:
S:
S:
S:
:
S:
S:
C:
S:

STAT
+OK 7 1729
LIST
+OK
7 messages (1729 octets)
1
340
2
512

S:

<CR><LF>

C:
S:
C:
S:

QUIT
+OK
dewey POP3 server signing off
<close connection>
<wait for next connection>

7
59
<CR><LF>
RETR 1
+OK
340 octets

msgid
message size

Termination multilane

Estado de
transaccin
STAT
LIST msg
RETR msgid
DELE msgid

POP server sends message 1

Estado de
actualizacin

S: Servidor POP

C: Cliente POP3

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
Comando de SELECT o EXAMINE exitosos
tado de liberacin o logout la conexin concluye y el (5)
(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.

Capa de texto marcado


Documento codificado
usando HTML

Enlaces de
Hipertexto

Web
browser

Servidor
Web

Cliente
Web

80
TCP

TCP

IP

- Netscape
- Internet Explorer
- Web Surfer, etc.

IP
HTTP

Figura 22.15 El World Wide Web

22.5.1.1

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.0to sigue a otros par
para
acceder
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 subConexin abierta para
events.ais.unm.edu
El
usuario
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

También podría gustarte