Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Capitulo 5
Capa de Aplicacin
La capa de aplicacin es aquella en la que se definen los protocolos, que se traducen en una
utilidad especfica para el usuario final, o que definen una estructura de servicios para aplicaciones
de ms alto nivel Es el nivel mas alto, los usuarios llaman a una aplicacin que acceda servicios
disponibles a travs de la red de redes TCP/IP. Una aplicacin interacta con uno de los protocolos
de nivel de transporte para enviar o recibir datos. Cada programa de aplicacin selecciona el tipo
de transporte necesario, el cual puede ser una secuencia de mensajes individuales o un flujo
continuo de octetos. El programa de aplicacin pasa los datos en la forma requerida hacia el nivel
de transporte para su entrega Contiene toda la lgica necesaria para llevar a cabo las aplicaciones
de usuario. Para cada tipo especfico de aplicacin, como es por ejemplo la transferencia de un
archivo, se necesitar un mdulo particular dentro de esta capa.
Invoca programas que acceden servicios en la red. Interactan con uno o ms protocolos de
transporte para enviar o recibir datos, en forma de mensajes o bien en forma de flujos de bytes.
2- TFTP
3- Dhcp
4- NFS
5- DNS
6- SMTP
7- Telnet
8- POPx
9- Rlogin
10- MIME
11- FTP
12- SNMP
Pag: 1
Teleinformtica y comunicaciones
Modelo cliente/servidor
TCP es un protocolo orientado a conexin. No hay relaciones maestro/esclavo. Las aplicaciones,
sin embargo, utilizan un modelo cliente/servidor en las comunicaciones.
Un servidor es una aplicacin que ofrece un servicio a usuarios de Internet; un cliente es el que
pide ese servicio. Una aplicacin consta de una parte de servidor y una de cliente, que se pueden
ejecutar en el mismo o en diferentes sistemas.
Los usuarios invocan la parte cliente de la aplicacin, que construye una solicitud para ese servicio
y se la enva al servidor de la aplicacin que usa TCP/IP como transporte.
El servidor es un programa que recibe una solicitud, realiza el servicio requerido y devuelve los
resultados en forma de una respuesta. Generalmente un servidor puede tratar mltiples
peticiones(mltiples clientes) al mismo tiempo.
Pag: 2
Teleinformtica y comunicaciones
Adems hay actualizaciones de BOOTP que lo permiten interoperar con DHCP. Estas se describen
en el RFC 1542 - Aclaraciones y extensiones para el protocolo Bootstrap que actualiza a los RFC
951 y RFC 1533 - Opciones y extensiones de DHCPs, que desfasa al RFC 1497.
Las LANs hacen posible usar host sin disco como estaciones de trabajo, "routers" concentradores
de terminales, etc. Los host sin disco requieren de algn mecanismo para el arranque remoto sobre
una red. El protocolo BOOTP se utiliza para efectuar arranques remotos en redes IP. Permite que
una pila de IP mnima sin informacin de configuracin, tpicamente almacenada en la ROM,
obtenga informacin suficiente para comenzar el proceso de descargar el cdigo de arranque
necesario. BOOTP no define como se realiza esta descarga, pero habitualmente se emplea TFTP
El proceso BOOTP implica los siguientes pasos:
1. El cliente determina su propia direccin hardware; esta suele estar en una ROM del
hardware.
2. El cliente BOOTP enva su direccin hardware en un datagrama UDP al servidor. Si el
cliente conoce su direccin IP y/o la direccin del servidor, debera usarlas, pero en general
los clientes BOOTP carecen de configuracin IP en absoluto. Si el cliente desconoce su
direccin IP, emplea la 0.0.0.0. Si desconoce la direccin IP del servidor, utiliza la direccin
de broadcast limitado(255.255.255.255). El nmero del puerto UDP es el 67.
3. El servidor recibe el datagrama y busca la direccin hardware del cliente en su archivo de
configuracin, que contiene la direccin IP del cliente. El servidor rellena los campos
restantes del datagrama UDP y se lo devuelve al cliente usando el puerto 68. Hay tres
mtodos posibles para hacer esto:
1- Si el cliente conoce su propia direccin IP(incluida en la solicitud BOOTP),
entonces el servidor devuelve directamente el datagrama a esa direccin. Es
probable que la cach de ARP en la pila de protocolos del servidor desconozca la
direccin hardware correspondiente a esa direccin IP. Se har uso de ARP para
determinarla del modo habitual.
2- Si el cliente desconoce su propia direccin IP(0.0.0.0 la solicitud BOOTP),
entonces el servidor se ocupa de averiguarla con su propia cach de ARP. El
servidor no puede usar ARP para resolver la direccin hardware del cliente porque
el cliente no sabe su direccin IP y por lo tanto no puede responder a una peticin
ARP. Es el problema de la pescadilla que se muerde la cola. Hay dos soluciones
posibles:
1. Si el servidor tiene un mecanismo para actualizar directamente su propia
cach ARP sin usar ARP, lo utiliza y enva directamente el datagrama.
2. Si el servidor no puede actualizar su propia cach, debe enviar una
respuesta en forma de broadcast.
3- Cuando reciba la respuesta, el cliente BOOTP grabar su direccin IP(permitindole
responder a peticiones ARP) y comenzar el proceso de arranque.
Pag: 3
Teleinformtica y comunicaciones
Pag: 4
Teleinformtica y comunicaciones
direccin de destino en la cabecera IP se pone al valor de la direccin IP fijada por el
servidor BOOTP, y la direccin MAC a la direccin hardware del cliente BOOTP. Si un host
no puede recibir un datagrama IP en unicast hasta saber su propia direccin IP, el bit de
broadcast se debe poner a 1 para indicar al servidor que el mensaje BOOTREPLY se debe
enviar como un broadcast en IP y MAC. De otro modo, este bit debe ponerse a cero.
Client IP adress
Fijada por el cliente. O bien es su direccin IP real , o 0.0.0.0.
Your IP Address
Fijada por el servidor si el valor del campo anterior es 0.0.0.0
Server IP address
Fijada por el servidor.
Router IP address
Fijada por el "router" retransmisor si se usa retransmisin BOOTP.
Client hardware address
Fijada por el cliente y usada por el servidor para identificar cul de los clientes registrados
est arrancando.
Server host name
Nombre opcional del host servidor acabado en X'00'.
Boot file name
El cliente deja este campo vaco o especifica un nombre genrico, tal como "router",
indicando el tipo de archivo de arranque a usar. El servidor devuelve el nombre completo
del archivo o bien el de un archivo de arranque adecuado para el cliente. Su valor tiene
como terminador a la secuencia X'00.
Vendor-specific area
rea especfica del distribuidor(opcional). Se recomienda que el cliente llene siempre los
cuatro primeros bytes con un "magic cookie" o galleta mgica. Si el cookie especfica de un
distribuidor no se usa, el cliente debera utilizar 99.130.83.99 seguido de una marca de
fin(255) y fijar los bis restantes a cero. Remitirse al RFC 1533 para ms detalles.
Una restriccin a este esquema es el uso del broadcast limitado para las solicitudes
BOOTP; requiere que el servidor est en la misma subred que el cliente. La retransmisin
BOOTP es un mecanismo para que los "routers" transmitan solicitudes BOOTP. Es una
opcin de configuracin disponible en algunos "routers".
Una vez que el cliente BOOTP ha procesado la respuesta, puede proceder con la
transferencia del archivo de arranque y ejecutar el proceso de arranque completo. El
proceso de arranque completo reemplaza la pila mnima de IP usada por BOOTP y TFTP
por una pila IP normal transferida como parte del archivo de arranque, que contiene la
configuracin correcta para el cliente.
Pag: 5
Teleinformtica y comunicaciones
DHCP soporta tres mecanismos para la asignacin de direcciones IP:
1. Asignacin automtica
DHCP asigna al host una direccin IP permanente.
2. Asignacin dinmica
DHCP asigna una direccin IP por un periodo de tiempo limitado. Una red as se denomina
arrendamiento. Este es el nico mecanismo que permite la reutilizacin automtica de
direcciones que ya no son necesitadas por los hosts a los que estaban asignadas.
3. Asignacin manual
La direccin del host es asignada por el administrador de red
Pag: 6
Teleinformtica y comunicaciones
Longitud en bytes de la direccin hardware. Ethernet y las redes en anillo usan 6, por
ejemplo.
hops
El cliente lo pone a 0. Cada "router" que retransmite la solicitud a otro servidor lo
incrementa, con el fin de detectar bucles. El RFC 951 sugiere que un valor de 3 indica un
bucle.
Transaction ID
Nmero aleatorio usado para comparar la solicitud con la respuesta que genera.
Seconds
Fijado por el cliente. Es el tiempo transcurrido en segundos desde que el cliente inici el
proceso de arranque.
Flags Field
El bit ms significante de este campo se usa como flag de broadcast. Todos los dems bits
deben estar a 0; estn reservados para usos futuros. Normalmente, los servidores DHCP
tratan de entregar los mensajes DHCPREPLY directamente al cliente usando unicast. La
direccin de destino en la cabecera IP se pone al valor de la direccin IP fijada por el
servidor DHCP, y la direccin MAC a la direccin hardware del cliente DHCP. Si un host no
puede recibir un datagrama IP en unicast hasta saber su propia direccin IP, el bit de
broadcast se debe poner a 1 para indicar al servidor que el mensaje DHCPREPLY se debe
enviar como un broadcast en IP y MAC. De otro modo, este bit debe ponerse a cero.
Client IP adress
Fijada por el cliente. O bien es su direccin IP real , o 0.0.0.0.
Your IP Address
Fijada por el servidor si el valor del campo anterior es 0.0.0.0
Server IP address
Fijada por el servidor.
Router IP address
Fijada por el "router" retransmisor si se usa retransmisin BOOTP.
Client hardware address
Fijada por el cliente y usada por el servidor para identificar cul de los clientes registrados
est arrancando.
Server host name
Nombre opcional del host servidor acabado en X'00'.
Nombre del archivo de arranque
El cliente o bien deja este campo vaco o especifica un nombre genrico, como "router"
indicando el tipo de archivo de arranque a usar. En la solicitud de DHCPDISCOVER se
pone al valor nulo. El servidor devuelve el la ruta de acceso completa del archivo en una
respuesta DHCPOFFER. El valor termina en X'00'.
Options
Los primeros cuatro bytes del campo de opciones del mensaje DHCP contienen el
cookie(99.130.83.99). El resto del campo de opciones consiste en parmetros marcados
llamados opciones. Remitirse al RFC 1533 para ms detalles.
Pag: 7
Teleinformtica y comunicaciones
satisfacer peticiones de nuevas direcciones. Cada servidor mantiene adems una base de datos
local y permanente de las direcciones asignadas y de los arrendamientos.
1. El cliente hace un broadcast de un mensaje DHCPDISCOVER en su subred fsica. El
mensaje DHCPDISCOVER puede incluir algunas opciones como sugerencias de la
direccin de red, duracin del arrendamiento, etc.
2. Cada servidor puede responder con un mensaje DHCPOFFER que incluye una direccin
de red disponible y otras opciones de configuracin.
3. El cliente recibe uno o ms mensaje DHCPOFFER de uno o ms servidores. Elige uno
basndose en los parmetros de configuracin ofertados y hace un broadcast de un
mensaje DHCPREQUEST que incluye la opcin identificadora del servidor para indicar qu
mensaje ha seleccionado.
4. Los servidores reciben el broadcast de DHCPREQUEST del cliente. Los servidores no
seleccionados utilizan el mensaje como notificacin e que el cliente ha declinado su oferta.
El servidor seleccionado vincula al cliente al almacenamiento persistente y responde con
un mensaje DHCPACK que contiene los parmetros de configuracin para el cliente. La
combinacin de las direcciones hardware y asignada del cliente constituyen un
identificador nico de su arrendamiento y las usan tanto el cliente como el servidor para
identificar cualquier arrendamiento al que se haga referencia en un mensaje DHCP. El
campo "your IP address" en los mensaje DHCPACK se rellena con la direccin de red
seleccionada.
5. El cliente recibe el mensaje DHCPACK con parmetro de configuracin. Realiza un
chequeo final de estos parmetros, por ejemplo con ARP para la direccin de red
asignada, y registra la duracin del arrendamiento y el cookie de identificacin de ste
especificado en el mensaje DHCPACK. En este punto, el cliente est configurado. Si el
cliente detecta un problema con los parmetros en el mensaje DHCPACK, enva un
mensaje DHCPDECLINE al servidor y reinicia el proceso de configuracin. El cliente
debera esperar un mnimo de diez segundos antes de reiniciar este proceso para evitar un
exceso de trfico en la red en caso de que se produzca algn bucle.
Si el cliente recibe un mensaje, reinicia el proceso de configuracin.
6. Puede elegir renunciar a su arrendamiento enviando un mensaje DHCPRELEASE al
servidor. El cliente especifica el arrendamiento al que renuncia incluyendo sus direcciones
hardware y de red
Pag: 8
Teleinformtica y comunicaciones
Nota: Un host debera usar DHCP para readquirir o verificar su direccin IP y sus parmetros de
configuracin siempre que cambien los parmetros de su red local, por ejemplo en el arranque del
sistema o despus de una desconexin de la red local, ya que la configuracin de esta puede
haber cambiado sin que lo sepa el host o el usuario.
Figura: El DNS
En los orgenes de Internet, cuando slo haba unos cientos de computadores conectados, la tabla
con los nombres de dominio y direcciones IP se encontraba almacenada en un nico computador
con el nombre de HOSTS.TXT. El resto de computadores deban consultarle a ste cada vez que
tenan que resolver un nombre. Este archivo contena una estructura plana de nombres, tal como
hemos visto en el ejemplo anterior y funcionaba bien ya que la lista slo se actualizaba una o dos
veces por semana.
Sin embargo, a medida que se fueron conectando ms computadores a la red comenzaron los
problemas: el archivo HOSTS.TXT comenz a ser demasiado extenso, el mantenimiento se hizo
difcil ya que requera ms de una actualizacin diaria y el trfico de la red hacia este computador
lleg a saturarla.
Es por ello que fue necesario disear un nuevo sistema de resolucin de nombres que distribuyese
el trabajo entre distintos servidores. Se ide un sistema jerrquico de resolucin conocido como
DNS (Domain Name System, sistema de resolucin de nombres).
[RFC1034] [RFC1035] es el responsable, fundamentalmente, de realizar la traduccin entre un
nombre jerquico y una serie de "identificadores" asociados. Dichos identificadores pueden
constituir cualquier informacin de inters prctico.
Tradicionalmente estos sistemas se han utilizado para la obtencin de la direccin IP de una
mquina dado su nombre jerrquico, as como para identificar la mquina o mquinas
responsables de un dominio de correo. No sera exagerado decir que el DNS constituye el
verdadero ncleo aglutinador de una red de las caractersticas de "Internet", ya que es lo que
proporciona al usuario una visin homogenea y organizada de las mquinas y servicios
disponibles.
El servidor de denominacin de dominio (DNS) es un dispositivo ubicado en una red. Responde a
las peticiones que realizan los clientes para traducir un nombre de dominio a la direccin IP
asociada. El sistema DNS se basa en una jerarqua que crea distintos niveles de servidores DNS.
Si un DNS local puede traducir un nombre de dominio a su direccin IP asociada, lo hace y
devuelve el resultado al cliente. Si no logra traducir la direccin, transfiere la peticin al siguiente
servidor DNS de nivel superior del sistema, que intenta entonces traducir la direccin. Si el DNS de
este nivel puede traducir el nombre de dominio a su direccin IP asociada, lo hace y devuelve el
resultado al cliente De no ser as, enva la solicitud al siguiente nivel superior. Este proceso se
vuelve a repetir hasta que el nombre de dominio se haya traducido o que se haya alcanzado el
nivel DNS ms elevado. Si no se puede encontrar el nombre de dominio en el nivel DNS superior,
se considera como error y se devuelve el mensaje de error correspondiente.
Pag: 9
Teleinformtica y comunicaciones
Cualquier tipo de aplicacin que utiliza nombres de dominio para representar direcciones IP utiliza
DNS para traducir ese nombre a la direccin IP correspondiente
Siempre que un cliente de correo electrnico enva cartas, solicita a un servidor DNS, conectado a
la red, que traduzca los nombres de dominio a sus direcciones IP asociadas. Si DNS puede
traducir los nombres, devuelve la direccin IP a los clientes, permitiendo de esta manera la
segmentacin y el encapsulamiento correcto en la capa de transporte. Si DNS no puede traducir
los nombres, las solicitudes se transfieren hasta que los nombres se hayan traducido.
La parte de la direccin de correo electrnico que contiene el nombre del destinatario (receptor)
cobra importancia en este punto. El servidor lo extrae del mensaje de correo electrnico y verifica
que la persona sea un usuario de la oficina de correos. Si el destinatario es un usuario, guarda el
mensaje en su buzn hasta que alguien lo recupere. Si el destinatario no es un usuario, la oficina
de correos genera un mensaje de error y enva el mensaje de vuelta al remitente.
La segunda parte del proceso de correo electrnico es el proceso de recepcin. Los destinatarios
de mensajes de correo electrnico deben utilizar el software cliente de correo electrnico en sus
computadoras para realizar peticiones a las oficinas postales de correo electrnico. Cuando el
destinatario del mensaje hace clic en los botones "Recibir correo" o "Recuperar correo" en el
programa de correo electrnico, generalmente se le solicita que ingrese una contrasea. Una vez
que han ingresado la contrasea y han hecho clic en "Aceptar", el software de correo electrnico
crea una peticin para los servidores de la oficina de correos. Luego extrae las direcciones de la
oficina de correos de los datos de configuracin que se escribieron cuando se configur el software
de correo electrnico. El proceso usa luego otra verificacin DNS para buscar las direcciones IP de
los servidores. Finalmente, las peticiones son segmentadas y secuenciadas por la capa de
transporte.
Los paquetes de datos se transportan a travs de las capas restantes del modelo OSI (es decir, de
red, de enlace de datos y fsica) y se retransmiten a travs de Internet a la oficina de correo
electrnico destino. Una vez que llegan a la oficina de correos, los paquetes se reensamblan en la
secuencia correcta y se verifica si se ha producido algn error de transmisin de datos.
En la oficina de correo, se examinan las peticiones y se verifican los nombres de usuario y las
contraseas. Si todo est en orden, el servidor de la oficina de correos transmite todos los
mensajes de correo electrnico a los computadoras, donde los mensajes se vuelven a segmentar,
secuenciar y encapsular como tramas de datos, para ser enviados al computador del cliente o del
destinatario del correo electrnico.
Despus de que los mensajes de correo electrnico llegan al computador, se pueden abrir y leer. Si
hace clic en el botn "Responder" o "Reenviar", para enviar una respuesta a los mensajes, se
vuelve a iniciar todo el proceso. Los mensajes de correo electrnico se envan normalmente como
texto ASCII, pero los archivos que se adjuntan a ellos pueden ser de audio, vdeo, grficos o de
cualquier otro tipo de datos. Para enviar y recibir correctamente los archivos adjuntados, los
esquemas de codificacin deben ser los mismos en el computador emisor y receptor. Los dos
formatos ms comunes para los archivos adjuntos de correo electrnico son Extensin de Correo
Multipropsito para Internet (MIME) y UUencode (una utilidad Unix).
Nota: Aunque los dominios dentro del espacio de nombres se mapean con frecuencia a redes y
subredes con el mecanismo de direccionamiento IP, este no es un requisito del DNS. Considerar
un "router" entre dos subredes: tiene dos direcciones IP, una por cada adaptador, pero
normalmente no tiene por qu poseer dos nombres simblicos.
Pag: 10
Teleinformtica y comunicaciones
Para su funcionamiento, el DNS utiliza tres componentes principales:
Clientes DNS (resolvers). Los clientes DNS envan las peticiones de resolucin de
nombres a un servidor DNS. Las peticiones de nombres son preguntas de la forma: Qu
direccin IP le corresponde al nombre nombre.dominio?
Servidores DNS (name servers). Los servidores DNS contestan a las peticiones de los
clientes consultando su base de datos. Si no disponen de la direccin solicitada pueden
reenviar la peticin a otro servidor.
Espacio de nombres de dominio (domain name space). Se trata de una base de datos
distribuida entre distintos servidores.
El punto ms alto de la jerarqua es el dominio raz. Los dominios de primer nivel (es, edu, com...)
parten del dominio raz y los dominios de segundo nivel (upm, ucm, novell..), de un dominio de
primer nivel; y as sucesivamente. Cada uno de los dominios puede contener tanto hosts como ms
subdominios.
Un nombre de dominio es una secuencia de nombres separados por el carcter delimitador punto.
Por ejemplo, www.vaneduc.edu.ar.
Los dominios de primer nivel (Top-Level Domains) han sido clasificados tanto en funcin de su
estructura organizativa como geogrficamente. Ejemplos:
Pag: 11
Teleinformtica y comunicaciones
gov
mil
organizaciones gubernamentales
organizaciones militares
Geogrficamente:
Nombre de dominio
es
tw
fr
tv
ar
Significado
Espaa
Taiwn
Francia
Tuvalu
Argentina
Zonas de autoridad
Una zona de autoridad es la porcin del espacio de nombres de dominio de la que es responsable
un determinado servidor DNS. La zona de autoridad de estos servidores abarca al menos un
dominio y tambin pueden incluir subdominios; aunque generalmente los servidores de un dominio
delegan sus subdominios en otros servidores.
Servidores maestros (master name servers). Los servidores maestros son los que
transfieren las zonas a los servidores secundarios. Cuando un servidor secundario arranca
busca un servidor maestro y realiza la transferencia de zona. Un servidor maestro para una
zona puede ser a la vez un servidor primario o secundario de esa zona. Estos servidores
extraen la informacin desde el servidor primario de la zona. As se evita que los servidores
secundarios sobrecargen al servidor primario con transferencias de zonas.
Servidores locales (caching-only servers). Los servidores locales no tienen autoridad sobre
ningn dominio: se limitan a contactar con otros servidores para resolver las peticiones de
los clientes DNS. Estos servidores mantienen una memoria cach con las ltimas
preguntas contestadas. Cada vez que un cliente DNS le formula una pregunta, primero
consulta en su memoria cach. Si encuentra la direccin IP solicitada, se la devuelve al
cliente; si no, consulta a otros servidores, apunta la respuesta en su memoria cach y le
comunica la respuesta al cliente.
Los servidores secundarios son importantes por varios motivos. En primer lugar, por seguridad
debido a que la informacin se mantiene de forma redundante en varios servidores a la vez. Si un
Pag: 12
Teleinformtica y comunicaciones
servidor tiene problemas, la informacin se podr recuperar desde otro. Y en segundo lugar, por
velocidad porque evita la sobrecarga del servidor principal distribuyendo el trabajo entre distintos
servidores situados estratgicamente (por zonas geogrficas, por ejemplo).
1. Nuestra computadora (cliente DNS) formula una pregunta recursiva a nuestro servidor
DNS local (generalmente el proveedor de Internet).
2. El servidor local es el responsable de resolver la pregunta, aunque para ello tenga que
reenviar la pregunta a otros servidores. Suponemos que no conoce la direccin IP
asociada a www.ibm.com; entonces formular una pregunta iterativa al servidor del
dominio raz.
3. El servidor del dominio raz no conoce la direccin IP solicitada, pero devuelve la direccin
del servidor del dominio com.
4. El servidor local reenva la pregunta iterativa al servidor del dominio com.
Pag: 13
Teleinformtica y comunicaciones
5. El servidor del dominio com tampoco conoce la direccin IP preguntada, aunque s conoce
la direccin del servidor del dominio ibm.com, por lo que devuelve esta direccin.
6. El servidor local vuelve a reenvar la pregunta iterativa al servidor del dominio ibm.com.
7. El servidor del dominio ibm.com conoce la direccin IP de www.ibm.com y devuelve esta
direccin al servidor local.
8. El servidor local por fin ha encontrado la respuesta y se la reenva a nuestra computadora.
Preguntas inversas
Los clientes DNS tambin pueden formular preguntas inversas, esto es, conocer el nombre de
dominio dada una direccin IP. Para evitar una bsqueda exhaustiva por todo el espacio de
nombres de dominio, se ha creado un dominio especial llamado in-addr.arpa. Cuando un cliente
DNS desea conocer el nombre de dominio asociado a la direccin IP a.b.c.d, formula una pregunta
inversa a d.c.b.a.in-addr.arpa. La inversin de los bytes es necesaria debido a que los nombres de
dominio son ms genricos por la derecha, al contrario que ocurre con las direcciones.
Fi
gura: SMTP("Simple Mail Transfer Protocol")
El correo electrnico (E-mail) es probablemente la aplicacin TCP/IP ms usada. Los protocolos de
correo bsicos de correo proporcionan intercambio de correo y mensajes entre hosts TCP/IP hosts;
se han aadido servicios para la transmisin de datos que no se pueden representar con texto
ASCII de 7 bits.
Hay tres protocolos estndares que se aplican a este tipo de correo. Todos son recomendados. El
trmino SMTP se emplea con frecuencia para referirse a la combinacin de los tres protocolos, por
su estrecha interrelacin, pero estrictamente hablando, SMTP es slo uno de los tres.
Normalmente, el contexto hace evidente de cul de los tres se est hablando. Cuando haya
ambigedad, se emplearn los nmeros STD o RFC. Los tres estndares son:
Un estndar para el intercambio de correo entre dos computadoras(STD 10/RFC 821), que
especifica el protocolo usado para enviar correo entre hosts TCP/IP. Este estndar es
SMTP.
Un estndar(STD 11) para el formato de los mensajes de correo, contenido en dos RFCs.
El RFC 822 describe la sintaxis de las cabeceras y su interpretacin. El RFC 1049 describe
como un conjunto de documentos de tipos diferentes del texto ASCII plano se pueden usar
en el cuerpo del correo(los mismos documentos estn en ASCII de 7 bits con informacin
Pag: 14
Teleinformtica y comunicaciones
de formato embebida: Postscript, Scribe, SGML, TEX, TROFF y DVI aparecen en el
estndar).
El STD 10/RFC 821 establece que los datos enviados por SMTP son ASCII de 7-bis, con el bit de
orden superior a cero. Esto es adecuado para mensajes en ingls, pero no para otros lenguajes o
datos que no sean texto. Hay dos estrategias para superar estas limitaciones:
MIME ("Multipurpose Internet Mail Extensions"), definido en los RFCs 1521 y 1522, que
especifica un mecanismo para codificar texto y datos binarios en ASCII de 7 bits en el
mensaje RFC 822
SMTPSE ("SMTP Service Extensions"), que define un mecanismo para extender las
posibilidades de SMTP ms all de las limitaciones impuestas por RFC 821.
Intercambio de correo
El diseo de SMTP se basa en el modelo de comunicacin mostrado en la siguiente figura. Como
resultado de la solicitud de correo de un usuario, el emisor SMTP establece una conexin en los
dos sentidos con el receptor SMTP. El receptor puede ser el destinatario final o un
intermediario(pasarela de correo). El emisor generar comandos a los que replicar el receptor.
Pag: 15
Teleinformtica y comunicaciones
Pag: 16
Teleinformtica y comunicaciones
o
El emisor tiene otro mensaje que enviar, y simplemente vuelve al paso 3 para
enviar un nuevo MAIL.
Pag: 17
Teleinformtica y comunicaciones
Fi
gura: MIME("Multipurpose Internet Mail Extensions")
Acrnimo de Multipurpose Internet Mail Extensions, es una especificacin para dar formato a
mensajes no-ASCII, para que puedan ser enviados por Internet.
Muchos clientes de correo soportan MIME, el cual les permite enviar y recibir archivos de
imgenes, de audio y de video a travs del sistema de correo de Internet. Adems, MIME, soporta
mensajes en juegos de caracteres diferentes al ASCII.
Hay muchos tipos MIME predefinidos, como GIFs, JPEGs, MOVs y archivos PostScript. tambin es
posible definir tipos MIME propios.
Adems de las aplicaciones e-mail, los navegadores (browsers) tambin soportan varios tipos
MIME. Esto habilita al navegador a desplegar o interpretar archivos que no estn en formato
HTML.
MIME fue definido en 1992 por el Internet Engineering Task Force (IETF). Hay una versin nueva
llamada S/MIME, la cual soporta mensajes encriptados
MIME es un estndar que incluye mecanismos para resolver estos problemas en una forma con un
alto grado de compatibilidad con los estndares RFC 822. Debido a que los mensajes de correo
suelen enviarse a travs de pasarelas de correo, a un cliente SMTP no le es posible distinguir entre
un servidor que gestiona el buzn del receptor y uno que acta como pasarela a otra red. Como el
correo que atraviesa una pasarela se puede dirigir a otras pasarela, que pueden usar distintos
protocolos de mensajera, en el caso general al emisor no le es posible determinar el mnimo
comn denominador de las capacidades de cada una de las etapas que atraviesa el mensaje. Por
este motivo, MIME asume el peor caso: transporte ASCII de 7 bits que puede no seguir
estrictamente el RFC 821. No define ninguna extensin al RFC 821, sino que se limita slo a las
extensiones incluidas en el RFC 822. De esta forma, un mensaje MIME puede ser enrutado a
travs de cualquier nmero de redes capaces de transmitir mensajes RFC 821. Se describe en dos
partes:
Protocolos para incluir objetos distintos de los mensajes de correo US ASCII. dentro de
mensajes RFC 822. El RFC 1521 los describe.
Un protocolo para codificar texto no US ASCII en los campos de cabecera segn el RFC
822. El RFC 1522 lo describe.
**** NOTA: **** MIME no requiere que los objetos de correo estn codificados -- la decisin se deja
al usuario y/o programa de correo. Para datos binarios, transmitidos a travs de SMTP de 7 bits, la
codificacin es necesaria invariablemente, pero para datos que son texto en su mayora, puede
que no haga falta. El mecanismo preferido de codificacin para datos "de texto en su mayora" es
tal que, como mnimo, es , es fiable para cualquier agente SMTP en un sistema ASCII, y como
Pag: 18
Teleinformtica y comunicaciones
mximo, es fiable con todas las pasarelas y MTAs conocidos. La razn por la que MIME no
requiere codificacin total es que la codificacin dificulta la legibilidad cuando MIME el correo se
transmite a sistemas no MIME
El protocolo TFTP
Propsito
TFTP es un protocolo para transferir archivos entre distintas mquinas conectadas a travs de una
red de comunicaciones. Se implementa sobre un servicio de comunicaciones no fiable y no
orientado a conexin. Consiste fundamentalmente en la lectura o escritura por parte de un cliente
de/a un archivo de un servidor.
Caractersticas fundamentales
Cualquier transferencia de archivos comienza con una solicitud de lectura o escritura de un archivo
por parte de un cliente. Si el servidor acepta dicha solicitud el archivo se transmite dividido en
trozos de un tamao fijo de 512 bytes. Cada paquete de datos contiene uno de esos trozos. Los
paquetes de datos deben ser asentidos, de forma que en ausencia de fallos de las mquinas, el
archivo acabe siendo transferido correctamente. Para ello se podr utilizar indistintamente un
protocolo de parada y espera o uno de envo contnuo. En cualquiera de los casos se utilizarn
paquetes de asentimiento. Un paquete de datos de menos de 512 bytes indica el fin de la
transferencia. Cada paquete de datos lleva consigo un nmero de trozo, comenzando la
transferencia por el trozo 1. Cada paquete de asentimiento lleva consigo un nmero de trozo. En el
caso de utilizar un protocolo de envo contnuo el nmero de trozo indicar el ltimo paquete que
se asiente (los anteriores a ste quedan asentidos implcitamente) y en caso de utilizar un
protocolo de parada y espera, el nmero de trozo identifica al paquete concreto que se est
asintiendo.
Si un paquete se pierde en la comunicacin, a su destinatario le vencer un plazo y deber
retransmitir el ltimo paquete transmitido (de datos o de asentimiento), lo que causar que el
emisor del paquete perdido retransmita dicho paquete. Ntese que utilizan los plazos tanto el
cliente como el servidor.
Tres tipos de situaciones causan un error:
cuando no es posible aceptar una solicitud de transferencia (archivo inexistente, violacin
de permisos)
cuando se recibe un paquete con formato incorrecto
cuando se pierde el acceso a un recurso (se llena el disco) en mitad de la transferencia
Los errores causarn la terminacin de la transferencia. Un error se indicar enviando un paquete
de error. Este paquete ni se asiente ni se retransmite, as que el otro extremo de la comunicacin
puede no recibirlo nunca.
Inicio de la transferencia
Una transferencia se inicia con el envo por parte de un cliente de una solicitud (WRQ para solicitar
una escritura o RRQ para solicitar una lectura) y la recepcin en dicho cliente de una respuesta
afirmativa por parte del servidor. Dicha respuesta afirmativa ser un paquete de asentimiento --para
las escrituras-- o el primer paquete de datos --para las lecturas--. El paquete de asentimiento para
las escrituras lleva nmero de trozo 0, como caso especial, y ha de ser enviado siempre, tanto si se
utiliza envo contnuo como si se utiliza parada y espera. Si la respuesta a la solicitud es un
paquete de error, la solicitud ha sido denegada.
Tipos de paquetes
TFTP utiliza cinco tipos de paquetes:
Pag: 19
Teleinformtica y comunicaciones
Tipo acrnimo operacin
1
RRQ
Solicitud de lectura
WRQ
Solicitud de escritura
DATA
Paquete de datos
ACK
Paquete de asentimiento
ERR
Paquete de error
Paquetes DATA
Tipo Nmero de trozo Datos
Tipo:
3
Nmero de trozo:
Un 1 para el primer trozo, y se incrementa progresivamente hasta llegar a 65535, para
volver a empezar
Datos:
De 0 a 512 bytes con un trozo del archivo que se lee o escribe. Si tiene justo 512 bytes,
NO es el ltimo paquete de datos. Si tiene de 0 a 512 bytes, indica el final de la
transferencia.
Paquetes ACK
Tipo Nmero de trozo
Tipo:
4
Nmero de trozo:
Indica el nmero del trozo que se asiente (en caso de utilizar envo contnuo indica el
ltimo nmero de trozo que se asiente, e implicitamente el asentimiento de los anteriores).
Si es cero, es un asentimiento a una solicitud de escritura.
Todos los paquetes que no son de ERR deben ser asentidos. Enviar un paquete de datos es un
asentimiento del ACK del trozo anterior.
As, Los paquetes WRQ o DATA se asienten con paquetes ACK o ERR, mientras que los paquetes
RRQ o ACK se asienten con paquetes DATA o ERR.
Paquetes ERR
Tipo Cdigo de error Mensaje
Tipo:
5
Cdigo de error:
Ing. Jorge Colombo
Pag: 20
Teleinformtica y comunicaciones
Indica la naturaleza del error. Valores:
Valor Significado
0
No definido
Archivo no encontrado
Violacin de permisos
Disco lleno
4
Operacin ilegal de TFTP
Mensaje:
String de longitud indeterminada para ampliar informacin sobre el error, si es
necesario.
Terminacin normal
El final de una transferencia se indica con un paquete DATA de 0 a 511 bytes. Este paquete debe
ser asentido con un ACK (como todos los DATA).
La mquina que asiente el ltimo paquete DATA puede cerrar su lado de la comunicacin despus
de enviar el ACK, pero normalmente espera un rato para retransmitir el ltimo ACK si se perdiera,
circunstancia que detectar si recibe el ltimo paquete DATA otra vez.
La mquina que enva el ltimo paquete DATA debe esperar hasta recibir el ACK o desistir despus
de un determinado plazo de tiempo. Si desiste, terminar su lado de la comunicacin sin saber si
se complet o no la transferencia (depende de si se perdi el ltimo ACK o el ltimo DATA,
respectivamente).
Terminacin prematura
Si una solicitud no puede ser aceptada, o si se produce un error en mitad de una transferencia, se
enva un paquete de error y se termina la comunicacin. Este paquete no ser asentido ni
retransmitido, por lo que podra suceder que nunca llegara a su destino.
Extensiones a TFTP
Mediante un mecanismo de negociacin de opciones, pueden hacerse extensiones al protocolo
TFTP manteniendo compatibilidad hacia atrs. La idea es permitir la negociacin entre cliente y
servidor de ciertas opciones de la transferencia de datos.
Negociacin de opciones
El mecanismo de negociacin de opciones es de propsito general, de forma que pueden
negociarse con l distintos tipos de opciones.
Las opciones se aaden a los paquetes de solicitud RRQ y WRQ. Adems se crea un nuevo tipo
de paquete, paquete OACK, para asentir una solicitud con negociacin de opciones. Se crea as
mismo un nuevo cdigo de error, el 8, para indicar que la transferencia debe abortarse debido a la
negociacin de opciones.
Las opciones se aaden a los RRQ o WRQ de la siguiente forma:
Tipo Nombre de archivo Nmero de opciones opcin_1 valor_1 ... opcin_n valor_n
Tipo:
Para RRQ un 1, para WRQ un 2
Nmero de opciones:
Indica el nmero de parejas (opcin,valor) que vienen a continuacin.
opcin_i:
La opcin i-sima. Es un string de tamao indeterminado.
valor_i:
Pag: 21
Teleinformtica y comunicaciones
El valor asociado a la opcin_i. Es un string de tamao indeterminado.
El cliente aade opciones al final de su solicitud. Puede especificarse cualquier nmero de
opciones, aunque cada opcin slo puede especificarse una vez. El orden en que se especifican
las opciones no es significativo. Un paquete de solicitud nunca puede tener ms de 512 bytes.
Pag: 22
Teleinformtica y comunicaciones
Si el servidor acepta dicha opcin, enviar un OACK incluyndola, y con un valor igual o menor al
propuesto. El cliente entonces dar por bueno dicho valor, o abortar la transferencia enviando un
paquete ERR con cdigo de error 8.
Las reglas para terminar la transferencia normalmente son las mismas que en el caso de tamao
512 bytes: el paquete DATA con menos bytes de los negociados como tamao de trozo se
considera el ltimo.
Opcin de plazo de espera
El protocolo TFTP no establece el plazo que cada mquina debe esperar para recibir el
asentimiento de un paquete. Sin embargo, con el mecanismo de negociacin de opciones descrito,
el cliente puede proponer un valor a emplear durante la subsiguiente transferencia.
En este caso, el cliente aadir a su solicitud de WRQ o de RRQ una opcin de nombre "timeout",
y de valor el nmero de milisegundos propuesto como plazo de espera, entre 100 y 255000.
Si el servidor acepta dicha opcin, enviar un OACK incluyndola, y con un valor igual al
propuesto.
FTP (File Transfer Protocol) surgi de la necesidad de intercambiar archivos entre anfitriones,
especialmente de plataformas dismiles. Debemos recordar que en Unix, la plataforma de hardware
no es homognea como en el mundo de la PC, el rango de hardware va desde una PC 386
corriendo LINUX o una Macintosh corriendo A/UX, pasando por estaciones de trabajo RISC como
las Sun, Silicon Graphics, Hewlett-Packard; hasta mainframes Digital o Hewlett-Packard; o
supercomputadoras Cray, por nombrar algunos. Por lo tanto una forma de transferencia de
archivos independiente de la plataforma fue necesaria desde los comienzos de TCP/IP. FTP fue
diseado con ese objetivo y es tan flexible que hasta nos permite traer archivos de mainframes o
minicomputadoras IBM codificadas en EBCDIC (dichos anfitriones IBM utilizan esta codificacin en
lugar de ASCII).
FTP presenta, como Telnet, una interface de comandos que permite controlar la conexin u
desconexin del anfitrin remoto, la autentificacin de entrada, y la transferencia en s. FTP puede
ser invocado, al igual que telnet como ftp anfitrin o simplemente ftp, esta ltima variante nos deja
en la interface de comandos. Para efectuar un FTP a un anfitrin remoto, es necesario tener una
cuenta en l. Lo primero que nos pide al ingresar al otro equipo es nuestro nombre de usuario y
clave. Existe una excepcin a ello y es el denominado "FTP annimo". En los sitios donde se
permite este tipo de conexin se ingresa como usuario "anonymous" y como clave nuestra
direccin de email. En realidad, la clave puede ser cualquier cosa pero, como una de las tantas
reglas no escritas de cortesa en Internet, nos obliga a identificarnos de esa manera.
Entre los comandos mas usuales de FTP tenemos: open, abre una conexin al anfitrin; close, la
cierra; user, enva el nombre de nuestro usuario; passwd, enva nuestra clave; cd, cambia el
Pag: 23
Teleinformtica y comunicaciones
directorio remoto; lcd, (local cd) cambia el directorio local; dir, lista el contenido del directorio
remoto; get, trae un archivo remoto a nuestro disco; mget, trae mltiples archivos; put y mput,
tienen el efecto inverso; ascii, pone al FTP en modo de transferencia ASCII y binary, en modo
binario. Estos ltimos comandos merecen una explicacin mas profunda.
Los distintos sistemas operativos suelen guardar los archivos de texto en forma dismil. Por
ejemplo, el ms-dos agrega en cada final de lnea dos caracteres de control: un retorno de carro
(CR, carriage return) y un avance de lnea (LF, line feed). Unix, por otra parte, solo coloca un
avance de lnea. Al poner al FTP en modo ASCII, este agrega en cada final de lnea los caracteres
que necesite. En modo binario, el archivo se trasmite tal cual es y se utiliza para pasar programas
ejecutables, planillas de clculo, archivos multimediales, etc.; es decir todo archivo que no sea de
texto puro.
FTP en Funcionamiento
Pag: 24
Teleinformtica y comunicaciones
Un servidor FTP normalmente les exige a los clientes que se autentiquen proporcionando un
username vlidos y contrasea antes de permitirles realizar transferencia de archivo. Los usuarios
ordinarios encuentran as en FTP una manera conveniente de transferir archivos entre sistemas.
Concepto
NFS permite a los usuarios autorizado acceder a archivos localizados en sistemas remotos como si
fueran locales. Dos protocolos sirven a este propsito:
Pag: 25
Teleinformtica y comunicaciones
Protocolo
El protocolo Mount es una aplicacin de RPC integrada con NFS. Su nmero de programa es el
100005. El protocolo Mount es transportado por UDP. Mount es un servidor RPC y proporciona un
total de seis procedimientos:
NULL
No hace nada, es til para testear las respuestas del servidor
MOUNT
Funcin Mount, devuelve un descriptor de archivo apuntando al directorio
DUMP
Devuelve la lista de todos los sistemas de archivos montados
UMOUNT
Elimina una entrada de la lista de sistemas de archivos montados
UNMTALL
Elimina todas de las entradas de la lista de sistemas de archivos montados para el
cliente
EXPORT
Protocolo NFS
NFS es la aplicacin de RPC que suministra funciones de E/S sobre archivos en un host remoto,
una vez que ha sido solicitado mediante el comando MOUNT. Tiene el nmero de programa
100003 y a veces usa el puerto IP 2049. Como este no es un nmero de puerto asignado
oficialmente, y ya existen diversas versiones de NFS(y de MOUNT) lo nmeros de puerto pueden
cambiar. Es aconsejable dirigirse al Portmap(nmero de puerto 111) para obtener los nmeros de
puerto para MOUNT y NFS. El protocolo NFS es transportado por UDP.
Pag: 26
Teleinformtica y comunicaciones
El protocolo HTTP
El Protocolo de Transferencia de HiperTexto (Hypertext Transfer Protocol) es un sencillo protocolo
cliente-servidor que articula los intercambios de informacin entre los clientes Web y los servidores
HTTP. La especificacin completa del protocolo HTTP 1/0 est recogida en el RFC 1945. Fue
propuesto por Tim Berners-Lee, atendiendo a las necesidades de un sistema global de distribucin
de informacin como el World Wide Web.
Desde el punto de vista de las comunicaciones, est soportado sobre los servicios de conexin
TCP/IP, y funciona de la misma forma que el resto de los servicios comunes de los entornos UNIX:
un proceso servidor escucha en un puerto de comunicaciones TCP (por defecto, el 80), y espera
las solicitudes de conexin de los clientes Web. Una vez que se establece la conexin, el protocolo
TCP se encarga de mantener la comunicacin y garantizar un intercambio de datos libre de
errores.
HTTP se basa en sencillas operaciones de solicitud/respuesta. Un cliente establece una conexin
con un servidor y enva un mensaje con los datos de la solicitud. El servidor responde con un
mensaje similar, que contiene el estado de la operacin y su posible resultado. Todas las
operaciones pueden adjuntar un objeto o recurso sobre el que actan; cada objeto Web
(documento HTML, archivo multimedia o aplicacin CGI) es conocido por su URL.
NOTA
Los recursos u objetos que actan como entrada o salida de un comando HTTP estn clasificados
por su descripcin MIME. De esta forma, el protocolo puede intercambiar cualquier tipo de dato, sin
preocuparse de su contenido. La transferencia se realiza en modo binario, byte a byte, y la
identificacin MIME permitir que el receptor trate adecuadamente los datos.
Toda la comunicacin entre los clientes y servidores se realiza a partir de caracteres de 8 bits. De esta
forma, se puede transmitir cualquier tipo de documento: texto, binario, etc., respetando su formato
original.
Permite la transferencia de objetos multimedia. El contenido de cada objeto intercambiado est
identificado por su clasificacin MIME.
Existen tres verbos bsicos (hay ms, pero por lo general no se utilizan) que un cliente puede utilizar
para dialogar con el servidor: GET, para recoger un objeto, POST, para enviar informacin al
servidor y HEAD, para solicitar las caractersticas de un objeto (por ejemplo, la fecha de
modificacin de un documento HTML).
Cada operacin HTTP implica una conexin con el servidor, que es liberada al trmino de la misma.
Es decir, en una operacin se puede recoger un nico objeto.
No mantiene estado. Cada peticin de un cliente a un servidor no es influida por las transacciones
anteriores. El servidor trata cada peticin como una operacin totalmente independiente del resto.
Cada objeto al que se aplican los verbos del protocolo est identificado a travs de la informacin de
situacin del final de la URL.
NOTA
HTTP se dise especficamente para el World Wide Web: es un protocolo rpido y
sencillo que permite la transferencia de mltiples tipos de informacin de forma eficiente y
rpida. Se puede comparar, por ejemplo, con FTP, que es tambin un protocolo de
transferencia de archivos, pero tiene un conjunto muy amplio de comandos, y no se integra
demasiado bien en las transferencias multimedia.
Pag: 27
Teleinformtica y comunicaciones
2. El cliente Web descodifica la URL, separando sus diferentes partes. As identifica el
protocolo de acceso, la direccin DNS o IP del servidor, el posible puerto opcional (el valor
por defecto es 80) y el objeto requerido del servidor.
3. Se abre una conexin TCP/IP con el servidor, llamando al puerto TCP correspondiente.
4. Se realiza la peticin. Para ello, se enva el comando necesario (GET, POST, HEAD,), la
direccin del objeto requerido (el contenido de la URL que sigue a la direccin del
servidor), la versin del protocolo HTTP empleada (casi siempre HTTP/1.0) y un conjunto
variable de informacin, que incluye datos sobre las capacidades del browser, datos
opcionales para el servidor,
5. El servidor devuelve la respuesta al cliente. Consiste en un cdigo de estado y el tipo de
dato MIME de la informacin de retorno, seguido de la propia informacin.
6. Se cierra la conexin TCP.
Este proceso se repite en cada acceso al servidor HTTP. Por ejemplo, si se recoge un documento
HTML en cuyo interior estn insertadas cuatro imgenes, el proceso anterior se repite cinco veces,
una para el documento HTML y cuatro para las imgenes.
NOTA
En la actualidad se ha mejorado este procedimiento, permitiendo que una misma conexin se
mantenga activa durante un cierto periodo de tiempo, de forma que sea utilizada en sucesivas
transacciones. Este mecanismo, denominado HTTP Keep Alive, es empleado por la mayora de los
clientes y servidores modernos. Esta mejora es imprescindible en una Internet saturada, en la que
el establecimiento de cada nueva conexin es un proceso lento y costoso
Mensaje de solicitud
Mensaje de respuesta
Resultado de la solicitud
Cabeceras del
requerimiento
Cabeceras de la respuesta
(lnea en blanco)
(lnea en blanco)
Informacin opcional
Informacin opcional
La primera lnea del mensaje de solicitud contiene el comando que se solicita al servidor HTTP,
mientras que en la respuesta contiene el resultado de la operacin, un cdigo numrico que
permite conocer el xito o fracaso de la operacin. Despus aparece, para ambos tipos de
mensajes, un conjunto de cabeceras (unas obligatorias y otras opcionales), que condicionan y
matizan el funcionamiento del protocolo.
La separacin entre cada lnea del mensaje se realiza con un par CR-LF (retorno de carro ms
nueva lnea). El final de las cabeceras se indica con una lnea en blanco, tras la cual se pueden
incluir los datos transportados por el protocolo, por ejemplo, el documento HTML que devuelve un
servidor o el contenido de un formulario que enva un cliente .
Los siguientes apartados describen con ms detalle el contenido de cada una de las secciones de
los mensajes. El conocimiento y empleo de los mensajes HTTP es necesario en las siguientes
situaciones:
Para disear mdulos CGI, ya que es preciso construir una respuesta similar a la que el
servidor HTTP proporciona al cliente.
Pag: 28
Teleinformtica y comunicaciones
Para disear aplicaciones independientes que soliciten informacin a un servidor (automatizar la
recuperacin de documentos o construir robots de bsqueda) se debe construir una cabecera
HTTP con la informacin de la peticin al servidor
Nombre del
comando
Objeto sobre el
que se aplica
Versin de HTTP
utilizada
Cada comando acta sobre un objeto del servidor, normalmente un archivo o aplicacin, que se
toma de la URL de activacin. La ltima parte de esta URL, que representa la direccin de un
objeto dentro de un servidor HTTP, es el parmetro sobre el que se aplica el comando. Se
compone de una serie de nombres de directorios y archivos, adems de parmetros opcionales
para las aplicaciones CGI (ver Ejecucin de programas en un servidor HTTP en la pgina *).
El estndar HTTP/1.0 recoge nicamente tres comandos, que representan las operaciones de
recepcin y envo de informacin y chequeo de estado:
GET Se utiliza para recoger cualquier tipo de informacin del servidor. Se utiliza siempre
que se pulsa sobre un enlace o se teclea directamente a una URL. Como resultado, el
servidor HTTP enva el documento correspondiente a la URL seleccionada, o bien activa
un mdulo CGI, que generar a su vez la informacin de retorno.
HEAD Solicita informacin sobre un objeto (archivo): tamao, tipo, fecha de modificacin
Es utilizado por los gestores de cachs de pginas o los servidores proxy, para conocer
cundo es necesario actualizar la copia que se mantiene de un archivo.
POST Sirve para enviar informacin al servidor, por ejemplo los datos contenidos en un
formulario. El servidor pasar esta informacin a un proceso encargado de su tratamiento
(generalmente una aplicacin CGI). La operacin que se realiza con la informacin
proporcionada depende de la URL utilizada. Se utiliza, sobre todo, en los formularios.
Un cliente Web selecciona automticamente los comandos HTTP necesarios para recoger la
informacin requerida por el usuario. As, ante la activacin de un enlace, siempre se ejecuta una
operacin GET para recoger el documento correspondiente. El envo del contenido de un
formulario utiliza GET o POST, en funcin del atributo de <FORM METHOD="...">. Adems, si el
cliente Web tiene un cach de pginas recientemente visitadas, puede utilizar HEAD para
comprobar la ltima fecha de modificacin de un archivo, antes de traer una nueva copia del
mismo.
Posteriormente se han definido algunos comandos adicionales, que slo estn disponibles en
determinadas versiones de servidores HTTP, con motivos eminentemente experimentales. La
ltima versin de HTTP, denominada 1.1, recoge estas y otras novedades, que se pueden utilizar,
por ejemplo, para editar las pginas de un servidor Web trabajando en remoto.
PUT Actualiza informacin sobre un objeto del servidor. Es similar a POST, pero en este
caso, la informacin enviada al servidor debe ser almacenada en la URL que acompaa al
comando. As se puede actualizar el contenido de un documento.
DELETE Elimina el documento especificado del servidor.
LINK Crea una relacin entre documentos.
UNLINK Elimina una relacin existente entre documentos del servidor.
Pag: 29
Teleinformtica y comunicaciones
Las cabeceras
Son un conjunto de variables que se incluyen en los mensajes HTTP, para modificar su
comportamiento o incluir informacin de inters. En funcin de su nombre, pueden aparecer en los
requerimientos de un cliente, en las respuestas del servidor o en ambos tipos de mensajes. El
formato general de una cabecera es:
Nombre de la variable
Pag: 30
Teleinformtica y comunicaciones
Expires: fecha de expiracin del objeto enviado. Los sistemas de cache deben
descartar las posibles copias del objeto pasada esta fecha. Por ejemplo, Expires:
Thu, 12 Jan 97 00:00:00 GMT+1. No todos los sistemas lo envan. Puede cambiarse
utilizando un <META EXPIRES> en el encabezado de cada documento.
Last-modified: fecha local de modificacin del objeto devuelto. Se puede
corresponder con la fecha de modificacin de un archivo en disco, o, para
informacin generada dinmicamente desde una base de datos, con la fecha de
modificacin del registro de datos correspondiente.
Location: informa sobre la direccin exacta del recurso al que se ha accedido.
Cuando el servidor proporciona un cdigo de respuesta de la serie 3xx, este
parmetro contiene la URL necesaria para accesos posteriores a este recurso.
Server: cadena que identifica el tipo y versin del servidor HTTP. Por ejemplo,
Server: NCSA 1.4.
WWW-Autenticate: cuando se accede a un recurso protegido o de acceso
restringido, el servidor devuelve un cdigo de estado 401, y utiliza este campo para
informar de los modelos de autentificacin vlidos para acceder a este recurso.
Cdigo numrico de
estado (tres dgitos)
NOTA
Dependiendo del servidor, es posible que se proporcione un mensaje de error ms
elaborado, en forma de documento HTML, en el que se explican las causas del error y su
posible solucin.
Existen cinco categoras de mensajes de estado, organizadas por el primer dgito del cdigo
numrico de la respuesta:
1xx : mensajes informativos. Por ahora (en HTTP/1.0) no se utilizan, y estn reservados
para un futuro uso.
2xx : mensajes asociados con operaciones realizadas correctamente.
3xx : mensajes de redireccin, que informan de operaciones complementarias que se
deben realizar para finalizar la operacin.
4xx : errores del cliente; el requerimiento contiene algn error, o no puede ser realizado.
5xx : errores del servidor, que no ha podido llevar a cabo una solicitud.
Cdigo Comentario
Descripcin
200
OK
Pag: 31
Teleinformtica y comunicaciones
201
Created
202
Accepted
204
No Content
301
Moved
Permanently
302
Moved
Temporarily
304
Not Modified
400
Bad Request
401
Pag: 32
Teleinformtica y comunicaciones
Forbidden
404
Not Found
500
Internal
Server Error
501
Not
Implemented
502
503
Service
Unavailable
Pag: 33
Teleinformtica y comunicaciones
pueden informar a los clientes de la expiracin del documento, o de la imposibilidad de ser
almacenado en un cach, utilizando la variable Expires en la respuesta del servidor.
Pag: 34