Abstract
Network Function Virtualization (NFV) is an emerging technology that has drawn the attention of the industry. NFV aims to transform legacy network infrastructure into virtualized networks. Instead of using dedicated hardware and network equipment NFV relies on virtualized components to deliver service to its users. In order to have a better understanding of how NFV works and how can we enhance its performance and security we must have a good understanding of the underlying architecture of NFV. In this paper, we present a UML class diagram for the NFV architecture, which describes the main entities of NFV. Representing the architecture in a class diagram is the first step toward building a Reference Architecture (RA) for NFV, which is our final objective. A Reference Architecture (RA) is a high-level abstraction of a system that can be useful in the implementation of complex systems. Moreover, we also represented some of the main internal components as a class diagram to understand the communication between these components and other system components that together provide the full system. Finally, we describe in detail some of their use cases.