Andrés Felipe Murillo
andresmurillo@[Link]
Virtualización
• Virtualización es una tecnología que permite abstraer los recursos
físicos disponibles en recursos virtuales
• La virtualización permite que una infraestructura sea compartida
por varias entidades
Virtualización
• Todo tipo de recurso puede virtualizarse, pero especialmente se virtualiza:
• Computación
• Red
• Almacenamiento
• Con virtualización pueden hacerse varias cosas:
• Crear varias entidades virtuales a partir de una entidad física
• Unir varias entidades virtuales y ofrecerlas como un servicio
Conceptos de Virtualización
• En virtualización, existen varios conceptos que interactúan entre sí:
• Hardware: Representa los recursos físicos del sistema e impone
el límite teórico de desempeño de todo el sistema, usualmente
el hardware está compuesto por:
• Recursos computacinoales
• Recursos de red
• Recursos de almacenamiento
• Periféricos
• Sistema Operativo host: Es el sistema operativo rodando encima
del hardware como nativo, o en un dominio de privilegio mayor a
los guests
• Hipervisor: Presente en sistemas de full virtualización, actúa
como intermediario entre host y guests
• Sistemas Operativos Guest: Son los sistemas operativos
albergados en el sistema de virtualización
Conceptos de Virtualización
• Niveles de privilegio:
• Es importante asegurar que los sistemas de virtualización
garanticen dos cosas.
• Separación de recursos entre los sistemas operativos guests
• Los sistemas operativos guest corren en un dominio de
privilegio menor que el sistema operativo host.
• El sistema operativo guest no puede acceder a los
espacios de memoria, instrucciones reservados para el
host os
• Vulnerabilidades: Scepter – Meltdown
Tipos de Virtualización
• Existen dos tipos básicos de virtualización:
• Paravirtualización
• Full virtualización
• Full Virtualización: El sistema operativo host es modificado para
incluir instrucciones que le permitan controlar el comportamiento
de los hosts
• Los recursos físicos son accedidos a través de este dominio,
llamado dominio 0
• Ejemplos: Xen
• La virtualización completa suele tener un desempeño mayor
que la paravirtualización, pero requiere una versión especial
del sistema operativo host
Tipos de Virtualización
• Existen dos tipos básicos de virtualización:
• Paravirtualización
• Full virtualización
• Para Virtualización: En la paravirtualización existe un software
intermedio que corre en el sistema operativo host y se conoce como
hipervisor. El hipervisor es encargado de traducir los llamados del
sistema operativo guest a instrucciones de hardware.
• Los recursos físicos son accedidos a través del hipervisor
• Ejemplos: VirtualBox, VMWare
• El desempeño es menor que en la virtualización completa, pero
no requiere modificaciones en el sistema operativo
Virtualización vs Containers
• La virtualización ofrece un nivel de separación mayor a los containers, porque cada aplicación corre dentro de un
sistema operativo particular. En los containers, todas las aplicaciones rodan sobre el mismo contenedor
• La virtualización también permite que el sistema operativo guest no necesariamente sea el mismo sistema operativo
host. Las aplicaciones pueden correr cada una en un SO diferente
• En los containers, sólo tenemos un sistema operativo
Ventajas Virtualización
• La virtualización permite compartir recursos físicos entre varias entidades virtuales, aumentando su eficiencia de uso:
• En un sistema sin virtualización, es probable que un solo usuario nunca use completamente los recursos
disponibles
• Con virtualización, múltiples usuarios virtuales pueden aprovechar los recursos
• La virtualización permite la escalabilidad en el uso de recursos. Es decir, el número de instancias virtuales que
requiere un servicio puede ser aumentado o reducido, según la demanda del servicio
• Esta es la base de la computación en la nube
• No es necesario que los sistemas operativos guest sean iguales al sistema operativo host, esto le brinda flexibilidad a
la plataforma
Ventajas Virtualización
• Migración: Las instancias virtuales pueden ser migradas de una plataforma a otra, esto permite que una configuración
de una aplicación aplicada a un lugar, pueda ser replicada fácilmente en otro lugar
• Este concepto fue heredado por los dockers
• Adicional a la migración, los recursos pueden ser copiados en otro lugar fácilmente, lo que permite
“empaquetar” soluciones enteras a través de máquinas virtuales
• Ejemplo: mininet
Desafíos de la Virtualización
• La virtualización también añade desafíos administrativos, los más importantes en seguridad son:
• Aislamiento entre máquinas virtuales
• Privilegios de máquinas virtuales
• Adicionalmente, el desempeño de las entidades virtuales tiene que ser monitoreado y administrado para cumplir con
los acuerdos de servicio
• Otro desafío es al momento de realizar la migración de una máquina física a otra, no se pierdan paquetes. Esto se
conoce como migración sin pérdidas
• Por último para las plataformas que ofrecen virtualización, la asignación de recursos virtuales en los recursos físicos
representa un problema de optimización NP-hard
Oracle VirtualBox
• Es un hipervisor abierto y de código abierto actualmente desarrollado por Oracle
• Inicialmente fue desarrollado por Sun Microsystems (Java)
• Posee soporte para múltiples sitemas oeprativos:
• Linux
• MacOS
• Windows
• Solaris
• FreeBSD
• Se encuentra basado en para virtualización
Oracle VirtualBox
• Al estar basado en paravirtualización, no requiere modificaciones en el SO del host
• En VirtualBox, podemos crear máquinas virtuales para diferentes SO
• En el tema de red, existen dos tipos principales de
tarjetas de red:
• NAT: Usada para que la máquina virtual
Acceda a Internet
• Host Only: Se usa para crear una red
Entre las máquinas virtuales del host y
el host
Mininet
• Mininet es un software que permite crear un entorno de red, al interior de una máquina virtual o física
• Mininet se encuentra basado en virtualización ligera (aka containers)
Sitio web: [Link]
• En mininet, cada “entidad de red”, está representada a través de un proceso con su propio espacio de nombres
• Las entidades de red pueden interactuar entre ellas o con la interfaz de red física a través de bridges
Comunicación Inalámbricas I
Andrés Felipe Murillo
andresmurillo@[Link]