4 Software Networks
The hypervisor is a virtual machine monitor (VMM), which is often
open source. Hypervisors operate on standard hardware platforms. In
addition to the VMM, running directly on the physical hardware, the
architecture generally comprises a number of domains running
simultaneously, as we have seen, on top of the hypervisor, called virtual
machines. Each virtual machine may have its own operating system and
applications. The VMM controls access to the hardware from the
various domains, and manages the sharing of the resources between the
different domains. Thus, one of the VMM’s main tasks is to isolate the
different virtual machines, so that the execution of one virtual machine
does not affect the performances of the others.
All peripheral drivers are kept in an isolated domain specific to
them. Known as “domain zero” (dom0), it offers a reliable and
effective physical support. Dom0 has special privileges in comparison
to other domains, known as “user domains” (domU) and, for example,
has unfettered access to the hardware of the physical machine. User
domains have virtual drivers, and operate as though they have direct
access to the hardware. However, in reality, those virtual driver
communicate with the dom0 in order to access the physical hardware.
The hypervisor virtualizes a single physical network interface,
de-multiplexing the incoming packets from the physical interface to
the user domains and, conversely, multiplexing the outgoing packets
generated by those user domains. In this procedure, known as
virtualization of the network input/output, the domain 0 directly
accesses the input/output peripherals, using their native drivers, and
performs input/output operations on behalf of the domUs.
The user domains employ virtual input/output peripherals,
controlled by virtual drivers, to ask the dom0 for access to the
peripheral. Each user domain has its own virtual network interfaces,
known as foreground interfaces, which are required for network
communications. The background interfaces are created in the dom0,
corresponding to each foreground interface in a user domain, and act
as proxy for the virtual interfaces in the dom0. The foreground and
background interfaces are connected to one another via an
input/output channel, which uses a zero-copy mechanism to match the
physical page containing the packet and the target domain. Thus, the
www.it-ebooks.info
The hypervisor is a virtual machine monitor (VMM), which is often
open source. Hypervisors operate on standard hardware platforms. In
addition to the VMM, running directly on the physical hardware, the
architecture generally comprises a number of domains running
simultaneously, as we have seen, on top of the hypervisor, called virtual
machines. Each virtual machine may have its own operating system and
applications. The VMM controls access to the hardware from the
various domains, and manages the sharing of the resources between the
different domains. Thus, one of the VMM’s main tasks is to isolate the
different virtual machines, so that the execution of one virtual machine
does not affect the performances of the others.
All peripheral drivers are kept in an isolated domain specific to
them. Known as “domain zero” (dom0), it offers a reliable and
effective physical support. Dom0 has special privileges in comparison
to other domains, known as “user domains” (domU) and, for example,
has unfettered access to the hardware of the physical machine. User
domains have virtual drivers, and operate as though they have direct
access to the hardware. However, in reality, those virtual driver
communicate with the dom0 in order to access the physical hardware.
The hypervisor virtualizes a single physical network interface,
de-multiplexing the incoming packets from the physical interface to
the user domains and, conversely, multiplexing the outgoing packets
generated by those user domains. In this procedure, known as
virtualization of the network input/output, the domain 0 directly
accesses the input/output peripherals, using their native drivers, and
performs input/output operations on behalf of the domUs.
The user domains employ virtual input/output peripherals,
controlled by virtual drivers, to ask the dom0 for access to the
peripheral. Each user domain has its own virtual network interfaces,
known as foreground interfaces, which are required for network
communications. The background interfaces are created in the dom0,
corresponding to each foreground interface in a user domain, and act
as proxy for the virtual interfaces in the dom0. The foreground and
background interfaces are connected to one another via an
input/output channel, which uses a zero-copy mechanism to match the
physical page containing the packet and the target domain. Thus, the
www.it-ebooks.info
