Telecom IQ
Showing results for 
Search instead for 
Did you mean: 

Dynamic Service Chaining for VNFs using MPLS: Nuts and Bolts of NFV

By: Sarbajit Chatterjee

Solution Architect – SDN & Network Virtualization, NFV BU


Everyday more and more service providers are joining the NFV race as it provides significant cost savings and improved service delivery time over the existing options. Considering the huge opportunity in NFV market space, many NEPs (Network Equipment Provider) and ISVs (Independent Software Vendor) have started developing VNFs to tend to the need of CSPs (Communication Service Provider) which includes firewall, load balancer, DPI (Deep Packet Inspection) software and more. But, a CSP does not only offer VNFaaS (VNF as a Service). They may also plan to offer a VNPaaS (Virtual Network Platform as a Service) which essentially hosts a combination of multiple VNFs placed in a specific order to provide a network service. This ordering of VNFs to perform a collective action is termed as VNF Forwarding Graph or VNF Service Chaining. Service chaining abilities of a NFV platform is so important that ETSI has identified it as one of the primary use cases in their standard use case document.


In a typical network service offering of today, the traffic is pre-programmed to go through a list of network functions added to a forwarding graph with rigid configurations and lots of manual intervention. To increase flexibility in network service creation, service providers are looking for more dynamic service chaining solutions. And NFV offers multiple ways of achieving this. Though most of the solutions prescribe a SDN (Software Defined Networking) controller based approach, a MPLS (Multiprotocol Label Switching) based approach can also be used. As we know, MPLS is a protocol that forwards packets from one network node to another, based on the short path labels rather than the network address (IP) and avoids the complex look ups in routing table. But the most important part that we can leverage for service chaining is, its ability to have multiple labels applied to a data packet as a stack.


Routing a packet through MPLS network follows below transitions –

  • Unlabeled packet enters the ingress router
  • One or more MPLS labels are added in the packet header depending on the look up done in the router.
  • The packet is then sent to next hop router where it examines the top most label of the label stack and decides to carry out a swap, push or pop operation based on its look up table.
  • The final MPLS label is removed by the egress router of the network and the packet returns to the same unlabeled form.

Now let’s see an example of how MPLS can be used for dynamic service chaining of VNFs. Assume there is a device that wants to send traffic to a web server.




It uses the edge network (fiber, LTE etc.) to reach the edge router A of the service provider network. Edge router A needs to be MPLS router and determines the required services the traffic should receive. The packets come unlabeled to edge router A but, leaves with one or more MPLS labels stacked in header. The diagram above shows 2 service chaining flows using the same infrastructure.


For the first case, let’s assume that the edge router A has determined (programed in the router) that the incoming traffic has to pass through the firewall, load balancer and the WAN optimizer VNFs (red arrow) in the same sequence. For this to happen, edge router A will add multiple MPLS headers in the label stack of the packets. The label of firewall service will be at the stack top followed by the labels for load balancer service and WAN optimizer service. The MPLS routers/switches inside the provider network will check the top most label to route the traffic and add/remove/swap the top most label according to the service required. So, packet will flow through paths according to the label sequence in the label stack and will achieve service chaining in the process.


In the second scenario, the edge router A determines that there will be no WAN optimization used for this incoming traffic (green arrow) flow. So, the MPLS label stack will only contain labels for firewall service and load balancer service and the routers inside provider network will forward the traffic to only firewall and load balancer services. In both cases the last label will be removed by edge router B and it will forward the already serviced traffic towards the web server.


We can conclude by saying that NFV offers multiple ways of achieving dynamic service chaining. Using MPLS in data center fabric to achieve dynamic service chaining of VNFs is definitely a viable option. To know more about how HP is solving such challenges in NFV space, please refer to our web page.

About the Author



This is exactly SDN controller is trying to stop. Instead of stacking labels (which is more hardware defined approach), the policy is prescribed in the SDN controller to determine specific paths for each type of services.  On the other point regarding VNFaas is exactly what cloudNFV program is trying to address.


Good stuff. Keep it up.

Starting June 23
HPE Discover Virtual Experience
Joins us for HPE Discover Virtual Experience live and on-demand
Read more
Online Expert Days - 2020
Visit this forum and get the schedules for online Expert Days where you can talk to HPE product experts, R&D and support team members and get answers...
Read more
View all