Índice de contenido Introducción............................................................................................................................................................2 Qué es Cliente delgado..........................................................................................................................................2 Funcionamiento básico...........................................................................................................................................2 Cliente delgado en Linux........................................................................................................................................2 Proyectos de Cliente delgado en Linux...........................................................................................................3 Detalles del funcionamiento....................................................................................................................................3 Funcionamiento de los terminales.....................................................................................................................3 Proceso de Arranque....................................................................................................................................3 Implementación de Cliente delgado en la Municipalidad........................................................................................5 Introducción Qué es Cliente delgado El Cliente delgado provee la habilidad de ejecutar programas en una arquitectura Cliente/Servidor sobre una LAN (red local). Todos los programas y los archivos de datos residen y se ejecutan en el servidor, pero la interfase de usuario es presentada en una estación de trabajo. Es decir, en un modelo de cliente delgado, todo el procesamiento de la aplicación y la administración de datos ocurre en el servidor. El cliente sólo es responsable de ejecutar el software de presentación. Funcionamiento básico En los puestos de trabajo se utiliza un chip bootrom* instalado en la placa de red o un disquete para iniciar la PC en red. No es necesario un disco rígido ni tampoco una PC de gran velocidad, dado que el procesamiento se realiza en el servidor. Ventajas: Administración de programas y usuarios completamente centralizado. Disminuye probabilidad de errores y problemas, ya que las maquinas no poseen disco rígido. No es necesario una PC potente (se pueden reutilizar viejas PCs en desuso), ya que la performance la determina, casi en su totalidad, el servidor. Datos de usuarios pueden respaldarse completamente (residen en el servidor). Desventajas: Se necesitan servidores de aplicaciones y archivos potentes. Utiliza muchos recursos de red (NFS y X) El funcionamiento del cliente depende del servidor y de la conectividad. Cliente delgado en Linux Los detalles dados hasta aquí detallados son comunes a clientes delgados implementados con cualquier sistema operativo. Ventajas de Cliente delgado en Linux: - - El menor costo de utilización, al no tener que pagar una licencia por su uso. El mayor control que tiene un usuario de experiencia media sobre el funcionamiento del software La posibilidad de modificar el código fuente de forma que el software se pueda adaptar a las necesidades particulares que existan. La mayor dificultad que encuentran los virus para difundirse en entornos de este tipo, dada la seguridad del propio sistema operativo al implementar mecanismos de control de acceso a los archivos de configuración, al software instalado y a los recursos Hardware. Al ser Linux un sistema realmente multiusuario, se puede controlar completamente el acceso de cada usuario particular a los archivos y recursos del sistema. Por sus características multitarea, Linux es capaz de realizar distintas operaciones simultaneas. Los archivos, documentos, etc. producidos por el software libre, al basarse en estándares, son más fácilmente intercambiables entre diferentes programas y plataformas que los producidos por software propietario, que encuentran más dificultad - - - para ser leídos o editados mediante programas que no sean producidos por la misma compañía. La menor dependencia tecnológica de otros países. El desarrollo de software libre puede realizarse en nuestro propio país sin tener que depender de patentes y licencias que normalmente residen en países más avanzados tecnológicamente. La posibilidad de aprender técnicas de programación examinando el software producido por otras personas con más conocimientos y experiencia estimula la capacidad de innovación. La transparencia que supone el conocimiento del código fuente, que le da la seguridad a cualquiera que tenga los conocimientos adecuados, de que el software no esté realizando ninguna labor ajena a la voluntad del usuario, tal como el envío de información a algún destino secreto (¿espionaje industrial o personal?). Proyectos de Cliente delgado en Linux • • • • • LTSP PXES Thinstation Netstation Diet-PC Detalles del funcionamiento Funcionamiento de los terminales Proceso de Arranque – Arranque por red Para poder arrancar por red, el ordenador debe obtener: 1. Una identidad. Existe una información que es única para cada placa de red. Cada adaptador de Ethernet posee una dirección Ethernet de 48 bits exclusiva para él, porque a todo fabricante de hardware Ethernet, le han sido asignados bloques de direcciones. Por convención estos bloques de direcciones se representan en forma de dígitos hexadecimales separados por dos puntos en grupos de dos; por ejemplo: 00:60:08:C7:A3:D8. Utilizando esta identificación y mediante el protocolo DHCP, el servidor le asignara una dirección IP, un gateway, los DNS y una dirección desde donde podrá bajar la imagen del sistema operativo(servidor TFTP) 2. La imagen de un sistema operativo. Después de obtener la dirección IP, el cliente delgado debe conseguir la imagen del sistema operativo y ejecutarlo. En esta fase, se usa otro protocolo de Internet, conocido como Trivial File Transfer Protocol (TFTP). Éste es una versión reducida del FTP: no contempla autenticación, trabaja a través del User Datagram Protocol (UDP). 3. Un sistema de archivos con el que trabajar (en memoria RAM o por red) .El protocolo utilizado en en red es generalmente el NFS (Network File System), aunque no es el único. En este caso el código no necesita estar grabado en la ROM, sino que forma parte del sistema operativo que acabamos de cargar. El sistema operativo debe ser capaz de ejecutarse con un sistema de ficheros raíz NFS, en vez de un disco real. – Ejecución de Cliente VNC o Servidor X (es así, en realidad el Cliente delgado corre un Servidor X) Clasificación Pueden clasificarse según : a) el punto de montaje de la raíz del sistema de ficheros, ó b) según como Acceden a las aplicaciones gráficas en una máquina remota a) Punto de montaje de la raíz del sistema de ficheros Existen dos alternativas: • • Montar la raíz del sistema de ficheros sobre la memoria RAM Montar la raíz del sistema de ficheros desde una máquina remota El sitio donde se monta / es importante, ya que debe contener los programas necesarios para que el sistema funcione, que suelen estar contenidos en /sbin y /bin. Al igual que montamos un disco duro en un directorio, podemos montar un directorio que esté en otra máquina a la que accedamos a través de la red. • Raíz sobre la memoria RAM Cuando se emplea ésta técnica, la terminal carga un mini sistema operativo en memoria, que incluye un programa para conectarse a una máquina que le diga lo que tiene que pintar en pantalla. Lo utiliza PXES, aunque también puede montar una raíz remota. • Raíz remoto Es el utilizado por LTSP. En estos sistemas, como raíz se monta un directorio de una máquina remota, utilizando normalmente el protocolo NFS. La ventaja es una menor exigencia de memoria a expensas de cargar la red. b) Acceso a las aplicaciones gráficas en una máquina remota Para que una terminal dibuje el resultado de la ejecución de una aplicación que está corriendo en otra máquina, se emplea el mecanismo de las X-Windows, normalmente llamado "las X" a secas. Puede encontrarse una breve pero concisa descripción de este mecanismo aquí. Implementación de Cliente delgado en la Municipalidad Podemos identificar los siguientes “roles” en la arquitectura: – – – Cliente Servidor de Aplicaciones ( SAP ) Servidor de Datos ( Puede ser de Archivos (SAR) o de backup (BKP) ) Se cuentan además con los siguientes “roles externos”: – – – – Servidor Servidor Servidor Servidor de de de de Nombres ( DNS Autenticación ( Kerberos ) Información ( LDAP ) Tiempo ( NTP ) Se los denomina externos, debido a que a pesar de no ser parte directa de la arquitectura principal, su funcionamiento resulta critico. Esos roles pueden ser asumidos por cualquier servidor que cumpla alguno de los “roles” ( Aplicación, Datos) principales por cuestiones de redundancia, abaratamiento de costos, etc. 1. Clientes Visto mas arriba. 2. Servidor de Aplicaciones ( SAP ) Objetivos: Escalabilidad Redundancia Bajo Costo Alta Dispoibilidad Confiabilidad Es en los servidores de capa de lógica de negocios donde se realiza la mayoría del procesamiento. Todas las aplicaciones disponibles se instalan en esta clase de servidores. Además tiene la función servir a los pedidos realizados por los clientes al momento del arranque; proporcionando a los mismos el sistema operativo y el sistema de fichero correspondiente. Se cuenta con mas de un servidor de aplicaciones, logrando así obtener un mayor grado de tolerancia a fallos e incrementar la disponibilidad; con la premisa en todo momento los servidores que se encuentren disponibles brindan un mismo conjunto de funcionalidades. Esto nos permite obtener transparencia para los clientes, para los cuales existe en principio un único servidor de aplicaciones. Cada servidor debera incluir al menos: Servicios: – DHCP – TFTP – NFS – XFS – Samba – LTSP – SSH – X11 – Cups Aplicaciones: – Navegador – Cliente de Correo – Suite de Oficinas – Acceso a sistemas propios 4. Servidor de Archivos ( SAR ) La funcionalidad principal de los servidores de capa de lógica de datos es la de almacenar toda la información sensible. Un servidor de esta capa posee menor capacidad de procesamiento en comparación con un SAP; a diferencia de los anteriores cuenta con una gran capacidad de almacenamiento en medios físicos ( discos rigidos) con algún mecanismo ( sea por hardware o software) de redundancia ( RAID). Los SAP's acceden por NFS a los “homes” ( los cuales se encuentran físicamente en los SAR) de los usuarios en los que inician sesión. Esta separación se capas brinda gran flexibilidad, a la vez que transparencia, en caso de algún tipo de falla en la capa de datos los usuarios pueden seguir trabajando. Roles Secundarios Dentro de la arquitectura existen servicios que son considerados críticos para las aplicaciones: servicios de información, servicios de autenticación y servicios de sincronización de tiempo. Considerando que la arquitectura es distribuida, para poder contar con redundancia en caso de perdida de conectividad se cuentan con servidores que asumen alguno/s de los roles secundarios, contando algunos con replica de las bases información de los servidores principales. Los principales servicios son: - Servidor Servidor Servidor Servidor de de de de Nombres ( DNS ) autenticación (Kerberos) Información ( LDAP ) Backup ( BKP ) Backup y Contingencia de Servidores de Archivos Dentro de la capa de lógica de datos se cuenta con un rol de backup. Los servidores de archivos realizan su copia de respaldo en los servidores de backup. Esta decisión de implementación se tomo para proveen contingencia a los servidores de archivos en caso de falla y/o mantenimiento de alguno de ellos. Además se realiza un respaldo a medios físicos extraíbles ( cintas, dvd, etc) con motivo de obtener un respaldo de información histórico. Autenticación Centralizada y Single Sign On (SSO) Se opto por implementar un modelo de autenticación centralizado. En este modelo toda la información se centraliza en uno servidor ( con replicas de contingencia). Para ello se utilizo el protocolo LDAP, para el almacenamiento de información y Kerberos para la autenticación. Mediante este esquema también fue posible implementar el modelo de Clave única (Single Sign On - SS0). En este modelo el usuario necesita autenticarse sola en el momento de loguearse al servidor, no necesitando seguir ingresando su clave en los subsiguientes accesos a los demás servidores/servicios que utilice. Esto permite un incremento en la seguridad y facilita la administración.