Untitled
Untitled
Untitled
NOMBRES:
Jefferson
APELLIDOS:
Rodriguez perez
CARRERA:
Técnico Superior en Desarrollo de Software
MATRICULA:
2021-0085
MATERIA:
SISTEMAS OPERATIVOS Y REDES
SECCIÓN:
01
PROFESORA:
EDISON PEREZ RAMIREZ
CAPITULO 13. REDES
Junto con la creciente disponibilidad de computadores personales asequibles y potentes, ha habido una
tendencia hacia el proceso de datos distribuido (DDP), en el que los procesadores, los datos y el
procesamiento de datos pueden estar diseminados por toda la organización. Un sistema DDP implica
dividir las funciones de computación y organizar de forma distribuida las bases de datos, el control de
dispositivos y el control de interacciones.
Estas tendencias se han visto favorecidas por la evolución de las capacidades de los sistemas operativos y
por las utilidades de soporte. Se han explorado diversas soluciones distribuidas:
Cuando un computador, terminal y/u otro dispositivo de procesamiento de datos intercambia datos, el
procedimiento involucrado puede ser muy complejo. Entre las típicas tareas que se deben realizar se
incluyen las siguientes:
1. El sistema emisor debe activar el enlace directo de comunicación de datos o debe informar a la red
de comunicaciones de la identidad del sistema destinatario deseado.
2. El sistema emisor debe verificar que el sistema de destino está preparado para recibir datos.
3. La aplicación de transferencia de ficheros del sistema origen debe verificar que el programa de
gestión de ficheros del sistema destino está preparado para aceptar y almacenar el fichero de ese
usuario particular.
4. Si los formatos de los ficheros o las representaciones de datos en los sistemas son incompatibles,
uno de los dos sistemas deberá ejecutar una función de traducción de formato.
En relación con la comunicación de computadores y redes de computadores, hay dos conceptos de suma
importancia:
· Protocolos
· Arquitectura de comunicaciones o arquitectura de protocolos.
Un protocolo se utiliza para comunicar entidades de diferentes sistemas. Los términos entidad y sistemas
se utilizan en un sentido muy genérico. Algunos ejemplos de entidades son los programas de aplicación de
usuario, paquetes de transferencia de ficheros, sistemas de gestión de bases de datos, servicios de correo
electrónico y terminales. Algunos ejemplos de sistemas son computadores, terminales y sensores remotos.
CAPAS TCP/IP
En términos generales, las comunicaciones involucran tres agentes: aplicaciones, computadores y redes.
La transferencia de ficheros o el correo electrónica son algunos ejemplos de aplicación. Estas aplicaciones,
y otras, ejecutan sobre computadores que a menudo pueden tener múltiples aplicaciones al mismo
tiempo.
No existe un modelo oficial de protocolos TCP/IP. Sin embargo, basándose en los protocolos estándares
que han sido desarrollados, las tareas de comunicación del TCP/IP se pueden organizar en cinco capas
relativamente independientes. De abajo a arriba:
· Capa física.
· Capa de acceso a red.
· Capa de Internet.
· Máquina-a-máquina, o capa de transporte.
· Capa de aplicación.
La capa física cubre la interfaz física entre un dispositivo de transmisión de datos (por ejemplo, una
estación de trabajo o un computador) y un medio de transmisión o red. Esta capa se preocupa de las
características del medio de transmisión, la naturaleza de las señales, la tasa de datos y aspectos similares.
La capa de acceso a red se preocupa del intercambio de datos entre un sistema final (servidor, estación de
trabajo, etc.) y la red a la que está unido. El computador que realiza el envío debe proporcionar a la red la
dirección del computador destino, para que la red pueda encaminar los datos al destino apropiado. El
computador emisor podría desear utilizar ciertos servicios, tales como la prioridad, que pueden ser
proporcionados por la red.
La capa de acceso a red se preocupa de enviar datos a través de una red para dos sistemas finales unidos a
la misma. En los casos en que los dispositivos estén unidos a distintas redes, se necesita un procedimiento
para permitir a los datos atravesar múltiples redes interconectadas. Esta es la función de la capa de
internet. El Protocolo de Internet (Internet Protocol, IP) se utiliza en esta capa para proporcionar la función
de encaminamiento a través de múltiples redes.
Independientemente de la naturaleza de las aplicaciones que están intercambiando los datos, suele existir
el requisito de la fiabilidad. Es decir, se pretende asegurar que los datos lleguen a la aplicación de destino y
que lo hagan en el mismo orden en que fueron enviados. Como se verá, los mecanismos para proporcionar
fiabilidad son independientes de la naturaleza de las aplicaciones; esta es la capa de máquina-a-máquina o
capa de transporte. El Protocolo de Control de Transmisión (Transmission Control Protocol, TCP) es el
protocolo de uso más frecuente utilizado para proporcionar esta funcionalidad.
Finalmente, la capa de aplicación contiene la lógica necesaria para soportar las aplicaciones de usuario.
Para cada tipo diferente de aplicación, tal como una aplicación de transferencia de ficheros, se necesita un
módulo diferente.
SOCKETS
El concepto de socket y de programación con sockets se desarrolló en los años ochenta en el entorno UNIX
como la interfaz de sockets de Berkeley. En esencia, un socket permite la comunicación entre un proceso
cliente y un proceso servidor y puede ser orientado a conexión o no orientado a conexión.
El socket se utiliza para definir una interfaz de programación de aplicaciones (API), que es una interfaz
genérica de comunicaciones para escribir programas que usan TCP y UDP.
Hay un tercer tipo de sockets proporcionados por el API de Sockets: sockets raw. Los sockets raw permiten
acceso directo a las capas más bajas del protocolo, tales como IP.
REDES EN LINUX
Linux implementa los sockets como ficheros especiales. Recuerde de la sección 12.7 que, en sistemas
UNIX, un fichero especial no contiene datos, pero proporciona un mecanismo para asociar dispositivos
físicos a nombres de fichero. Por cada nuevo socket, el núcleo de Linux crea un nuevo nodo-i en el sistema
de ficheros especial sockfs.
COMPUTACIÓN CLIENTE/SERVIDOR
Como el propio término sugiere, un entorno cliente/servidor está formado por clientes y servidores. Las
máquinas cliente son normalmente simples PCs o estaciones de trabajo que proporcionan una interfaz de
fácil manejo al usuario final.
Terminología cliente/servidor
Un factor esencial en el éxito de un entorno cliente/servidor es la forma en que el usuario interactúa con
el sistema. En la mayor parte de los sistemas cliente/servidor, se hace mucho énfasis en proporcionar una
interfaz gráfica de usuario (GUI) que sea fácil de usar, fácil de aprender y, a la vez, potente y flexible
Normalmente, en los sistemas con procesamiento distribuido, las computadoras no comparten la memoria
principal; cada una es un sistema aislado. De esta forma, las técnicas de comunicación entre procesos que
se basan en el uso de memoria compartida, tales como los semáforos, no se pueden utilizar. En su lugar, se
utilizan técnicas que se basan en el paso de mensajes.
En la figura 14. 10ª muestra el uso del paso de mensajes para implementar funciones cliente/servidor.
Las llamadas a procedimiento remoto son una variante del modelo básico de paso de mensajes. Hoy en día
este método es muy común y está ampliamente aceptado para encapsular la comunicación en un sistema
distribuido. Lo esencial en esta técnica es permitir a los programas en diferentes máquinas interactuar a
través del uso de llamadas a procedimiento, tal y como lo harían dos programas que están en la misma
máquina.
· Las llamadas a procedimiento son una abstracción ampliamente aceptada, utilizada y entendida.
· El uso de llamadas a procedimiento remoto permite especificar las interfaces remotas como un
conjunto de operaciones con nombre y tipos de datos dados.
· Ya que se especifica una interfaz estandarizada y precisa, el código de comunicación para una
aplicación se puede generar automáticamente.
· Ya que se especifica una interfaz estandarizada y precisa, los desarrolladores pueden escribir
módulos cliente y servidor que se pueden mover entre computadoras y sistemas operativos con
pocas modificaciones y recodificaciones.
La mayor parte de los lenguajes de programación permiten que los parámetros se pasen como valores
(denominado por valor) o como punteros que contienen los valores (llamado por referencia). Las llamadas
por valor son fáciles de implementar en las llamadas a procedimiento remoto: los parámetros se copian en
el mensaje y se envían al sistema remoto.
El mejor mecanismo para solucionar este problema es proporcionar un formato estándar para los objetos
comunes, tales como los enteros, números en coma flotante, caracteres y cadenas de caracteres. De esta
forma, los parámetros nativos de cada máquina se pueden convertir a y desde la representación estándar.
Enlace cliente/servidor
Un enlace no permanente significa que la conexión lógica se establece entre los dos procesos en el
momento de la llamada a procedimiento remoto y que, tan pronto como se devuelven los valores, se
cierra la conexión.
Con los enlaces persistentes, una conexión que se establece para una llamada a procedimiento remoto se
mantiene después de la finalización de dicha llamada.
A medida que la tecnología orientada a objetos se vuelve más común en el diseño de los sistemas
operativos, los diseñadores de la tecnología cliente/servidor han empezado a adoptar este enfoque. En
este enfoque, los clientes y los servidores mandan mensajes entre objetos.
Un cliente que necesita un servicio manda una petición a un mediador de solicitud de objeto (object
request broker), que actúa como un directorio de todos los servicios remotos disponibles en la red.
CLÚSTERS
Un importante y relativamente reciente diseño de sistema de computación es el Clúster. Los Clústeres son
una alternativa al Multiprocesamiento Simétrico (SMP), y son sistemas que proporcionan un alto
rendimiento y una alta disponibilidad y que son particularmente atractivos para aplicaciones de servidor.
· Escalabilidad absoluta. Es posible crear un gran clúster que supere la potencia de incluso la mayor
de las máquinas.
· Escalabilidad incremental. Un clúster se configura de tal manera que sea posible añadir nuevos
sistemas al clúster en pequeños incrementos.
· Alta disponibilidad. Ya que cada nodo del clúster es una computadora en si mismo, el fallo de uno
de los nodos no significa pérdida del servicio
· Relación precio/prestaciones. A través del uso de bloques de construcción es posible hacer un
clúster con igual o mayor poder computacional que una única máquina mayor, con mucho menos
coste.
Mirando a las alternativas funcionales, se puede tener una idea más clara de los tipos de clúster. Un
documento de Hewlett Packard proporciona una clasificación útil junto con sus líneas funcionales, que se
discuten a continuación
El pasivo en espera no se conoce normalmente como clúster. El término clúster, en general, se refiere al
uso de múltiples computadoras interconectadas, todas ellas realizando procesamiento, a la vez que se
mantiene una imagen de sistema único de cara al exterior.
SERVIDOR CLÚSTERS
El Servidor Clúster de Windows (formalmente conocido por Wolfpack) es un clúster de tipo nada
compartido, en que cada volumen de disco y otros recursos son propiedad de un único sistema a la vez.
· Servicio Clúster. La colección de software de cada nodo que gestiona toda la actividad específica
del clúster.
· Recurso. Un elemento gestionado por el servicio clúster. Todos los recursos son objetos que
representan recursos reales en el sistema, incluyendo dispositivos hardware tales como discos o
tarjetas de red y elementos lógicos tales como volúmenes lógicos de disco, direcciones TCP/IP,
aplicaciones completas y bases de datos.
· En línea (online). Se dice que un recurso está en línea en un nodo cuando está proporcionando
servicio en ese nodo especifico.
· Grupo. Una colección de recursos gestionada como una unidad. Normalmente, un grupo contiene
todos los elementos necesarios para ejecutar una aplicación especifica y para que los sistemas
cliente se conecten al servicio proporcionado por esta aplicación.
El gestor de la base de datos de configuración guarda la base de datos de configuración del clúster. La base
de datos contiene información de recursos, grupos, y pertenencia de grupos a nodos. Los gestores de base
de datos de cada uno de los nodos del clúster cooperan para mantener una imagen consistente de la
información de configuración.
El gestor de recursos/gestor de recuperación de fallos toma todas las decisiones relativas a los grupos de
recursos e inicia acciones apropiadas tales como inicializar, reinicializar y recuperar fallos.
El procesador de eventos conecta todos los componentes del servicio clúster, maneja operaciones
comunes y controla la inicialización.
La computación cliente/servidor es la clave para explotar los sistemas de información y las redes a fin de
mejorar significativamente la productividad en las organizaciones. Con el mecanismo cliente/servidor, las
aplicaciones de computación se distribuyen a los usuarios en estaciones de trabajo o computadoras
personales.
Normalmente, el sistema cliente proporciona una interfaz gráfica de usuario (GUI) que permite al usuario
sacar provecho de múltiples aplicaciones con un entrenamiento mínimo y relativa facilidad.