Page 318 - From GMS to LTE
P. 318
304 From GSM to LTE-Advanced Pro and 5G
4.18 Network Function Virtualization
A major topic in the evolution of the mobile core network functionality, i.e. radio
network‐independent functionality such as the MME, S‐GW, P‐GW, IMS components,
etc., is virtualization. A number of different concepts are combined under the Network
Function Virtualization (NFV) abbreviation and this section gives an introduction to
the individual topics. This section approaches the topic as follows. In the first part, an
overview is given of how virtualization can be used on PCs at home or in the office
today. This way an easy introduction to the general topic of virtualization is given before
the section takes the next step and explains why and how virtualization is used in data
centers in the cloud today. From here it is only a small step to NFV in mobile networks.
And finally this section will explain how Software‐Defined Networking (SDN) fits into
the overall picture.
4.18.1 Virtualization on the Desktop
Desktop and notebook PC hardware has become incredibly powerful over the years;
memory capacity exceeds what most people need for most tasks and hard drive capacity
is just as abundant. This means that for most of the time, the processor and memory is
only lightly utilized. A similar evolution took place on servers on the network side.
Here, CPU cycles and memory are often wasted if a physical server is only used for a
single purpose, e.g. as a file server.
To make better use of the hardware, the industry has come up with virtualization,
which means the creation of a virtual environment on a PC (or a computer in
general) that looks like a real PC for any software running in that virtual environ-
ment. This simulation is so complete that even a full operating system can run in
such an environment and it will not notice the difference between real hardware
and simulated (virtual) hardware. The program that is used for this is referred to as
a hypervisor. The basic idea behind a hypervisor is very simple: It can be thought of
as a piece of software that simulates all components of a PC and that denies any
program running in this virtual machine direct access to real physical hardware. In
practice this works by the hypervisor granting direct unrestricted access to only a
subset of CPU machine instructions. Whenever a program running in the virtual
environment using the real CPU wants to exchange data with a physical piece of
hardware with a corresponding CPU input/output machine instruction, the CPU
interrupts the program and calls the hypervisor program to handle the situation.
Here is an abstracted example. If the machine instruction is about transferring a
block of data out of memory to a physical device such as for example a hard drive,
the hypervisor takes that block of data and instead of writing it to the physical hard
drive it writes the block of data into a hard drive image file residing on a physical
disk. It then returns control to the program running in the virtual environment. The
program running in the virtual environment never knows that the block of data was
not written to a real hard drive and continues its work. Interacting with any other
kind of physical hardware, such as the graphics card; devices connected to a USB
port; the keyboard, mouse, etc., works in exactly the same way, i.e. the CPU inter-
rupts program execution whenever a machine instruction is called that tries to read
or write to or from a physical resource.