Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Retos y Soluciones en Sistemas Distribuidos: Heterogeneidad, Seguridad, Escalabilidad, Resúmenes de Ingeniería Telemática

Este documento aborda los desafíos de los sistemas distribuidos, incluyendo heterogeneidad, seguridad, escalabilidad, manejo de fallas y concurrencia. Se discuten conceptos como middleware, seguridad, escalabilidad vertical y horizontal, manejo de fallas y modelos de objetos distribuidos y publicador-suscriptor. Se presentan ejemplos de RPC y MOM, arquitecturas centralizadas y descentralizadas, y se discuten los conceptos de cliente grueso, arquitectura web y P2P.

Tipo: Resúmenes

2020/2021

Subido el 18/05/2021

cesar-garcia-76
cesar-garcia-76 🇨🇴

5

(1)

6 documentos

1 / 41

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Clase 29 de enero -> Repaso Ip, DNS, MAIL, HTTPs/WEB, s de seguridad, se necesitan certificados
Montar la arquitectura de forma virtual (en la nube)
El mail será un servidor de notificaciones
¿Qué se requiere para enviar un paquete de datos de un host a otro host?
Arquitectura de red: permite que las aplicaciones se conecten por medio de protocolos a
servidores
La aplicación se pone sobre un protocolo de aplicación (HTTP), este se pone sobre un protocolo
(de transporte) TCP -> el cual escucha a través de puerto (HTTP = Puerto 80) y (puerto 443 =
HTTPs), luego sigue el nivel 3 en la arquitectura OSI (modulo Ip) -> entra el concepto de
direccionamiento, la Ip permite identificar host y redes (para hacer la comunicación entre redes =
internet)
Tolerancia de fallos
Hay varios caminos para llegar
Luego son las capas de acceso a la red (ETHERNET, WIFI) y la capa física (cable UTP Y WIRELES)
Direccionamiento IP
Ipv4 = Direcciones de 32 bits (bloques de IP de a 8 bits) la dirección Ip tiene en su configuración
una dirección de red y una dirección de host
Clases de direcciones de IP
Clase A: RED.HOST.HOST.HOST
Clase B: RED.RED.HOST.HOST
Clase B: RED.RED.RED.HOST
La dirección 0 es la que identifica la red
La dirección 255 es la dirección broadcast, con esa dirección le llegan a todos los host de la red
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29

Vista previa parcial del texto

¡Descarga Retos y Soluciones en Sistemas Distribuidos: Heterogeneidad, Seguridad, Escalabilidad y más Resúmenes en PDF de Ingeniería Telemática solo en Docsity!

Clase 29 de enero -> Repaso Ip, DNS, MAIL, HTTPs/WEB, s de seguridad, se necesitan certificados Montar la arquitectura de forma virtual (en la nube) El mail será un servidor de notificaciones ¿Qué se requiere para enviar un paquete de datos de un host a otro host? Arquitectura de red: permite que las aplicaciones se conecten por medio de protocolos a servidores La aplicación se pone sobre un protocolo de aplicación (HTTP), este se pone sobre un protocolo (de transporte) TCP -> el cual escucha a través de puerto (HTTP = Puerto 80) y (puerto 443 = HTTPs), luego sigue el nivel 3 en la arquitectura OSI (modulo Ip) -> entra el concepto de direccionamiento, la Ip permite identificar host y redes (para hacer la comunicación entre redes = internet) Tolerancia de fallos Hay varios caminos para llegar Luego son las capas de acceso a la red (ETHERNET, WIFI) y la capa física (cable UTP Y WIRELES) Direccionamiento IP Ipv4 = Direcciones de 32 bits (bloques de IP de a 8 bits) la dirección Ip tiene en su configuración una dirección de red y una dirección de host Clases de direcciones de IP Clase A: RED.HOST.HOST.HOST Clase B: RED.RED.HOST.HOST Clase B: RED.RED.RED.HOST La dirección 0 es la que identifica la red La dirección 255 es la dirección broadcast, con esa dirección le llegan a todos los host de la red

Mascaras El objetivo de las mascaras es la creación de subredes IP privado Direcciones de red o host que para internet no existen Para conectar redes se necesita un router (Gateway = direccion ip del aparato que permite salir a internet), De manera aobligatoria cada host debe conocer el Gateway NAT Los router tienen un traductor de dirección de red= cambio de ip privada a una publica IP Flotante

Solo hay un servidor primario (autoritarios = tienen la información primarias y valida) y n servidores secundarios (no autoritarios = caches y dan respuestas a consultas del DNS) Autoritario es que vienen de la fuente original de donde están los datos Delegar: administrar la administración del dominio Tipos de registros en el DNS Mail Intercambio de mensajes entre humanos, de maquina a humano (notificación, esto es diferente a envió masivo: Google no permite correo masivo, el detecta cuantos correos se envían por unidad de tiempo y bloquea la cuenta), de maquina a maquina Servicio asincrónico (encolamiento de mensajes) no hay una comunicación directa entre el origen y destino MTA (Servidor de correo) Es necesario un DNS para saber a dónde me voy a comunicar Tiene protocolos de comunicación SMPT: simple mail transfer protocole: hace la transferencia de servidor a servidor: recoge el correo que envia el UA (User agent) y los transporta de MTA a MTA, POP3: recepción de correos por parte del UA, IMAP: recepción de correos por parte del UA también es autenticado, HTTP, los correros se envían y llegan a los MTA de cada dominio (el protocolo entre MTAs es el SMTP) Protocolo SMTP: Puerto 25 no seguro y puerto 587 seguro (protocolos SSL/TLS seguros y autenticados) Es un protocolo petición respuesta Procesos:

  • Enganche: conectar
  • Transferir
  • Cerrar comunicación El cuerpo del mensaje tiene un formato: Header: from – subject – date, Tambien se puede saber las MTAs por las que se ha pasado el correo Body: data El correo solo permite intercambiar texto y no binario: para solucionar esto se formatea el body del correo con un estandart que se llama MIME: Extensiones de correo de internet multipropósito (metadatos) Lo ultimo que enviar el UA al MTA es un punto con eso significa que ya termino de enviar el correo Atraves del DNS la MTA origen reconoce la MTA destino Importancia del emal en las apps distribuidas
  • Servicio de notificacion
  • Seguridad (verificar cuenta, recuperar la contraseña)
  • Recolectar datos (IOT)
  • Integración entre aplicaciones (comunicación entre aplicaciones)
  • Correo masivo MOM Permite una comunicación asincrónica entre apps Entonces entre las aplicaciones hay un servidor MOM que almacena los mensajes de la app1 y cuando la app2 este encendida recupera los correos

DIFERENCIA ENTRE CONSULTA www.algunacosa.com y

algunacosa.com

Sistemas distribuidos Hacer creer a los usuarios que están usando el sistema, que solo usan un sistema macro En cualquier momento que yo haga un write en cualquier Componentes (nodo) conectador a una red y que se comunican entre ellos por medio de paso de mensaje (la idea central es compartir recursos)

Retos de los sistemas distribuidos

  • Heterogeneidad: hay clientes en Python, en c, hay diferentes redes, sistemas operativos, implementaciones de desarrolladores, etc pero hay algo intermedio que permite la comunicación entre los dos clientes (middlewares = objetivo: atacar la heterogeneidad e implementar una funcionalidad común a unas aplicaciones, ejemplo la web: comunicar mediante un navegador a un servidor, entonces esconde los protocolos, formato de los datos, midelware orientados a mensajes, nosotros vamos a implementar envio y recepción de mensajes a través de dos abstracciones: colas y canales MOM)
  • Seguridad: tenemos lo siguiente: o Se requiere seguridad en el sentido de que los datos se envíen de lado a lado de una forma encriptada o Confidencialidad (user/password) = autenticación (servicios de autenticación internos: AD, LDAP (por ejemplo la autenticación de eafit), externos: Google, facebook, azure) o Integridad o activado
  • Escalabilidad: implementar las cosas que puedan atender a las altas demandas… escalabilidad vertical: hardaware escalabilidad horizontal: poner otro servidor para el soporte
  • Manejo de fallas
  • Concurrencia: capacidad que tiene un sistema para compartir recursos con varios clientes… problema base de datos, si está en varios servidores: para mantener la consistencia.
  • Transparencia: hacerle creer al usuario que solo esta usando un sistemas, pero en realidad son varios (sistemas distribuidos) o Dimensión de acceso: identificación de que el acceso es local o remoto o Concurrencia, no necesito a otro para comunicarme con uno en especifico o Replicación o Tolerancia a fallos o
  • Calidad del servicio
  • Apertura: que las especificaciones sean publicas, para poder implementar lo que yo quiera…. Software abierto
  • Disponibilidad: respuesta a los fallos. En los sistemas distribuidos, las fallas son parciales no se caen todas las partes del sistema o Para el manejo de fallos se requiere: detectarlo, resolverlo, evitarlo, recuperar la información, respuesta al fallo. o Enmascarar: cuando hay una falla, el load balancer detecta la falla y retira ese elemento o ese servidor del sistema del pull de servidores. El usuario no percibe la falla. Pero puede haber un error de disponibilidad… se vuelve lento el sistema, luego es necesario recuperar el sistema

MOM

Tenemos dos aplicaciones que se quieren comunicar (mandar datos, etc) para hacer esta comunicación se utiliza RPC romote procedure call (llamadas a procedimientos remotos), en los modelos de interacion RPC siempre la comunicación es sincrónico: se necesita tener ambas entidades en línea Tipos de RPC:

  • Objetos distribuidos Para nosotros los RPC es HTTP: el browser manda HTTP request y el servidor devuelve HTTP response Tienen la característica de que solo permite tener una comunicación uno a uno… usted desde un navegador solo puede hacer una comunicación con un request a un solo servidor Las aplicaciones conocen el destino En la comunicación sincrónica, mientras se devuelve la respuesta, el browser se bloquea… si este tiempo es muy prolongado, se puede determinar que no llego (entonces se puede perder el mensaje enviado o el mensaje de confirmación, es necesario tener en cuenta que puede llegar duplicado) Cuando tengo un MOM… la aplicación uno envia mensajes al MOM y en este MOM almacena esos mensajes en una cola (FIFO) y la aplicación va haciendo get del MOM También hay una confirmación (pero hay que activarla, por defecto viene desactivada) Las aplicaciones conocen el MOM pero no conocen el destino EN los MOM hay dos modelos de comunicación
  • Punto a punto: cualquier productor puede enviar un mensaje, pero el mensaje solo es recibido por un consumidor (servicio de colas)
  • Publicador suscriptor: un productor puede mandar un mensaje y lo reciben todos (Canal) Arquitectura de sistema distribuido Conjunto de componentes abstractos y/o módulos y la relación que hay entre dichos componentes (debe tener un ambiente, ejemplo: empresarial, hardware) y los principios que guían su diseño y evolución del sistema Sistema: colección de componentes organizados cada uno con su propia función y a la relación entre ellos Arquitectura de sistemas (clase 17 febrero min 1:22)
  • Arquitecturas centralizadas

Arquitectura cliente servidor  Las funciones están divididas en capas  El cliente es un consumidor de recursos  El cliente solo se puede comunicar con un servidor  Hay una comunicación sincrónica (el cliente se bloquea esperando respuesta del server)  El servidor es monilitico: el solo está en una capa, solo atiende una capa, si la capa está distribuida (sistema distribuido) esto se da para tener una escalabilidad, tener una tolerancia a fallas (si solo hay un server y se cae, hay fallos al sistema)  No hay comunicación directa entre clientes  Hay unas capas definidas (GUI -> Usuario, Negocio -> Apps, Datos -> archivos y base de datos)  Evolución o Sistemas centralizados: todo lo hace un mismo equipo o Emulación remota: clientes livianos y no tienen interfaz (uno se conecta y todo lo hace el servidor, ejemplo: telnet, VNC, Windows terminal, SSH) o Arquitectura cliente servidor de 2 niveles (nivel: cantidad de unidades de procesamiento en las cuales están dividas las capas) o o Desventajas de cliente grueso: para cada cliente (sistema operativo) se debe de realizar una versión o Comienzan las n capas

o La arquitectura de la web hoy nos plantea mínimo 4 capas: browser, web server, App server, DB server  En el web server está el contenido estático (lo que no cambia). Acá traigo las aplicaciones de escritorio  En el App server está el contenido dinámico. HTML Javascript o Arquitectura P2P  Los recursos no están centralizados en los servidores sino en los clientes  Ejemplo: las aplicaciones multimedia (Skype, etc)  Si se cae un nodo, no hay problema en el sistema  Retos: o Es necesario tener una red superpuesta, saber cuales son mis peers (conexiones) (cómo se construye la red) o Es necesario saber dónde están los recursos, como los busco o Cómo se realizar la transmisión de los recursos entre los peers  Para el primer reto: o Redes P2P estructuradas (protocolo de algoritmo para confirmar la red, acá un algoritmo común es Distributed Hash Table, los protocolos determinan los siguientes, activos, etc) y no estructuras: Redes P2P puras: flooding, conocer algunos que conozcan otros, hibridas basadas en superPeers, hibridas basadas en servidor (pero los recursos no están en el servidor) COMUNICACIÓN SINCRONICA Ejemplo: RCP El cliente envía una petición al servidor y mientras este responde, el cliente se bloquea, si el server se cae no hay comunicación COMUNICACIÓN AASINCRONICA No es necesario que todos estén en línea

SESIÓN

Saber que hay un cliente activo, el cliente tiene trazabilidad en el sistema. Identificación del cliente en la aplicación Acá tenemos las cookies en el lado del cliente y en el lado del servidor es el token session (cuando se inicia la sesión con el usuario y contraseña, el servidor envia un token para que todas las peticiones de ahí en adelante tengan el token y así se identifica) También se tienen las API KEY (el token se tiene mientras se mantengan las sesiones pero la api key puede durar más) SIN SESIÓN ESTADO Para realizar una comunicación, primero se debe establecer la comunicación y al final se deben realizar una desconexión, ejemplo: TCP, SMTP (correo), USER – DNS SIN ESTADO Para realizar la comunicación, no se necesita establecerla, se envían los datos de una, ejemplo ethernet/wifi, IP, UDP, HTTP, (DNS - DNS) Actualmente existen dos alternativas para desplegar una aplicación:

  • On – premise: Yo tengo mis propios servidores, infraestructura, redes… Data center: Edificio diseñado para alojar en diferentes formatos aspectos de la infraestructura de TI: Computo, almacenamiento, redes y la principal función es suministrar aspectos como energía eléctrica, refrigeración, seguridad. Espacio físico totalmente optimizado para alojar hosts proporcionándoles energía eléctrica limpia y conectividad de red Aloja los recursos críticos de computo en un entorno controlado y bajo la gestión centralizada Un centro de datos es el lugar donde se puede acomodar múltiples tipos de recursos de computo que te permiten la recolección, almacenamiento, compartición y distribución de grandes volúmenes de datos

Clasificación de los centros de datos Cantidad de tolerancia y dinero que se tenga

  • Cloud Bajo demanda Nube publica => se accede a través de internet Pago por consume
  • Nube publica: aws -> te conectas por internet
  • Multiclod: tener varios proveedores sin depender de uno solo
  • Hibrido:
  1. Redundante: si se cae en alguna parte tengo el respaldo en el otro lado
  2. Composición: Unas cosas acá y otras allá Modelos de servicios:
  • Niveles de acceso a servicios: o Software como servicio (SasS) o Infraestructura como servicio (IasS = Hardware como servicio, pero va más allá) o Plataformas como servicio (PasS)

Virtualización Modelos de hace 20 años, cada servidor tenia su sistema operativo Hay tres grandes formas de virtualización, no son excluyentes

  • Virtualización: vm
  • Contenedores: proceso aislado con sus propios recursos: red, disco o Kubernetes: sistema de gestión de contenedores (tolerancia a fallos, etc)
  • Sin servidor: