Вы находитесь на странице: 1из 16

Balotario (Hasta el sábado medianoche)

1. Grupo 1: “Architecture”
a. Cuales son las operaciones de la Arquitectura basado en Recursos?

b. Qué es Middleware y cual es su función?


Software que administra y soporta los diferentes componentes de un
sistema distribuido. En esencia, se sitúa en el media del sistema.
● Monitorea procesamiento de transacciones
● conversión de datos
● Controladores de comunicación

c. Grafique la Arquitectura subscriber/publisher

d. Qué arquitectura usa BITTORRENT y explique:


Una vez que un nodo ha identificado desde dónde descargar un
archivo, se une a un enjambre de descargadores que en paralelo obtienen
fragmentos de archivos de la fuente, pero también distribuyen estos
fragmentos entre sí.

e. Cuales son los 2 patrones de diseño que trabajan en el Middleware


Existen 2 patrones de diseños que trabajan en el nivel Middleware:
● Wrappers
● Interceptors
2. Grupo 2: “Processes”

a. Mencione las 3 maneras de construir un servidor con sus respectivas


características

1. Multi-hilos (Multithreading)
- Paralelismo
- Llamadas bloqueantes del sistema

2. Procesos de un único hilo


- No hay paralelismo
- Llamadas bloqueantes del sistema

3. Máquina de Estado Finito


- Paralelismo
- Llamadas no bloqueantes del sistema

b. ¿Por qué no es recomendable utilizar máquinas de estado finito como


método para la construcción de un servidor?

Este método es genera un alto rendimiento a través del paralelismo sin embargo usa
llamadas no bloqueantes lo cual generalmente es difícil de mantener y programar.

c. ¿Cuáles son los niveles en la virtualización?

1. Arquitectura del conjunto de instrucciones (ISA)


a. Instrucciones privilegiadas (ejecutadas sólo por el sistema operativo)
b. Instrucciones generales (ejecutadas por cualquier programa)
2. Llamadas del sistema
3. Interfaz de programación de aplicaciones (API)

d. Indique cuáles son los problemas más comunes que se encuentran en


los procesos de los servidores

1. El uso de servidores concurrentes e iterativos


2. Puntos finales (end-point)
3. Interrupción de servidores
4. Servidores con estado y servidores sin estado

e. ¿Cuál es la razón principal para migrar un código a otro servidor? ¿Qué


problemas existen y cuál es la solución a estos errores?

La ​razón principal ​es que obtenemos un rendimiento mejorado (expresado en


términos de utilización de recursos del CPU)
Además también existe la flexibilidad que consiste en la partición de un proceso en
diferentes partes y decidir dónde se debe ejecutar cada parte

Uno de los principales ​problemas​ es el uso de recursos locales que se soluciona al


establecer nuevos enlaces a los recursos locales en la máquina de destino.
Y otro problema es la heterogeneidad, lo cual se resuelve usando máquinas virtuales
en forma de máquinas virtuales de procesos o usando monitores de máquinas
virtuales.

3. Grupo 3: “Communication”
a. En la comunicación MULTICAST. En que consta la técnica basada en
chisme.
Es una técnica cada vez más importante para diseminar información, el cual
simula un comportamiento epidémico al observar cómo se propagan las
enfermedades entre las personas. El objetivo principal de estos protocolos
epidémicos es propagar rápidamente la información entre una gran colección
de nodos utilizando solo información local. En otras palabras, no existe un
componente central por el cual se coordine la diseminación de la información.

b. Existen 2 medios de soporte para la trasmisión de datos. Cuales son y


describa.
i. Continuo: En este tipo de transmisión las relaciones temporales
entre diferentes elementos de datos son fundamentales para
interpretar correctamente lo que significan realmente los datos. Un
ejemplo de ello sería al sincronizar video y audio de una película.
ii. ​Discreto: Se caracterizan por el hecho de que las relaciones
temporales entre elementos de datos no son fundamentales para
interpretar correctamente los datos. Los ejemplos típicos de medios
discretos incluyen representaciones de texto e imágenes fijas.
c. Describa los tipos de comunicación.
i. Comunicación Persistente: ​Con la comunicación persistente, un
mensaje que ha sido enviado para su transmisión es almacenado por
el middleware de comunicación, siempre que sea necesario
entregarlo al receptor. En este caso, el middleware almacenará el
mensaje en una o varias de las instalaciones de almacenamiento.
Como consecuencia, no es necesario que la aplicación de envío
continúe la ejecución después de enviar el mensaje. Del mismo modo,
la aplicación receptora no necesita ejecutarse cuando se envía el
mensaje.
ii. Comunicación Transitoria:​ Por el contrario, con la comunicación
transitoria, el sistema de comunicación almacena un mensaje solo
mientras se estén ejecutando las aplicaciones de envío y recepción.
Más precisamente, el middleware no puede entregar un mensaje
debido a una interrupción de la transmisión, o porque el destinatario
no está actualmente activo, simplemente se descartará.
iii. Comunicación Asíncrona:​ La característica de la comunicación
asíncrona es que un emisor continúa inmediatamente después de
haber enviado su mensaje para su transmisión. Esto significa que el
mensaje es (temporalmente) almacenado inmediatamente por el
middleware en el momento de la presentación.
iv. Comunicación Síncrona:​ Con la comunicación síncrona, el emisor
se bloquea hasta que se sepa que su solicitud es aceptada.
d. Los Stream pueden ser simples y complejos. Describa cada uno de
ellos.
i. Simples:​ Es aquella que consta de una sola secuencia de datos,
como, por ejemplo. La descarga de una imagen.
ii. Complejos: ​Una secuencia compleja consta de varias secuencias
simples relacionadas, llamadas subflujos. La relación entre los
subflujos en un flujo complejo a menudo también depende del tiempo.
Por ejemplo, el audio estéreo que puede poseer varios canales.

e. Explique los pasos para realizar una llamada a procedimiento


Remoto(RPC):

i. El client procedure llama al client stub de la manera normal.


ii. El client stub crea un mensaje y llama al sistema operativo local.
iii. El Sistema operativo del cliente envía el mensaje al sistema operativo
remoto.
iv. El sistema operativo remoto da el mensaje al server stub.
v. El server stub desempaqueta los parámetros y llama al servidor.
vi. El servidor hace el trabajo y devuelve el resultado al stub.
vii. El server stub empaqueta los resultados en un mensaje y llama a su
sistema operativo local.
viii. El sistema operativo del servidor envía el mensaje al sistema
operativo del cliente.
ix. El sistema operativo del cliente entrega el mensaje al client stub.
x. El stub desempaqueta el resultado y devuelve esto al cliente.
4. Grupo 4: “Naming”

a. ¿Cúal es el proceso de la solución broadcasting?


Las instalaciones broadcasting son ofrecidas en su mayoria por redes de
área local, en las cuales todas las máquinas están conectadas a un solo
cable o su equivalente lógico. La localización de una entidad manifiesta el
simple proceso del Broadcasting, este se basa en difundir un mensaje que
contiene el identificador de la entidad a cada máquina y se solicita a cada
máquina que compruebe si tiene esa entidad. Solo las máquinas que
pueden ofrecer un punto de acceso para la entidad envían un mensaje de
respuesta que contiene la dirección de ese punto de acceso. La solución
broadcasting se vuelve ineficiente cuando la red crece. No solo se
desperdicia el ancho de banda de la red mediante mensajes de solicitud,
sino que, demasiados hosts pueden verse interrumpidos por solicitudes que
no pueden responder.

b. ¿Qué es un sistema jerárquico?


Un esquema jerárquico en una red se divide en una colección de dominios.
Hay un solo dominio de nivel superior que abarca toda la red. Cada dominio
se puede subdividir en subdominios múltiples y más pequeños. Un dominio
de nivel más bajo, denominado dominio de hoja, normalmente corresponde
a una red de área local en una red informática o una célula en una red de
telefonía móvil. La suposición general es que dentro de un dominio más
pequeño, el tiempo promedio que lleva transferir un mensaje de un nodo a
otro es menor que en un dominio grande. Cada dominio tiene un directorio
asociado a un nodo de directorio que realiza un seguimiento de las
entidades en ese dominio, esto conlleva la elaboración a un árbol de nodos
de directorio, el nodo de directorio del dominio de nivel superior, llamado
nodo raíz , conoce todas las entidades.

c. Describa cómo se distribuye un name space.


Un name space se particiona en capas:
a. Capa global.
-Formada por nodos del nivel más alto: nodo raíz y sus hijos.
-Sus nodos son estables.
-Representa organizaciones o grupos de organizaciones.
b. Capa administrativa.
-Formada por nodos directorio administrados por una sola
organización.
-Nodos relativamente estables.
c. Capa gerencial.
-Sus nodos representan hosts, archivos compartidos o directorios.
-Nodos que cambian regularmente.
-Los nodos son mantenidos por administradores del sistema y
usuarios finales.
d. Explique las formas de implementar la resolución de nombre en el
nombramiento estructurado.
a.​ ​Resolución de nombre iterativa:​ Cada resultado intermedio es devuelto
al resolutor de nombre, que contacta al siguiente servidor de nombre.
-El resolutor de nombre del cliente envía el nombre del path completo
al servidor de nombre raíz.
-El servidor resuelve el nombre hasta donde le es posible y retorna la
dirección del siguiente servidor de nombre y el remanente del nombre del
path.
-El resolutor de nombre contacta al siguiente servidor y le envía lo que
queda del nombre del path.
-El proceso se repite sucesivamente hasta que el nombre es
completamente resuelto por el último servidor, el cual retorna el archivo
solicitado.

b. Resolución de nombre recursiva​: El servidor de nombre pasa el


resultado intermedio al siguiente servidor de nombre.
-El resolutor de nombre del cliente envía el nombre del path completo
al servidor de nombre raíz.
-El servidor de nombre encuentra al siguiente servidor de nombre y le
solicita que resuelva lo que queda del nombre del path.
-El proceso se repite hasta que el nombre es resuelto y el archivo es
retornado recursivamente al servidor de nombre raíz, que pasa el archivo al
resolutor de nombre.

e. ¿Qué es el nombramiento basado en atributos?


-Es la representación de la descripción de una entidad en términos de pares
de (atributo, valor). Se asume que una entidad tiene asociada una colección
de atributos. El usuario especifica qué valores debería tener un atributo,
restringiendo el conjunto de entidades en las que está interesado. El sistema
de nombramiento se encarga de retornar las entidades que cumplen con la
descripción provista.
Existen dos tipos de implementaciones para este tipo de nombramiento:
*Implementaciones jerárquicas (como LDAP-Protocolo Ligero de
Acceso a Directorios)
*Implementaciones descentralizadas (por ejemplo, usando índices
distribuidos o curvas que llenan el espacio).

5. Grupo 5: “Sync”

a. Describir los 3 casos en los que puede encontrarse un proceso en el


algoritmo distribuido de exclusión mutua
Cuando un proceso recibe una solicitud de otro proceso, la acción que toma
depende de su propio estado con respecto al recurso referido en la solicitud.
Tres casos pueden presentarse:

i.​ ​Si el receptor no está accediendo al recurso y no lo requiere, retorna un


mensaje de OK al emisor.

ii.​ ​Si el receptor está accediendo al recurso, simplemente no responde a la


solicitud. En lugar de ello, envía la solicitud a su cola de mensajes.

iii. Si el receptor también quiere acceder al recurso pero aún no lo ha hecho,


compara el tiempo del mensaje entrante con el tiempo de su propio mensaje
(el que envió a los demás). El menor gana. Si el mensaje entrante tiene un
tiempo menor, el receptor responde con un mensaje de OK, si su propio
mensaje tiene un tiempo menor, el receptor envía el mensaje a su cola y no
responde.

b. ¿En qué categorías se clasifican los algoritmos de mutua exclusión?

Los algoritmos de exclusión mutua pueden ser clasificados en dos categorías


diferentes. Primero, ​los algoritmos basados en token​, donde la exclusión
mutua se logra a través del paso de un mensaje especial entre los procesos,
conocido como token. Solo existe un token disponible y el proceso que lo
posea está autorizado para acceder el recurso compartido. Cuando finaliza
su turno, el token se pasa al siguiente proceso. Si el proceso poseedor del
token no está interesado en acceder al recurso simplemente pasa el token al
siguiente. Estos algoritmos tienen unas propiedades importantes. En primer
lugar no son propensos a la inanición de procesos (starvation), fácilmente
aseguran que cada proceso tendrá una oportunidad para acceder al recurso.
Además, los deadlocks, por los que muchos procesos pueden quedar en un
estado de espera indefinido, pueden ser fácilmente evitados.

Segundo,​ los algoritmos basados en permisos​, en este caso, el proceso


que desea acceder al recurso necesita el permiso de los demás procesos.

c. ¿Cuál es la diferencia entre sincronización interna y externa y cuáles


son sus parámetros?

El objetivo de los algoritmos de sincronización es mantener la desviación


entre los relojes de dos máquinas en un sistema distribuido, bajo los límites
de un parámetro, conocido como ​precisión π​. Con la salvedad de que la
precisión se refiere específicamente a la desviación entre relojes de
máquinas que pertenecen a un mismo sistema distribuido. Cuando se
considera un punto de referencia externo, como UTC (Universal coordinated
time), se busca mantener la desviación bajo los límites de un parámetro
denominado ​exactitud α​. El objetivo de la sincronización es mantener los
relojes precisos dentro de un mismo sistema, y en este caso se habla de
sincronización interna​, o exactos, respecto a una referencia ajena al
sistema, cuando se habla ​sincronización externa​.

d. ¿En qué consiste la relación happens-before en los relojes lógicos de


Lamport?

Para sincronizar los relojes lógicos, Lamport definió la relación


happens-before​. La expresión a → b se lee "el evento a sucede antes que el
evento b" y significa que todos los procesos coinciden en que el evento a
ocurre primero y luego el evento b. Esta relación se observa directamente en
dos situaciones:

i. Si a y b son eventos en el mismo proceso, y a ocurre antes que b, entonces


a → b es verdadero.

ii. Si a es el evento de que un mensaje está siendo enviado por un proceso, y


b es el evento de que el mensaje está siendo recibido por otro proceso,
entonces a → b es también verdadero. Un mensaje no puede ser recibido
antes de ser enviado, o incluso al mismo tiempo de su envío, dado que toma
un tiempo finito (distinto de cero) para llegar a su destino.

e. Explique el algoritmo de bully

Consideraremos N procesos P(0),P(n-1) y tomamos id(P(k))=K, siendo K el


identificador. Cuando cualquier procesos se da cuenta que el "coordinador"
no responde, inicia un proceso de eleccion. Esto de la siguiente manera:
i. 1)P(k) envia "election message" a todos los procesos con
identificadores mas altos, P(k+1),P(k+2), ... ,P(n-1)
ii. 2)Gana el proceso con el valor mas alto P(k), y se vuelve al paso (1)
iii. 3)Si no existe algun identificador con mayor valor p(k), entonces este
será el nuevo coordinador.

6. Grupo 6: “Consistency and Replication”


1. Defina (a) y (b), además explique su necesidad e importancia
a. Consistencia:
Es la característica de un sistema distribuido de mantener
actualizadas las replicadas de los datos que se administra.
b. Replicación:
Es la acción que se leva en un sistema distribuido de realizar copias
de los datos y almacenados a través del mismo.

La consistencia y replicación son dos características necesarias en un


sistema distribuido debido a que en primer lugar aseguran la
sincronización de cambios. ​Por ejemplo​, cuando un archivo es
escrito en un lugar del planeta y se consulta desde otro, se conoce
que en cada caso se accede a diferentes servidores que consultan al
almacenamiento del sistema de archivos más cercano, entonces
estas copias deben mantenerse actualizadas.

En es caso de la replicación, es importante por dos razones :


i. Fiabilidad: ​Si una copia se corrompe, existen otras
disponibles
ii. Rendimiento: ​Al tener que realizar varias operaciones sobre
la misma data, se obtiene resultados más rápidos al dividir los
procesos sobre varias copias.

2. ¿Cuales son los ejes para definir inconsistencias?

a. Desviación en valores numéricos entre réplicas


Medir la inconsistencia en términos de desviación de valores
numéricos puede ser usado en aplicaciones para las cuales los datos
tiene una semántica numérica. Un claro ejemplo es la replicación de
registros contenidos en los precios de bolsa, entonces se podría
especificar que dos copias no deberán desviar más de $0.02, lo que
sería una desviación numérica absoluta, pero también se puede
especificar una desviación numérica relativa, como que dos copias no
pueden variar mas de 0.5 %. En ambos casos vemos que si un valor
sube sin violar las especificaciones , las réplicas serían aun
consideradas como mutuamente consistentes.

b. Desviación de staleness(disparidad de versiones) entre réplicas]


Desviación Staleness está relacionado a la ultima ves que la réplica
fue actualizada.Dependiendo de las aplicaciones se puede permitir
que un réplica provee datos son antiguos. Como ejemplo tendrı́amos
los reportes de clima que generalmente permanecen iguales pasado
un tiempo(horas).

c. Desviación con respecto al orden de las operaciones de


actualización.

Algunas clases de aplicaciones permiten que el orden de las


actualiza-
ciones se realice de de manera diferente en varias replicas, como ser
aplicadas tentativamente a una copia local, esperando la aceptación
de todas las réplicas.Como consecuencia, algunas actualizaciones
pueden necesitar ser revertidas y aplicadas en un orden diferente
antes volviéndose permanente. Intuitivamente, ordenar desviaciones
es mucho más difícil de entender que las otras dos métricas de
consistencia. Proporcionaremos ejemplos a continuación para aclarar
asuntos.

3. ¿Qué es la consistencia secuencial?

Se dice que existe consistencia secuencial en un sistema distribuido cuando, dos


procesos se ejecutan en diferentes maquinas posiblemente, cualquier comunicación
de entrelazado entre operaciones de lectura y escritura es un comportamiento
aceptable, pero todos los procesos miran o siguen el mismas líneas de
comunicación entrelazada de operaciones.

En la figura (a) , el comportamiento es aceptable debido a que ocurra es proceso P1


o P2 primero siempre la primera lectura ejecuta en P3 y P4 obtienen es mismo valor,
en este caso b. En Fig. 2.3 (b) no se cumple esto.

4. En un sistema distribuido que soporta replicación es decir dónde, cuándo, y


por quién deben ubicarse las réplicas. ¿Que problemas se abordan
principalmente al momento de hacer replicas?
a. Ubicación del servidor de réplicas: ​La ubicación del servidor de réplicas
tiene que ver con encontrar los mejores lugares para colocar un servidor que
pueda hospedar parte de un almacén de datos.
b. ​Ubicación de contenido: ​se relaciona con encontrar a los mejores
servidores para colocar el contenido.
5. Mencione y explique brevemente los tipos de réplicas de contenido.
a. Réplicas permanentes:​ se considera como el conjunto inicial de réplicas
que constituyen un almacén de datos distribuido.
b. Réplica iniciada por el servidor:​ son copias de un almacén de datos que
existe para mejorar el rendimiento.

Por ejemplo, considere un servidor web ubicado en Nueva York. De manera


normal, este servidor puede manejar muy fácilmente peticiones entrantes,
pero puede ocurrir que durante un par de días entre una explosión súbita de
peticiones desde una ubicación inesperada, alejada del servidor. En ese
caso, puede valer la pena instalar cierto número de réplicas temporales en
las regiones de donde provienen las peticiones.
c. Réplica iniciada por el cliente: ​son conocidas como cachés (cliente), es
una herramienta de almacenaje local utilizada por un cliente para almacenar
temporalmente una copia de los datos que ha solicitado.

a.

7. Grupo 7: “Fault Tolerance”


a. Para que un sistema distribuido sea ​“confiable”​ ¿Que requisitos debe
de tener?

● Disponibilidad: ​Es la propiedad de que un sistema está listo para ser


utilizado inmediatamente. En General se refiere, a un sistema
altamente disponible es uno que probablemente funcionará en un
instante dado en el tiempo.
● Confiabilidad: Es la propiedad de que un sistema puede funcionar
continuamente sin fallas. A diferencia de la disponibilidad, la
confiabilidad se define en términos de un intervalo de tiempo en lugar
de un instante en el tiempo. Un sistema altamente confiable es uno
que probablemente continuará funcionando sin interrupción durante
un período de tiempo relativamente largo. Por ejemplo, si un sistema
baja en promedio durante uno, aparentemente milisegundo aleatorio
por hora, tiene una disponibilidad de más del 99.9999 por ciento, pero
aún no es confiable. De manera similar, un sistema que nunca falla,
pero que se cierra durante dos semanas específicas, tiene una alta
confiabilidad pero solo un 96 por ciento de disponibilidad.
● Seguridad: ​Se refiere a la situación de que cuando un sistema falla
temporalmente para operar correctamente, no ocurre ningún evento
catastrófico.
● Mantenibilidad: ​Se refiere a la facilidad con la que se puede reparar
un sistema defectuoso. Un sistema altamente sostenible también
puede mostrar un alto grado de disponibilidad, especialmente si las
fallas pueden detectarse y repararse automáticamente. Sin embargo,
como veremos más adelante en este capítulo, la recuperación
automática de fallas es más fácil decirlo que hacerlo.

b. Cuales son los diferentes tipos de fallas

Tipos de Fallos Descripción del comportamiento del servidor

Crash failure Se detiene, pero funciona correctamente hasta


que se detiene.

Omission failure No responde a las solicitudes entrantes


● Receive ● No recibe los mensajes entrantes
omission
● Send omission ● No puede enviar mensajes

Timing failure La respuesta se encuentra fuera de un intervalo


de tiempo especificado

Response failure La respuesta es incorrecta


● Value failure ● El valor de la respuesta es incorrecto
● State-transition ● Se desvía del flujo correcto de control
failure

Arbitrary failure Puede producir respuestas arbitrarias en


tiempos arbitrarios

c. Que es el Teorema CAP

El teorema CAP, dice que un sistema distribuido puede asegurar dos de


estas tres propiedades: Consistencia, Disponibilidad y Tolerancia al
particionado:

● La consistencia (Consistency): ​Todos los nodos deben ver los


mismos datos al mismo tiempo, esto quiere decir que; cualquier
cambios en los datos se debe aplicar en todos los nodos, y cuando se
recupere el dato tiene que ser el mismo en todos los nodos. Esto se le
llama consistencia atómica, y se consigue replicando la información
en todos los nodos.
● La disponibilidad (Availability): ​Cada petición en un nodo debe
recibir y garantizar una confirmación si ha sido resuelta
satisfactoriamente. En pocas palabras, se debe leer y escribir en
todos los nodos.
● La tolerancia al particionado (Partition Tolerance): El sistema
debe funcionar a pesar de que haya un fallo​, garantizando la
disponibilidad a pesar que un nodo se separe del grupo sin importar la
causa.

d. Cuales son los pasos del Protocolo Original de Confirmación en dos


fases (2PC)

1. El coordinador envía un mensaje ​VOTE-REQUEST a todos los


participantes.

2. Cuando un participante recibe un mensaje de ​VOTE-REQUEST​, devuelve


un mensaje de ​VOTE-COMMIT al coordinador que le dice al coordinador que
está preparado para comprometer localmente su parte de la transacción o, de
lo contrario, un mensaje de ​VOTE-ABORT.
3. El coordinador recoge todos los votos de los participantes. Si todos los
participantes han votado para comprometer la transacción, también lo hará el
coordinador. En ese caso, envía un mensaje ​GLOBAL-COMMIT a todos los
participantes. Sin embargo, si un participante ha votado para abortar la
transacción, el coordinador también decidirá abortar la transacción y
multidifundirá un mensaje ​GLOBAL-ABORT.

4. Cada participante que votó por un ​commit ​espera la reacción final del
coordinador. Si un participante recibe un mensaje de ​GLOBAL-COMMIT​,
este localmente confirma la transacción. De lo contrario, cuando se recibe un
mensaje ​GLOBAL-ABORT​, la transacción también se cancela localmente.

e. Con respecto a “Independent checkpointing” (efecto domino), explique


el siguiente esquema:

Cuando el proceso ​P2 ​falla, necesitamos restaurar su estado al ​checkpoint


guardado más recientemente. Como consecuencia, el proceso P1 también
deberá retirarse. Desafortunadamente, los dos estados locales guardados
más recientemente no forman un estado global consistente: el estado
guardado por P2 indica la recepción de un mensaje ​m​, pero no se puede
identificar ningún otro proceso como su remitente. Por lo tanto, P2 necesita
retroceder a un estado anterior.

Sin embargo, el siguiente estado al que se retrocede ​P2 ​tampoco se puede


usar como parte de una instantánea distribuida. En este caso, ​P1 ​habrá
registrado el recibo del mensaje ​m*​, pero no hay ningún evento grabado de
este mensaje enviado. Por lo tanto, es necesario también hacer que ​P1
vuelva a un estado anterior.

8. Grupo 8: “Security”
a. Indique y explique los principales mecanismos de seguridad para un
sistema distribuido
● Cifrado: El cifrado es fundamental para la seguridad informática. Transforma los
datos en algo que un atacante no pueda entender. En otras palabras, el cifrado
proporciona un medio para poner en práctica la confidencialidad de los datos.
Además, el cifrado nos permite comprobar si los datos han sido modificado. Por lo
tanto, también proporciona soporte para comprobaciones de integridad.

● Autenticación: La autenticación se usa para verificar la identidad reclamada de un


usuario, cliente, servidor, host u otra entidad. En el caso de los clientes, la premisa
básica es que antes de que un servicio comience a realizar cualquier trabajo en
nombre de un cliente, el servicio debe conocer la identidad del cliente (a menos que
el servicio esté disponible para todos). Normalmente, los usuarios se autentican
mediante contraseñas, pero hay muchas otras maneras de autenticar clientes.

● Autorización: Después de que un cliente ha sido autenticada, es necesario


comprobar si ese cliente está autorizado para realizar la acción solicitada.
Dependiendo de quién tiene acceso a la base de datos, se podrá conceder el
permiso para leer los registros, para modificar ciertos campos en un registro, o para
añadir o eliminar un registro

● Auditoría: Las herramientas de auditoría se utilizan para rastrear cuáles clientes


acceder a qué, y de qué manera. Aunque la auditoría en realidad no ofrece ninguna
protección contra amenazas a la seguridad, los registros de auditoría pueden ser
extremadamente útiles para el análisis de un fallo de seguridad, y posteriormente
tomar medidas contra los intrusos. Por esta razón, los atacantes están generalmente
dispuestos para no dejar ningún rastro que eventualmente podría conducir a la
exposición de su identidad, por ende tratar de irrumpir en un sistema es una labor
peligrosa

b. Describa el funcionamiento a partir de los gráficos:


● El protocolo de autenticación basada en una clave secreta compartida

● En la descripción del protocolo, Alice y Bob se abrevian por A y B, respectivamente,


y su clave compartida se denota como K​A, B​.
● El protocolo adopta un enfoque común mediante el cual una de las partes le muestra
a la otra a una respuesta que puede ser correcta sólo si el otro sabe la clave secreta
compartida.
● Alice envía su identidad a Bob (mensaje 1), lo que indica que se quiere establecer
un canal de comunicación entre los dos.
● Bob envía posteriormente una reto R​B​ a Alice, que se muestra como el mensaje 2.
un desafío de este tipo podría adoptar la forma de un número aleatorio.
● Alice es requerida a cifrar el reto con la clave secreta K​A, B​ que comparte con Bob, y
regresar el reto cifrado a Bob. Esta respuesta se muestra como mensaje 3 en la
figura que contiene K​A, B​ (R​B​).
● Cuando Bob recibe la respuesta K​A, B​ (R​B​) a su desafío R​B​, él puede descifrar el
mensaje con la clave compartida de nuevo para ver si contiene R​B​. Si es así,
entonces él sabe que Alice está en el otro lado

● Todavía Alice aún no ha verificado de que sí es Bob en el otro lado del canal. Por lo
tanto, se envía un desafío R​A​ ( mensaje 4), que Bob responde a devolviendo
● K​A, B​ ( R​A​ ), se muestra como el mensaje 5. Cuando Alice lo descifra con K​A, B​ y
verifica que es R​A​, ella sabe que está comunicándose con Bob.

c. Qué es Kerberos y describa sus componentes


Kerberos fue desarrollado en M.I.T. y se basa en el protocolo de autenticación
Needham-Schroeder​. ​Kerberos puede ser visto como un sistema de seguridad que ayuda a
los clientes en el establecimiento de un canal seguro con cualquier servidor que forma parte
de un sistema distribuido. La seguridad se basa en claves secretas compartidas. Hay dos
componentes diferentes:
● El servidor de Autenticación (The Authentication Server o AS )​: Es responsable
de manejar una solicitud de inicio de sesión de un usuario. El AS autentica un
usuario y proporciona una clave que se puede utilizar para establecer canales
seguros con servidores.

● Servicio de concesión de boletos (Ticket Granting Service o TGS)​: La TGS es


encargado de manejar la configuración de canales seguros. Reparte mensajes
especiales, conocidos como “Boletos”, que se utilizan para convencer a un servidor
que el cliente es realmente lo que él o ella dice ser.

d. Indique usted los tipos de firewall que se combinan para la protección del Sistema
Distribuido y añada un ejemplo de su funcionamiento
Como se sabe existen dos tipos de firewall los cuales son:

Packet-filtering gateway:​ Este tipo de cortafuegos funciona como enrutador y toma


decisiones sobre si se pasa o no un paquete de red en función de la dirección de origen y
destino que figura en el encabezado del paquete.
Por ejemplo, para proteger un servidor web interno frente a solicitudes de hosts que no
están en la red interna, un ​Packet-filtering gateway ​podría decidir eliminar todos los
paquetes entrantes dirigidos al servidor web.
Application-level gateway: A diferencia de un ​Packet-filtering gateway​, que inspecciona solo
el encabezado de los paquetes de red, este tipo de firewall en realidad inspecciona el
contenido de un mensaje entrante o saliente.
Un ejemplo es aquella que permite el acceso externo a un servidor de biblioteca digital, pero
solo proporcionará resúmenes de documentos.

e. Porque en un sistema distribuido es necesario que haya seguridad de grupos


compartida?
Cómo sabemos para manejar los certificados de seguridad de nuestro sistema distribuido
podemos tener dos opciones usa KDC o CA los cuales permiten obtener seguridad pero
estos son tener problemas como la disponibilidad en los KDC y también que si se manipulan
es imposible tener acceso a la clave pública en los CA. Los Sistemas Distribuidos prefieren
manejar autenticación con un nivel alto de replicación que es el uso de grupos o usuarios
compartidos

Вам также может понравиться