Virtualization Technology Overview
Virtualization software creates a compatibility layer between physical hardware and emulated software. A traditional virtual machine simulates the hardware on a physical device, such as the CPU, memory, hard disks and network cards. Software that creates and runs virtual devices is referred to as a hypervisor. A disk image that includes an operating system and kernel resides on the hard disk.
Virtual machines are functionally identical to physical machines but offer flexibility in resource assignments and other benefits, depending on the hypervisor used and constraints required by the operating system. Routing vendors provide images and documentation for implementing their equipment in virtualized environments. Some products are meant for testing and include rate limits that prevent their use in production, while others are fully featured and meant for production use.
There is an increase in physical hardware requirements when using virtualization, compared to running on bare-metal hardware, but the benefits of virtualization generally outweigh this disadvantage.
Hypervisors come in two types:
- Type 1 hypervisors, also known as bare-metal hypervisors, are purpose-built operating systems for virtualization. This allows equipment to use the underlying physical hardware more efficiently.
- Type 2 hypervisors are software installed on top of an existing operating system. These are easier to use but cannot allocate hardware resources that are otherwise needed by the operating system running on the physical machine.
Both hypervisor types operate using the same principles, but there is a trade-off between usability and efficiency.
Containers are another option. They are an evolution of machine virtualization meant to be more flexible and lightweight. Containers use the hypervisor’s kernel to communicate with the physical hardware, so only a stripped-down operating system image is needed to create a container. No hardware-level drivers are needed in a container; only the binaries and configuration files to run the containerized application are required. This results in the shared kernel architecture using fewer resources and disk space when compared to traditional virtual machines.
It is worth considering that the container environment having access to the hypervisor’s kernel creates additional security constraints that must be accounted for. Neither solution is strictly superior when it comes to virtual machines versus containers, but the efficient and flexible nature of containers has contributed to their popularity.
This paper discusses several virtualization technologies but is not intended to be a complete, in-depth review of all technologies available in the industry. Virtualization technology implementation should be decided on a case-by-case basis, according to the needs of the OT network operator. Since either kernel-based virtual machines or containers can be used to create virtual routers, the term virtualization is used here to refer to any of the technologies for the scope of this paper.
Once the appropriate vendor and virtualization approach has been determined, these technologies can be leveraged to benefit network operators. Using this technology to create a digital representation of physical architecture is one of the most useful applications for OT network operators.