Lección 2: Mensajería de baja latencia I Flashcards
Netem es una utilidad de red que me permite simular problemas de en la red para probar el comportamiento de mis sistemas de mensajería
Seleccione una:
Verdadero
Falso
- Verdadero
El modelo OSI se utiliza para definir la capa de transporte de un sistema de red
Seleccione una:
Verdadero
Falso
- Falso
La mensajería de baja latencia esta compuesta por un conjunto de librerías especiales de comunicación.
Seleccione una:
Verdadero
Falso
- Falso
Las soluciones de baja latencia pueden estar basados en… (selecciona todas las respuestas correctas)
Seleccione una o más de una:
a. Hardware
b. Una combinación de hardware y software
c. Software
a. Hardware
b. Una combinación de hardware y software
c. Software
Para que la mensajería se considere de baja latencia los valores de latencia deben estar aproximadamente por debajo de…
Seleccione una:
a. Depende de los requisitos del sistema y el tipo de problema que estemos resolviendo
b. 50 microsegundos
c. 1 millisegundo
a. Depende de los requisitos del sistema y el tipo de problema que estemos resolviendo
¿Por que hacemos batching para mejorar el throughput? Selecciona las respuestas correctas.
Seleccione una o más de una:
a. Por que permite mandar varios mensajes con las mismas cabeceras de las capas OSI
b. Por que puedo meter mas mensajes en un mismo datagrama de red
c. Por que hace que los mensajes lleguen antes
a. Por que permite mandar varios mensajes con las mismas cabeceras de las capas OSI
b. Por que puedo meter mas mensajes en un mismo datagrama de red
El Kernel Bypass se utiliza para evitar la llamada al sistema operativo y poder acceder directamente al driver de comunicaciones con la tarjeta de red
Seleccione una:
Verdadero
Falso
- Verdadero
¿Cuando se envían mensajes en multicast, quien se encarga de replicar los mensajes par que llegue a todos los subscriptores?
Seleccione una:
a. El Sistema Operativo
b. La librería de multicast
c. El router/switch
d. La tarjeta de red
c. El router/switch
Reliable Multicast está basado en un sistema de control por retransmisiones, cuando se detecta un gap de secuencia entre mensajes inmediatemente se realiza una petición de retransmisión.
Seleccione una:
Verdadero
Falso
- Falso
De las siguientes características, cuales son ciertas para “reliable multicast”
Seleccione una o más de una:
a. Tiene mejor latencia que TCP en general
b. Siempre se recupera de un error
c. PGM es una de sus implementaciones Open Source
d. Corrige los problemas de mensajes fuera de orden
e. Puede generar mensajes duplicados
f. La sesión puede romperse si hay problemas de conexión
a. Tiene mejor latencia que TCP en general
c. PGM es una de sus implementaciones Open Source
d. Corrige los problemas de mensajes fuera de orden
Empareja las siguientes niveles de OSI con su significado
Nivel 4
Respuesta 1
Nivel de Transporte
Nivel 6
Respuesta 2
Nivel de Presentación
Nivel 3
Respuesta 3
Nivel de Red
Nivel 5
Respuesta 4
Nivel de Sesión
Nivel 1 Respuesta 5
Nivel Físico
Nivel 2
Respuesta 6
Nivel Enlace de Datos
Nivel 7
Respuesta 7
Nivel de aplicación
Nivel 4
Respuesta 1
Nivel de Transporte
Nivel 6
Respuesta 2
Nivel de Presentación
Nivel 3
Respuesta 3
Nivel de Red
Nivel 5
Respuesta 4
Nivel de Sesión
Nivel 1 Respuesta 5
Nivel Físico
Nivel 2
Respuesta 6
Nivel Enlace de Datos
Nivel 7
Respuesta 7
Nivel de aplicación
IPC es un protocolo específico utilizado para realizar comunicaciones entre procesos
Seleccione una:
Verdadero
Falso
- Falso
El concepto de “colocation” consiste en acercar el emisor y el receptor tanto como sea posible
Seleccione una:
Verdadero
Falso
- Verdadero
Siempre puedo mejorar tanto la latencia como el ancho de banda
Seleccione una:
Verdadero
Falso
- Falso
Netem permite utilizar distribuciones normales para dar mas realismo a las simulaciones.
Seleccione una:
Verdadero
Falso
- Verdadero
Si se pierde un mensaje, todos los clientes que han detectado un “gap” envían una petición de retransmisión, pero cada uno lo hace en un intervalo aleatorio.
Seleccione una:
Verdadero
Falso
- Verdadero
Cuando optimizo el sistema para reducir la latencia hago batching para agrupar mensajes
Seleccione una:
Verdadero
Falso
- Falso
¿Cuales de las siguientes casuísticas se pueden simular con Netem?
Seleccione una o más de una:
a. Mensajes duplicados
b. Pérdidas de mensajes
c. Retrasos aleatorios
a. Mensajes duplicados
b. Pérdidas de mensajes
c. Retrasos aleatorios
¿Que capas de OSI podemos optimizar para mejorar la latencia?
Seleccione una:
a. Capas 1 y 2
b. Las 4 primeras
c. Todas las capas
c. Todas las capas
¿Por que es importante poder capturar y analizar paquetes de red para buscar problemas? Marca todas las verdaderas.
Seleccione una o más de una:
a. No siempre tenemos control sobre todas las capas de la mensajería.
b. El mensaje puede estar siendo descartado antes de llegar a nuestra aplicación.
c. Los mensajes pueden estar corrompiéndose por el camino.
a. No siempre tenemos control sobre todas las capas de la mensajería.
b. El mensaje puede estar siendo descartado antes de llegar a nuestra aplicación.
c. Los mensajes pueden estar corrompiéndose por el camino.
¿Cuales de las siguientes características están presentes en el protocolo TCP?
Seleccione una o más de una:
a. No está basado en sesión
b. Las comunicaciones son punto a punto
c. Elimina mensajes duplicados
d. Los mensajes pueden llegar fuera de orden
e. Se adapta a la velocidad del receptor
f. Los mensajes pueden llegar corruptos
b. Las comunicaciones son punto a punto
c. Elimina mensajes duplicados
e. Se adapta a la velocidad del receptor
Para sistemas de baja latencia siempre es mejor utilizar TCP ya que las comunicaciones son confiables
Seleccione una:
Verdadero
Falso
- Falso
Cualquier dirección IP se puede utilizar para enviar tráfico multicast
Seleccione una:
Verdadero
Falso
- Falso
UDP permite que multiples emisores envíen mensajes al mismo receptor
Seleccione una:
Verdadero
Falso
- Verdadero
TCP siempre mantiene la sesión, incluso cuando hay problemas en la red
Seleccione una:
Verdadero
Falso
- Falso
De las siguientes afirmaciones sobre una red de comunicaciones genérica, ¿Cuales son ciertas?
Seleccione una o más de una:
a. Los mensajes pueden corromperse
b. Los mensajes siempre tardan lo mismo en llegar
c. Los mensajes siempre llegan en orden
d. Cuanto mas grande es la red mas posibilidades de tener problemas de comunicación
e. Los mensajes pueden duplicarse
a. Los mensajes pueden corromperse
d. Cuanto mas grande es la red mas posibilidades de tener problemas de comunicación
e. Los mensajes pueden duplicarse
¿Cuantas capas tiene el modelo OSI?
Seleccione una:
a. 3
b. 7
c. 4
b. 7
Los sistemas de mensajería de baja latencia optimizan siempre todas las capas OSI de comunicaciones
Seleccione una:
Verdadero
Falso
- Falso
¿Por que utilizaría multicast para enviar el mismo mensaje a múltiples receptores en lugar de UDP puro?
Seleccione una:
a. Multicast crea las conexiones automáticamente entre el publicador y los receptores en la tarjeta de red del publicador, lo que es mas rápido que tener que replicar el mensaje via software.
b. El mensaje se copia para todos los subscriptores a nivel de hardware en el router, lo que hace que sea mucho mas rápido al no tener que enviarlo varias veces.
c. Multicast es mas ligero que UDP, lo que hace que se tarde menos en enviar el mensaje a cada uno de los subscriptores.
b. El mensaje se copia para todos los subscriptores a nivel de hardware en el router, lo que hace que sea mucho mas rápido al no tener que enviarlo varias veces.
Para utilizar Wireshark como analizador de paquetes, primero tengo que realizar una captura del tráfico de red y después pasársela a la aplicación para su análisis
Seleccione una:
Verdadero
Falso
- Falso
UDP utiliza el mecanismo de “Sliding Window” para controlar el flujo entre el emisor y el receptor
Seleccione una:
Verdadero
Falso
- Falso
El enrutamiento de mensajes en OSI se realiza en la capa 3
Seleccione una:
Verdadero
Falso
- Verdadero
Reliable Multicast consigue tener la misma confiabilidad que TCP pero con mejor rendimiento
Seleccione una:
Verdadero
Falso
- Falso
Los sistemas de baja latencia siempre utilizan sus propios protocolos de comunicación especiales
Seleccione una:
Verdadero
Falso
- Falso
Relaciona las siguientes capas OSI con mejoras que podemos hacer sobre ellas…
Capa 6
Respuesta 1
Usar serialización binaria de baja latencia
Capas 4 y 5
Respuesta 2
Usar UDP en vez de TCP, usar librerías de baja latencia como UM
Capas 1 y 2
Respuesta 3
Mejorar la velocidad de la red, hacer bypass del SO
Capa 6
Respuesta 1
Usar serialización binaria de baja latencia
Capas 4 y 5
Respuesta 2
Usar UDP en vez de TCP, usar librerías de baja latencia como UM
Capas 1 y 2
Respuesta 3
Mejorar la velocidad de la red, hacer bypass del SO
La distancia entre el emisor y el receptor influye poco en los valores de latencia debido a la alta velocidad de transmisión de la la información
Seleccione una:
Verdadero
Falso
- Falso
En una red Ethernet es imposible que los mensajes lleguen duplicados
Seleccione una:
Verdadero
Falso
- Falso
Una de las funciones de la IANA es…
Seleccione una:
a. Establecer los rangos de direcciones reservadas multicast dentro del espectro IP
b. Velar por el cumplimiento de los estándares OSI
c. Definir los protocolos de comunicación IP
a. Establecer los rangos de direcciones reservadas multicast dentro del espectro IP
En reliable multicast siempre es posible recuperar un mensaje pidiendo una retransmisión a la fuente.
Seleccione una:
Verdadero
Falso
- Falso
Con IPC podemos obtener velocidades que rondan…
Seleccione una:
a. Decenas de microsegundos
b. Cientos de nanosegundos
c. Milisegundos
b. Cientos de nanosegundos
¿Cuales de las siguientes estrategias son útiles para analizar grandes volúmenes de paquetes de red?
Seleccione una o más de una:
a. Capturar únicamente el interfaz de red del tráfico a analizar
b. Realizar la captura en un fichero y analizarla después
c. Filtrar los paquetes antes de capturarlos para reducir el volumen de datos a analizar
d. Utilizar siempre Wireshark para analizar los paquetes
a. Capturar únicamente el interfaz de red del tráfico a analizar
b. Realizar la captura en un fichero y analizarla después
c. Filtrar los paquetes antes de capturarlos para reducir el volumen de datos a analizar
¿Por que utilizar una red mas rápida me permite reducir la latencia?
Seleccione una:
a. Por que al tener mas ancho de banda puedo enviar mas mensajes por segundo
b. Por que puedo serializar los mensajes a binario mas rápido a nivel físico
b. Por que puedo serializar los mensajes a binario mas rápido a nivel físico
En determinados mercados si no puedo hacer “colocation” mis valores de latencia pueden hacer que sea incapaz de competir
Seleccione una:
Verdadero
Falso
- Verdadero
El protocolo multicast es una mejora sobre el protocolo TCP
Seleccione una:
Verdadero
Falso
- Falso
Podemos utilizar IPC para comunicar aplicaciones en diferentes máquinas
Seleccione una:
Verdadero
Falso
- Falso
¿Por que UDP es en general mejor que TCP para comunicaciones de baja latencia? Selecciona todas las respuestas correctas.
Seleccione una o más de una:
a. Al tener menos mensajería de control se mejora la latencia
b. Si hay problemas de red rompe la conexión evitando problemas en los mensajes
c. Al no tener control de flujo la latencia es mas estable
d. Al no adaptarse al ancho de banda de la red me permite utilizar mas ancho de banda
a. Al tener menos mensajería de control se mejora la latencia
c. Al no tener control de flujo la latencia es mas estable
d. Al no adaptarse al ancho de banda de la red me permite utilizar mas ancho de banda
¿Que es la mensajería de baja latencia?
Son un conjunto de técnicas, hardware y protocolos que me permite enviar mensajes en el menor tiempo posible.
Tiempo que se considera que es baja latencia.
Por de bajo de 50 microsegundos.
¿Qué es el modelo OSI de capas (Open System Interconnection)?
Es un modelo conceptual que estandariza las funciones de un sistema de computación por capas. Está dividido en 7 capas y es la base de la mayoría de protocolos estándar de comunicación.
Clasificación de las capas del modelo OSI.
- Nivel 1 (nivel físico): señal y transmisión binaria (ethernet, fibra, …).
- Nivel 2 (nivel de enlace de datos): direccionamiento físico (MAC, switch,…)
- Nivel 3 (nivel de red): determinación de ruta y direccionamiento lógico (ip, router)
- Nivel 4 (nivel de transporte): conexión de extremo a extremo y fiabilidad de datos (TCP, UDP)
- Nivel 5 (nivel de sesión): comunicación entre dispositivos de la red (REST)
- Nivel 6 (nivel de presentación): representación de los datos (JSON, XML)
- Nivel 7 (nivel de aplicación): servicios de red a aplicaciones (persistencia, colas)
¿Por qué no se pueden mejorar simultáneamente la latencia y el ancho de banda?
Para mejorar la latencia los mensajes tienen que salir lo más rápido posible, por lo que no se pueden agrupar entre ellos.
Si por el contrario se agrupan para mejorar el ancho de banda, hay mensajes que tienen que esperar.
¿Qué es el batching dinámico?
El batching dinámico permite agrupar mensajes siguiendo un determinado criterio para llegar a un equilibrio entre latencia y ancho de banda.
¿En qué consiste el concepto de collocation?
Consiste en colocar los servidores lo más cerca posible del mercado para minimizar la latencia lo máximo que se pueda.
¿Errores en las comunicaciones?
- Mensajes que llegan fuera de orden.
- Msg. con información corrupta.
- Msg, que se pierden, retrasan o duplican.
- Si el emisor envía más rápido de lo que el receptor puede procesar.
Protocolos más usados en las comunicaciones.
- TCP
- UDP / Multicast (reliable UDP/ reliable Multicast)
- IPC
Características del protocolo TCP (Transmission Control Protocol).
- Se usa en gran medida en internet.
- Basado el establecimiento de una sesión punto a punto.
- Permite comunicaciones confiables con recuperación de errores: adapta velocidad y ancho de banda al receptor, reordena mensajes, elimina duplicados y se recupera de pérdidas.
- Si no puede recuperarse, la sesión se corta.
Explica el funcionamiento de TCP.
- Se establecen ventanas de comunicación.
- Cada ventana tiene X mensajes.
- Por cada ventana el receptor debe enviar un ACK de confirmación (de recepción).
- Tamaño de ventana se adapta automáticamente al flujo de información.
¿Qué es un ACK?
Es un mensaje que el destino de la comunicación envía al origen de esta para confirmar la recepción de un mensaje.
Desventajas de TCP
- Necesita mucho proceso computacional para establecer la confiabilidad.
- Necesita de mensajería de control adicional, lo que implica mayor latencia y menor throughput (rendimiento).
- Únicamente soporta comunicaciones punto a punto (tiene que enviar el mensaje tantas veces como receptores haya).
Características del protocolo UDP (User Datagram Protocol).
- Protocolo punto a punto.
- No se establece ningún tipo de sesión.
- Receptor se encarga de abrir socket,
- La comunicación no es confiable.
Ventajas de UDP frente a TCP.
- Latencias y throughput mucho mejores que en TCP.
- Latencia más estable en UDP.
- Se puede recibir de múltiples emisores por el mismo canal.
- No se rompe la conexión si hay problemas de red.
Casos de uso de UDP.
- Si no importa perder mensajes: streaming de audio y vídeo, precios de mercado. servidor DNS.
Características del protocolo Multicast.
- Similar a UDP, la comunicación es UDP.
- Basado en modelo de suscripción/publicación sobre una IP.
- Publicador envía mensajes a una IP multicast.
- Publicador envía solo una vez el mensaje, los routers/switches se encargan de enviarlo a todos los subscriptores.
Características del protocolo IPC (Inter Process Comunication Protocol).
- Para comunicar procesos que están en la misma máquina.
- Existen múltiples implementaciones.
- Forma más rápida de comunicar procesos.
Características de Reliable UDP/ Reliable Multicast.
- Se apoyan en UDP y Multicast.
- Introducen una sesión y mensajería de control (un canal para cada cosa).
- Confiabilidad cercana a TCP (recuperación de pérdidas, mensajes desordenados, duplicados, …
- PGM es la implementación más estándar para Multicast (Open Source).
- Librerías de baja latencia suelen tener sus propias implementaciones.
Ventajas de Reliable UDP/ Realiable Multicast sobre TCP.
- Confiabilidad en RUDP y RMulti se implementa con un impacto mínimo en el rendimiento.
- Buen compromiso entre rendimiento y confiabilidad.
- Tiene sentido en redes locales y sistemas de baja latencia.
- Añade número de secuencia a los mensajes (receptor detecta gap).