Vous êtes sur la page 1sur 5

REDES DE COMPUTADORAS I 1

PRÁCTICA # 2
Comunicación Cliente – Servidor
Byron Carmona
bcarmona@est.ups.edu.ec
Universidad Politécnica Salesiana – Sede Cuenca
Redes de Computadoras I


Resumen—Esta práctica se desarrolla el análisis del proceso de II. MARCO TEÓRICO
comunicación entre un Servidor de Red y un usuario, el método
empleado es la creación de un Servidor HTTP (Apache) y un A. Servidor
usuario receptor de información, se realiza la captura del envío y “Un servidor es un programas de aplicación que acepta
recepción de paquetes mediante WireShark y se identifica la conexiones con el fin de dar servicio a solicitudes entrantes
estructura del protocolo de comunicación de red. mediante en envió de respuestas de vuelta.
Cualquier programa dado puede ser capaz de ser tanto un
Palabras Clave—Protocolo HTTP, Cliente, Servidor, Modelo cliente y un servidor; el uso de estos términos se refiere sólo a
TCP.
la función que se lleva a cabo por el programa para una
Introducción conexión en particular, en lugar de a las capacidades del
programa en general.
“Para la construcción de una aplicación de red, es necesario Del mismo modo, cualquier servidor puede actuar como un
un conocimiento básico de cómo se comunican entre sí los servidor de origen, proxy, puerta de enlace, o túnel, el
programas, que se ejecutan en múltiples sistemas finales. comportamiento de conmutación basado en la naturaleza de
Un proceso puede ser pensado como un programa que se cada solicitud.” [2]
ejecuta dentro de un sistema final. Cuando los procesos se B. Cliente
ejecutan en el mismo sistema final, pueden comunicarse entre
“El cliente es un programa que establece la conexión con el
sí con la comunicación entre procesos, utilizando las reglas que
servidor, es quien inicia con la petición.
se rigen por el sistema operativo del sistema final.
Por lo general, estos clientes son los navegadores, editores,
Los procesos en dos sistemas de extremo diferentes se
robots de desplazamiento en la web, u otras herramientas del
comunican entre sí mediante el intercambio de mensajes a
usuario final.” [2]
través de la red informática. Un proceso de envío crea y envía
mensajes en la red; un proceso de recepción recibe estos C. Modelo TCP/IP
mensajes y posiblemente responde enviando mensajes de TCP/IP está basado en un modelo de referencia de cuatro
vuelta.” niveles. Todos los protocolos que pertenecen al conjunto de
Estos procesos están basados y re rigen a protocolos, los protocolos TCP/IP se encuentran en los tres niveles superiores
cuales serán estudiados a continuación. [1] de este modelo.
Tal como se muestra en la siguiente ilustración, cada nivel
I. OBJETIVOS del modelo TCP/IP corresponde a uno o más niveles del modelo
A. Generales de referencia Interconexión de sistemas abiertos (OSI, Open
Systems Interconnection) de siete niveles, propuesto por la
Establecer la comunicación entre el Servidor de red y un
Organización internacional de normalización (ISO,
cliente y analizar el protocolo de esta comunicación. International Organization for Standardization). [3]

B. Específicos 1) Nivel Aplicación:


Define los protocolos de aplicación TCP/IP y cómo se
 Establecer el servidor instalando Apache.
conectan los programas de host a los servicios del nivel de
 Capturar los mensajes transmitidos durante la
transporte para utilizar la red.
comunicación entre el servidor y el cliente con el
Protocolos: HTTP, Telnet, FTP, TFTP, SNMP, DNS, SMTP,
software WireShark. X Windows y otros protocolos de aplicación
 Analizar estos paquetes identificando los protocolos y
las distintas capas de aplicación.
REDES DE COMPUTADORAS I 2

2) Nivel Transporte:
Permite administrar las sesiones de comunicación entre 1) Campo general de Cabecera:
equipos host. Define el nivel de servicio y el estado de la El campo de cabecera se aplica en los mensajes de recepción
conexión utilizada al transportar datos. y los de transmisión, el mensaje que se tramite en la cabecera
Protocolos: TCP, UDP, RTP. es:
-Cabecera en general = Cache-Control
3) Nivel Internet: | Conexión;
Empaqueta los datos en datagramas IP, que contienen | Fecha;
información de las direcciones de origen y destino utilizada | Pragma;
para reenviar los datagramas entre hosts y a través de redes. | Remolque;
Realiza el enrutamiento de los datagramas IP. | Transfer-Encoding;
Protocolos: IP, ICMP, ARP, RARP. | actualizar;
| Vía;
4) Nivel Interfaz de Red: | Advertencia;
Especifica información detallada de cómo se envían
físicamente los datos a través de la red, que incluye cómo se 2) Mensaje de solicitud:
realiza la señalización eléctrica de los bits mediante los Un mensaje de solicitud desde un cliente a un servidor
dispositivos de hardware que conectan directamente con un incluye, dentro de la primera línea de ese mensaje, el método
medio de red, como un cable coaxial, un cable de fibra óptica o que se aplica al recurso, el identificador del recurso, y el
un cable de cobre de par trenzado. protocolo la versión en uso.
Protocolos: Ethernet, Token Ring, FDDI, X.25, Frame La Solicitud de línea comienza con un método de toma,
Relay, RS-232, v.35. [3] seguido por el la versión del protocolo Request-URI y, y
terminando con CRLF. Los elementos están separados por
caracteres SP. [2]
El método indica en método que se utilizara en el recurso
D. Protocolo HTTP para la solicitud. Los métodos disponibles son:
Protocolo de Transferencia de Hipertexto.
Este es un protocolo de petición y respuesta. Method = "OPTIONS"
Un cliente envía una solicitud al servidor en la forma de un | "GET"
método de petición, URI y la versión del protocolo, seguido de | "HEAD"
un mensaje MIME- este contiene la solicitud, la información | "POST"
del cliente y el posible contenido del cuerpo a través de una | "PUT"
conexión con el servidor. | "DELETE"
El servidor responde con una línea de estado, incluyendo la | "TRACE"
versión del protocolo del mensaje y un código de éxito o error, | "CONNECT"
seguido de un mensaje MIME donde se contiene la información | extension-method
del servidor, meta información de identidad y el posible extension-method = token
contenido del cuerpo. [2]
La mayoría de comunicaciones HTTP es iniciada por un 3) Solicitud en el campo de la cabecera:
agente y se compone de una solicitud para ser aplicado a un Los campos solicitud de cabecera de permitir que el cliente
recurso en algún servidor origen. En el caso más simple, esto pase información adicional acerca de la solicitud, y acerca del
puede conseguirse a través de una única conexión entre el propio cliente, a la del servidor. Estos campos actúan como
usuario y el servidor de origen, como se muestra en la figura 1. modificadores de la solicitud, con la semántica equivalentes a
los parámetros de un método lenguaje nuevo de programación.

4) Respuesta:
Después de recibir e interpretar un mensaje de solicitud, el
servidor responde con un mensaje de respuesta HTTP.
La primera línea de un mensaje de respuesta es el Estado-
Line, que consta de la versión del protocolo seguido por un
código de estado numérico y su frase textual asociada, con cada
elemento separado por SP caracteres. No se permite la CR o LF,
excepto en la secuencia CRLF final.
El elemento de estado-código es un código de la respuesta,
es un número entero de 3 dígitos para comprender y satisfacer
la solicitud.
Fig. 1: Comunicación Servidor-Cliente El Motivo Frase pretende dar una breve descripción textual
Una situación complicada se produce cuando uno o más del Estado-Código. [2]
intermediaros están presentes en la cadena de petición y El primer dígito del código de estado define la clase de
respuesta.
REDES DE COMPUTADORAS I 3

respuesta. Los dos últimos dígitos no tienen ningún papel restringido por el método de la petición o el código de estado
categorización. Hay 5 valores para el primer dígito: de respuesta. Una entidad se compone de campos entidad de
cabecera y un cuerpo de entidad, aunque algunas respuestas
 1xx: Informativo - Solicitud recibida, continuando el sólo incluirán las entidades cabeceras. [2]
proceso
 2xx: Éxito - La acción se ha recibido correctamente, III. DESARROLLO
comprendido y aceptado
 3xx: Redirección - Además hay que tomar medidas con Antes de iniciar la práctica se tuvo que realizar la utilización
el fin de completar la solicitud de TELNET y del software de captura de paquetes
 4xx: Error de cliente - La solicitud contiene sintaxis WIRESHARK instalados en el sistema operativo UBUNTU.
errónea o no puede ser cumplida Además de esto se necesita saber exactamente a que servidor
 5xx: Error del servidor - El servidor no ha cumplido nos vamos a conectar para analizar el envío y recepción de los
alguna de las aparentemente solicitud válida paquetes de información.

Los valores individuales de los códigos de estado numéricos A. Comunicación Entre Telnet y el servidor de Google
definidos para HTTP, y un sistema de ejemplo de los
correspondientes, se presentan a continuación. [2]
En la figura 2 se observa la inicialización de TELNET en donde
Estado-Código = se encuentran los comandos de petición al servidor de a través
| "100": Continuar del puerto 80.
| "101": Protocolos de conmutación
| "200": OK
| "201": Creado
| "202": Aceptado
| "203": Información no autorizada
| "204": No Contenido
| "205": Restablecer contenido
| "206": Contenido parcial
| "300": Múltiples Opciones
| "301": Movido permanentemente
| "302": Encontrado
| "303": Ver Otros
| "304": No modificado
| "305": Uso de proxy
| "307": redirección temporal Fig. 2: Inicio de comunicación Cliente – Servidor con TELNET
| "400": Solicitud incorrecta
| "401": no autorizado
Como se puede observar, TELNET pide al servidor de
| "402": El pago requerido
| "403": Prohibida Google.com obtener la información del link que permite entrar
| "404": No se ha encontrado al Gmail de Google.
| "405": Método no permitido
| "406": No aceptable Como primera instancia se observa que en la página no se
| "407": Autentificación de poder cuentan con la versión HTTP/1.0 ya que el código ‘404’
| "408": Hora de salida
| "409": Conflicto significa “no se ha encontrado”. Luego de esto comienza a
| "410": Gone presentar las características del link de Gmail, estado de la
| "411": longitud necesaria conexión, longitud de la información, etc. para luego continuar
| "412": Condición previa Error con la descripción del documento tipo HTML y al cierre de la
| "413": Entidad de solicitud demasiado conexión como se aprecia en la última línea de código de la
grande
| "414": URI de solicitud demasiado grande
| "415": Tipo de soporte no admitido
| "416": Solicitado rango no satisfiable
| "417": Expectativa Error
| "500": Error interno del servidor
| "501": No implementado
| "502": Puerta de enlace incorrecta
| "503": Servicio no disponible
| "504": Pasarela fuera
| "505": Versión de HTTP no compatible figura 3.
Fig. 3: Comunicación Cliente – Servidor con TELNET
5) Entidad de solicitud y respuesta:
Los mensajes pueden transferir una entidad al no ser
REDES DE COMPUTADORAS I 4

Fig. 4: Paquetes Capturados con el software Wireshark.

B. Captura de Paquetes
La captura de paquetes de transmisión y recepción del
servidor de red mediante Ethernet al cliente que lo solicita, se
realiza en el programa WireShark.
WireShark, antes conocido como Ethereal, es un analizador
de protocolos utilizado para realizar análisis y solucionar
Fig. 5: Solicitud del cliente y respuesta del servidor
problemas en redes de comunicaciones, para desarrollo de
software y protocolos, y como una herramienta didáctica, aquí
se puede observar el tráfico de paquetes que existe en la red, de Como se puede observar en la figura 5 las IP corresponden a
los cuales haremos la lectura de los paquetes que viajan entre el las del cliente y del servidor (Google), los mismos que
servidor y el cliente, como se puede observar en la gráfica 4, comienzan a interactuar
son visibles algunos datos entre los que están número de En la figura 4 se puede ver todo el proceso completo de la
procesos, tiempo de reacción, Transmisor, Receptor, el conexión entre el Cliente y el Servidor, comenzando por quien
protocolo empleado para él envió, la longitud y la información envía, luego quien recibe, el protocolo que se ha usado y como
del proceso. se puede observar los mensajes de petición en los protocolos
HTTP ocupan el método “GET”, para la transferencia del
En el recuadro inferior de color rojo que se muestra en la hipertexto, también se puede observar métodos como [SYN],
misma figura, están las los niveles del modelo TCP/IP las cuales [SYN, ACK], [ACK], [FIN, ACK] y [RST, ACK],
son capa de aplicación, transporte, internet y de interfaz de la esto indica el procedo de saludo, reconocimiento, transmisión
red, cada mensaje transmitido y recibido consta y pasa por cada de datos y cierre de conexión, que se da durante la conexión
uno de estos niveles. identificando el puerto del cliente (56094) y el puerto del
servidor (80).
C. Análisis de Paquetes
1) Conexión Cliente-Servidor 2) Niveles
Al observar el comienzo de la captura de la figura 5 se puede Como se había mencionado, cada uno de estos mensajes pasa
apreciar el orden de envío de las solicitudes, como se ha por los niveles del protocolo TCP de manera que se especifica
establecido en el Protocolo HTTP, el cliente es el primero en cada una de las capas pertenecientes a los Diferentes niveles:
enviar un mensaje de solicitud al servidor y este responde con
la solicitud. a. Nivel de Aplicación:
REDES DE COMPUTADORAS I 5

Se definen los protocolos de aplicación TCP/IP y cómo se realiza con encriptación, de este modo un espía de la
conectan los programas de host a los servicios del nivel de red no podrá interpretar los mensajes que es están
transporte para utilizar la red. Los datos se organizan en trasmitiendo.
unidades llamadas tramas (Frame), cada frame incluye una
dirección e información de control. REFERENCIAS
[1] Kurose Ross “Computer Networking ” six edition.
b. Nivel de Transporte: [2] “Hipertext Transfer Protocol – HPPT / 1,1” Pagina Web. Disponible
Administra las sesiones de comunicación entre equipos host en:
y define el nivel de servicio y el estado de la conexión utilizada http://www.ietf.org/rfc/rfc2616.txt
[3] Microsoft “El Modelo TCP/IP” Pagina Web. Disponible en:
al transportar datos. Permite la entrega confiable, corrige los https://msdn.microsoft.com/es-es/library/cc786900(v=ws.10).aspx
errores de los datos entre el emisor y el transmisor.
c. Nivel de Internet: .
Se empaqueta los datos en datagramas IP, que contienen
información de las direcciones de origen y destino utilizada
para reenviar los datagramas entre hosts y a través de redes.
Realiza el enrutamiento de los datagramas IP. Se establece la IP
del emisor y la IP del destinatario.

d. Nivel de interfaz de Red (Control de Transmisión del


Protocolo)
Aquí se especifica información detallada de cómo se envían
físicamente los datos a través de la red, que incluye cómo se
realiza la señalización eléctrica de los bits mediante los
dispositivos de hardware que conectan directamente con un
medio de red, como un cable coaxial, un cable de fibra óptica o
un cable de cobre de par trenzado. Se establecen los puertos con
los que se comunicaran el emisor con el receptor.

e. (Protocolo de Transferencia de Hipertexto)


Se da la Transferencia del Hipertexto, que puede ser imagen,
audio o video almacenados en el disco duro del servidor, se lo
solicita mediante el método GET y tiene contenido como se
puede ver en la figura 14, donde se especifican datos como el
método de requerimiento, el Requerimiento URI, la versión del
requerimiento, el host, el tipo de conexión, el controlador de
cache, el estado de recepción de mensaje, el agente usuario,
entre otros.

IV. CONCLUSIONES
 Las conexiones presentes entre un cliente y un
servidor se dan bajo el protocolo HTTP,
evidenciándose claramente en la barra de búsqueda
del navegador en donde el direccionamiento hacia un
servidor esta dado por http// y la dirección del host.
 Se ha observado que el proceso de conexión del
protocolo HTTP se da bajo el modelo TCP/IP que
establece niveles para facilitar el proceso de
comunicación.
 Se sigue el mismo lineamiento de comunicación al
variar los comandos aplicables a TELNET para la
comunicación cliente servidor.
 Los paquetes capturados con WireShark dan
testimonio de la veracidad del proceso de conexión
entre un servidor y un cliente mediante el protocolo
HTTP.
 HTTPS es el mismo protocolo de HTTP más una
Seguridad pues la transferencia del hipertexto se

Vous aimerez peut-être aussi