Publicado el 19 de Junio del 2017
829 visualizaciones desde el 19 de Junio del 2017
161,4 KB
14 paginas
Creado hace 16a (27/05/2009)
Departamento de
Automática y Computación
Automatika eta
Konputazio Saila
Campus de Arrosadía
Arrosadiko Campusa
31006 Pamplona - Iruñea
Tfno. 948 169113, Fax. 948 168924
Email: ayc@unavarra.es
Práctica 7 – Protocolos de nivel de aplicación
1- Objetivos
En esta práctica estudiaremos diversos protocolos de la capa de aplicación: HTTP, FTP,
Telnet y SMTP; los comandos existentes y problemas que se presentan. Capturaremos los paquetes
transmitidos por la red con la herramienta Ethereal para luego extraer la información de la capa de
aplicación y analizarla. Por último, nos familiarizaremos con la lectura de RFCs.
En esta primera sesión veremos los protocolos HTTP y FTP.
2- Avisos generales
Si quieren conservar cualquier fichero entre sesiones guárdenlo en una memoria USB, dado que
no se asegura que los ficheros creados o modificados durante una sesión de prácticas se mantengan
para la siguiente.
3- Introducción
Conviene recordar que aunque desde un punto de vista general, todos los servicios de Internet
implican tráfico de algún tipo de ficheros, cuando estos son de tipos determinados, los servicios y
programas que los ejecutan, reciben nombres especiales. Por ejemplo, un navegador es en cierta
forma un programa FTP que recibe un tipo especial de documentos (HTML), y que además es capaz
de mostrarlos en pantalla. En este caso el protocolo de transferencia utilizado es muy específico
(HTTP). Un programa de correo electrónico es también un caso especial de transferencia de ficheros
de una clase muy concreta (e-mail); el protocolo específico es SMTP, etc. Sin embargo, FTP se
reserva para un uso genérico y es sinónimo de transferencia de cualquier tipo de ficheros: ejecutables;
imagen; multimedia, etc, sin ninguna elaboración posterior. Es decir, el mero hecho de transferirlos
entre máquinas (enviar por la Red una copia de un fichero contenido en el servidor, y guardarlo en el
disco de la máquina cliente).
Dispone de información adicional en las RFCs correspondientes en: www.faqs.org/rfcs
4- Protocolo HTTP
Desde 1990, el protocolo HTTP (Protocolo de transferencia de hipertexto) es el protocolo más
utilizado en Internet. La versión 0.9 sólo tenía la finalidad de transferir los datos a través de Internet
(en particular páginas Web escritas en HTML). La versión 1.0 del protocolo (la más utilizada)
permite la transferencia de mensajes con encabezados que describen el contenido de los mensajes
mediante la codificación MIME.
El propósito del protocolo HTTP es permitir la transferencia de archivos (principalmente, en
formato HTML). entre un navegador (el cliente) y un servidor web (denominado, entre otros, httpd en
equipos UNIX) localizado mediante una cadena de caracteres denominada dirección URL.
Arquitectura de Redes Sistemas y Servicios: Práctica 7
Departamento de
Automática y Computación
Automatika eta
Konputazio Saila
Comunicación entre el navegador y el servidor
Campus de Arrosadía
Arrosadiko Campusa
31006 Pamplona - Iruñea
Tfno. 948 169113, Fax. 948 168924
Email: ayc@unavarra.es
La comunicación entre el navegador y el servidor se lleva a cabo en dos etapas:
1. El navegador realiza una solicitud HTTP
2. El servidor procesa la solicitud y después envía una respuesta HTTP
En realidad, la comunicación se realiza en más etapas si se considera el procesamiento de la
solicitud en el servidor. Sólo nos ocupamos del protocolo HTTP.
Solicitud HTTP
Una solicitud HTTP es un conjunto de líneas que el navegador envía al servidor. Incluye:
Una línea de solicitud: es una línea que especifica el tipo de documento solicitado, el método que
se aplicará y la versión del protocolo utilizada. La línea está formada por tres elementos que deben
estar separados por un espacio:
• El método
• La dirección URL
• La versión del protocolo utilizada por el cliente (por lo general, HTTP/1.0)
Los campos del encabezado de solicitud: son un conjunto de líneas opcionales que permiten
aportar información adicional sobre la solicitud y/o el cliente (navegador, sistema operativo, etc.).
Cada una de estas líneas está formada por un nombre que describe el tipo de encabezado, seguido de
dos puntos (:) y el valor del encabezado.
El cuerpo de la solicitud: es un conjunto de líneas opcionales que deben estar separadas de las
líneas precedentes por una línea en blanco y, por ejemplo, permiten que se envíen datos por un
comando POST durante la transmisión de datos al servidor utilizando un formulario.
Por lo tanto, una solicitud HTTP posee la siguiente sintaxis (<crlf> significa retorno de carro y
avance de línea):
Arquitectura de Redes Sistemas y Servicios: Práctica 7
Departamento de
Automática y Computación
Automatika eta
Konputazio Saila
Campus de Arrosadía
Arrosadiko Campusa
31006 Pamplona - Iruñea
Tfno. 948 169113, Fax. 948 168924
Email: ayc@unavarra.es
MÉTODO VERSIÓN URL<crlf>
ENCABEZADO: Valor<crlf>
. . . ENCABEZADO: Valor<crlf>
Línea en blanco <crlf>
CUERPO DE LA SOLICITUD
A continuación se encuentra un ejemplo de una solicitud HTTP:
GET http://www.google.es HTTP/1.0 Accept : Text/html If-Modified-Since :
Saturday, 26-May-2009 14:37:11 GMT User-Agent : Mozilla/4.0 (compatible; MSIE
5.0; Windows XP)
Comandos
Comando
Descripción
GET
Solicita el recurso ubicado en la URL especificada
HEAD
Solicita el encabezado del recurso ubicado en la URL especificada
POST
Envía datos al programa ubicado en la URL especificada
PUT
Envía datos a la URL especificada
DELETE
Borra el recurso ubicado en la URL especificada
Encabezados
Nombre del
encabezado
Descripción
Accept
Tipo de contenido aceptado por el navegador (por ejemplo, texto/html). Consulte Tipos de MIME
Accept-Charset
Juego de caracteres que el navegador espera
Accept-Encoding
Codificación de datos que el navegador acepta
Accept-Language
Idioma que el navegador espera (de forma predeterminada, inglés)
Authorization
Identificación del navegador en el servidor
Content-Encoding
Tipo de codificación para el cuerpo de la solicitud
Content-Language
Tipo de idioma en el cuerpo de la solicitud
Content-Length
Extensión del cuerpo de la solicitud
Content-Type
Tipo de contenido del cuerpo de la solicitud (por ejemplo, texto/html). Consulte Tipos de MIME
Date
Fecha en que comienza la transferencia de datos
Forwarded
Utilizado por equipos intermediarios entre el navegador y el servidor
Arquitectura de Redes Sistemas y Servicios: Práctica 7
Departamento de
Automática y Computación
Automatika eta
Konputazio Saila
Campus de Arrosadía
Arrosadiko Campusa
31006 Pamplona - Iruñea
Tfno. 948 169113, Fax. 948 168924
Email: ayc@unavarra.es
Permite especificar la dirección de correo electrónico del cliente
Permite especificar que debe enviarse el documento si ha sido modificado desde una fecha en
particular
Vínculo entre dos direcciones URL
Dirección URL donde se originó la solicitud
Dirección URL desde la cual se realizó la solicitud
Cadena con información sobre el cliente, por ejemplo, el nombre y la versión del navegador y el
sistema operativo
From
From
Link
Orig-URL
Referer
User-Agent
Respuesta HTTP
Una respuesta HTTP es un conjunto de líneas que el servidor envía al navegador. Está constituida
por:
Una línea de estado: es una línea que especifica la versión del protocolo utilizada y el estado de
la solicitud en proceso mediante un texto explicativo y un código. La línea está compuesta por tres
elementos que deben estar separados por un espacio: La línea está formada por tres elementos que
deben estar separados por un espacio:
• La versión del protocolo utilizada
• El código de estado
• El significado del código
Los campos del encabezado de respuesta: es un conjunto de líneas opcionales que permiten
aportar información adicional sobre la respuesta y/o el servidor. Cada una de estas líneas está
compuesta por un nombre que califica el tipo de encabezado, seguido por dos puntos (:) y por el valor
del encabezado Cada una de estas líneas está formada por un nombre que describe el tipo de
encabezado, seguido de dos puntos (:) y el valor del encabezado.
El cuerpo de la respuesta: contiene el documento solicitado.
Por lo tanto, una respuesta HTTP posee la siguiente sintaxis (<crlf> significa retorno de carro y
avance de línea):
VERSIÓN-HTTP CÓDIGO EXPLICACIÓN <crlf>
ENCABEZADO: Valor<crlf>
. . . ENCABEZADO: Valor<crlf>
Línea en blanco <crlf>
CUERPO DE LA RESPUESTA
A continuación se encuentra un ejemplo de una respuesta HTTP:
HTTP/1.0 200 OK Date: Tue, 26 May 2009 14:37:12 GMT Server : Microsoft-IIS/2.0
Content-Type : text/HTML Content-Length : 1245 Last-Modified : Tue, 26 May
2009 08:25:13 GMT
Arquitectura de Redes Sistemas y Servicios: Práctica 7
Campus de Arrosadía
Arrosadiko Campusa
31006 Pamplona - Iruñea
Tfno. 948 169113, Fax. 948 168924
Email: ayc@unavarra.es
Departamento de
Automática y Computación
Automatika eta
Konputazio Saila
Encabezados de respuesta
Nombre del
encabezado
Descripción
Content-Encoding
Tipo de codificación para el cuerpo de la respuesta
Content-Language
Tipo de idioma en el cuerpo de la respuesta
Content-Length
Extensión del cuerpo de la respuesta
Content-Type
Tipo de contenido del cuerpo de la respuesta (por ejemplo, texto/html). Consulte Tipos de
MIME
Date
Expires
Fecha en que comienza la transferencia de datos
Fecha límite de uso de los datos
Forwarded
Utilizado por equipos intermediarios entre el navegador y el servidor
Location
Server
Redireccionamiento
+
Comentarios de: Práctica 7 – Protocolos de nivel de aplicación (0)
No hay comentarios