viernes, 20 de enero de 2012

Una aproximación técnica a la arquitectura cliente servidor.


-La red.
La arquitectura cliente servidor ha sido posible gracias al desarrollo de las redes de comunicaciones y el gran éxito de dicha arquitectura se convirtió en catalizador del desarrollo de las comunicaciones.
El modelo teórico más conocido en redes de comunicaciones es la pila de protocolos OSI, el cual nunca se llegó a implementar en su totalidad debido a su complejidad. El modelo OSI fue un estándar propuesto por la ISO en 1984, basado en 7 niveles o capas, cada una con unas funcionalidades claras. Los niveles propuestos son:

Imagen 3 Pila de protocolos OSI
  · Aplicación
  · Presentación
  · Sesión
  · Transporte
  · Red
  · Enlace
  · Físico






Actualmente la arquitectura dominante en el mundo de las redes de computadoras es la arquitectura TCP-IP. Consta de 4 niveles más un quinto de nivel de aplicación de usuario.
El nivel 1 o nivel físico describe las especificaciones que debe tener el medio físico para dar soporte al resto de la pila. Los aspectos más críticos son los retrasos que se introducen, que pueden dar por terminada la comunicación o el “jitter” cuando hablamos de aplicaciones multimedia en tiempo real, que es la ausencia de un flujo constante de datos, que ocasiona desincronizaciones entre el audio y la imagen o la ausencia de partes del video y por tanto la incomprensión del mensaje.
El nivel 2 o nivel de enlace establece la comunicación punto a punto. El protocolo más empleado es Ethernet, definido en el estándar 802.3 del IEEE. Incluye la definición del medio físico (tipos de cables, longitud máxima, etc) y el tamaño y composición de las tramas.
El nivel 3 o nivel de red es el protocolo IP. Permite construir una red de comunicaciones. El protocolo IP asigna una dirección única a cada máquina y funciona intercambiando paquetes. El éxito de las aplicaciones en la red ha ocasionado el agotamiento de las direcciones IPv4 y el desarrollo del estándar IPv6.
El nivel 4 o nivel de transporte es el protocolo TCP o UDP. Este nivel equivaldría a los niveles 4, 5 y 6 practicamente. En el caso del protocolo TCP se establece un socket o conexión única entre dos aplicaciones en dos máquinas, identificadas por sus direcciones IP y los puertos de las aplicaciones. Las aplicaciones más conocidas tienen puertos asignados como el puerto 80 destinado al protocolo HTTP. TCP es un protocolo orientado a la conexión, es decir, describe un mecanismo de inicio y fin de sesión entre máquinas, UDP no lo es. El protocolo UDP envía los datagramas o paquetes sin haber establecido sesión alguna.
La información que viaja desde la aplicación se va encapsulando, cada protocolo añade su cabecera y desencapsulando en destino, es decir eliminado las cabeceras hasta entregar a la aplicación destino la información original.




-El servidor.
El servidor es una máquina de altas prestaciones, instalada en una granja de servidores por ejemplo, que concentra toda la información y capacidad de cómputo y está destinada a resolver las peticiones que recibe de los clientes.
A nivel hardware los servidores presentan algunas características comunes:
·     Sistemas de almacenamiento redundado: Los servidores tienen varios discos duros pero no todos están destinados al almacenamiento y manejo de datos. Algunos de ellos están dedicados a almacenar copias de backup o respaldo que se realizan de forma periódica. Estas configuraciones se llaman RAID y seguidas de un número según el número de discos duros implicados.
·     Gran capacidad de cómputo.
·     Interfaz de comunicación de alta capacidad.
·     Mayor cantidad de memoria RAM.
·     Gran consumo eléctrico, que se disipa en forma de calor, por tanto será imprescindible instalar los servidores en habitaciones correctamente refrigeradas.
A nivel software, el servidor tendrá instalada la aplicación o aplicaciones encargadas de dar respuesta a las peticiones enviadas por los clientes. A grandes rasgos las aplicaciones escucharán de forma constante o en intervalos periódicos las peticiones que les lleguen por su puerto asignado, efectuarán las operaciones indicadas, buscarán la información necesaria y darán una respuesta. Un ejemplo de aplicación de servidor es el servidor de páginas web APACHE, muy popular ya que se trata de una aplicación de software libre, sin conste y existen versiones para sistemas operativos Windows y Linux. Como aplicaciones de bases datos podemos encontrar SQL Server y MySQL. Otras aplicaciones alojadas en servidores son los gestores de contenido, como DRUPAL o JOOMBLA que permiten construir sitios web completos, usando módulos para añadir funcionalidades como encuestas o foros además de permitir la ejecución de scripts escritos en PHP.


-El cliente.
Imagen 4 Smatphones y Tablets
Como usuarios de servicios, estamos más familiarizados con los clientes. Los clientes son las máquinas que realizan las peticiones a los servidores. Como norma general, los clientes tienen menor capacidad de cómputo y un coste más reducido que los servidores.

Si bien en el punto anterior hemos podido describir las características más generales de los servidores, en el caso de los clientes no es tan sencillo. Como máquina cliente podemos encontrar un PC o un teléfono móvil, una tablet o un navegador electrónico por poner algunos ejemplos.
La misma heterogeneidad nos encontramos en las aplicaciones. Si bien todas tienen un puerto definido para formular sus peticiones y recibir las respuestas, la apariencia de las aplicaciones que corren en un cliente varía desde un navegador web como puede ser Firefox . Google chrome hasta las aplicaciones (apps) que se descargan en un smartphone.

Es importante destacar que el desarrollo de la telefonía móvil y de los smartphones ha incrementado notablemente el volumen de peticiones de los servidores. Un ejemplo serían los servidores de correo. Hace 5 años, para mirar el correo era necesario estar delante de un PC, hoy gran parte de los smartphones disponen de correo push, que nos avisa en el momento de recibir un nuevo correo.
                                                                                   
Según los gurús del medio, el crecimiento de los smartphones es imparable y se prevé que en 2013 se vendan tantos smartphones como PC. Por tanto avanzamos hacia un mundo cada vez más conectado, con más dispositivos o “gadgets” enganchados a la red, es decir, más clientes demandando información de los servidores. En un futuro tal vez tengamos que mencionar como clientes las bombillas o los electrodomésticos. Esto será una realidad con la nueva versión del protocolo IP, IPv6 con mayor rango de direccionamiento, tendremos direcciones disponibles para conectar todo lo que nos imaginemos.



-Fuentes:
  •        Redes e Internet de alta velocidad, Willian Stallings, Pearsson education
  •        Andrew S. Tanenbaum, Prentice-Hall, Redes de Computadoras.
  •        www.ecured.cu/index.php/Arquitectura_Cliente_Servidor
  •        www.youtube.com
  •        www.google.com
  •        www.wikipedia.org

No hay comentarios:

Publicar un comentario