Software-Defined Networking & NFV

a virtual network function

/ VNF spelled out: V-N-F /

A virtual network function is one specific network job done in software instead of in a dedicated box. If a hardware firewall is a single-purpose appliance you bolt into a rack, the matching VNF is the same firewall logic packaged as a program running in a virtual machine or container on a normal server. The function is the same — inspect and filter traffic — but now it is a piece of software you can copy, move, and scale like any other cloud application.

Concretely, a VNF is the building block of network function virtualization. Common examples are a virtual firewall, a virtual load balancer, a virtual router, a virtual VPN gateway, a NAT, or a deep-packet-inspection function. Each runs as software, receives packets on virtual network interfaces, processes them, and sends them on. Because a VNF is just software, an orchestrator can place it on any suitable server, launch several copies for capacity, restart a failed one, and upgrade it by deploying a new image. Several VNFs are often connected in sequence so traffic flows through them in a chosen order — service chaining — for instance firewall, then load balancer, then traffic shaper.

Why it matters: VNFs are what make the network's middle elastic and programmable rather than fixed in hardware, which is the whole point of NFV. The honest caveats are real, though. Running packet-processing in software on general-purpose CPUs is typically slower and less power-efficient per packet than a purpose-built ASIC, so a heavily loaded VNF needs careful performance engineering. And a VNF inherits the failure modes of software and servers (a crashed process, a noisy neighbour on the same host), so resilience must be designed in with redundancy and monitoring, not assumed.

Instead of a physical load-balancer appliance, an operator runs a load-balancer VNF as a container. When a sale drives traffic up, the orchestrator launches three more copies of the same VNF and spreads load across them; afterward it scales back to one. Each copy is identical software started from the same image — capacity added by cloning a program, not by buying hardware.

One network function, run as cloneable software you scale on demand.

A VNF is a network function virtualized; NFV is the overall approach of doing this. Do not assume a VNF automatically matches a hardware appliance's throughput — software on CPUs often needs fast-packet-I/O techniques or hardware offload to come close.

Also called
VNF虛擬網路功能