g virtual links, net- works, subnets, and ports. The VIM also manages security group policies to ensure access control. It manages a repository of NFVI hardware resources (compute, storage, and networking) and software resources (hypervisors), along with the discovery of the capabilities and features to optimize the use of such resources. The VIM performs other functions as well, such as collecting performance and failure information via notifications; managing software images (add, delete, update, query, or copy) as requested by other NFV-MANO functional blocks; and managing catalogs of virtualized resources that can be used by NFVI. In summary, the VIM is a management layer between the hardware and the software in an NFV domain. VIMs are critical to realizing the business benefits that can be provided by the NFV architecture. They coordinate the physical resources that are necessary to deliver network services. This is particularly noticeable by infrastructure-as-a-service providers, where their servers, networking, and storage resources must work smoothly with the soft- ware components running on top of them. They must ensure that resources can be appropri- ately allocated to fulfill the dynamic service requirements. The NFVI consists of three distinct layers: physical infrastructure, virtualization layer, and the virtual infrastructure, as shown in Fig. 1.4. The NFVI hardware consists of computing, storage, and networking components. OpenStack is often used in conjunction with NFV technology in data centers to deploy cloud services, especially communication services offered by large service providers and cloud providers. OpenStack is an open source virtua- lization platform. It enables the service providers to deploy VNFs using commercial off-the- shelf hardware. These applications are hosted in a data center SO that they could be accessed via the cloud, which is the underlying model to use NFV. The VIM manages the NFVI and serves as a conduit for control path interaction between VNFs and NFVI. The VIM assign