Containers and cloud networking
NFV (network functions virtualization)
Routers, firewalls, NAT and load balancers run as software on ordinary servers instead of as dedicated boxes.
A virtual network function (VNF) is one such function: a virtual router, firewall or load balancer, started, moved and scaled like any virtual machine. Clouds are built this way, and so is every lab here: each gateway and firewall is a Linux machine with a rule table. Related but separate, SDN splits the deciding (a controller) from the forwarding.