g unit (CPU) cores or memory on a cloud host. Host resources can be more effectively utilized by small VM instances. Finding capacity for a small VM is much easier than for a large VM. Further, large instances can result in more inefficient allocation of unused resources at hosts, lowering the engineering economics of cloud implementation. Finally, decomposition enables higher resiliency and scalability. Smaller VFs are natively able to scale independently. If a component fails or is out of capacity, another one can easily be spun up without impact to other components. Service orchestrators can scale up just the single VF that needs to handle a specific workload, instead of scaling up the entire VNF. Network functions fall into three general categories: data plane, control plane, and management plane. 3.3.1.1 Data Plane The forwarding plane (sometimes called the data plane) is defined as functions implemented in hardware, software, or both, which relate to packet handling of end-to-end user communications. The role of the forwarding plane in a router is to decide what to do with packets arriving on an inbound interface. Most commonly, the router maintains a table in which to look up the destination addresses of the incoming packets and retrieve the information necessary to determine the right outgoing interface to send the packet to. Building the Network of the Future Today's service provider networks need to support more than just basic packet forwarding. A large service provider maintains many separate routing domains for the different services and dif- ferent customer networks it supports. Many service providers utilize MPLS technology to maintain separate forwarding planes for different services that they offer-Internet services, Ethernet ser- vices, and IP VPN services. To accomplish this, separate routing instances called VRF instances are implemented in a network device by maintaining distinct routing tables known as forwarding information bases (FIBs). A MPLS-based VPN service will have the following basi