Unidad I Teleprosesamiento Avanzado
Short Description
Download Unidad I Teleprosesamiento Avanzado...
Description
UNIVERSIDAD ABIERTA INTERAMERICANA FACULTAD DE TECNOLOGÍA INFORMÁTICA
TELEPROCESAMIENTO AVANZADO
• UNIDAD 1: PERSPECTIVA DE NEGOCIO
Año 2016
Contenido REDES ENTRE PARES (PEER-TO-PEER) .................................................................................................. 4 Visión histórica ..................................................................................................................................... 4 Características ...................................................................................................................................... 6 Problemas de funcionamiento ............................................................................................................. 6 Clasificación según grado de centralización ........................................................................................ 7 Ventajas y desventajas de Redes entre pares...................................................................................... 9 REDES CLIENTE / SERVIDOR ................................................................................................................ 10 Algunos antecedentes, ¿Por qué fue creado? ................................................................................... 10 Funcionamiento ................................................................................................................................. 12 Características de la arquitectura Cliente/Servidor ........................................................................... 13 Ventajas y desventajas del modelo cliente/servidor ......................................................................... 14 EVOLUCIÓN D E LOS EQUIPOS DE PROCESAMIENTO CENTRALIZADO (“MAINFRAME”) HASTA NUESTROS DÍAS .................................................................................................................................... 15 Un poco de reseña histórica .............................................................................................................. 15 Pioneros de la Informática ................................................................................................................. 16 Definiciones de computadora ............................................................................................................ 16 La primera computadora ................................................................................................................... 17 Tipos de computadoras...................................................................................................................... 17 Categorías de las computadoras ........................................................................................................ 18 Generaciones de computadoras ........................................................................................................ 19 EVOLUCIÓN DE LA ARQUITECTURA CLIENTE SERVIDOR .................................................................. 26 La era de la computadora central ...................................................................................................... 26 La era de las computadoras dedicadas .............................................................................................. 26 La era de la conexión libre ................................................................................................................. 26 La era del cómputo a través de redes
............................................................................................ 26
La era de la arquitectura cliente servidor .......................................................................................... 27 CLIENTE DELGADO (THINCLIENT) ........................................................................................................ 27 Introducción ....................................................................................................................................... 28 Ventajas de los clientes livianos......................................................................................................... 29 Desventajas de los Clientes livianos................................................................................................... 32 CLIENTE PESADO (FATCLIENT)............................................................................................................. 33 Introducción ....................................................................................................................................... 33 Ventajas e inconvenientes ................................................................................................................. 34 MODELO ASCENDENTE / DESCENDENTE (“TOP-DOWN”) .................................................................... 35 El diseño lógico de una red ................................................................................................................ 36 Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 2 de 59
MODELO PRESENTACIÓN, APLICACIÓN Y DATOS (P.A.D.) ................................................................... 38 MODELO OSI .......................................................................................................................................... 42 MODELO TCP/IP..................................................................................................................................... 44 MIDDLEWARE ........................................................................................................................................ 45 Introducción ....................................................................................................................................... 45 Clasificación........................................................................................................................................ 46 SISTEMAS OPERATIVOS DISTRIBUIDOS. ............................................................................................... 50 Características de Sistemas Distribuidos ........................................................................................... 51 Ventajas.............................................................................................................................................. 55 Desventajas ........................................................................................................................................ 56 SISTEMAS OPERATIVOS DE RED ............................................................................................................ 56 Características de los Sistemas Operativos de Red............................................................................ 57 Ventajas.............................................................................................................................................. 57 Desventajas ........................................................................................................................................ 58 GUIA DE REVISION BIBLIOGRAFICA ...................................................................................................... 59 Preguntas ........................................................................................................................................... 59
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 3 de 59
REDES ENTRE PARES (PEER(PEER-TOTO-PEER) Una red peer-to-peer, red de pares, red entre iguales, red entre pares o red punto a punto (P2P, por sus siglas en inglés) es una red de computadoras en la que todos o algunos aspectos funcionan sin clientes ni servidores fijos, sino una serie de nodos que se comportan como iguales entre sí. Es decir, actúan simultáneamente como clientes y servidores respecto a los demás nodos de la red. Las redes P2P permiten el intercambio directo de información, en cualquier formato, entre los ordenadores interconectados. Normalmente este tipo de redes se implementan como redes superpuestas construidas en la capa de aplicación de redes públicas como Internet. Las redes peer-to-peer aprovechan, administran y optimizan el uso del ancho de banda de los demás usuarios de la red por medio de la conectividad entre los mismos, y obtienen así más rendimiento en las conexiones y transferencias que con algunos métodos centralizados convencionales, donde una cantidad relativamente pequeña de servidores provee el total del ancho de banda y recursos compartidos para un servicio o aplicación. Dichas redes son útiles para diversos propósitos. A menudo se usan para compartir archivos de cualquier tipo (por ejemplo, audio, vídeo o software). Este tipo de red también suele usarse en telefonía VoIP para hacer más eficiente la transmisión de datos en tiempo real. La eficacia de los nodos en el enlace y transmisión de datos puede variar según su configuración local (cortafuegos, NAT, ruteadores, etc.), velocidad de proceso, disponibilidad de ancho de banda de su conexión a la red y capacidad de almacenamiento en disco. La controversia legal más fuerte en relación a estas redes es el hecho de que muchos de sus usuarios las utilizan para distribuir material sujeto a copyright, sin debida autorización de los titulares de los derechos. Según esta visión, las redes P2P son herramientas de violación masiva de copyright, y deben ser eliminadas. En medio de la histeria mediática, sin embargo, no debemos olvidar que las redes P2P tienen muchos usos que no afectan el copyright en absoluto: se usan para distribuir software libre, música libre, obras de los propios usuarios o del dominio público, etc.
Visión histórica Hacia el año 2000, el modelo de comunicación asimétrica que dominó la red durante los años de enorme crecimiento de la Internet sufrió cambios significativos. A través de la aplicación llamada Napster para el intercambio de música y del masivo movimiento que rápidamente se conoció con el Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 4 de 59
nombre Peer-to-Peer, millones de usuarios conectados a Internet comenzaron a cambiar la forma de utilizar los recursos que ofrecía la red de redes. Además de navegar por la Web e intercambiar correos electrónicos, las máquinas en el hogar y en las instituciones empezaron a conectarse unas a otras entre sí formando grupos colaborativos y transformándose en motores de búsquedas, supercomputadoras virtuales y grandes sistemas de archivos. Sin embargo, este acontecimiento es más una vuelta a un modelo un tanto relegado, más que un descubrimiento totalmente novedoso. Si se desea indagar sobre las cuestiones relativas a los orígenes de este paradigma de comunicación, al menos en la era de la Internet, es necesario remontarse a los comienzos de la propia red de redes. La Internet original fue fundamentalmente diseñada como un sistema Peer-to-Peer hacia finales de los 60’. El objetivo de ARPANET fue compartir recursos de computación alrededor de Estados Unidos. Los primeros integrantes de esta red de redes fueron sitios de cómputo independientes que gozaban todos del mismo status como partes de la red. ARPANET no los conectó de una manera maestro-esclavo o cliente-servidor sino en una relación de iguales o pares. La Internet de aquel entonces fue más abierta y libre que la de los días actuales. Los cortafuegos —Firewalls en inglés— no se conocieron hasta fines de los 80’. Por lo general, cualquier máquina en la red podía enviar y recibir paquetes desde cualquier otra y aunque las primeras aplicaciones de TELNET — TELecommunication NETwork— y FTP —File Transfer Protocol— responden al modelo cliente/servidor, los patrones de uso en su conjunto eran simétricos. En general, cualquier nodo de la red podía hacer un TELNET o FTP a cualquier otro equipo de la misma. En particular, tanto Usenet —Users Network— como DNS —Domain Name System— introdujeron tempranamente importantes componentes de comunicación Peer-to-Peer. Usenet, red global de grupos de noticias, implementó un modelo descentralizado de comunicación que de alguna forma representa el antecesor de redes más modernas tales como Gnutella y Freenet, ambas enroladas en el paradigma de la comunicación simétrica. Fundamentalmente Usenet copia archivos entre computadora sin utilizar ningún control central. Como Usenet nació alrededor del año 1979 puede considerarse como un precursor de los sistemas Peer-to-Peer más modernos. Por otro lado, el Sistema de Nombres de Dominio (DNS) es un ejemplo de un sistema que combina Peer-to-Peer con un modelo jerárquico para conformar un sistema que ha sido capaz de escalar sin problemas desde los pocos miles de equipos para los que fue diseñado originalmente en 1983 a cientos de millones en la actualidad en Internet. Hay varios elementos claves en el diseño del DNS que son replicados en muchos sistemas distribuidos más modernos. Uno de ellos consiste en que los equipos pueden operar como clientes y servidores al mismo tiempo propagando requerimientos cuando es necesario.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 5 de 59
Características Seis características deseables de las redes P2P: •
Escalabilidad: Las redes P2P tienen un alcance mundial con cientos de millones de usuarios potenciales. En general, lo deseable es que cuantos más nodos estén conectados a una red P2P mejor será su funcionamiento. Así, cuando los nodos llegan y comparten sus propios recursos, los recursos totales del sistema aumentan.
•
Robustez: La naturaleza distribuida de las redes peer-to-peer también incrementa la robustez en caso de haber fallos en la réplica excesiva de los datos hacia múltiples destinos.
•
Descentralización: Estas redes por definición son descentralizadas y todos los nodos son iguales. No existen nodos con funciones especiales, y por tanto ningún nodo es imprescindible para el funcionamiento de la red.
•
Los costos están repartidos entre los usuarios. Se comparten o donan recursos a cambio de recursos. Según la aplicación de la red, los recursos pueden ser archivos, ancho de banda, ciclos de proceso o almacenamiento de disco.
•
Anonimato: Es deseable que en estas redes quede anónimo el autor de un contenido, el editor, el lector, el servidor que lo alberga y la petición para encontrarlo siempre que así lo necesiten los usuarios. Muchas veces el derecho al anonimato y los derechos de autor son incompatibles entre sí.
•
Seguridad: Es una de las características deseables de las redes P2P menos implementada. Los objetivos de un P2P seguro serían identificar y evitar los nodos maliciosos, evitar el contenido infectado, evitar el espionaje de las comunicaciones entre nodos, creación de grupos seguros de nodos dentro de la red, protección de los recursos de la red… En su mayoría aún están bajo investigación, pero los mecanismos más prometedores son: cifrado multiclave, cajas de arena, gestión de derechos de autor (la industria define qué puede hacer el usuario, por ejemplo la segunda vez que se oye la canción se apaga), reputación (sólo permitir acceso a los conocidos), comunicaciones seguras, comentarios sobre los ficheros…
Problemas de funcionamiento La mayor parte de los nodos de Internet no disponen de una dirección IP fija o siquiera accesible para otros nodos de Internet. Este es el caso, por ejemplo, de los nodos que se conectan a través de redes locales como Wifi o Ethernet, de aquellos que tienen algún tipo de cortafuegos y NAT o de los que se Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 6 de 59
conectan a través de la mayor parte de los ISPs del mundo. Para el correcto funcionamiento de una red P2P, hay que resolver dos problemas fundamentales: cómo se encuentra un nodo que ya esté conectado a la red P2P y cómo se conectan los nodos sin dirección IP pública entre ellos. Para resolver el primer problema, la solución habitual es realizar una conexión a un servidor (o servidores) inicial con dirección bien conocida (normalmente IP fija) que el programa P2P tiene almacenada. Este servidor inicial se encarga de mantener una lista con las direcciones de otros nodos que están actualmente conectados a la red. Tras esto, los clientes ya tienen información suficiente para entrar en la red y pueden intercambiar información con otros nodos, ya sin intervención de los servidores iniciales. Para resolver el problema de conexión cuando los nodos no tienen dirección pública, estos se conectan a través de otro nodo que funciona como proxy de la conexión. Los dos nodos se conectan al proxy y éste envía la información que llega de uno al otro. Cualquier nodo con una dirección IP pública puede ser escogido como proxy de una conexión entre dos nodos. Por ejemplo, en la red Skype a través de nuestro ordenador pueden pasar conversaciones de otras personas. En estos casos, es imprescindible la implementación de algún mecanismo de seguridad para evitar que los proxies pueden llegar a entender la comunicación entre los dos nodos.
Clasificación según grado de centralización Una posible clasificación de las redes P2P pudiera ser acorde a su grado de centralización:
Redes P2P centralizadas Este tipo de red P2P se basa en una arquitectura monolítica en la que todas las transacciones se hacen a través de un único servidor que sirve de punto de enlace entre dos nodos y que, a la vez, almacena y distribuye los nodos donde se almacenan los contenidos. Poseen una administración muy dinámica y una disposición más permanente de contenido. Sin embargo, está muy limitada en la privacidad de los usuarios y en la falta de escalabilidad de un sólo servidor, además de ofrecer problemas en puntos únicos de fallo, situaciones legales y enormes costos en el mantenimiento, así como el consumo de ancho de banda. Una red de este tipo reúne las siguientes características: •
Se rige bajo un único servidor, que sirve como punto de enlace entre nodos y como servidor de acceso al contenido, el cual distribuye a petición de los nodos.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 7 de 59
•
Todas las comunicaciones (como las peticiones y encaminamientos entre nodos) dependen exclusivamente de la existencia del servidor. Algunos ejemplos de este tipo de redes son Napster y Audiogalaxy.
Redes P2P híbridas, semicentralizadas o mixtas En este tipo de red, se puede observar la interacción entre un servidor central que sirve como hub y administra los recursos de banda ancha, enrutamientos y comunicación entre nodos pero sin saber la identidad de cada nodo y sin almacenar información alguna, por lo que el servidor no comparte archivos de ningún tipo a ningún nodo. Tiene la peculiaridad de funcionar (en algunos casos como en Torrent) de ambas maneras, es decir, puede incorporar más de un servidor que gestione los recursos compartidos, pero también, en caso de que el servidor o los servidores que gestionan todo caigan, el grupo de nodos puede seguir en contacto a través de una conexión directa entre ellos mismos, con lo que es posible seguir compartiendo y descargando más información en ausencia de los servidores. Este tipo de P2P presenta las siguientes características: •
Tiene un servidor central que guarda información en espera y responde a peticiones para esa información.
•
Los nodos son responsables de hospedar la información (pues el servidor central no almacena la información) que permite al servidor central reconocer los recursos que se desean compartir, y para poder descargar esos recursos compartidos a los usuarios que lo solicitan.
•
Las terminales de enrutamiento son direcciones usadas por el servidor, que son administradas por un sistema de índices para obtener una dirección absoluta.
Algunos ejemplos de una red P2P híbrida son BitTorrent, eDonkey y Direct Connect.
Redes P2P «puras» o totalmente descentralizadas Las redes P2P de este tipo son las más comunes, siendo las más versátiles al no requerir de una gestión central de ningún tipo, lo que permite una reducción de la necesidad de usar un servidor central, por lo que se opta por los mismos usuarios como nodos de esas conexiones y también como almacenadores de esa información. En otras palabras, todas las comunicaciones son directamente de usuario a usuario con ayuda de un nodo (que es otro usuario) quien permite enlazar esas comunicaciones. Las redes de este tipo tienen las siguientes características: •
Los nodos actúan como cliente y como servidor.
•
No existe un servidor central que maneje las conexiones de red.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 8 de 59
•
No hay un enrutador central que sirva como nodo y administre direcciones.
Algunos
ejemplos
de
una
red
P2P
"pura"
son: Kademlia, Ares
Galaxy, Gnutella, Freenet, Gnutella2 y Maidsafe.
Figura 1: Topologías de Redes entre pares.
Ventajas y desventajas de Redes entre pares VENTAJAS Tiene la facilidad para operar e instalar, permite el intercambio directo de información en cualquier formato.
DESVENTAJAS A medida que la red crece se vuelve más difícil de coordinar y operar, se pueden conectar 10 dispositivos no más, falta de seguridad,
el sistema no es centralizado y esto dificulta la
administración, si algún equipo se daña se puede dañar toda la red.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 9 de 59
REDES CLIENTE / SERVIDOR En el mundo de TCP/IP las comunicaciones entre computadoras se rigen básicamente por lo que se llama modelo Cliente-Servidor, éste es un modelo que intenta proveer usabilidad, flexibilidad, interoperabilidad y escalabilidad en las comunicaciones. El término Cliente/Servidor fue usado por primera vez en 1980 para referirse a PC’s en red. Este modelo Cliente/Servidor empezó a ser aceptado a finales de los 80’s. Su funcionamiento es sencillo: se tiene una máquina cliente, que requiere un servicio de una máquina servidor, y éste realiza la función para la que está programado (nótese que no tienen que tratarse de máquinas diferentes; es decir, una computadora por sí sola puede ser ambos cliente y servidor dependiendo del software de configuración).
Algunos antecedentes, ¿Por qué fue creado? Existen diversos puntos de vista sobre la manera en que debería efectuarse el procesamiento de datos, aunque
la
mayoría
que
opina,
coincide
en
que
nos
encontramos
en
medio
de
un proceso de evolución que se prolongará todavía por algunos años y que cambiará la forma en que obtenemos y utilizamos la información almacenada electrónicamente. El
principal
motivo
detrás
de
esta
evolución
es
la
necesidad
que
tienen
las organizaciones (empresas o instituciones públicas o privadas), de realizar sus operaciones más ágil y eficientemente, debido a la creciente presión competitiva a la que están sometidas, lo cual se traduce en la necesidad de que su personal sea más productivo, que se reduzcan los costos y gastos de operación, al mismo tiempo que se generan productos y servicios más rápidamente y con mejor calidad. En este contexto, es necesario establecer una infraestructura de procesamiento de información, que cuente con los elementos requeridos para proveer información adecuada, exacta y oportuna en la toma de decisiones y para proporcionar un mejor servicio a los clientes. El modelo Cliente/Servidor reúne las características necesarias para proveer esta infraestructura, independientemente del tamaño y complejidad de las operaciones de las organizaciones públicas o privadas y, consecuentemente desempeña un papel importante en este proceso de evolución. La arquitectura cliente-servidor es un modelo de aplicación distribuida en el que las tareas se reparten entre los proveedores de recursos o servicios, llamados servidores, y los demandantes, llamados clientes. Un cliente realiza peticiones a otro programa, el servidor, que le da respuesta. Esta Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 10 de 59
idea también se puede aplicar a programas que se ejecutan sobre una sola computadora, aunque es más ventajosa en un sistema operativo multiusuario distribuido a través de una red de computadoras. En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema. La red Cliente/Servidor es aquella red de comunicaciones en la que todos los clientes están conectados a un servidor, que puede ser cualquier computadora en el que se centralizan los diversos recursos y aplicaciones con que se cuenta; y que los pone a disposición de los clientes cada vez que estos son solicitados. Esto significa que todas las gestiones que se realizan se concentran en el servidor, de manera que en él se disponen los requerimientos provenientes de los clientes que tienen prioridad, los archivos que son de uso público y los que son de uso restringido, los archivos que son de sólo lectura y los que, por el contrario, pueden ser modificados, etc. La principal característica es que en este tipo de redes los roles están bien definidos y no se intercambia; los clientes en ningún momento pueden tener el rol de servidores y viceversa. A diferencia de las redes peer-to-peer (P2P) que no poseen un rol fijo ya que el papel de cada uno puede alterarse: cualquiera puede ser cliente o servidor indistintamente. El modelo de red Cliente/Servidor comenzó a utilizarse a partir de la década de los noventa, y actualmente está siendo muy utilizada en las empresas, especialmente en aquellas que se manejan grandes volúmenes de datos. Uno de los motivos es que de esta manera se puede mantener un control centralizado de la información, aportando con esto mayor seguridad y mayor rendimiento a menores costos ya que una sola PC centraliza y distribuye toda la información.
Figura 2. Red Cliente/Servidor
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 11 de 59
Funcionamiento Una máquina cliente solicita a una segunda máquina llamada servidor que ejecute una tarea específica. El cliente suele ser una computadora personal común conectada a una LAN, y el servidor es, por lo general, una máquina anfitriona, como un servidor de archivos PC, un servidor de archivos de UNIX o una macrocomputadora o computadora de rango medio. El programa cliente cumple dos funciones distintas: por un lado gestiona la comunicación con el servidor, solicita un servicio y recibe los datos enviados por aquél. Por otro, maneja la interfaz con el usuario; presenta los datos en el formato adecuado y brinda las herramientas y comandos necesarios para que el usuario pueda utilizar las prestaciones del servidor de forma sencilla. El programa servidor en cambio, básicamente sólo tiene que encargarse de transmitir la información de forma eficiente. No tiene que atender al usuario. De esta forma un mismo servidor puede atender a varios clientes al mismo tiempo. Algunas de las principales redes cliente/servidor que poseen servidores especializados de grandes capacidades utilizan normalmente sistemas operativos confiables, estables y seguros como el Windows NT, NetWare de Novell, VINES de Banyan y LAN Server de IBM entre otros. Todos estos sistemas operativos de red pueden operar y procesar solicitudes de aplicaciones de varios clientes que se ejecutan en tiempo real y al mismo tiempo ofreciendo una rápida respuesta al cliente. Cliente El cliente es el proceso que permite al usuario formular los requerimientos y pasarlos al servidor, se le conoce con el término front-end. El Cliente normalmente maneja todas las funciones relacionadas con la manipulación y despliegue de datos, por lo que están desarrollados sobre plataformas que permiten construir interfaces gráficas de usuario (GUI), además de acceder a los servicios distribuidos en cualquier parte de una red. Las funciones que lleva a cabo el proceso cliente se resumen en los siguientes puntos: •
Administrar la interfaz de usuario.
•
Interactuar con el usuario.
•
Procesar la lógica de la aplicación y hacer validaciones locales.
•
Generar requerimientos de bases de datos.
•
Recibir resultados del servidor.
•
Formatear resultados.
Servidor Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 12 de 59
Es el proceso encargado de atender a múltiples clientes que hacen peticiones de algún recurso administrado por él. Al proceso servidor se le conoce con el término back-end. El servidor normalmente maneja todas las funciones relacionadas con la mayoría de las reglas del negocio y los recursos de datos. Las funciones que lleva a cabo el proceso servidor se resumen en los siguientes puntos: •
Aceptar los requerimientos de bases de datos que hacen los clientes.
•
Procesar requerimientos de bases de datos.
•
Formatear datos para trasmitirlos a los clientes.
•
Procesar la lógica de la aplicación y realizar validaciones a nivel de bases de datos.
Sistema Operativo de Red Las PCs requieren de un software para poder operar. Comúnmente se conoce como el “sistema operativo”. Este software actúa como interfaz entre las aplicaciones (como un procesador de textos), y el hardware del cliente (CPU, memoria, disco). Es un componente software de una computadora que tiene como objetivo coordinar y manejar las actividades de los recursos del ordenador en una red de equipos. Consiste en un software que posibilita la comunicación de un sistema informático con otros equipos en el ámbito de una red.
Características de la arquitectura Cliente/Servidor •
Combinación de un cliente que interactúa con el usuario, y un servidor que interactúa con los recursos compartidos. El proceso del cliente proporciona la interfaz entre el usuario y el resto del sistema. El proceso del servidor actúa como un motor de software que maneja recursos compartidos tales como bases de datos, impresoras, módems, etc.
•
Las tareas del cliente y del servidor tienen diferentes requerimientos en cuanto a recursos de cómputo, como velocidad del procesador, memoria, velocidad y capacidades del disco.
•
Se establece una relación entre procesos distintos, los cuales pueden ser ejecutados en la misma máquina o en máquinas diferentes distribuidas a lo largo de la red.
•
Existe una clara distinción de funciones basada en el concepto de "servicio", que se establece entre clientes y servidores.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 13 de 59
•
La relación establecida puede ser de muchos a uno, en la que un servidor puede dar servicio a muchos clientes, regulando su acceso a recursos compartidos.
•
Los clientes corresponden a procesos activos en cuanto a que son éstos los que hacen peticiones de servicios a los servidores. Estos últimos tienen un carácter pasivo ya que esperan las peticiones de los clientes.
•
No existe otra relación entre clientes y servidores que no sea la que se establece a través del intercambio de mensajes entre ambos. El mensaje es el mecanismo para la petición y entrega de solicitudes de servicio.
•
El ambiente es heterogéneo. La plataforma de hardware y el sistema operativo del cliente y del servidor no son siempre la misma. Precisamente una de las principales ventajas de esta arquitectura es la posibilidad de conectar clientes y servidores independientemente de sus plataformas.
•
El concepto de escalabilidad tanto horizontal como vertical es aplicable a cualquier sistema Cliente/Servidor. La escalabilidad horizontal permite agregar más estaciones de trabajo activas sin afectar significativamente el rendimiento. La escalabilidad vertical permite mejorar las características del servidor o agregar múltiples servidores.
Ventajas y desventajas del modelo cliente/servidor Ventajas •
Centralización del control de los recursos, datos y accesos.
•
Facilidad de mantenimiento y actualización del lado del servidor: Esto es porque el lado del servidor se puede mantener o actualizar fácilmente. Por ejemplo, una actualización se aplica a un único servidor, pero los beneficios los obtienen múltiples clientes generalmente sin necesidad de que éstos actualicen nada.
•
Toda la información es almacenada en el lado del servidor, que suele tener mayor seguridad que los clientes.
•
Hay muchas herramientas cliente-servidor probadas, seguras y amigables para usar.
Desventajas:
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 14 de 59
•
Si el número de clientes simultáneos es elevado, el servidor puede saturarse. Esto sucede con menor frecuencia en las redes P2P.
•
Frente a fallas del lado del servidor, el servicio queda paralizado para los clientes. Algo que no sucede en una red P2P.
EVOLUCIÓN D E LOS EQUIPOS DE PROCESAMIENTO CENTRALIZADO (“MAINFRAME (“MAINFRAME”) MAINFRAME”) HASTA NUESTROS DÍAS
Un poco de reseña histórica Todo comenzó con máquinas destinadas a manejar números, es así como nos remitimos al Ábaco, inventado por los babilonios allá por el año 1000 A.C. Utilizado sobre todo por los chinos para la realización de operaciones sencillas, está formado por una tablilla con una serie de cuentas que sirven para efectuar sumas y restas. Justo antes de morir en 1617, el matemático escocés John Napier (conocido por su invención de logaritmos) desarrolló un juego de palitos para calcular a las que llamó “Napier Bones.” Así llamados porque se tallaron las ramitas de hueso o marfil, los “bones” incorporaron el sistema logarítmico. Los Huesos de Napier tuvieron una influencia fuerte en el desarrollo de la regla deslizante (cinco años más tarde) y máquinas calculadoras subsecuentes que contaron con logaritmos. En 1621 la primera regla deslizante fue inventada por el del matemático inglés William Oughtred. La regla deslizante (llamó “Círculos de Proporción”) era un juego de discos rotatorios que se calibraron con los logaritmos de Napier. Uno de los primeros aparatos de la informática analógica, la regla deslizante se usó normalmente (en un orden lineal) hasta que a comienzos de 1970, cuando calculadoras portátiles comenzaron a ser más popular. En 1623 la primera calculadora mecánica fue diseñada por Wilhelm Schickard en Alemania. Llamado “El Reloj Calculador”, la máquina incorporó los logaritmos de Napier. Uno de los antepasados más directos de la computadora actual, fue creado por el científico francés Blaise
Pasca en
el
siglo
XVII
(1642).
A
sus
18
años,
Pascal
invento
su
primera máquina calculadora, capaz de sumar y restar; y todo ello a base de engarzar múltiples ruedas dentadas.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 15 de 59
Años más tarde, en 1673, Gottfied Von Leibnitz perfecciono los estudios de Pascal, y llego a construir una máquina que no solo sumaba y restaba, sino que también multiplicaba, dividía e incluso calculaba raíces cuadradas. En 1769 el Jugador de Ajedrez Autómata fue inventado por Barón Empellen, un noble húngaro. El aparato y sus secretos se le dieron a Johann Nepomuk Maelzel, un inventor de instrumentos musicales, quien recorrió Europa y los Estados Unidos con el aparato, a finales de 1700 y temprano 1800. Pretendió ser una máquina pura, el Autómata incluía un jugador de ajedrez “robótico”. En 1777, inventó la primera máquina lógica, Charles Mahon, el Conde de Stanhope. El “demostrador lógico” era un aparato tamaño bolsillo que resolvía silogismos tradicionales y preguntas elementales de probabilidad. Mahon es el precursor de los componentes lógicos en computadoras modernas. En 1790 Joseph-Marie Jacquard utilizo tarjetas perforadas para controlar un telar. El “Jacquard Loom” se inventó en 1804 por Joseph-Marie Jacquard. Inspirado por instrumentos musicales que se programaban usando papel agujereados, la máquina se parecía a una atadura del telar que podría controlar automáticamente de dibujos usando una línea tarjetas agujereadas.
Pioneros de la Informática Blaise Pascal, Gottfied Von Leibnitz, Charles Babbage, Augusta Byron Herman Hollerith, James Powers, Alan Turing, Konrad Zuse, John Von Neumann, Chuck Peddle, Linus Trovals, Bill Gates.
Definiciones de computadora Máquina capaz de efectuar una secuencia de operaciones mediante un programa, de tal manera, que se realice un procesamiento sobre un conjunto de datos de entrada, obteniéndose otro conjunto de datos de salida. Dispositivo electrónico capaz de recibir un conjunto de instrucciones y ejecutarlas realizando cálculos sobre los datos numéricos, o bien compilando y correlacionando otros tipos de información. Es un calculador electrónico de elevada potencia equipado de memorias de gran capacidad y aparatos periféricos, que permite solucionar con gran rapidez y sin intervención humana, durante el desarrollo del proceso problemas lógicos y aritméticos muy complejos.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 16 de 59
La primera computadora Fue en 1830, cuando se establecieron los principios de funcionamiento de las modernas computadoras. Su paternidad se debe al matemático inglés Charles Babbage, quien tras lanzar en 1822 la denominada maquina diferencial – con nada menos que 96 ruedas dentadas y 24 ejes, se lanzó en pos de su proyecto más relevante: la máquina analítica(1833). La primera computadora fue la máquina analítica creada por Charles Babbage, profesor matemático de la Universidad de Cambridge en el siglo XIX. La idea que tuvo Charles Babbage sobre un computador nació debido a que la elaboración de las tablas matemáticas era un proceso tedioso y propenso a errores. En 1823 el gobierno Británico lo apoyo para crear el proyecto de una máquina de diferencias, un dispositivo mecánico para efectuar sumas repetidas. Mientras tanto Charles Jacquard (francés), fabricante de tejidos, había creado un telar que podía reproducir automáticamente patrones de tejidos leyendo la información codificada en patrones de agujeros perforados en tarjetas de papel rígido. Al enterarse de este método Babbage abandonó la máquina de diferencias y se dedicó al proyecto de la máquina analítica que se pudiera programar con tarjetas perforadas para efectuar cualquier cálculo con una precisión de 20 dígitos. En 1944 se construyó en la Universidad de Harvard, la Mark I, diseñada por un equipo encabezado por Howard H. Aiken. Esta máquina no está considerada como computadora electrónica debido a que no era de propósito general y su funcionamiento estaba basado en dispositivos electromecánicos llamados relevadores.
Tipos de computadoras Análoga La computadora análoga es la que acepta y procesa señales continuas, tales como: fluctuaciones de voltaje o frecuencias. Ejemplo: El termostato es la computadora análoga más sencilla.
Digital La computadora digital es la que acepta y procesa datos que han sido convertidos al sistema binario. La mayoría de las computadoras son digitales. Híbrida Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 17 de 59
La computadora híbrida es una computadora digital que procesa señales análogas que han sido convertidas a forma digital. Es utilizada para control de procesos y en robótica. Propósito especial La computadora de propósito especial está dedicada a un solo propósito o tarea. Pueden ser usadas para producir informes del tiempo, monitorear desastres naturales, hacer lecturas de gasolina y como medidor eléctrico. Ejemplo: carros de control remoto, horno microoondas, relojes digitales, cámaras, procesador de palabras, etc. Propósito general La computadora de propósito general se programa para una variedad de tareas o aplicaciones. Son utilizadas para realizar cálculos matemáticos, estadísticos, contabilidad comercial, control de inventario, nómina, preparación de inventario, etc. Ejemplo: “mainframes” o minicomputadoras.
Categorías de las computadoras Supercomputadora La supercomputadora es lo máximo en computadora, es la más rápida y, por lo tanto, la más cara. Cuesta millones de dólares y se hacen de dos a tres al año. Procesan billones de instrucciones por segundo. Son utilizadas para trabajos científicos, particularmente para crear modelos matemáticos del mundo real, llamados simulación. Mainframe Los “mainframe” son computadoras grandes, ligeras, capaces de utilizar cientos de dispositivos de entrada y salida. Procesan millones de instrucciones por segundo. Su velocidad operacional y capacidad de procesar hacen que los grandes negocios, el gobierno, los bancos, las universidades, los hospitales, compañías de seguros, líneas aéreas, etc. confién en ellas. Su principal función es procesar grandes cantidades de datos rápidamente. Estos datos están accesibles a los usuarios del “mainframe” o a los usuarios de las microcomputadoras cuyos terminales están conectados al “mainframe”. Su costo fluctúa entre varios cientos de miles de dólares hasta el millón. Requieren de un sistema especial para controlar la temperatura y la humedad. También requieren de un personal profesional especializado para procesar los datos y darle el mantenimiento. Minicomputadora
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 18 de 59
La minicomputadora se desarrolló en la década de 1960 para llevar a cabo tareas especializadas, tales como el manejo de datos de comunicación. Son más pequeñas, más baratas y más fáciles de mantener e instalar que los “mainframes”. Su costo está entre los cincuenta mil hasta varios cientos de miles. Usadas por negocios, colegios y agencias gubernamentales. Su mercado ha ido disminuyendo desde que surgieron las microcomputadoras. Microcomputadora La microcomputadora es conocida como computadora personal o PC. Es la más pequeña, gracias a los microprocesadores, más barata y más popular en el mercado. Su costo fluctúa entre varios cientos de dólares hasta varios miles de dólares. Puede funcionar como unidad independiente o estar en red con otras microcomputadoras o como un terminal de un “mainframe” para expandir sus capacidades. Puede ejecutar las mismas operaciones y usar los mismos programas que muchas computadoras superiores, aunque en menor capacidad. Ejemplos: MITS Altair, Macintosh, serie Apple II, IBM PC, Dell, Compaq, Gateway, etc.
Generaciones de computadoras Primera Generación En esta generación había un gran desconocimiento de las capacidades de las computadoras, puesto que se realizó un estudio en esta época que determinó que con veinte computadoras se saturaría el mercado de los Estados Unidos en el campo de procesamiento de datos. Esta generación abarco la década de los cincuenta. Y se conoce como la primera generación. Estas máquinas tenían las siguientes características: •
Estas máquinas estaban construidas por medio de tubos de vacío.
•
Eran programadas en lenguaje de máquina.
•
En esta generación las máquinas son grandes y costosas (de un costo aproximado de ciento de miles de dólares).
En 1951 aparece la UNIVAC (UNIVersAl Computer), fue la primera computadora comercial, que disponía de mil palabras de memoria central y podían leer cintas magnéticas, se utilizó para procesar el censo de 1950 en los Estados Unidos.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 19 de 59
En las dos primeras generaciones, las unidades de entrada utilizaban tarjetas perforadas, retomadas por Herman Hollerith (1860 – 1929), quien además fundó una compañía que con el paso del tiempo se conocería como IBM (International Bussines Machines). Después se desarrolló por IBM la IBM 701 de la cual se entregaron 18 unidades entre 1953 y 1957. Posteriormente, la compañía Remington Rand fabricó el modelo 1103, que competía con la 701 en el campo científico, por lo que la IBM desarrollo la 702, la cual presentó problemas en memoria, debido a esto no duró en el mercado. La computadora más exitosa de la primera generación fue la IBM 650, de la cual se produjeron varios cientos. Esta computadora que usaba un esquema de memoria secundaria llamado tambor magnético, que es el antecesor de los discos actuales. Otros modelos de computadora que se pueden situar en los inicios de la segunda generación son: la UNIVAC 80 y 90, las IBM 704 y 709, Burroughs 220 y UNIVAC 1105.
Figura 3. 1° Generación de Computadoras Segunda Generación Cerca de la década de 1960, las computadoras seguían evolucionando, se reducía su tamaño y crecía su capacidad de procesamiento. También en esta época se empezó a definir la forma de comunicarse con las computadoras, que recibía el nombre de programación de sistemas. Las características de la segunda generación son las siguientes: Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 20 de 59
•
Están construidas con circuitos de transistores.
•
Se programan en nuevos lenguajes llamados lenguajes de alto nivel.
•
En esta generación las computadoras se reducen de tamaño y son de menor costo. Aparecen muchas compañías y las computadoras eran bastante avanzadas para su época como la serie 5000 de Burroughs y la ATLAS de la Universidad de Manchester.
Algunas de estas computadoras se programaban con cintas perforadas y otras más por medio de cableado en un tablero. Los programas eran hechos a la medida por un equipo de expertos: analistas, diseñadores, programadores y operadores que se manejaban como una orquesta para resolver los problemas y cálculos solicitados por la administración. El usuario final de la información no tenía contacto directo con las computadoras. Esta situación en un principio se produjo en las primeras computadoras personales, pues se requería saberlas “programar” (alimentarle instrucciones) para obtener resultados; por lo tanto su uso estaba limitado a aquellos audaces pioneros que gustaran de pasar un buen número de horas escribiendo instrucciones, “corriendo” el programa resultante y verificando y corrigiendo los errores o bugs que aparecieran. Además, para no perder el “programa” resultante había que “guardarlo” (almacenarlo) en una grabadora, pues en esa época no había discos flexibles y mucho menos discos duros para las PC; este procedimiento podía tomar de 10 a 45 minutos, según el programa. El panorama se modificó totalmente con la aparición de las computadoras personales con mejores circuitos, más memoria, unidades de disco flexible y sobre todo con la aparición de programas de aplicación general en donde el usuario compra el programa y se pone a trabajar. Aparecen los programas procesadores de palabras como el célebre Word Star, la impresionante hoja de cálculo (spreadsheet) Visicalc y otros más que de la noche a la mañana cambian la imagen de la PC. El sortware empieza a tratar de alcanzar el paso del hardware. Pero aquí aparece un nuevo elemento: el usuario. Las computadoras de esta generación fueron: la Philco 212 (esta compañía se retiró del mercado en 1964) y la UNIVAC M460, la Control Data Corporation modelo 1604, seguida por la serie 3000, la IBM mejoró la 709 y sacó al mercado la 7090, la National Cash Register empezó a producir máquinas para proceso de datos de tipo comercial, introdujo el modelo NCR 315.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 21 de 59
Figura 4. 2° Generación de computadoras Tercera generación Con los progresos de la electrónica y los avances de comunicación con las computadoras en la década de los 1960, surge la tercera generación de las computadoras. Se inaugura con la IBM 360 en abril de 1964.3 Las características de esta generación fueron las siguientes: •
Su fabricación electrónica está basada en circuitos integrados.
•
Su manejo es por medio de los lenguajes de control de los sistemas operativos.
La IBM produce la serie 360 con los modelos 20, 22, 30, 40, 50, 65, 67, 75, 85, 90, 195 que utilizaban técnicas especiales del procesador, unidades de cinta de nueve canales, paquetes de discos magnéticos y otras características que ahora son estándares (no todos los modelos usaban estas técnicas, sino que estaba dividido por aplicaciones). El sistema operativo de la serie 360, se llamó OS que contaba con varias configuraciones, incluía un conjunto de técnicas de manejo de memoria y del procesador que pronto se convirtieron en estándares. En 1964 CDC introdujo la serie 6000 con la computadora 6600 que se consideró durante algunos años como la más rápida.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 22 de 59
En la década de 1970, la IBM produce la serie 370 (modelos 115, 125, 135, 145, 158, 168). UNIVAC compite son los modelos 1108 y 1110, máquinas en gran escala; mientras que CDC produce su serie 7000 con el modelo 7600. Estas computadoras se caracterizan por ser muy potentes y veloces. A finales de esta década la IBM de su serie 370 produce los modelos 3031, 3033, 4341. Burroughs con su serie 6000 produce los modelos 6500 y 6700 de avanzado diseño, que se reemplazaron por su serie 7000. Honey – Well participa con su computadora DPS con varios modelos. A mediados de la década de 1970, aparecen en el mercado las computadoras de tamaño mediano, o minicomputadoras que no son tan costosas como las grandes (llamadas también como mainframes que significa también, gran sistema), pero disponen de gran capacidad de procesamiento. Algunas minicomputadoras fueron las siguientes: la PDP – 8 y la PDP – 11 de Digital Equipment Corporation, la VAX (Virtual Address eXtended) de la misma compañía, los modelos NOVA y ECLIPSE de Data General, la serie 3000 y 9000 de Hewlett – Packard con varios modelos el 36 y el 34, la Wang y Honey – Well -Bull, Siemens de origen alemán, la ICL fabricada en Inglaterra. En la Unión Soviética se utilizó la US (Sistema Unificado, Ryad) que ha pasado por varias generaciones.
Figura 5. 3° Generación de computadoras
Cuarta Generación Aquí aparecen los microprocesadores que es un gran adelanto de la microelectrónica, son circuitos integrados de alta densidad y con una velocidad impresionante. Las microcomputadoras con base en estos circuitos son extremadamente pequeñas y baratas, por lo que su uso se extiende al mercado Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 23 de 59
industrial. Aquí nacen las computadoras personales que han adquirido proporciones enormes y que han influido en la sociedad en general sobre la llamada “revolución informática”. En 1976 Steve Wozniak y Steve Jobs inventan la primera microcomputadora de uso masivo y más tarde forman la compañía conocida como la Apple que fue la segunda compañía más grande del mundo, antecedida tan solo por IBM; y está por su parte es aún de las cinco compañías más grandes del mundo. En 1981 se vendieron 800 00 computadoras personales, al siguiente subió a 1 400 000. Entre 1984 y 1987 se vendieron alrededor de 60 millones de computadoras personales, por lo que no queda duda que su impacto y penetración han sido enormes. Con el surgimiento de las computadoras personales, el software y los sistemas que con ellas de manejan han tenido un considerable avance, porque han hecho más interactiva la comunicación con el usuario. Surgen otras aplicaciones como los procesadores de palabra, las hojas electrónicas de cálculo, paquetes gráficos, etc. También las industrias del Software de las computadoras personales crece con gran rapidez, Gary Kildall y William Gates se dedicaron durante años a la creación de sistemas operativos y métodos para lograr una utilización sencilla de las microcomputadoras (son los creadores de CP/M y de los productos de Microsoft). No todo son microcomputadoras, por supuesto, las minicomputadoras y los grandes sistemas continúan en desarrollo. De hecho las máquinas pequeñas rebasaban por mucho la capacidad de los grandes sistemas de 10 o 15 años antes, que requerían de instalaciones costosas y especiales, pero sería equivocado suponer que las grandes computadoras han desaparecido; por el contrario, su presencia era ya ineludible en prácticamente todas las esferas de control gubernamental, militar y de la gran industria. Las enormes computadoras de las series CDC, CRAY, Hitachi o IBM por ejemplo, eran capaces de atender a varios cientos de millones de operaciones por segundo.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 24 de 59
Figura 6. 4° Generacion de computadoras
Quinta Generación En vista de la acelerada marcha de la microelectrónica, la sociedad industrial se ha dado a la tarea de poner también a esa altura el desarrollo del software y los sistemas con que se manejan las computadoras. Surge la competencia internacional por el dominio del mercado de la computación, en la que se perfilan dos líderes que, sin embargo, no han podido alcanzar el nivel que se desea: la capacidad de comunicarse con la computadora en un lenguaje más cotidiano y no a través de códigos o lenguajes de control especializados. Japón lanzó en 1983 el llamado “programa de la quinta generación de computadoras”, con los objetivos explícitos de producir máquinas con innovaciones reales en los criterios mencionados. Y en los Estados Unidos ya está en actividad un programa en desarrollo que persigue objetivos semejantes, que pueden resumirse de la siguiente manera: Procesamiento en paralelo mediante arquitecturas y diseños especiales y circuitos de gran velocidad. Manejo de lenguaje natural y sistemas de inteligencia artificial. El futuro previsible de la computación es muy interesante, y se puede esperar que esta ciencia siga siendo objeto de atención prioritaria de gobiernos y de la sociedad en conjunto.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 25 de 59
EVOLUCIÓN DE LA ARQUITECTURA CLIENTE SERVIDOR
La era de la computadora central "Desde sus inicios el modelo de administración de datos a través de computadoras se basaba en el uso de terminales remotas, que se conectaban de manera directa a una computadora central". Dicha computadora central se encargaba de prestar servicios caracterizados por que cada servicio se prestaba solo a un grupo exclusivo de usuarios.
La era de las computadoras dedicadas Esta es la era en la que cada servicio empleaba su propia computadora que permitía que los usuarios de ese servicio se conectaran directamente. Esto es consecuencia de la aparición de computadoras pequeñas, de fácil uso, más baratas y más poderosas de las convencionales.
La era de la conexión libre Hace más de 10 años que las computadoras escritorio aparecieron de manera masiva. Esto permitió que parte apreciable de la carga de trabajo de cómputo tanto en el ámbito de cálculo como en el ámbito de la presentación se lleven a cabo desde el escritorio del usuario. En muchos de los casos el usuario obtiene la información que necesita de alguna computadora de servicio. Estas computadoras de escritorio se conectan a las computadoras de servicio empleando software que permite la emulación de algún tipo de terminal. En otros de los casos se les transfiere la información haciendo uso de recursos magnéticos o por trascripción.
La era del cómputo a través de redes Esta es la era que está basada en el concepto de redes de computadoras, en la que la información reside en una o varias computadoras, los usuarios de esta información hacen uso de computadoras para laborar y todas ellas se encuentran conectadas entre sí. Esto brinda la posibilidad de que todos los usuarios puedan acceder a la información de todas las computadoras y a la vez que los diversos sistemas intercambien información.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 26 de 59
La era de la arquitectura cliente servidor "En esta arquitectura la computadora de cada uno de los usuarios, llamada cliente, produce una demanda de información a cualquiera de las computadoras que proporcionan información, conocidas como servidores "estos últimos responden a la demanda del cliente que la produjo. Los clientes y los servidores pueden estar conectados a una red local o una red amplia, como la que se puede implementar en una empresa o a una red mundial como lo es la Internet. Bajo este modelo cada usuario tiene la libertad de obtener la información que requiera en un momento dado proveniente de una o varias fuentes locales o distantes y de procesarla como según le convenga. Los distintos servidores también pueden intercambiar información dentro de esta arquitectura.
CLIENTE DELGADO (THINCLIENT) Un cliente liviano o cliente delgado (thin client o slim client en inglés) es una computadora cliente o un software de cliente en una arquitectura de red cliente-servidor que depende primariamente del servidor central para las tareas de procesamiento, y se enfoca principalmente en transportar la entrada y la salida entre el usuario y el servidor remoto. En contraste, un cliente pesado realiza tanto procesamiento como sea posible y transmite solamente los datos para las comunicaciones y el almacenamiento al servidor. Muchos dispositivos de cliente liviano ejecutaban solamente navegadores web o programas de escritorio remoto, lo que significaba que todo el procesamiento ocurría en el servidor. Sin embargo, dispositivos recientes vendidos como clientes livianos pueden correr sistemas operativos completos tales como GNU/Linux Debian, calificándolos como nodos sin disco o clientes híbridos. Algunos clientes livianos también son llamados "terminales de acceso". Consecuentemente, el término "cliente liviano", en términos de hardware, incluye a cualquier dispositivo comercializado o usado como un cliente liviano en la definición original, incluso si sus capacidades reales son mucho mayores. El término también es usado en un sentido incluso más amplio que incluye nodos sin disco.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 27 de 59
Figura 7. Clientes Delgados (Thinclient)
Introducción Al diseñar una red, hay decisiones que tomar acerca del procesamiento, el almacenamiento, el software y la interfaz de usuario. Con la realidad de una red confiable de alta velocidad, es posible cambiar la localización de cualquiera de estos componentes con respecto a los otros. Una red con velocidad de gigabits es más rápida que un bus PCI y muchas unidades de disco, así que cada función puede estar en una localización diferente. Las decisiones serán tomadas dependiendo del costo total, el costo de operación, la confiabilidad, el desempeño, y la usabilidad del sistema. El cliente liviano está cercanamente conectado con la interface de usuario. En un sistema cliente liviano-servidor, el único software que es instalado en el cliente liviano es la interfaz de usuario, algunas aplicaciones frecuentemente usadas, y un sistema operativo de red. Este software puede ser cargado de una unidad de disco local del servidor en tiempo de arranque, o según lo que se necesite. Al simplificar la carga en el cliente liviano, éste puede ser un dispositivo muy pequeño y de bajo consumo de energía, que representa costos de compra y de operación más bajos en cada puesto. El servidor, o un cluster de servidores tienen el peso total de todas las aplicaciones, servicios, y datos. Al mantener algunos servidores ocupados y muchos clientes livianos ligeramente cargados, los usuarios pueden esperar una administración de sistemas más fácil y costos más bajos, así como todas las ventajas de la computación en red: almacenamiento y respaldo centralizados y una seguridad más fácil. Debido a que los clientes livianos son numerosos pero relativamente pasivos y de bajo mantenimiento, el sistema entero es más simple y más fácil de instalar y operar. A medida que el costo del hardware baja y el costo de emplear un técnico, de la energía, y disponer los desperdicios, aumenta, crecen las ventajas de los clientes livianos. Por otro lado, desde la perspectiva del usuario, la
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 28 de 59
interacción por medio del monitor, el teclado, y el ratón cambia poco respecto a usar un cliente pesado. Un solo PC puede manejar de manera habitual cinco o más clientes livianos. Un PC con mayor capacidad o un servidor puede soportar hasta cien clientes livianos a la vez. Un servidor de alto rango puede manejar sobre 700 clientes. Los clientes livianos son una gran inversión para las escuelas y los negocios que quieren maximizar el número de estaciones de trabajo que pueden comprar con un presupuesto. Una unidad simple puede reemplazar un computador en una escuela o un negocio. También ahorraría mucha energía a largo plazo, debido al bajo consumo de energía del cliente liviano.
Ventajas de los clientes livianos •
Menores costos de administrativos de IT. Los clientes ligeros son manejados casi enteramente en el servidor. El hardware tiene menos lugares donde puede fallar, el entorno local es altamente restringido, y el cliente es más simple y a menudo carece de almacenamiento permanente, proporcionando protección contra el malware.
•
Información centralizada. Como la información se encuentra en un solo lugar facilita la realización de backups y evita que se guarden archivos que no sean de la empresa.
•
Más fácil de asegurar. Los clientes livianos pueden ser diseñados de modo que ni siquiera los datos de aplicación residan en el cliente (apenas son exhibidos en la pantalla), centralizando la protección contra el malware y reduciendo los riesgos de hurto de los datos físicos.
•
Seguridad de datos mejorada. Si un dispositivo del cliente ligero sufre un serio desperfecto no se perderá ningún dato, puesto que residen en el servidor de terminales y no en el dispositivo de punto de operación.
•
Más bajos costos de hardware. El hardware del cliente liviano es generalmente más barato porque no contiene disco duro, memoria de aplicaciones, o un procesador potente. Generalmente también tienen un período más largo antes de requerir una mejora o llegar a ser obsoletos. Hay menos piezas móviles y uno actualiza o mejora el servidor y la red en lugar de los clientes, porque la limitación en su desempeño es la resolución de pantalla que tiene un ciclo de vida muy largo. Muchos clientes pesados son reemplazados después de 3 años para evitar fallas del hardware en servicio y para usar el último software, mientras que los clientes livianos pueden hacer la misma tarea de desplegar imágenes por 10 años. Los requisitos totales de hardware para un sistema de cliente liviano (incluyendo tanto servidores como clientes)
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 29 de 59
son generalmente mucho más bajos comparados a un sistema con clientes pesados. Una razón de esto es que el hardware es mejor utilizado. Un CPU en una estación de trabajo pesada está ocioso la mayor parte del tiempo. Con los clientes livianos, los ciclos del CPU son compartidos. Si varios usuarios están corriendo la misma aplicación, solo necesita ser cargada una sola vez en un servidor central (si la aplicación está escrita para soportar esta capacidad). Con los clientes pesados, cada estación de trabajo debe tener en memoria su propia copia del programa. •
Menos consumo de energía. El hardware dedicado de cliente liviano tiene mucho más bajo consumo de energía que los típicos PC de clientes pesados, ahorran hasta un 80% de electricidad y cuidan el medio ambiente. Esto no sólo reduce los costos de energía en los sistemas de computación, en algunos casos puede significar que los sistemas de aire acondicionado no son requeridos o no necesitan ser actualizados lo que puede ser un ahorro de costos significativo y contribuir a alcanzar los objetivos en ahorro de energía. Sin embargo, son requeridos servidores más potentes y sistemas de comunicaciones.
•
Una más fácil gerencia de fallas de hardware. Si un cliente liviano falla, un reemplazo puede ser fácilmente colocado mientras el cliente es reparado; el usuario no será incomodado porque sus datos no están en el cliente.
•
Vale menos para la mayoría de los ladrones. El hardware del cliente liviano, ya sea si es dedicado o un simple hardware viejo que ha sido reorientado vía cascada, es menos útil fuera de un ambiente de servidor de cliente. Los ladrones interesados en el equipo de computación pueden tener más complicado revender cosas robadas de hardware de cliente liviano, y este es mucho menos valioso.
•
Operable en ambientes hostiles. La mayoría de los clientes livianos no tienen piezas móviles así que pueden ser usados en ambientes polvorientos sin la preocupación que puede haber con la obstrucción de los ventiladores de los PC que puede recalentarlos y quemarlos.
•
Menos ancho de banda de la red. Puesto que los servidores de terminales típicamente residen en la misma espina dorsal de red (backbone network) de alta velocidad que los servidores de archivo, la mayor parte del tráfico de red está confinado al cuarto del servidor. En un ambiente de cliente pesado si ud. abre un documento 10MB, éstos 10MB son transferidos del servidor de archivos a su PC. Cuando usted lo guarda, hay otra transferencia de 10MB de su PC al servidor. Cuando usted lo imprime sucede lo mismo otra vez, otros 10MB son transferidos sobre la red a su servidor de impresión y entonces 10MB hacia la impresora. Esto es altamente ineficiente.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 30 de 59
•
Uso más eficiente de los recursos de computación. Un típico cliente pesado será especificado para hacer frente a la carga máxima de las necesidades del usuario, lo que puede ser ineficiente en los momentos en que no es usado. En contraste, los clientes livianos usan solamente la cantidad exacta de recursos de computación requeridos para la tarea actual. En una red grande, hay una alta probabilidad que la carga de cada usuario fluctuará en un ciclo diferente a la de otro usuario, es decir, los picos de uno corresponderán muy probablemente a los bajos de uso de otro.
•
Simple trayectoria de actualización de hardware. Si el pico de recursos está sobre un límite predefinido, es un proceso relativamente simple agregar otro componente a un rack de servidor (ya sea energía, procesamiento, o almacenamiento), empujando los recursos exactamente a la cantidad requerida. Las unidades existentes pueden continuar sirviendo junto a la nueva, mientras que un modelo de cliente pesado requiere que sea reemplazada una unidad de escritorio completa, resultando en tiempo muerto para el usuario, y el problema de disponer de la unidad vieja.
•
Menor ruido. El ya mencionado retiro de ventiladores reduce el ruido producido por la unidad. Esto puede crear un ambiente de trabajo más agradable y más productivo.
•
Menos hardware desperdiciado. El hardware contiene metales pesados y plásticos y requiere energía y recursos para ser construido. Los clientes livianos pueden permanecer en servicio por más tiempo y producen menos hardware excedente que una equivalente instalación de cliente pesado porque pueden ser hechos sin partes móviles. Los ventiladores y unidades de disco del computador (usados para enfriar y el almacenamiento de datos en los clientes pesados) tienen tiempo medio antes de fallas de muchas miles de horas pero los transistores y los conductores en el cliente liviano tienen tiempos medios antes de fallas de millones de horas. Un cliente pesado es considerado viejo después de uno o dos ciclos de la ley de Moore para mantener el procesamiento con el aumento de software inflado (bloatware), pero un cliente liviano puede hacer el mismo trabajo simple año tras año. Por otro lado, un cliente liviano, será reemplazado solamente cuando carezca de una cierta característica considerada esencial. Con audio, video, y USB, los clientes livianos han cambiado poco en 15 años, siendo esencialmente PCs sencillos a los que se les han quitado componentes.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 31 de 59
Desventajas de los Clientes livianos •
Más requerimientos del servidor. Un servidor de cliente pesado no requiere tan alto nivel de desempeño como un servidor de cliente ligero (puesto que los clientes pesados por sí mismos hacen mucho del procesamiento de la aplicación). Esto resulta en servidores más caros.
•
Peor desempeño multimedia. Los clientes pesados tienen ventajas en aplicaciones ricas en multimedia que serían intensivas en ancho de banda si estuvieran completamente residentes en los servidores. Por ejemplo, los clientes pesados están bien adaptados para la edición de vídeo y el video juego, dos casos donde el ancho de banda de la red usado por clientes ligeros será mucho más grande y podrá generar demasiado tráfico en la red obstruyendo a otros usuarios.
•
Menos flexibilidad. En algunos sistemas operativos (como Microsoft Windows) los productos de software son diseñados para los computadores personales que tienen sus propios recursos locales. Intentar ejecutar este software en un sistema Thin Client puede ser difícil o imposible.
•
Peor soporte de periféricos. Los clientes ligeros son típicamente cajas muy pequeñas, selladas, sin la posibilidad de extensión interna, y la posibilidad limitada o no existente de extensión externa. Incluso si por ejemplo, un dispositivo de USB puede ser conectado físicamente a un cliente ligero, el software del cliente ligero puede no soportar los periféricos más allá de los dispositivos básicos de entrada y salida por ejemplo, puede no ser compatible con las tarjetas digitalizadoras, cámaras digitales o scanners.
•
Inapropiado para conexiones de red pobres. Los clientes ligeros pueden ser inusualmente lentos, o muy frustrantes para usar, sobre una conexión de red de alta latencia. Por otra parte, no trabajan en absoluto cuando la red está caída. Con un cliente pesado, puede ser posible trabajar fuera de línea, aunque la manera orientada a red en la que mucha gente trabaja hoy en día, significa que el uso del cliente pesado también puede ser restringido si la red está caída.
•
Más difícil de reutilizar. Mientras que un cliente pesado puede ser usado en aplicaciones de cliente ligero, cuando el hardware se vuelve obsoleto para el uso como cliente pesado, debido a que es estándar y puede operar de una manera autónoma, el hardware de cliente ligero es más difícil de revender o reutilizar para otro propósito en caso de que sea retirado.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 32 de 59
CLIENTE PESADO (FATCLIENT) FATCLIENT) Se denomina cliente pesado al programa "cliente" de una arquitectura cliente-servidor cuando la mayor carga de cómputo está desplazada hacia la computadora que ejecuta dicho programa. También se conoce como cliente grueso (anteriormente se conocía como cliente rico pero esta acepción ya está en desuso). Un cliente pesado es la antítesis de un cliente liviano (también denominado cliente ligero).
Figura 8. Cliente pesado (Fatclient)
Introducción Una Aplicación informática con arquitectura cliente-servidor consta de dos programas: •
El programa cliente, que se ejecuta en la computadora que interactúa con el usuario (habitualmente un ordenador personal).
•
El programa servidor, que se ejecuta en una computadora central (habitualmente en una computadora servidor dentro de un CPD).
Ambos programas colaboran entre sí gracias a una red de comunicaciones. Las funcionalidades de la aplicación deben repartirse entre ambos programas, en principio, de forma equitativa. Sin embargo, por razones de viabilidad técnica o económica puede ser necesario un reparto desigual de dichas funcionalidades. Esto se denomina "carga de cómputo". El programa cliente se califica como pesado cuando asume la mayor parte de las funcionalidades. Por ejemplo, una hipotética aplicación de punto de venta tendría el siguiente reparto: Cliente: •
Identificar cada producto (por ejemplo, mediante código de barras).
•
Calcular el importe total de la factura.
•
Calcular y desglosar los impuestos.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 33 de 59
•
Aplicar ofertas y descuentos.
•
Emitir el ticket de compra.
•
Abrir y cerrar la caja.
•
Ejecutar transacciones bancarias con tarjeta de crédito.
Servidor: •
Almacenar los tickets emitidos.
•
Descontar los productos comprados del stock de la tienda.
•
Proporcionar los precios de cada producto.
Ventajas e inconvenientes La primera ventaja de un cliente pesado es que aprovecha la capacidad de cómputo de las computadoras que lo ejecutan, generalmente infrautilizadas, en favor de la computadora servidor. Dicha computadora asume menos funciones y, por tanto, puede atender a un número mayor de programas cliente con los mismos recursos. La segunda ventaja del cliente pesado es su riqueza en la interfaz de usuario. La interfaz no está limitado por las características de un cliente universal, por ejemplo, un navegador web. Por tanto, pueden diseñarse interfaces complejas, ricas y más fáciles de usar. Sin embargo, también existe un importante inconveniente: el cliente pesado necesita ser instalado en cada una de las computadoras cliente, y posteriormente actualizado en todas ellas cuando sea necesario. Las consecuencias de ello son: •
Pueden surgir incompatibilidades. Dado que no todas las computadoras son idénticas y pueden disponer de distinto software de base, es posible que la aplicación no funcione correctamente en algunos lugares. En ocasiones, el diseñador de la aplicación no conoce a priori cuál es el perfil de la computadora que debe ejecutarlo (por ejemplo, cuando el software se vende al público).
•
Es necesaria una infraestructura para la instalación y actualización de la aplicación de manera desatendida. Es inviable realizar dichas tareas utilizando medios humanos cuando se trata de cientos de ordenadores.
•
Cuando se renueva el parque de ordenadores, o se modifica su software de base, es necesario realizar pruebas exhaustivas de regresión, para asegurar que la aplicación sigue funcionando.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 34 de 59
MODELO ASCENDENTE / DESCENDENTE (“TOP(“TOP-DOWN”) A continuación se muestran los procesos de análisis asociado a cada capa del modelo top-down:
Figura 9. Capas de Modelo TOP-DOWN
Hay que empezar con los objetivos del nivel de negocios. ¿Qué está tratando de lograr la empresa/organización/individuo mediante la instalación de esta red? Sin una comprensión clara de los objetivos a nivel de negocios es prácticamente imposible configurar e implementar una red exitosa. En muchos casos, las empresas aprovechan esta oportunidad para revisar críticamente sus procesos de negocio en una metodología de análisis conocido como "reingeniería de procesos de negocios" Una vez que se entendieron los objetivos de negocios, hay que entender las "Aplicaciones" que se ejecutan en los sistemas informáticos conectados a estas redes. Después de todo, las aplicaciones generarán el tráfico que se transmite por la red implementada. Luego que las aplicaciones se entiendan y se han documentado, se deben examinar los datos que las aplicaciones generan. El análisis del tráfico de datos debe determinar no sólo la cantidad de Página 35 de 59 Teleprocesamiento Avanzado – Ing. Medín Cristian
datos a ser transportados, sino que también debe determinar las características importantes sobre la naturaleza de los datos. Una vez que el análisis de datos de tráfico se ha completado, se debe conocer: 1. Ubicación física de los datos (¿Dónde?) 2. Datos sobre las características y problemas de compatibilidad (¿qué?) 3. Cantidad de datos generados y transportados (¿cuánto?) Tenido en cuenta los requisitos determinados por las capas superiores del modelo, el siguiente trabajo es determinar los requisitos de la "Red" la cual tendrá la capacidad de entregar estos datos de manera oportuna y rentable. Estos criterios de rendimiento de la red podrían ser considerados como “Qué” debe hacer que la red implementada para cumplir con los objetivos de la empresa (indicado al comienzo de este análisis top-down). A veces también se hace referencia a estos requisitos como el "diseño lógico de la red”. En el análisis de la capa de “Tecnología”, en cambio, se determinará cómo los componentes hardware y software se combinan para crear una red funcional que cumpla con los objetivos predeterminados del negocio. La delimitación de la tecnología necesaria se refiere a menudo como el "diseño físico de la red”. En general, la relación entre las capas del modelo de arriba hacia abajo puede ser descrito de la siguiente manera: el análisis de las capas superiores produce requisitos que se transmiten a las capas inferiores, mientras que las soluciones que cumplan estos requisitos se devuelven a las capas superiores. Si esta relación entre las capas es válida en toda la empresa orientada al análisis de redes, la tecnología implementada (capa inferior) debe cumplir con los objetivos de negocio inicialmente esbozado (capa superior). Por lo tanto, el nombre, el enfoque de arriba hacia abajo.
El diseño lógico de una red Las tecnologías que cumplen con los requisitos de diseño lógico de la red se deben investigar con profundidad para su posible inclusión en el diseño física de la red. El diseño físico de la red es un mapa de la tecnología actual, hardware y software, que se implementará y a través del cual fluirán físicamente los datos. Si la filosofía general del modelo top-down se ha cumplido, el diseño lógico de la red completa ahora debe asegurar el logro de los requerimientos de negocio acordado. Este debe seguir entonces, como ilustra la figura, que mientras el diseño físico de la red (capa de Tecnología) le de soporte al diseño lógico de la red (capa de red), entonces la red finalmente implementada debe apoyar las Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 36 de 59
necesidades estratégicas de negocios - el objetivo último de la parte superior del enfoque top-down para el análisis y el diseño LAN
Figura 10. Modelo Top-Down
Modelo de arriba hacia abajo Negocio
Etapa de diseño
Requisitos de negocios / ¿Que esperamos lograr? funciones
Aplicación Diseño de aplicación
Datos
Red
Tecnología
Cuestión clave
Diseño de base de datos
¿Cómo puedo nuestro sistema de información ayudarnos a alcanzar las metas? ¿Cómo nuestros datos se organizaran y se distribuirán con el fin de maximizar nuestra eficacia?
Modelo lógico de diseño ¿Lo que debe hacer nuestra red para apoyar la base de de red datos y las aplicaciones distribuidas? Diseño tecnológico del modelo físico de red
¿Qué componentes tecnológicos deben integrar la red con el fin de implementar una red que entregue el rendimiento y la funcionalidad que se indica en el diseño lógico?
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 37 de 59
MODELO PRESENTACIÓN, APLICACIÓN Y DATOS (P.A.D.) En términos muy generales, se puede afirmar que las comunicaciones involucran a tres agentes: aplicaciones, computadores y redes. Las aplicaciones se ejecutan en computadores que, generalmente, permiten múltiples aplicaciones simultáneas. Los computadores se conectan a redes y los datos a intercambiar se transfieren por la red de un computador a otro. Por tanto, la transferencia de datos desde una aplicación a otra implica, en primer lugar, la obtención de los mismos y, posteriormente, hacerlos llegar a la aplicación destino en el computador remoto. Teniendo esto presente, parece natural estructurar las tareas de las comunicaciones en tres capas relativamente independientes: la capa de acceso a la red, la capa de transporte y la capa de aplicación. La capa de acceso a la red está relacionada con el intercambio de datos entre el computador y la red a la que está conectado. El computador emisor debe proporcionar a la red la dirección del destino, de tal forma que la red pueda encaminar los datos al destino apropiado. El computador emisor necesitará hacer uso de algunos de los servicios proporcionados por la red, como por ejemplo la gestión de prioridades. Las características del software de esta capa dependerán del tipo de red que se use. Así, se han desarrollado diferentes estándares para conmutación de circuitos, conmutación de paquetes, redes de área local y otros. De esta manera, se pretende separar las funciones que tienen que ver con el acceso a la red en una capa independiente. Haciendo esto, el resto del software de comunicaciones que esté por encima de la capa de acceso a la red no tendrá que ocuparse de las características específicas de la red que se use. El mismo software de las capas superiores debería funcionar correctamente con independencia del tipo de red concreta a la que se esté conectado. Independientemente de la naturaleza de las aplicaciones que estén intercambiando datos, es un requisito habitual que los datos se intercambien de una manera fiable. Esto es, sería deseable estar seguros de que todos los datos llegan a la aplicación destino y, además, llegan en el mismo orden en que fueron enviados. Como se verá, los mecanismos que proporcionan dicha fiabilidad son independientes de la naturaleza de las aplicaciones. Por tanto, tiene sentido concentrar todos estos procedimientos en una capa común que se comparta por todas las aplicaciones, denominada capa de transporte. Finalmente, la capa de aplicación contiene la lógica necesaria para admitir varias aplicaciones de usuario. Para cada tipo distinto de aplicación, como por ejemplo la transferencia de archivos, se necesita un módulo independiente y con características bien diferenciadas. Las Figuras 2.2 y 2.3 ilustran esta arquitectura sencilla. En la Figura 2.2 se muestran tres computadores conectados a una red. Cada computador contiene software en las capas de acceso a la Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 38 de 59
red, de transporte y de aplicación para una o más aplicaciones. Para una comunicación con éxito, cada entidad deberá tener una dirección única. En realidad, se necesitan dos niveles de direccionamiento. Cada computador en la red debe tener una dirección de red. Esto permite a la red proporcionar los datos al computador apropiado. A su vez, cada aplicación en el computador debe tener una dirección que sea única dentro del propio computador; esto permitirá a la capa de transporte proporcionar los datos a la aplicación apropiada. Estas últimas direcciones son denominadas puntos de acceso al servicio (SAP, Service Access Point), o también puertos, evidenciando que cada aplicación accede individualmente a los servicios proporcionados por la capa de transporte. La Figura 2.3 muestra cómo se comunican, mediante un protocolo, los módulos en el mismo nivel de computadores diferentes. Veamos su funcionamiento. Supóngase que una aplicación, asociada al SAP 1 en el computador X, quiere transmitir un mensaje a otra aplicación, asociada al SAP 2 del computador Y. La aplicación en X pasa el mensaje a la capa de transporte con instrucciones para que lo envíe al SAP 2 de Y. A su vez, la capa de transporte pasa el mensaje a la capa de acceso a la red, la cual proporciona las instrucciones necesarias a la red para que envíe el mensaje a Y. Debe observarse que la red no necesita conocer la dirección del punto de acceso al servicio en el destino. Todo lo que necesita conocer es que los datos están dirigidos al computador Y.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 39 de 59
Para controlar esta operación, se debe transmitir información de control junto a los datos del usuario, como así se muestra en la Figura 2.4. Supongamos que la aplicación emisora genera un bloque de datos y se lo pasa a la capa de transporte. Esta última puede fraccionar el bloque en unidades más pequeñas para hacerlas más manejables. A cada una de estas pequeñas unidades, la capa de transporte le añadirá una cabecera, que contendrá información de control de acuerdo con el protocolo. La unión de los datos generados por la capa superior, junto con la información de control de la capa actual, se denomina unidad de datos del protocolo (PDU, Protocol Data Unit). En este caso, se denominará como PDU de transporte. La cabecera en cada PDU de transporte contiene información de control que será usada por el protocolo de transporte par en el computador Y. La información que se debe incluir en la cabecera puede ser por ejemplo: SAP destino: cuando la capa de transporte destino reciba la PDU de transporte, deberá saber a quién van destinados los datos. Número de secuencia: ya que el protocolo de transporte está enviando una secuencia de PDU, éstas se numerarán secuencialmente para que, si llegan desordenadas, la entidad de transporte destino sea capaz de ordenarlas. Código de detección de error: la entidad de transporte emisora debe incluir un código obtenido en función del resto de la PDU. El protocolo de transporte receptor realiza el mismo cálculo y compara los resultados con el código recibido. Si hay discrepancia se concluirá que ha habido un error en la transmisión y, en ese caso, el receptor podrá descartar la PDU y adoptar las acciones oportunas para su corrección. El siguiente paso en la capa de transporte es pasar cada una de las PDU a la capa de red, con la instrucción de que sea transmitida al computador destino. Para satisfacer este requerimiento, el protocolo de acceso a la red debe pasar los datos a la red con una solicitud de transmisión. Como anteriormente, esta operación requiere el uso de información de control. En este caso, el protocolo de Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 40 de 59
acceso a la red añade la cabecera de acceso a la red a los datos provenientes de la capa de transporte, creando así la PDU de acceso a la red. A modo de ejemplo, la cabecera debe contener la siguiente información: La dirección del computador destino: la red debe conocer a quién (qué computador de la red) debe entregar los datos. Solicitud de recursos: el protocolo de acceso a la red puede pedir a la red que realice algunas funciones, como por ejemplo, gestionar prioridades.
En la Figura 2.5 se conjugan todos estos conceptos, mostrando la interacción desarrollada entre los módulos para transferir un bloque de datos. Supongamos que el módulo de transferencia de archivos en el computador X está transfiriendo, registro a registro, un archivo al computador Y. Cada registro se pasa al módulo de la capa de transporte. Se puede describir esta acción como si se tratase de una orden o una llamada a un procedimiento. Los posibles argumentos pasados en la llamada a este procedimiento serán la dirección del destino, el SAP destino y el registro del archivo. La capa de transporte añade el punto de acceso al servicio e información de control adicional, que se agregará al registro para formar la PDU de transporte. Ésta se pasa a la capa inferior de acceso a la red mediante la llamada a otro procedimiento. En este caso, los argumentos para esta llamada serán la dirección del computador destino y la unidad de datos del protocolo de transporte. La capa de acceso a la red usará esta información para construir la PDU de red. La PDU de transporte es el campo de datos de la PDU de red, y su cabecera contendrá información relativa a las direcciones origen y destino. Nótese que la cabecera de transporte no es «visible» al nivel de acceso a la red; en otras palabras, a dicho nivel no le concierne el contenido concreto de la PDU de transporte. Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 41 de 59
La red acepta la PDU de transporte de X y la transmite a Y. El módulo de acceso a la red en Y recibe la PDU, elimina la cabecera y pasa la PDU de transporte adjunta al módulo de la capa de transporte de Y. La capa de transporte examina la cabecera de la unidad de datos del protocolo de transporte y, en función del contenido del campo de la cabecera que contenga el SAP, entregará el registro correspondiente a la aplicación pertinente, en este caso, al módulo de transferencia de archivos de Y.
MODELO OSI La determinación de que la tecnología y protocolos a emplear para cumplir con los requisitos determinados en el diseño lógico de la red, obtenidos a partir de la capa de red del modelo top-down, requiere de una metodología estructurada de sí mismo. Afortunadamente, ISO (International Standards Organization) desarrolló un marco para la organización de la tecnología de redes y protocolos que se conoce como el modelo OSI (Open System Interconnection). El modelo OSI divide la comunicación entre dos dispositivos conectados en red en siete capas o categorías.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 42 de 59
Figura 11. Tabla Modelo OSI
Al intentar solucionar problemas de LAN, inevitablemente, el analista de redes experto inicia con la capa física (capa 1) y asegura que los protocolos e interfaces en cada nivel están en funcionamiento antes de pasar a la capa superior del modelo OSI. El modelo OSI permite a los técnicos de comunicaciones, así como a los desarrolladores hablar de la interconexión de dos redes o equipos en términos más comunes sin tener que lidiar en la jerga del vendedor propietario. Estos "términos comunes" son el resultado de la arquitectura en capas del modelo OSI. La arquitectura divide la tarea de comunicación entre dos equipos en tareas independientes pero que se relacionan entre sí, cada una representada por su propia capa. La capa superior (capa 7) representa los servicios requeridos por el programa de aplicación que se ejecuta en cada equipo y se la llama "capa de aplicación". La capa inferior (capa 1) tiene que ver con la conexión física de los dos equipos o redes, de ahí su nombre "capa física". El resto de las capas (de 2 a 6) puede no ser tan obvio, pero, sin embargo, representan un grupo lógico de funciones necesarias para conectar dos ordenadores, suficientes como para justificar una capa separada. Algunas de las capas se dividen en sub-capas. Para utilizar el modelo OSI, un analista de red, lista los protocolos para cada dispositivo informático o nodo de la red para cada una de las 7 capas del modelo OSI. La colección de estos Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 43 de 59
protocolos listados en cada capa se conoce como “pila de protocolos” del nodo de red. Por ejemplo, los medios de comunicación físicos empleados como par trenzado sin blindaje, cable coaxial o cable de fibra óptica se introduce como protocolo de capa 1, mientras que las arquitecturas Ethernet o Token puede ser introducidas como un protocolo de capa 2. Técnicamente hablando, las características eléctricas y mecánicas del tipo de medio seleccionado es el nivel real de un protocolo. Los propios medios de comunicación se refiere a veces como nivel 0. El modelo OSI permite a los analistas de la red producir un inventario preciso de los protocolos presentes en cualquiera de los nodos de la red. Finalmente, el modelo OSI proporciona una metodología estructurada para determinar qué tecnología de hardware y software se requiere en el diseño físico de la red con el fin de cumplir con los requisitos del diseño lógico de la red. El modelo OSI no es un protocolo o un grupo de protocolos, sino que se trata de un marco estandarizado vacío en el que los protocolos se pueden enumerar en orden para realizar un análisis y diseño de una LAN eficaz. La ISO ha elaborado también un conjunto de protocolos OSI que corresponden a algunas de las capas del modelo OSI. Es importante diferenciar entre el modelo OSI y los protocolos de OSI.
MODELO MODELO TCP/IP Aunque el modelo OSI es quizá más famoso que cualquiera de los protocolos OSI, todo lo contrario se puede decir de un modelo y los protocolos asociados, conocido como "Suite de protocolos de Internet", también conocido como "conjunto de protocolos TCP/IP" o "arquitectura TCP/IP". Esta arquitectura de comunicaciones toma su nombre de TCP/IP (Transmission Control Protocol/Internet Protocol), los protocolos estándares de interconexión de sistemas abiertos. Como puede verse, TCP e IP son sólo dos de los protocolos asociados a este modelo. Al igual que el modelo OSI, el modelo TCP/IP es una arquitectura en capas, en las que las capas superiores utilizar la funcionalidad ofrecida por los protocolos de las capas inferiores. Los protocolos de cada capa son capaces de operar independientemente de los protocolos de las otras capas. Por ejemplo, los protocolos de un nivel determinado pueden ser actualizados o modificados sin tener que cambiar todos los demás protocolos en todas las otras capas. Un ejemplo reciente es la nueva versión de IP conocida como IPng (IP Next Generation), o IPv6 (IP versión 6) que fue desarrollado en respuesta a una escasez de direcciones IP. Este cambio propuesto es posible, sin la necesidad de cambiar todos los otros protocolos en la arquitectura TCP / IP. Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 44 de 59
Esta arquitectura de comunicaciones podría ser utilizada para analizar y diseñar las comunicaciones entre redes. En el caso del modelo de suite de protocolos de Internet, las funciones de interconexión de redes de comunicación se dividen en 4 capas en lugar de 7. Algunos analistas consideran al modelo TCP/IP más simple y más práctico que el Modelo OSI.
Figura 12. Modelo OSI vs Modelo TCP/IP
MIDDLEWARE
Introducción El Middleware podría ser considerado como la “/” cuando hablamos de cliente/servidor. Es una capa de software que ofrece transparencia para llevar a cabo la comunicación y el traspaso de información entre clientes y servidores. Se encuentra entre la capa de aplicaciones y la capa de transporte en ambos, ya sea cliente o servidor. La utilización del Middleware permite desarrollar aplicaciones en arquitectura Cliente/Servidor independizando los servidores y clientes, facilitando la interrelación entre ellos y evitando dependencias de tecnologías propietarias Funciona como una capa de abstracción de software distribuida, que se sitúa entre las capas de aplicaciones y las capas inferiores (sistema operativo y red). El middleware abstrae de la Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 45 de 59
complejidad y heterogeneidad de las redes de comunicaciones subyacentes, así como de los sistemas operativos y lenguajes de programación, proporcionando una API para la fácil programación y manejo de aplicaciones distribuidas. Dependiendo del problema a resolver y de las funciones necesarias, serán útiles diferentes tipos de servicios de middleware. Por lo general el middleware del lado cliente está implementado por el Sistema Operativo, el cual posee las bibliotecas que ejecutan todas las funcionalidades para la comunicación a través de la red.
Clasificación La clasificación del software middleware puede ser descrita en dos grandes categorías: una de integración y otra de aplicación. Éstas poseen a su vez diferentes clases. Categoría de integración El tipo de integración que incluyen posee la capacidad de unirse con sistemas heterogéneos. Cada middleware posee diferentes protocolos de comunicación o formas de operar en diferente software. Los tipos de integración se pueden ver como: Orientados a procedimiento o procesos: Los middleware que son orientados a procesos, utilizan una comunicación sincronizada (como por ejemplo el teléfono). Una de las características de estos, es que utilizan el client stub y el server skeleton. El client stub convierte la petición en un mensaje que es mandado al servidor; luego el server skeleton recibe el mensaje, lo convierte en la petición y llama a la aplicación del servidor donde ésta es procesada. Terminado el procesamiento, ocurre el proceso inverso. El client stub verifica los errores, envía los resultados al software que inició la petición y entonces suspenden el proceso. Las ventajas de estos middleware es que usan un tipo estándar en nombres de servicios y procesos remotos, pueden retornar respuesta aún con problemas en la red y pueden manejar múltiples tipos de formatos para datos y niveles heterogéneos de sistemas de servicio. Las desventajas son que no poseen escalabilidad, no pueden retornar la información a un programa diferente del que realizó la solicitud (reflexión) y poseen procesos muy rígidos. Orientados a objetos: Soportan pedidos de objetos distribuidos. La comunicación entre los objetos puede ser sincronizada, sincronizada diferida o no sincronizada. Soportan múltiples pedidos similares realizados por múltiples clientes en una transacción. La forma de operar es: 1. El objeto cliente llama a un método lógico para obtener un objeto remoto. Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 46 de 59
2. Un ORB Proxy (también conocido como stub) pone en orden la información y la transmite a través del agente (broker). 3. El agente actúa como punto medio y contacta con diversas fuentes de información, obtiene sus referentes IDs, recolecta información y, en ocasiones, la reorganiza. 4. El proxy remoto (también conocido como skeleton) desordena la información que le llega del agente y se la pasa al objeto servidor. 5. El objeto servidor procesa la información y genera un resultado que es devuelto al cliente siguiendo los pasos inversos. Las ventajas son que permiten generar reflexión y escalabilidad, que opera con múltiples tipos de información y estados y que soporta procesos múltiples. Las desventajas consisten en obtener la existencia de vínculos antes de la ejecución y de un código contenedor para algunos sistemas heredados. Orientados a mensajes (MOM, Message-oriented middleware): Se pueden dividir en dos tipos, espera y publicación/suscripción. El paso de espera se puede dividir en mensaje y espera. El paso de mensaje inicia con que la aplicación envía un mensaje a uno o más clientes, con el MOM del cliente. El servidor MOM, recoge las peticiones de la cola (Message Broker) en un orden o sistema de espera predeterminado. Los actos del servidor MOM son como un router y usualmente no interactúan con estas. El MOM de publicación y suscripción actúa de manera ligeramente diferente, es más orientado a eventos. Si un cliente quiere participar por primera vez, se une al bus de información. Dependiendo de su función, si es como publicador, suscriptor y ambas, este registra un evento. El publicador envía una noticia de un evento al bus de memoria. El servidor MOM envía un anuncio al subscriptor registrado cuando la información está disponible. Orientados a componentes: Un componente es un «programa que realiza una función específica, diseñada para operar e interactuar fácilmente con otros componentes y aplicaciones». El middleware en este caso en una configuración de componentes. Los puntos fuertes de este middleware es que es configurable y reconfigurable. La reconfiguración se puede realizar en tiempo de ejecución, lo que ofrece una gran flexibilidad para satisfacer las necesidades de un gran número de aplicaciones. Agentes: Los agentes son un tipo de middleware que posee varios componentes: •
Entidades. Pueden ser objetos o procesos.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 47 de 59
•
Medios de comunicación. Pueden ser canales, tuberías, etc.
•
Leyes. Identifican la naturaleza interactiva de los agentes. Pueden ser la sincronización o el tipo de esquema.
Las ventajas de los middleware agentes son que la capacidad de éstos para realizar una gran cantidad de tareas en nombre del usuario y para cubrir una amplia gama de estrategias basadas en el entorno que les rodea. Sin embargo su implementación es complicada debido a la complejidad y dificultades dadas por las operaciones que manejan. Categoría de Aplicación La clasificación por aplicación incluye los middleware que son ajustados para aplicaciones específicas. Middleware para acceso a información (DAM, Data Access middleware): Los middleware para acceso a información tienen la característica de poder interactuar con diversas fuentes de datos. En este tipo de middleware se encuentran los que procesan transacciones, gateways de bases de datos y sistemas distribuidos de transacción/procedimiento. Sus ventajas residen en la comunicación que tienen entre múltiples fuentes de datos, la conversión del lenguaje de programación de la aplicación a un lenguaje aceptado por la fuente de datos de destino y la capacidad de respuesta en un formato y lenguaje aceptable para el solicitante. Middleware de escritorio: Los middleware de escritorio pueden hacer variaciones en la presentación de la información pedida por el usuario por aplicaciones de rastreo y asistencia, controlar cualquier servicio de transporte y proveer una copia de seguridad y otras operaciones de fondo. Otras pueden ser manutención y gráficas, ordenamientos, directorios de servicios, manejo de información de la base de datos, manejo de procesos, calendarización de trabajos, notificación de eventos de servicios, manejo de instalación de software, servicios de cifrado y control de accesos. Middleware basados en la web: Este tipo de middleware asiste al usuario con la navegación web, el uso de interfaces que le permiten encontrar páginas de su interés y detectar cambios de interés del usuario basado en su historial de búsquedas. Provee de un servicio de identificación para un gran número de aplicaciones y comunicación entre procesos independiente del sistema operativo, protocolo de red y plataforma de hardware. Los middleware que se encuentran fuertemente unidos a la red se llaman servidores de aplicaciones, ya que mejoraran el rendimiento, disponibilidad, Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 48 de 59
escalabilidad, seguridad, recuperación de información, y soportan la administración colaborativa y su uso. Los middleware pueden contactar directamente a la aplicación ganando mejor comunicación entre el servidor y el cliente. Otros servicios importantes dados por este tipo de middleware son servicios de directorios, correos electrónicos, cadenas de suministros de gran tamaño, accesos remotos a información, descarga de archivos, accesos a programas y acceso a aplicaciones remotas. Middleware a tiempo real: La información en tiempo real es caracterizada porque la información correcta en un instante puede no serlo en otro. Los middleware en tiempo real soportan las peticiones sensibles al tiempo y políticas de planificación. Esto se realiza con servicios que mejoran la eficiencia de las aplicaciones de usuario. Los middleware en tiempo real se pueden dividir en diferentes aplicaciones: •
Aplicación de base de datos en tiempo real.
•
Sensor de procesamiento.
•
Transmisión de información.
La información que pasa a través de un middleware en tiempo real se ha incrementado dramáticamente con la introducción de Internet, redes inalámbricas, y las nuevas aplicaciones basadas en la difusión. Las ventajas de este tipo de middleware son que proveen un proceso de decisión que determina el mejor criterio para resolver procesos sensibles al tiempo, y la posibilidad de ayudar a los sistemas operantes en la localización de recursos cuando tienen tiempos límites de operación. Los middleware multimedia son una rama mayor en los middleware en tiempo real. Éstos pueden manejar una gran variedad de información. Estos tipos pueden ser textos, imágenes de todo tipo (GPS, imágenes, etc.), procesadores de lenguajes naturales, música y video. La información debe ser recopilada, integrada y entonces enviada al usuario sensible del tiempo. Los dispositivos multimedia pueden incluir una mezcla de dispositivos tanto físicos (parlantes, cámaras, micrófono) como lógicos. Middleware especialistas: En muchos casos los middleware proveen una tarea muy específica que no se puede ajustar a las categorías anteriores. Un ejemplo serían middlewares médicos.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 49 de 59
SISTEMAS OPERATIVOS DISTRIBUIDOS. Existen muchas definiciones y no siempre coincidentes. Nosotros diremos que un sistema distribuido es un conjunto de computadores independientes que se presenta a los usuarios como un sistema único. En esta definición cabe destacar dos aspectos. Uno, el hardware. La definición habla de máquinas autónomas, es decir, que pueden operar sin la supervisión de ninguna otra. Dos, el software, que debe conseguir que los usuarios del sistema lo vean como una máquina central convencional única. Concepto de Sistemas Operativos distribuidos Permiten distribuir trabajos, tareas o procesos, entre un conjunto de procesadores. Puede ser que este conjunto de procesadores esté en un equipo o en diferentes, en este caso es trasparente para el usuario. Existen dos esquemas básicos de éstos. Un sistema fuertemente acoplado es aquel que comparte la memoria y un reloj global, cuyos tiempos de acceso son similares para todos los procesadores. En un sistema débilmente acoplado los procesadores no comparten ni memoria ni reloj, ya que cada uno cuenta con su memoria local. Los sistemas distribuidos deben de ser muy confiables, ya que si un componente del sistema se compone otro componente debe de ser capaz de reemplazarlo. Entre los diferentes Sistemas Operativos distribuidos que existen tenemos los siguientes: Sprite, Solaris-MC, Mach, Chorus, Spring, Amoeba, Taos, etc. Aspectos de los Sistemas Operativos distribuidos: •
Colección de sistemas autónomos capaces de comunicación y cooperación mediante interconexiones hardware y software.
•
Gobierna operación de un S.C. y proporciona abstracción de máquina virtual a los usuarios.
•
Objetivo clave es la transparencia.
•
Generalmente proporcionan medios para la compartición global de recursos.
•
Servicios añadidos: denominación global, sistemas de archivos distribuidos, facilidades para distribución de cálculos (a través de comunicación de procesos internodos, llamadas a procedimientos remotos, etc.).
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 50 de 59
Características de Sistemas Distribuidos Hasta aquí nos hemos dedicado a hacer un repaso del hardware sobre el que puede construirse un sistema distribuido y del tipo de software que da al usuario del mismo una vista o apariencia más o menos integrada. En el resto del capítulo vamos a detenernos en los aspectos que hay que considerar en la construcción de un sistema para que pueda ser entendido como realmente distribuido. Estos aspectos son la transparencia, la flexibilidad, la fiabilidad, las prestaciones y la escalabilidad.
Trasparencia Se dice que un sistema distribuido es trasparente cuando es visto tanto por el usuario como por el programador como un sistema convencional de tiempo compartido. La trasparencia total es difícil de lograr. Parcialmente, el concepto de transparencia puede ser aplicado a varios aspectos de un sistema distribuido. La transparencia a la ubicación consiste en que los nombres de los recursos no estén ligados a las máquinas concretas. Por ejemplo, en un sistema que sea transparente a la localidad, no se permiten en una llamada al sistema open nombres como maquina1/home/pipo/agenda. La transparencia a la migración es un concepto un tanto más elaborado. Consiste en que los recursos, si bien su nombre no depende de su localización, cuando esta cambia, el nombre del recurso cambia. Consideremos un sistema con dos servidores de ficheros. Los usuarios ven el directorio raíz del primer servidor como el directorio /libros y el segundo como /artículos. Supongamos que en el servidor segundo tenemos el directorio acta, que los usuarios ven cómo /artículos/acta. El administrador del sistema puede considerar que los artículos del directorio acta, que han sido compilados y editados en una publicación única, deben ser considerados como un libro, de modo que son migrados al otro servidor en el directorio acta. Ahora, el usuario no ve el directorio /artículos/acta y sí percibe que ha aparecido el directorio /libros/acta. Este cambio en la ubicación física de un directorio ocasiona que el nombre del directorio cambie de nombre. Se puede decir que este sistema de ficheros no es transparente a la migración. Para aumentar la seguridad de los sistemas, en ocasiones se replican ciertos recursos. La transparencia a la replicación consiste en que el nombre de los recursos debe ser independientes de la réplica concreta. En el ejemplo anterior, el directorio /acta puede residir en los dos servidores para mayor seguridad. Sin embargo cada réplica tendría un nombre asociado, bien /artículos/acta, bien /libros/acta. Un sistema de ficheros transparente a la replicación sería aquel en el cual varios servidores dispuestos en un anillo lógico mantuviesen la misma jerarquía de directorios, pero los Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 51 de 59
ficheros no se encuentran en todas las máquinas. El sistema decide en qué máquinas replicar un fichero. Cuando se produce un acceso a un fichero por parte de un proceso, la petición se dirige al primer servidor. Si no está el fichero, la solicitud se redirije al siguiente, etc. El primer servidor que mantenga el fichero atenderá la petición. Lo importante es que el nombre del fichero es independiente de si el fichero está replicado o no, cuántas veces y en qué máquinas. Otro aspecto de la transparencia es la denominada transparencia a la concurrencia. En ocasiones, en un sistema de tiempo compartido dos procesos acceden al mismo registro de un fichero. El que dicha posibilidad exista no debe influir en la forma que es accedido el fichero en el proceso de usuario. Este sistema de acceso debiera se transparente a la concurrencia. Sin duda alguna, la transparencia más difícil de alcanzar es la transparencia al paralelismo. Cuando se dispone de más de una UCP, los problemas se pueden descomponer en procesos, cada uno de ellos ejecutando en una UCP y comunicándose a través de mensajes. Esta aproximación exige del programador que conozca de cúantas UCP dispone su sistema y conozca que su programa admite una descomposición en actividades que pueden ser ejecutadas en paralelo. Sería ideal que el compilador del programa y el sistema operativo llevasen a cabo dicha descomposición. Desgraciadamente, el estado actual de los conocimientos en nos sitúa aún muy lejos de lograr la transparencia al paralelismo.
Flexibilidad Este aspecto se refiere a la forma en que debe ser construido el sistema operativo. Conviven dos escuelas de pensamiento que son las del kernel monolítico y las del sistema operativo basado en microkernel. La primera sostiene que los servicios del sistema deben residir en el sistema operativo y la segunda que es preciso extraer todos los servicios posibles fuera del núcleo del sistema operativo y disponerlos en procesos de usuario, logrando un mayor estructura e independencia en los servicios, que pueden residir en máquinas diferentes. Hoy en día el kernel monolítico domina el mundo de los sistemas operativos, pero parece que el futuro se impondrá la filosofía microkernel, debido a su mayor flexibilidad. Para obtener un servicio, un proceso de usuario envía un mensaje al servidor adecuado. El kernel sólo se ocupa de realizar el paso del mensaje y es el proceso de usuario quien realiza el trabajo cuado recibe el mensaje. Es la facilidad para añadir, suprimir y modificar los servicios los que que da la flexibilidad al sistema microkernel. Por ejemplo, puede fácilmente disponerse de dos sistemas de ficheros, UNIX, donde los discos mantienen la asignación de los ficheros en i-nodos y MS-DOS, donde los discos mantienen la FAT. Con un kernel monolítico, el sistema de ficheros es el que es y no puede modificarse. La única ventaja de los kernel monolíticos sobre los microkernels es su mayor velocidad debido a la ausencia de tráfico de mensajes. Sin embargo, en los sistemas operativos distribuidos Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 52 de 59
existen otros factores a considerar además del tráfico de mensajes que minimizan el impacto de estos en las prestaciones del sistema global, de modo que en un futuro previsible se impondrán los sistemas microkernel.
Fiabilidad Una de las motivaciones originales para tratar de construir sistemas distribuidos fue el aumento de la fiabilidad del sistema. En un sistema con cien UCP's el fallo de uno de ellas no tendrá consecuencias graves, porque su trabajo será realizado por las otras. En un sistema en el que el sistema de ficheros se reparte en cuatro servidores, cada uno de ellos con una probabilidad de que en un instante dado sea inoperativo de 0.05, la probabilidad de que el sistema de ficheros completo no sea operativo es de 0.054 = 0.000006. No obstante, esta es sólo parte de la verdad. Una cita muy famosa de Leslie Lamport define un sistema distribuido como aquel en el que nunca se puede hacer nada porque siempre necesita de un servicio que presta una máquina que uno nunca sabe dónde está que se ha estropeado. Así, el ejemplo anterior puede interpretarse del siguiente modo. Ya que la probabilidad de que uno de los servidores esté disponible es del 0.95, la probabilidad de que un proceso que necesite acceder a los cuatro servidores pueda ejecutarse es de 0.954 = 0.84. La fiabilidad tiene varios aspectos. Uno es la disponibilidad, que es la fracción de tiempo en que el sistema es operativo. La disponibilidad aumenta cuando no es preciso que muchos componentes críticos del sistema necesiten estar operativos simultáneamente, pero desde luego la clave para garantizar la disponibilidad es la replicación de los componentes, sean software o hardware. Si uno falla, otro estará disponible. La redundancia, no obstante, acarrea otros problemas. Entre ellos está la consistencia de los datos. A mayor número de copias, mayor es la probabilidad de que se produzcan inconsistencias, especialmente si al número de escrituras es muy alto. Otro aspecto de la fiabilidad es el de la seguridad de los datos, que deben ser protegidos contra accesos no autorizados que los corrompan o eliminen. El problema de seguridad crece en los sistemas distribuidos debido al aumento del número de mensajes que circulan por las líneas de comunicación, que pueden ser interceptados e impostados por máquinas ajenas al sistema. Supongamos un sistema distribuido formado por las máquinas A, B, C y D. Si la máquina F tiene acceso a las líneas de comunicación, F puede enviar un mensaje a A solicitándola un servicio como puede ser el acceso a determinado registro de datos confidencial. En el campo del mensaje que determina la máquina fuente siempre puede insertar el nombre de la máquina B. La máquina A no tiene medio de saber que el mensaje ha sido impostado y contesta a la máquina B. Este mensaje también es interceptado o leído por la máquina F. Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 53 de 59
Prestaciones Por muy brillantemente que hayan sido resueltos los objetivos de transparencia y fiabilidad de un sistema operativo distribuido, este no tendrá éxito si es lento. La velocidad de los sistemas distribuidos viene comprometida por el tráfico de mensajes en las líneas de comunicación. En una red local, el envío de un mensaje puede llevar alrededor de un milisegundo. La mayoría de este tiempo se gasta en la ejecución de los protocolos de comunicación en ambos extremos de la línea. El aumento de velocidad pasa necesariamente por minimizar el número de mensajes intercambiados. Por una parte, el descomponer un problema en actividades que pueden ser ejecutadas en paralelo y asignarlas a distintos procesadores es la mejor manera de resolver el problema de forma eficiente. Por otra parte, a mayor número de procesadores, mayor es el número de mensajes intercambiados. Aparece así el concepto de la granularidad de los cálculos. El problema de sumar cuatro enteros puede ser descompuesto en dos subproblemas. El primero es sumar los dos primeros números y el segundo el sumar los dos últimos. Desde luego no merece la pena el solicitar un servicio remoto para sumar dos enteros por que el costo de las comunicaciones es incomparablemente mayor que el ahorro de tiempo conseguido en su ejecución simultánea. En general, se puede decir que un sistema operativo distribuido dará pocas prestaciones en problemas de granularidad fina, es decir aquellos en que muestran muchos cálculos pequeños que se comunican intensamente. Si son apropiados en la resolución de problemas de granularidad gruesa, aquellos que exiben unos pocos bloques de cálculo independientes y pocas necesidades de comunicación.
Escalabilidad A pesar de los progresos de los últimos años, con sistemas concretos y desarrollados, el diseño de sistemas operativos distribuidos es un campo aún poco conocido e investigado. Los actuales sistemas abarcan como máximo unos cientos de máquinas. A medida que la informática se introduce en las actividades cotidianas y el ordenador se introduce en los hogares, comienzan a perfilarse sistemas de miles de millones de máquinas. La pregunta que se plantea es la siguiente. ¿Los métodos y algoritmos utilizados en los sistemas operativos distribuidos actuales son apropiados, es decir, escalan adecuadamente cuando el número de componentes aumenta en órdenes de magnitud? Aunque se sabe aún muy poco acerca de estos enormes sistemas futuros, una cosa parece estar clara: hay que evitar componentes, estructuras de datos -tablas, etc- y algoritmos que operen de forma centralizada. En cuanto a los componentes o máquinas, es posible tener un único servidor que atienda a cuatro cientos millones de hispanohablantes, pero más vale repartir su carga de trabajo entre Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 54 de 59
otros servidores a fin de paliar los efectos de una interrupción del servicio. En cuanto a las tablas, se puede mantener los números de teléfono de cuatrocientos millones de personas en una sola máquina. Supongamos un registro de 50 caracteres. El listado total requiere un almacenamiento de 50 * 4 * 108 = 20 * 109 = 20 Gbytes, que puede soportar incluso una única unidad de disco. No obstante, concentrar las peticiones en esta máquina saturaría no sólo su UCP sino las líneas de comunicación que salen y entran en el sistema. Centralizar algoritmos tampoco es una buena idea. En un sistema distribuido grande, una cantidad enorme de mensajes debe ser encaminada a lo largo de muchas líneas y máquinas. La forma más eficiente de hacer esto es recabar periódicamente toda la información de la carga de todas las líneas y máquinas en una máquina central. Con la información obtenida esta máquina calculará todas las rutas óptimas empleando un algoritmo de teoría de teoría de grafos. Sus resultados serán después extendidos al resto de las máquinas del sistema. Una máquina única prestando servicios a demasiados clientes hemos visto que es inadecuada. En general, algoritmos que exijan el requerir información a todos los componentes, realizar cálculos con la información recabada y después distribuir los resultados deben ser evitados. Sólo deben usarse algoritmos descentralizados, que tienen las siguientes características. 1. Ninguna máquina tiene información completa acerca de todo el sistema. 2. Las máquinas toman decisiones basadas solamente en información local. 3. El fallo de una de las máquinas no malogra el algoritmo. 4. No existe un reloj común.
Este último aspecto quizás se entienda peor. En una red local, las máquinas se pueden sincronizan en un intervalo del milisegundo, pero sincronizar máquinas a nivel nacional, por ejemplo, es más complicado.
Ventajas •
Economía: Es la razón número uno para elegir los S.O.D. ya que estos sistemas se suponen con una proporción precio/desempeño mucho mejor que la de un equipo de super cómputo.
•
Velocidad: Los S.O.D. pueden ser más veloces y tener mayor poder de cómputo que un mainframe.
•
Distribución inherente: Porque ciertas aplicaciones son distribuidas en forma inherente.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 55 de 59
•
Confiabilidad: Un S.O.D. ofrece mayor confiabilidad al distribuir la carga de trabajo entre muchas máquinas, la falla de un circuito descompondrá a lo más una máquina y el resto seguirá intacto.
•
Desarrollo incremental de la madurez del sistema: Para añadir poder de cómputo, no se necesita rediseñar ni gastar en componentes más caros, sólo hay que multiplicarlos. Por ejemplo basta con añadir más procesadores al sistema, lo que facilita la escalabilidad y su planificación.
Desventajas •
Software: No hay mucha experiencia en el diseño, implantación y uso del software distribuido, además existen pocos productos de software para los sistemas distribuidos.
•
Redes: Una vez que el sistema llega a depender de la red, la pérdida o saturación de ésta puede negar algunas de las ventajas que el S.O.D. debía conseguir.
En general al juzgar y entender los S.O.D. debemos seguir los lineamientos de las leyes informáticas sobre Cuellos de Botella, Gasto Mínimo de Recursos, Balance Costo/Complejidad y la Ley de Rendimientos Decrecientes; aunque se supone que se mejoran estas debilidades de los S.O. centralizados, no se pueden soslayar totalmente.
SISTEMAS OPERATIVOS DE RED RED La primera aproximación de la industria hacia los S.O.D. fueron los productos de S.O. en red, que apoyados en la especificación IEEE para redes locales surgieron al mercado en los años 90's. Uno de los más celebrados es el S.O. Novell Netware, que además podía instalarse en entornos definidos MSDOS o Windows. Otros productos similares son los sistemas Windows NT de Microsoft, los sistemas de red AppleTalk de Apple, y por supuesto los sistemas UNIX y LINUX. Otros casos son Lantastic de Artisoft que es una red semidistribuida y Banyan de Vines que usa una tecnología Xerox Network System en una arquitectura cliente-servidor. Estos sistemas, si bien han demostrado su utilidad, tienen su límite de potencia asociado a los cuellos de botella, los tiempos de espera y el troughput del kernel, de ahí que no se puede esperar obtener alto rendimiento sin hacer cambios a la arquitectura. La necesidad de implementar S.O.D. nace de la dificultad de obtener e implantar equipos de super-cómputo, ya que ni siquiera existe una medida que defina dónde terminan las especificaciones de uno y terminan las de otro. En general los Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 56 de 59
requerimientos de conexiones múltiples de usuarios o módulos, y la necesidad de procesar una gran cantidad de operaciones dan lugar a la creación del modelo de S.O.D.
Características de los Sistemas Operativos de Red En general, se puede decir que un Sistema Operativo tiene las siguientes características: •
Conveniencia. Un Sistema Operativo hace más conveniente el uso de una computadora.
•
Eficiencia. Un Sistema Operativo permite que los recursos de la computadora se usen de la manera más eficiente posible.
•
Habilidad para evolucionar. Un Sistema Operativo deberá construirse de manera que permita el desarrollo, prueba o introducción efectiva de nuevas funciones del sistema sin interferir con el servicio.
•
Encargado de administrar el hardware. El Sistema Operativo se encarga de manejar de una mejor manera los recursos de la computadora en cuanto a hardware se refiere, esto es, asignar a cada proceso una parte del procesador para poder compartir los recursos.
•
Relacionar dispositivos (gestionar a través del kernel). El Sistema Operativo se debe encargar de comunicar a los dispositivos periféricos, cuando el usuario así lo requiera.
•
Organizar datos para acceso rápido y seguro.
•
Manejar las comunicaciones en red. El Sistema Operativo permite al usuario manejar con alta facilidad todo lo referente a la instalación y uso de las redes de computadoras.
•
Procesamiento por bytes de flujo a través del bus de datos.
•
Facilitar las entradas y salidas. Un Sistema Operativo debe hacerle fácil al usuario el acceso y manejo de los dispositivos de Entrada/Salida de la computadora.
•
Técnicas de recuperación de errores.
•
Evita que otros usuarios interfieran. El Sistema Operativo evita que los usuarios se bloqueen entre ellos, informándoles si esa aplicación está siendo ocupada por otro usuario.
•
Generación de estadísticas.
•
Permite que se puedan compartir el hardware y los datos entre los usuarios.
Ventajas La gestión se vuelve más sencilla: Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 57 de 59
•
La gestión de los recursos y equipos de la red se hace de forma centralizada.
•
Puede conectar los equipos y recursos de la red.
•
Coordina funciones de periféricos y recursos.
•
Proporciona seguridad en el control de acceso.
•
Optimiza la utilización de los recursos
Desventajas •
Equipos más caros y potentes para actuar como servidores
•
Coste del sistema operativo (coste por conexiones simultáneas...)
•
Sistema crítico: necesidad de redundancia, personal especializado, etc.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 58 de 59
GUIA DE REVISION BIBLIOGRAFICA
Preguntas •
¿Cuáles son las características de las redes entre pares?
•
¿Cómo funciona una red peer-to-peer?
•
¿Cuál es la controversia más fuerte de las redes p2p?
•
Según el grado de centralización, ¿cómo clasificaría las redes p2p?
•
¿Cuál es la principal característica de las redes cliente / servidor?
•
¿Cómo funciona una red cliente / servidor?
•
¿Describa al menos 4 características de la arquitectura cliente / servidor?
•
Nombre ventajas y desventajas del modelo cliente / servidor.
•
¿Cuáles son las capas del modelo Ascendente Descendente, también conocido como holístico o “Top Down”?
•
¿Qué nos garantiza la aplicación correcta del modelo Ascendente / Descendente?
•
Explique el modelo PAD
•
¿Qué funciones cumple el “middleware”?
•
Enumere y desarrolle 4 ventajas y/o desventajas de las thinclient
•
¿En qué se diferencian los clientes robustos con los delgados?
•
Nombre 4 características de los Sistemas Operativos Distribuidos. Luego explique al menos una de ellas.
•
Nombre 4 características de los Sistemas Operativos de Red. Luego explique al menos una de ellas.
•
Realice una tabla comparativa de ventajas y desventajas de S.O.D. y S.O.R.
Teleprocesamiento Avanzado – Ing. Medín Cristian
Página 59 de 59
View more...
Comments