4.1. Modelo de procesos
4.2.1. Módulos aplicación
4.2.5.1. Análisis de protocolos de comunicaciones
Protocolo HTTP
Este protocolo cliente-servidor articula los intercambios de información entre los clientes Web y los servidores HTTP. Está soportado sobre los servicios de conexión 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, y espera las solicitudes de conexión de los clientes Web. Una vez que se establece la conexión, el protocolo TCP se encarga de mantener la comunicación y garantizar un intercambio de datos libre de errores.
HTTP se basa en sencillas operaciones de solicitud/respuesta. Un cliente establece una conexión con un servidor y envía un mensaje con los datos de la solicitud. El servidor responde con un mensaje similar, que contiene el estado de la operación y su posible resultado.
Cada vez que un cliente realiza una petición a un servidor, se ejecutan los siguientes pasos13:
● Un usuario accede a una URL, seleccionando un enlace de un documento HTML o introduciéndola directamente en el campo Location del cliente Web.
● El cliente Web descodifica la URL, separando sus diferentes partes. Así identifica el protocolo de acceso, la dirección DNS o IP del servidor, el posible puerto opcional (el valor por defecto es 80) y el objeto requerido del servidor.
● Se abre una conexión TCP/IP con el servidor, llamando al puerto TCP correspondiente.
Se realiza la petición. Para ello, se envía el comando necesario (GET, POST, HEAD,…), la dirección del objeto requerido (el contenido de la URL que sigue a la dirección del servidor), la versión del protocolo HTTP empleada y un conjunto variable de información, que incluye datos sobre las capacidades del browser, datos opcionales para el servidor.
● El servidor devuelve la respuesta al cliente. Consiste en un código de estado y el tipo de dato MIME de la información de retorno, seguido de la propia información.
● Se cierra la conexión TCP. _______________________
13 (2017) El protocolo HTTP, recuperado el 14 de octubre del 2017, http://neo.lcc.uma.es/evirtual/cdd/tutorial/aplicacion/http.html
58 Modelo TCP/IP
Conformado por los protocolos TCP e IP (Transmission Control Protocol/Internet Protocol). El modelo TCP/IP es usado para comunicaciones en redes y, como todo protocolo, describe un conjunto de guías generales de operación para permitir que un equipo pueda comunicarse en una red. TCP/IP provee conectividad de extremo a extremo especificando cómo los datos deberían ser formateados, direccionados, transmitidos, enrutados y recibidos por el destinatario. Este modelo está compuesto por 4 capas, las cuales son explicadas a continuación:
a. Capa de Aplicación (Application)
Esta capa provee protocolos de servicios para aplicaciones de software en una computadora, por ejemplo, provee el protocolo HTTP quien es quien define como los exploradores mandan llamar el contenido de una página web a un servidor. HTTP cuenta con una serie de códigos para hacer saber al usuario que realmente el servicio se llevó a cabo correctamente o no, por ejemplo, el código: HTTP 404 “not found”.
b. Capa de Transporte (Transport)
Esta capa incluye una pequeña lista de protocolos dentro de ella, los más comunes son TCP y UDP (User Datagram Protocol). Todas las capas proveen servicios a su capa superior (ejemplo: la capa de transporte le provee servicios a la capa de aplicación).
El protocolo TCP provee un servicio a su capa superior (Aplicación) llamado error- recovery service, siguiendo el ejemplo: si hacemos una petición solicitando una página web al servidor (HTTP) y de pronto hay una perdida durante el proceso, pues entonces entra TCP quien provee de mecanismo para garantizar la entrega de datos al usuario evitando que los datos se pierdan en la red. En esta capa de transporte lo que TCP hace es colocar SEQ (secuencias de números) a cada mensaje y este proceso es llamado segmento.
Dentro de la capa de transporte nos encontramos con interacciones de capas
● Same-layer interaction on different computers: Aquí es donde 2 computadoras usan el mismo protocolo para comunicarse con la misma capa en otra computadora.
● Adjacent-layer interaction on the same computer: En una sola computadora, una capa provee servicio a la capa superior.
59
c. Capa de Red (Network)
En esta capa nos encontramos con una pequeña cantidad de protocolos y dentro de ellos se encuentra el más importante llamado IP (Internet Protocol), si bien sabemos IP provee de servicios como direccionamiento y proceso de ruteo a la capa de transporte. IP define que cada computadora debe tener una dirección para poderse comunicar dentro de una red con otras computadoras. Se encarga de las direcciones IP destino para ser ubicadas dentro de la red y así poder compartir información.
d. Capa de Enlace (Data Link Plus Physical)
El termino enlace (Link) se refiere a las conexiones físicas o enlaces entre los dispositivos y los protocolos usados para controlar dichos enlaces. Esta capa de enlace de datos incluye una gran lista de protocolos Ethernet y estándares.
Ilustración 12: Capas Modelo TCP/IP
60 4.2.5.2. Conclusiones de protocolos
Los protocolos son importantes para establecer comunicación en los sistemas telemáticos, ya que fijan reglas que se deben seguir para poder establecer un canal en el cual pueda enviarse información. HTTP, permite establecer la comunicación cliente-servidor para poder hacer intercambios de datos entre la aplicación web cliente y el servidor con sencillas operaciones de solicitud/respuesta. En el servidor, se implementa el protocolo TCP/IP el cual abre la conexión llamando al puerto correspondiente, y de esta forma lanzar la petición para ello se hace uso de los métodos respectivos (POST, FET, PUT, DELETE), allí el servidor da la respuesta al cliente.