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.
   313   314   315   316   317   318   319   320   321   322   323