Apuntes del Curso de: Sistemas Operativos de Red (SOR) Mtro. Manuel Suárez Gutiérrez Agosto -­‐ 2012 Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! Temario: Introducción a la asignatura. Tema 1: Introducción a los Sistemas Operativos de Red. 1.1 ¿Qué es un Sistema Operativo? 1.2 Conceptos básicos de los S.O. 1.3. ¿Qué es una Red? 1.4. Capas del Modelo OSI 1.5. Sistema Operativo de Red 1.6. Arquitectura de los Sistemas Operativos de Red 1.7. Sistemas de Archivos Tema 2: Servicios básicos. 2.1. Compartición de archivos. 2.2. Servicios de impresión. 2.3. Servicios de directorios. Tema 3: Entornos de aplicación de los sistemas operativos de red. 3.1. Redes Peer-­‐to-­‐Peer 3.2. Redes Cliente – Servidor 3.3. Modelo de tres capas Tema 4: Componentes. 4.1. Diferencias de SW entre servidor y estación cliente. 4.2. Servidor básico. 4.3. Software para estaciones cliente. 4.3.1. Soporte a las comunicaciones. 4.3.2. Componentes cliente. 4.4. Componentes de servicio distribuido. Tema 5: Servicios extendidos. 5.1. Correo electrónico. 5.2. HTTP. 5.3. FTP. 5.4. DNS. 5.5. Arranque remoto. 5.6. Acceso remoto. ! Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! Tema 6: Gestión de los Sistemas Operativos de Red. 6.1. Creación de cuentas de usuarios 6.2. Filtrado y manejo de procesos 6.3. Habilitación de servicios 6.2. Compartición de recursos. 6.3. Gateway SNA. 6.4. Gateway a Internet. 6.5. Proxy. 6.6. Base de datos. 6.7. Autentificación. 6.8. Respaldo de datos. Tema 7: Afinación del rendimiento. 7.1. Introducción. 7.2. Cuellos de botella. 7.3. Desempeño del servidor. 7.4. Desempeño de la red. Tema 8: Planeación de la capacidad. 8.1. Recursos de procesamiento. 8.2. Recursos de conectividad 8.3. Capacidades de administración. Tema 9: Revisión de conceptos generales complementarios para prácticas 9.1. Sesiones remotas 9.2. Comandos en Linux para red 9.3. Comandos en Windows para red 9.4. Comandos de gestión de archivos Tema 10: Instalación, configuración y administración de Sistemas Operativos de Red. ! Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! Introducción a la asignatura Introducción La E.E. de Sistemas Operativos de Red forma parte del área disciplinar, durante el desarrollo de esta asignatura el alumno estudiará la importancia de la existencia de los sistemas operativos de red y adquirirá una visión general de los sistemas operativos con planteamientos de modelo, de manera que las realizaciones concretas puedan ser estudiadas como casos particulares, además de que identifique y comprenda los conceptos de componentes, servicios, administración, extensibilidad, seguridad, escalabilidad, tratamiento de fallos, y transparencia en el contexto de los sistemas operativos en red. Evaluación − 30% Exámenes parciales (2 Exámenes Primer parcial 10%, Segundo parcial 20%). − 30% Examen Final (10% escrito y 20% práctico). − 15% Reporte de Prácticas. − 15% Participación (a realizar dos exposiciones, 7.5% cada una). − 10% Tareas Acreditación El alumno deberá cubrir como mínimo el 60% de un total de 100%, así como participar en las prácticas y entregar los reportes de las prácticas, además de acreditar los exámenes parciales y el ordinario. Bibliografía − Elmasri, R., Gil Carrick, A., & Levine, D. (2010). Sistemas Operativos, Un enfoque en espiral. McGraw-­‐Hill. − Tanenbaum, A. (2009). Sistemas Operativos Modernos (Tercera ed.). Prentice Hall. − Tanenbaum, A. (2011). Redes de Computadoras (Quinta ed.). Prentice Hall. − Tanenbaum, A., & Van Steen, M. (2008). Sistemas Distribuidos, Principios y Paradigmas (Segunda ed.). Prentice Hall. Notas: − Se crearán equipos de máximo 5 integrantes y mínimo de 3, para realizar las prácticas, exposiciones y examen final práctico. − El primer examen parcial será una semana después de terminado el Tema 5. − El segundo examen parcial será a principios de Noviembre. ! Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! − − − − − Evitar usar fuentes de internet como el rincón del vago, buenas tareas, etc… ya que no son fuentes confiables. Las prácticas se entregarán por equipo. Tanto las tareas como prácticas se entregarán en formato digital. El reporte de cada práctica deberá contener: o Hoja de Presentación Datos de la Carrera Nombre de la E.E. Número de Práctica Número de Equipo Integrantes del Equipo Fecha de entrega o Introducción Descripción de que es lo que se va a realizar en la práctica, indicando los objetivos a realizar. o Desarrollo Investigación teórica del tema. Realización de la práctica. o Resultados Obtenidos Responder a las preguntas de la práctica. Anexar imágenes de pantalla que sustenten la elaboración de la práctica. o Conclusiones o Bibliografía En el caso de las exposiciones, tendrán 15 minutos para exponer el tema, y todos los miembros deberán participar, si uno no participa no será tomado en cuenta en su evaluación. Deberán entregar: o Documento teórico que sirvió de referencia para elaborar la exposición. o Exposición. ! Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! Tema 1: Introducción a los Sistemas Operativos de Red. 1.1. ¿Qué es un Sistema Operativo? Un sistema operativo es el corazón de una computadora, actúa como un conjunto de programas fundamentales que crean la interfaz relativamente uniforme para acceder a la amplia variedad de dispositivos (de entrada/salida, impresoras, cámaras digitales, componentes inalámbricos de la red que permiten la comunicación de las computadoras, etc.) con las que interactúa el usuario, el cual coordina, maneja y controla todos los recursos de una red de computadoras y proporciona la base sobre la cual pueden escribirse los programas de aplicación para lograr un buen rendimiento (Tanenbaum, Sistemas Operativos Modernos, 2009). La mayoría de los S.O. hoy en día proporcionan interfaces gráficas amigables (Graphical User Interfaces, GUI) a fin de permitirles una interfaz relativamente fácil de usar. El S.O. coordina la interacción entre el equipo y los programas (o aplicaciones) que está ejecutando. Controla la asignación y utilización de los recursos hardware tales como: • Memoria. • Tiempo de CPU. • Espacio de disco. • Dispositivos periféricos. En un entorno de red, los servidores proporcionan recursos a los clientes de la red y el software de red del cliente permite que estos recursos estén disponibles para los equipos clientes. La red y el sistema operativo del cliente están coordinados de forma que todos los elementos de la red funcionen correctamente (Tanenbaum, Sistemas Operativos Modernos, 2009). 1.2. Conceptos básicos de los S.O. 1.2.1 Hardware de un S.O. Un S.O. está muy relacionado con el hardware de la computadora sobre la cual se ejecuta, en la cual extiende un conjunto de instrucciones y administra los recursos. Además hay que recordar que para que un S.O. pueda trabajar debe conocer perfectamente el hardware que debe administrar. Procesador: el procesador es el cerebro de la computadora, el cual obtiene instrucciones de la memoria y las ejecuta. El ciclo básico que una computadora realiza para ejecutar un programa es obtener la instrucción de la memoria, decodificarla para determinar su tipo y ! Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! operandos, ejecutarla y después obtener, decodificar y ejecutar las instrucciones subsiguientes. Memoria: Es el segundo componente mas importante de una computadora, y debe ser muy rápida, de gran tamaño y económica. El sistema de memoria, esta constituido por una jerarquía de capas, en donde las capas superiores tienen mayor velocidad, pero menor capacidad y mayor costo por bit, mientras que las capas inferiores son más lentas, pero tienen mayor capacidad y un costo menor. Principalmente existen seis tipos de memoria, estos son: • Cache: Alimenta instrucciones decodificadas al motor de ejecución de una CPU, es muy rápida pero de poca capacidad. • RAM: Memoria de Acceso Aleatoria, es la memoria principal de toda computadora. • ROM: Memoria de Sólo Lectura, es la memoria de arranque, por lo que es rápida y económica. • EEPROM: Es una memoria eléctricamente borrable, lo que hace que sea no volátil, por lo que se puede borrar y volver a escribir datos en ellas. • Flash: memoria no volátil, por lo que se puede borrar y volver a escribir datos en ellas. • CMOS: Memoria volátil, utilizada principalmente para guardar la fecha y hora actuales. Discos: Es el Disco Duro (D.D.), el cual sirve para el almacenamiento en disco, a diferencia de la RAM, es que es más económico y puede almacenar mas información, sus contras es que tiempo de acceso a él es más lento, este problema es principalmente originado a que un D.D. es un dispositivo mecánico compuesto por discos, brazo mecánico y un cabezal de lectura / escritura. Dispositivos de E/S: Estos dispositivos también interactúan con el S.O. y cuentan principalmente de dos componentes, el controlador del dispositivo y el dispositivo físico. El controlador es un chip o conjunto de chips que controlan el dispositivo, siendo que son los que interactúan con el S.O. para que el dispositivo pueda funcionar. 1.2.2. Conceptos Procesos: un proceso en esencia es un programa en ejecución. Cada proceso tiene asociado un espacio de direcciones, una lista de ubicaciones de memoria donde el proceso puede leer y escribir información. ! Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! Espacios de Direcciones: Los S.O. administran y protegen la memoria principal de la computadora, siendo con esto que el S.O., le asigna a cada proceso un rango de direcciones, lo cual permite que se pueda ejecutar, y al mismo tiempo, permite que varios procesos se puedan almacenar en memoria para que se puedan ejecutar simultáneamente. La administración de los espacios de direcciones y memoria física forman una parte muy importante de lo que hace un S.O. Archivos: Es otro aspecto clave de todo S.O. siendo que el sistema de archivos se organiza en directorios. Para que un archivo pueda leerse, antes debe de localizarse en el disco para poder abrirse y así poder eliminarlos, leerlos o escribir sobre ellos. Entrada/Salida: Son todos aquellos dispositivos físicos conectados a las computadoras para adquirir una entrada y producir una salida. Un ejemplo son los teclados, monitores, impresoras, etc. Y es responsabilidad del S.O. administrarlos. Protección: Es responsabilidad del S.O. administrar la seguridad del sistema de manera que los archivos sólo sean accesibles para los usuarios autorizados. Por ejemplo a un usuario se le pueden dar permisos especiales para un archivo como es la lectura (r), escritura (w) o ejecución (x), además permite crear grupos de usuarios con características compartidas. Shell: Es un interprete de comandos, aunque no forma parte del S.O. pero utiliza muchas características del mismo y es por eso que sirve como ejemplo de cómo se pueden utilizar las llamadas al sistema. El Shell, también es conocido como la terminal del S.O. a menos que use una interfaz gráfica. 1.3. ¿Qué es una Red? Una red de computadoras, es un conjunto de equipos o nodos conectados entre sí por medio de dispositivos físicos que envían y reciben impulsos eléctricos, ondas electromagnéticas o cualquier otro medio para el transporte de datos, con la finalidad de compartir información, recursos y ofrecer servicios. Como en todo proceso de comunicación se requiere de un emisor, un mensaje, un medio y un receptor (Tanenbaum, Redes de Computadoras, 2011). La finalidad principal para la creación de una red de computadoras es compartir los recursos y la información en la distancia, asegurar la confiabilidad y la disponibilidad de la información, aumentar la velocidad de transmisión de los datos y reducir el costo general de estas acciones. ! Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! La estructura y el modo de funcionamiento de las redes informáticas actuales están definidos en varios estándares, siendo el más importante y extendido de todos ellos el modelo TCP/IP basado en el modelo de referencia OSI. Este último, estructura cada red en siete capas con funciones concretas pero relacionadas entre sí. El propósito fundamental de una red es el interconectar componentes hardware de una red, y por lo tanto, principalmente, las computadoras personales a los equipos que ponen los servicios en la red, como son los servidores, utilizando el cableado estructurado o comunicación inalámbrica. En todos los casos la tarjeta de red se puede considerar el elemento primordial, sea ésta parte de un ordenador, de una PC, de una impresora, etc. y sea de la tecnología que sea (Ethernet, Wi-­‐Fi, Bluetooth, etc.). Además para poder armar las redes, se requieren de ciertos dispositivos, que se eligen de acuerdo a los requerimientos específicos de cada usuario. Los dispositivos mas utilizados son: • Modem • Hub • Switch • Router • Bridge • Access Point Siendo con esto que uno de los esquemas más típicos para una red sea como el que se muestra a continuación: ! Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! Figura 1: Esquema típico de una red Las redes se clasifican principalmente en tres tipos, estas son las PAN (Redes de Área Personal), LAN (Redes de Área Local), y WAN (Redes de Área Extensa). Si observamos la figura anterior, podemos darnos cuenta que se trata del esquema de una WAN, la cual se encuentra compuesta por dos LAN, una del lado izquierdo y otra del lado derecho, y la WAN se da mediante los enlaces realizados que atraviesan la nube para conectarse entre sí. 1.4. Capas del Modelo OSI El modelo OSI (por sus siglas en inglés “Open Systems Interconnection”) (Tanenbaum, Redes de Computadoras, 2011), esta compuesto de 7 capas que establecen un estándar para la conectividad de las redes. Estas capas son: Aplicación Presentación Sesión Transporte Red Enlace de Datos Física Figura 2: Modelo OSI ! Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! 1. Física: Es la conexión al medio (características mecánicas, eléctricas, ópticas, etc.), transmite y recibe señales sobre el medio. 2. Enlace de datos: transmisión y recepción de Unidades de datos, controla el flujo y controla el acceso al medio. 3. Red: Direccionamiento, enrutamiento o encaminamiento y controla la red. 4. Transporte: Comunicación de punto a punto, ve la secuenciación de las unidades de datos, verifica que la información llegue completa y corrige errores. 5. Sesión: Contiene los mecanismos para el inicio, fin y conservación de las conexiones lógicas. 6. Presentación: Realiza las conversiones de representación de datos y para interpretar la información 7. Aplicación: realiza las funciones relacionadas con la finalidad por la cual se efectúa la comunicación. Aplicación Presentación Sesión Transporte Red Enlace de Datos Física } DATOS Datos Segmentos DATOS Paquetes Encabezado red Tramas Trama Inicio Bits DATOS DATOS DATOS Encabezado red DATOS Trama Fin 10010101110011100001101010 Figura 3: Encapsulación de datos 1.5. Sistema Operativo de Red En el caso de los Sistemas Operativos de Red se puede decir que son sistemas operativos que pueden utilizar una o varias aplicaciones desde cualquier otro equipo o equipos de una red. Es por ello que a un Sistema Operativo de Red, también se le conoce como interlocutor, ya que es el software que corre en un servidor y permite al servidor administrar datos, usuarios, grupos, seguridad, aplicaciones y otras funciones de red. Un Sistema Operativo de Red esta diseñado para permitir la compartición de archivos y el acceso de impresoras, !" Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! a través de múltiples computadoras en la red, típicamente una LAN (Red de Área Local), Red Privada u otras redes (Tanenbaum, Sistemas Operativos Modernos, 2009). Los Sistemas Operativos de Red más populares y conocidos son: • Microsoft Windows Server 2003 • Microsoft Windows Server 2008 • UNIX • Linux • Mac OS X • Novell NetWare Tarea 1: -­‐ Elaborar un cronograma en el cual mencionen los principales acontecimientos en la historia de las computadoras y de los Sistemas Operativos. -­‐ Elaborar un cuadro comparativo en el cual se muestren los principales Sistemas Operativos que han existido en los últimos 10 años. Los sistemas que NO son de red, no toman como suya la aplicación de otro equipo cuando la utilizan. Algunos ejemplos de estos S.O. son: Windows 95,98, Millenium, XP. Una característica particular de los Sistemas Operativos de Red es que son basados en la arquitectura de Cliente – Servidor, la cual permite a múltiples clientes compartir sus recursos por la red. 1.6. Arquitectura de los Sistemas Operativos de Red Los Sistemas Operativos de Red se han construido primordialmente siguiendo la arquitectura Cliente – Servidor. Siendo que existen dos modelos de arquitectura en la cual se fundamentan, estos modelos son: • Modelo de acceso remoto • Modelo de carga y descarga El modelo de acceso remoto, ofrece a los clientes un acceso transparente a un sistema de archivo gestionado por un servidor remoto. Hay que recordar que los clientes desconocen la ubicación de los archivos, por lo que se les da una interfaz para que interactúen con el sistema de archivos remoto, tal como se muestra en la siguiente figura: !! Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! Cliente Servidor Solicitudes del cliente para acceder a un archivo remoto El archivo permanece en el servidor Figura 4: Modelo de acceso remoto El modelo de carga y descarga, consiste en que el cliente accede a un archivo localmente después de haberlo descargado del servidor, tal como lo muestra la siguiente figura. Cuando el cliente termina de modificar o de leer el archivo, lo carga nuevamente en el servidor para que el archivo pueda ser utilizado por otro cliente. Un ejemplo de este modelo es el servicio de FTP (Tanenbaum & Van Steen, Sistemas Distribuidos, Principios y Paradigmas, 2008). Cliente 2. Los accesos se realizan en el Cliente 3. Cuando el Cliente termina, el archivo se envía al servidor Servidor Archivo Nuevo 1. El archivo se envía al Cliente Figura 5: Modelo de carga y descarga Archivo Viejo 1.7. Sistemas de Archivos En el caso de los SOR originados a partir de una arquitectura Cliente – Servidor, se basan en el Sistema de Archivos de Red (NFS, por sus siglas en inglés) de Sun Microsystem, siendo una de las más ampliamente utilizadas en los sistemas basados en UNIX. Este protocolo permite al usuario en un equipo cliente acceder a los archivos a través de la red de una manera similar a como lo el almacenamiento local es accedido. NFS, tal como muchos otros protocolos se construyo en base a los sistemas de Computación de Red !" Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! Abierta y Llamada a Procedimientos Remotos (por sus siglas en inglés ONC RPC, “Open Network Computing Remote Procedure Call”). La idea básica de NFS es que cada servidor de archivos proporcione una visión estandarizada de su sistema de archivo local. En otros términos no importa cómo se implemente el sistema de archivos local, cada servidor NFS soporta el mismo modelo. El NFS cuenta con un protocolo de comunicación que permite a los clientes acceder a archivos guardados en un servidor; por lo tanto, es posible que un conjunto heterogéneo de procesos, que se ejecuten en S.O. y maquinas diferentes, compartan un sistema de archivo común (Tanenbaum & Van Steen, Sistemas Distribuidos, Principios y Paradigmas, 2008). !" Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! Tema 2: Servicios básicos. 2.1. Compartición de archivos. En principio, cualquier equipo de computo conectado a una red con un software apropiado, puede funcionar como servidor de archivos. Desde el punto de vista del cliente de un servidor de archivos, la localización de los archivos compartidos es compartida y transparente. Esto es que normalmente no hay diferencias perceptibles si un archivo está almacenado en un servidor de archivos remoto o en el disco de la propia máquina. Los protocolos mas usados para compartir los archivos son: SMB (Server Message Block): utilizado en Windows, Samba y Unix, es un protocolo de red perteneciente a la capa de aplicación del modelo OSI permite compartir principalmente archivos e impresoras entre los nodos de una red NFS (Network File System): utilizado en Unix, es un protocolo de red perteneciente a la capa de aplicación del modelo OSI, utilizado principalmente en sistemas de archivos distribuidos en una LAN, ya que permite que distintos S.O. conectados a una misma red accedan a archivos remotos como si fueran locales. Para la compartición de archivos, existen varias formas de lograrlo, estas son: Compartición básica de archivos Peer to Peer Por un servidor de archivos local Por un servidor de archivos de NetWare Por un servicio de alojamiento de archivos multiplataforma en la nube Compartición básica de archivos El servicio ofrecido por este modelo para la compartición de archivos es una de las más utilizadas dentro de las LAN’s, ya que consiste en tener una carpeta compartida, a la cual normalmente se le denomina como “pública” en nuestros equipos, y todos aquellos equipos conectados en nuestra LAN ya sea por grupos de trabajo o dominios, pueden acceder a la información contenida en estas carpetas. En el caso de Windows, para compartir documentos, música, imágenes y otros archivos con otros usuarios en la oficina y el hogar, es mediante una red doméstica, la cual consiste en crear o unirse a un grupo en el hogar. Un grupo en el hogar es un conjunto de equipos !" Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! que comparten imágenes, música, vídeos, documentos e incluso impresoras. Es necesario que los equipos ejecuten el mismo S.O. para poder participar en un grupo en el hogar1. Cuando se configure o se una a un grupo en el hogar, se debe indicar a Windows qué carpetas o bibliotecas desea compartir y cuáles son privadas. A partir de este momento, Windows alternará automáticamente entre las opciones correspondientes. Los demás usuarios no pueden cambiar los archivos compartidos a menos que les dé permiso. Además, puede proteger el grupo en el hogar con una contraseña que se puede cambiar en cualquier momento2. Tarea 2: -­‐ Crear una carpeta compartida en Windows, estableciendo permisos de lectura, escritura y ejecución para los usuarios, se deberán anexar imágenes de pantalla para ver el procedimiento que siguieron. Peer to Peer Los servicios de compartición de archivos por Peer to Peer, consiste en el intercambio de archivos entre nodos de la red sin intermediarios de servidores (en la mayoría de los casos), en donde cada nodo como tal es un servidor, el cual al conectarse a la red comparte su información con todos los usuarios. Algunos programas que utilizan esta forma de compartir la información son: BitTorrent eDonkey Skype Ares Galaxy Gnutella Servidor de Archivos Local Cuando hablamos de un servidor de archivos Local, nos referimos principalmente a un dispositivo NAS (Network Attached Storage), es el nombre dado a una tecnología de almacenamiento dedicada a compartir la capacidad de almacenamiento de un Servidor 1 2 http://windows.microsoft.com/es-­‐XL/windows7/File-­‐sharing-­‐essentials http://windows.microsoft.com/es-­‐XL/windows7/Share-­‐files-­‐with-­‐someone !" Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! con equipos clientes a través de una red (normalmente TCP/IP), haciendo uso de un Sistema Operativo optimizado para dar acceso con los protocolos CIFS, NFS, FTP o TFTP. Generalmente, los sistemas NAS son dispositivos de almacenamiento específicos a los que se accede desde los equipos a través de protocolos de red. También se podría considerar un sistema NAS a un servidor (Linux, Windows, Mac, ...) que comparte sus unidades por red, pero la definición suele aplicarse a sistemas específicos. Además, existen dispositivos específicos que sirven de servidores, sin estar adjuntos a un Servidor, ya que son discos duros, que cuentan con un S.O. NAS, los cuales cuentan con una interfaz de red, la cual con sólo configurarlos, y conectarlos a la red, todos los dispositivos conectados en la LAN pueden verlos y guardar su información directamente en ellos, de forma transparente para el usuario. Servidor de Archivos de NetWare Los servicios de archivos de NetWare forman parte de la base de datos NDS (base de datos relacional distribuida por toda la red). NDS proporciona un único punto de entrada para los usuarios y permite a los usuarios y administradores ver de la misma forma los recursos de la red. Dependiendo del software de cliente instalado, podrá ver la red completa en un formato conocido para el sistema operativo de la estación de trabajo. Por ejemplo, un cliente Microsoft Windows puede asignar una unidad lógica a cualquier volumen o directorio de un servidor de archivos de NetWare, de forma que los recursos de NetWare aparecerán como unidades lógicas en sus equipos. Estas unidades lógicas funcionan igual que cualquier otra unidad en sus equipos. Por un servicio de alojamiento de archivos multiplataforma en la nube En el caso de estos servicios de alojamiento en la nube (Cloud Hosting), también conocido como alojamiento web, son aquellos que están teniendo un gran auge actualmente, ya que comparten la información por la nube, esto es en servidores en Internet. El Cloud Hosting es el servicio que provee a los usuarios de Internet un sistema para poder almacenar información, imágenes, vídeo, o cualquier contenido accesible vía web. El cual, puede ser gratuito o de pago, la diferencia entre ambos servicios es la capacidad de almacenamiento que se otorga. !" Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! El alojamiento web en la "nube" (cloud hosting) está basado en las tecnologías más innovadoras que permiten a un gran número de máquinas actuar como un sistema conectadas a un grupo de medios de almacenamiento. Algunos ejemplos de empresas que proporcionan este servicio son: RapidShare MediaFire FileServer DropBox ICloud 2.2. Servicios de impresión. Los servicios de impresión son transparentes (invisibles) al usuario de un equipo cliente. Cualquier petición de impresión por parte de un cliente es redirigida al servidor de archivos, donde se envía al servidor de impresión y, finalmente, a la impresora. El mismo equipo puede actuar como servidor de archivos y servidor de impresión. Permite compartir dispositivos de impresión que se conectan al servidor, a la estación de trabajo o, directamente, a la red por medio de las propias tarjetas de red (NIC) de los dispositivos. La principal funcionalidad de tener un servidor de impresión es el costo, ya que evita que cada equipo de computo tenga su propia impresora y una impresora se puede compartir entre varios usuarios. Es por ello que un servidor de impresión es aquel servidor o equipo, que tiene la capacidad de compartir una impresora en una red y de poder gestionar los documentos que se le envía para poder establecer una cola de prioridad de impresión. En la actualidad existen impresoras que pueden servir ellas mismas como servidores de impresión, ya que cuentan con una interfaz de red y el S.O. de la impresora, permite que funcione sin la necesidad de estar conectada a un equipo que funcione de servidor. Pero que se requiere para poder dar de alta un servidor de impresión: Tener configurada una LAN, ya sea alámbrica, inalámbrica o combinada. Tener una impresora conectada a un equipo de la red o bien tener una impresora con capacidad de conectarse a la red por Ethernet o WiFi. Configurar el equipo servidor con una dirección IP En caso de tener la impresora conectada en un Servidor o PC, compartirla. !" Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! Ahora en el equipo que funcione como cliente, lo primero que se debe realizar es verificar que el cliente vea por IP al servidor, esto lo hacemos mediante el comando PING, nos vamos a línea de comandos y ejecutamos PING con la dirección IP asignada al Servidor En caso de que se vean el cliente con el servidor, se procede a configurar el cliente, en caso contrario, se verifica cual puede ser el problema tanto en el cliente como en el servidor. Para configurar la impresora en el cliente, lo que se debe hacer es agregar la impresora especificando ya sea la IP del equipo servidor o el nombre del equipo que sirve de servidor de impresión, y el sistema operativo cliente se configurará automáticamente para instalar la impresora Por último enviar a imprimir una página de prueba. 2.3. Servicios de directorios. Es una aplicación o un conjunto de aplicaciones que almacena y organiza la información sobre los usuarios de una red de computadoras, sobre recursos de red, y permite a los administradores gestionar el acceso de usuarios a los recursos sobre dicha red. Además, los servicios de directorio actúan como una capa de abstracción entre los usuarios y los recursos compartidos. El servicio de directorio, se utiliza para rastrear la ubicación de todos los recursos del sistema. Estos recursos incluyen máquinas, impresoras, servidores, datos, y muchos más, y pueden estar distribuidos geográficamente alrededor del mundo. El servicio de directorio permite a un proceso solicitar un recurso sin tener que preocuparse por dónde está, a menos que al proceso le importe. (Tanenbaum & Van Steen, Sistemas Distribuidos, Principios y Paradigmas, 2008) Con los servicios de directorio, las entidades tienen asociado un conjunto de atributos que puede utilizarse para búsqueda. En donde si no existe una estandarización se convierte en un problema, ya que el acceso a las bases de datos del servidor de directorio se convierte en lento, inexacto, y poco confiable, ya que se puede incluir información que no se requiere. Es por ello que para mitigar algunos de estos problemas, en el intento de unificar las formas en que se describen los recursos, se han creado algunos modelos que han apoyado a mejorar y unificar los servicios de directorios, todo esto dentro del marco de descripción !" Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! de recursos (RDF, por sus siglas en inglés). Lo básico del modelo RDF, es que los recursos se componen por triadas, en donde el ejemplo mas común son las direcciones URL: 1.-­‐ Se referencía que es de Internet 2.-­‐ Nombre de la página http://www.uv.mx 3.-­‐ Dominio de la página Figura 6: Composición de una dirección Web Como parte de este modelo, surgió el sistema de nombres de dominio (DNS), el cual es un sistema para asignar nombres a equipos y servicios de red que se organiza en una jerarquía de dominios. Las redes TCP/IP, como Internet, usan DNS para buscar equipos y servicios mediante nombres descriptivos. Para que el uso de los recursos de red sea más fácil, los sistemas de nombres como DNS proporcionan un método para asignar el nombre descriptivo de un equipo o servicio a otros datos asociados a dicho nombre, como una dirección IP. Un nombre descriptivo es más fácil de aprender y recordar que las direcciones numéricas que los equipos usan para comunicarse a través de una red. La mayoría de la gente prefiere usar un nombre descriptivo (por ejemplo, www.google.com) para buscar un servidor de correo electrónico o servidor web en una red en lugar de una dirección IP, como 148.226.0.1. Cuando un usuario escribe un nombre DNS descriptivo en una aplicación, los servicios DNS convierten el nombre en su dirección numérica. Para esto, el servidor DNS cuenta con una lista de nombres de dominio con su respectiva dirección IP, en donde cuando un cliente envía el nombre de un host remoto a un servidor DNS, este le responde con la dirección IP correspondiente. El equipo cliente puede entonces enviar mensajes directamente a la dirección IP del host remoto. Si el servidor DNS no tiene ninguna entrada en su base de datos para el host remoto, puede responder al cliente con la dirección de un servidor DNS que pueda tener información acerca de ese host remoto, o bien puede consultar al otro servidor DNS. Este proceso puede tener lugar de forma recursiva hasta que el equipo cliente reciba las direcciones IP o hasta que se establezca que el nombre consultado no pertenece a ningún host del espacio de nombres DNS especificado. !" Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! Tema 3: Entornos de aplicación de los sistemas operativos de red. 3.1. Redes Peer to Peer (P2P) Una red peer-­‐to-­‐peer (Red de pares o Red de Punto a Punto) es una red constituida por varias computadoras que funcionan como una serie de nodos que actúan como clientes y servidores simultáneamente respecto a los demás nodos de la red. Permitiendo con esto el intercambio directo de información en cualquier formato, entre los nodos interconectados. Este tipo de redes 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, obteniendo 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. A menudo se utilizan para compartir archivos de audio, video o software, aunque también es utilizado en la telefonía VoIP para hacer 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 (Firewall, Routers, etc.), velocidad de proceso, disponibilidad de ancho de banda de su conexión a la red y capacidad de almacenamiento en disco. En una red Peer to Peer (Red de Punto a Punto), los usuarios de un Sistema Operativo de Red, tienen permiso de compartir recursos y archivos ubicados en sus computadoras y accesar a recursos compartidos de otros usuarios. Este sistema no esta basado en un esquema en donde exista un servidor de archivos centralizado como administrador de la fuente de información. Una red P2P tiene como característica principal que establece a todos los usuarios por igual, todos tienen la misma prioridad y permisos (Tanenbaum & Van Steen, Sistemas Distribuidos, Principios y Paradigmas, 2008). Características • Escalabilidad: Las redes P2P tienen un alcance mundial con cientos de millones de usuarios potenciales. 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 !" Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! • • • múltiples destinos, y —-­‐en sistemas P2P puros—-­‐ permitiendo a los usuarios encontrar la información sin hacer peticiones a ningún servidor centralizado de indexado. En el último caso, no hay ningún punto singular de falla en el sistema. Descentralización: Por definición son descentralizadas y todos los nodos son iguales. No existen nodos con funciones especiales, y por lo tanto ningún nodo es imprescindible para el funcionamiento de la red. En realidad, algunas redes comúnmente llamadas P2P no cumplen esta característica, como Napster, eDonkey o BitTorrent. 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í, y la industria propone mecanismos como el DRM (sigla en inglés de Digital Rights Management). 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. Figura 7: Diseño del modelo Peer to Peer Ejemplos de utilización de redes P2P: • AppleShare: utilizado para conectar en red productos Apple !" Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! • • Windows for Workgroups: usado para crear redes Peer to Peer en computadoras basadas en el S.O. de Microsoft Windows. Lantastic: Es un sistema operativo de Peer to Peer para redes LAN, y se puede utilizar en DOS, Microsoft Windows, Novel Netware y OS/2. 3.2. Cliente – Servidor Es un modelo que proporciona al usuario final el acceso transparente a las aplicaciones, datos, servicios de cómputo o cualquier otro recurso del grupo de trabajo y/o, a través de la organización en múltiples plataformas permitiendo mejorar el rendimiento del sistema global de información (Elmasri, Gil Carrick, & Levine, 2010). Por su definición conceptual: Es un modelo para construir sistemas de información, que se sustenta en la idea de repartir el tratamiento de la información y los datos por todo el sistema informático, permitiendo mejorar el rendimiento del sistema global de información. Definición por su arquitectura: Los distintos aspectos que caracterizan a una aplicación (proceso, almacenamiento, control y operaciones de entrada y salida de datos) en el sentido más amplio, están situados en más de un computador, los cuales se encuentran interconectados mediante una red de comunicaciones. Respuesta Petición Cliente Figura 8: Diseño del modelo Cliente – Servidor Servidor Un sistema cliente necesita un servicio bien definido, de modo que entra en contacto con un servidor que proporcionará ese servicio. Por lo que la pregunta más importante al diseñar este tipo de modelo es cuánto de la función de una aplicación debe estar en el cliente y cuánto en el servidor. Por lo que del lado del servidor debe funcionar como un sistema central y el cliente funcionará mas como una terminal que solo accede a las funciones, en este caso se denomina al equipo cliente como “cliente liviano”. Sin embargo, en otros casos, la aplicación se ejecuta totalmente en el cliente, y el servidor proporcionará acceso a una consulta de una base de datos. (Tanenbaum & Van Steen, Sistemas Distribuidos, Principios y Paradigmas, 2008) !! Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! A una computadora se le denominará normalmente como el cliente. Éste puede tener acceso a una o más computadoras servidores a fin de obtener información u otras funciones proporcionadas por el servidor. Respuesta Petición Cliente Servidores Figura 9: Diseño del modelo Cliente – Servidor Términos relacionados con Cliente – Servidor 1. Interoperabilidad: o Permite a sistemas diferentes intercambiar información con significado. o Se necesitan formas de intercambio estándar o Se requieren formatos de mensaje estándar. 2. Portabilidad o Un sistema que funciona en un entorno, puede instalarse en otro distinto. o Puede ser el mismo (o diferente) hardware, sistema operativo, ambiente de red, base de datos, etc. 3. Integración o Compartir e intercambiar información sin intervención externa. o Consistencia de comportamiento y presentación. 4. Transparencia o El usuario puede obtener información de un sitio sin necesidad de saber dónde está. o El usuario puede actualizar información sin necesidad de saber si hay copias de ella. !" Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! Pueden ejecutarse tareas en varios sitios sin que el usuario requiera saber dónde. 5. Seguridad o Usuarios protegidos de otros usuarios o Usuarios protegidos de agentes externos o Medio protegido contra espías o Medio protegido contra modificaciones o Niveles de acceso adecuados, aún al nivel administrativo. o Algunas de las principales funciones que realizan los servidores son: − Servidores de bases de datos que contienen grandes cantidades de información. − Servidores de la Web que permiten que el cliente tenga acceso a documentos en Internet. − Servidores de impresoras que permiten al usuario imprimir en varias impresoras. − Servidores de archivos que gestionan los archivos de usuario. − Servidores para al almacenamiento y reenvío de correos electrónicos. − Servidores que atienden aplicaciones como procesamiento de palabras u hojas de cálculo. Ejemplos de Cliente -­‐ Servidor − WWW (World Wide Web) − FTP − Telnet − News − e-­‐mail − Time 3.3. Modelo de tres capas Al cabo del tiempo, y de ir trabajando con el modelo cliente – servidor, se evidencio que en realidad existen tres funciones primordiales que son fácilmente identificables en la mayoría de los sistemas y no sólo dos como se había indicado anteriormente. Estas funciones son: • Interfaz de usuario • Lógica de aplicación (o reglas de negocio) • Base de datos de estructuras de almacenamiento !" Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! En el caso del modelo de tres capas, el cliente puede tener muchas variaciones, ya que puede ser desde una terminal en modo texto como Unix o MS-­‐DOS, hasta un entorno basado en web, en donde desde una PC, el cliente tiene una presentación GUI para la aplicación. En este caso, el cliente envía una petición al Servidor que le proporciona la interfaz, una vez que el servidor recibe la petición, verifica los datos y, si todo está bien, procesa la solicitud y busca la información solicitada en un Servidor de Base de Datos, el cual envía la respuesta al Servidor y este la reenvía al Cliente. Siendo esto, se puede resumir que el Cliente es una interfaz, la cual, no tiene acceso directo a los datos. La lógica de aplicación, es un servidor que traduce la información requerida por el cliente al servidor de Base de Datos. Por último el Servidor de Base de Datos, es el que almacena toda la información (Tanenbaum & Van Steen, Sistemas Distribuidos, Principios y Paradigmas, 2008). Cliente Petición Busqueda Respuesta Respuesta Servidor Figura 10: Diseño del modelo de tres capas Servidor de Base de Datos Tarea 3: -­‐ Elaborar un cuadro comparativo o mapa mental, en el cual mencionen las principales características, ventajas y desventajas de los modelos vistos en el tema 1 (Modelo P2P, Modelo Cliente – Servidor y Modelo de tres capas). -­‐ Responder a las siguientes preguntas: 1. ¿Qué alcances tienen los sistemas operativos de red existentes hoy en día? 2. Indica ¿Qué tipo de modelo de red utilizan los siguientes programas? o BitTorrent o Apache Web Server o eMule o FTP o Buscador Web o MSN Messenger !" Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! Tema 4: Componentes. 4.1. Diferencias de SW entre servidor y estación cliente. Antes de poder hablar de cuales son las diferencias de Software entre una equipo cliente y un servidor, lo primero que se debe analizar son cuales son las características de software que presenta cada uno de ellos. Las principales características de un cliente son: • No es necesario que su S.O. sea de Red o distribuido. • No posee la capacidad de levantar servicios • Puede compartir archivos con los usuarios de su misma red • Puede tener varios usuarios registrados en su equipo • Administra y controla a los usuarios locales del equipo • Tiene una interfaz gráfica amigable al usuario • Gestiona el acceso a la red • Interactúa con el usuario final • Depende de un equipo servidor • Puede conectarse a varios servidores simultáneamente Las principales características de un servidor son: • Preferentemente se utiliza un S.O. en red o distribuido • Puede dar de alta a uno o más servidores • Administra de forma remota el control de usuarios • Gestiona una cuota de transferencia de datos • Gestiona la información de forma centralizada o distribuida entre varios servidores • Procesa las solicitudes de los clientes • Aceptan conexiones de un gran número de clientes • Cuenta con herramientas administrativas de los servicios que proporciona • Son más seguros que los equipos cliente • Su S.O. es robusto y escalable en Hardware. Analizando las principales características de Software que presentan los equipos Cliente y Servidor, se puede resumir que la diferencia radica en que un cliente envía y espera respuestas del servidor, y que el servidor se encuentra en forma pasiva esperando por peticiones de los equipos clientes. !" Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! 4.2. Servidor básico. De acuerdo a lo visto en los temas tratados anteriormente, ¿Cuáles son los servidores básicos? • Servidor de datos • Servidor de impresión • Servidor de directorios Sin embargo, a esta lista se le puede agregar un servidor adicional, el cual al igual que los anteriores es de los más utilizados, este sería el Servidor WEB. En este caso se mostrará uno de los procedimientos para instalar IIS en el Sistema Operativo de Windows Server 2008. De acuerdo a las instrucciones proporcionadas por Microsoft, hay tres procedimientos: • Asistente de configuración del servidor • Agregar / Quitar componentes del panel de control • Instalación desatendida Utilizando el procedimiento del Asistente para configurar servidores para instalar IIS 1. En el menú Inicio, haga clic en Administre su servidor. 2. En Administrar las funciones de su servidor, haga clic en Agregar o quitar función. 3. Lea los pasos preliminares indicados en el Asistente para configurar su servidor y haga clic en Siguiente. 4. En Función del servidor, haga clic en Servidor de aplicaciones (IIS, ASP.NET) y, a continuación, en Siguiente. 5. De manera predeterminada, el asistente instala y habilita IIS, COM+ y DTC. 6. Si desea utilizar cualquiera de las tecnologías opcionales (Extensiones de servidor de FrontPage o ASP.NET), en la página Opciones del Servidor de aplicaciones, seleccione las casillas de verificación correspondientes y, a continuación, haga clic en Siguiente. 7. Lea el resumen y haga clic en Siguiente. 8. Complete el asistente y haga clic en Finalizar. Con esto tendremos instalado el servidor, para poder probarlo, hay dos formas, dentro del servidor, ingresando en el explorador de internet la dirección http://localhost/ o http://ipservidor, en donde ipservidor corresponde a la dirección IP que tiene el equipo. !" Apuntes del Curso de: Sistemas Operativos de Red (SOR) !"#! 4.3. Software para estaciones cliente. Siguiendo con el servidor WEB, el Software que se requiere en el equipo cliente para que funcione nuestro servidor es el siguiente: • Un S.O. en el equipo cliente. • Estar conectados en la LAN • Contar con un explorador WEB: o Internet Explorer o FireFox o Google Chrome o Opera o Etc… Práctica 4: • Trabajar en equipos y levantar un servidor http en un equipo servidor, puede ser IIS o Apache, para esto deben responder las siguientes preguntas: o ¿Cuál es la diferencia principal entre IIS y Apache? o ¿Cuándo se recomienda utilizar más IIS? o ¿Cuál es el proceso de instalación para IIS? o ¿Cuál es el proceso de instalación para Apache? • Definir cual Servidor utilizarán y agregar imágenes de pantalla en donde se muestre el procedimiento realizado para la instalación • Crear una pagina html básica y que la puedan ver desde un equipo cliente. !"