network-function-virtualization.md (1160B)
1 +++ 2 title = 'Network function virtualization' 3 +++ 4 ## Network function virtualization 5 Virtualise network functions on top of commodity servers. 6 7 Benefits: 8 - hardware sharing across multiple functions 9 - more flexible management using software 10 - cost saving via reduced hardware 11 - safe to try new features on an operational network/platform 12 13 Click: modular architecture or programming network functions 14 - element: class, input port, output ports, configuration string 15 - connection and configuration 16 - connection: three types of ports (push, pull, agnostic) 17 - push/pull connection constraints: 18 - connection must have same type on the two ends 19 - port must only have one connection 20 - element must not have different types on its input/output ports if the element processes packets immediately 21 22 Achieving high performance 23 - NUMA architecture: non-uniform memory access (processor can access its own local memory faster than non-local memory) 24 - each network port is accessed by single core 25 - each packet is handled by a single core 26 - multi-queue NICs, allocate one core per queue 27 - batching: poll multiple packets from NIC instead of one at a time