netbricks taking the v out of nfv
play

NetBricks: Taking the V out of NFV Aurojit Panda, Sangjin Han, Keon - PowerPoint PPT Presentation

NetBricks: Taking the V out of NFV Aurojit Panda, Sangjin Han, Keon Jang, Melvin Walls, Sylvia Ratnasamy, Scott Shenker UC Berkeley, Google, ICSI What the heck is NFV? A Short Introduction to NFV A Short Introduction to NFV Firewall IDS


  1. NetBricks: Taking the V out of NFV Aurojit Panda, Sangjin Han, Keon Jang, Melvin Walls, Sylvia Ratnasamy, Scott Shenker UC Berkeley, Google, ICSI

  2. What the heck is NFV?

  3. A Short Introduction to NFV

  4. A Short Introduction to NFV Firewall IDS Cache LB

  5. A Short Introduction to NFV Firewall IDS Cache LB Network Function Chain

  6. Why NFV? • Simplifies adding new functionality : Deploy new software.

  7. Why NFV? • Simplifies adding new functionality : Deploy new software. • Simplifies developing new functionality : Write software vs design hardware

  8. Why NFV? • Simplifies adding new functionality : Deploy new software. • Simplifies developing new functionality : Write software vs design hardware • Reuse management tools from other domains.

  9. Why NFV? • Simplifies adding new functionality : Deploy new software. • Simplifies developing new functionality : Write software vs design hardware • Reuse management tools from other domains. • Consolidation : Reduce number of hardware boxes in the network.

  10. Challenges for NFV

  11. Challenges for NFV • Running NFs • Isolation and Performance

  12. Challenges for NFV • Running NFs • Isolation and Performance • Building NFs • High-Level Programming and Performance

  13. Running NFs

  14. Isolation • Memory Isolation : Each NF’s memory cannot be accessed by other NFs.

  15. Isolation • Memory Isolation : Each NF’s memory cannot be accessed by other NFs. • Packet Isolation : When chained, each NF processes packets in isolation.

  16. Isolation • Memory Isolation : Each NF’s memory cannot be accessed by other NFs. • Packet Isolation : When chained, each NF processes packets in isolation.

  17. Isolation • Memory Isolation : Each NF’s memory cannot be accessed by other NFs. • Packet Isolation : When chained, each NF processes packets in isolation. • Performance Isolation : One NF does not affect another’s performance.

  18. Isolation • Memory Isolation : Each NF’s memory cannot be accessed by other NFs. • Packet Isolation : When chained, each NF processes packets in isolation. • Performance Isolation : One NF does not affect another’s performance.

  19. Current Solution Memory Isolation vSwitch VM/Container VM/Container VM/Container Packet Isolation NIC ... NIC Performance

  20. Current Solution Memory Isolation vSwitch VM/Container VM/Container VM/Container Packet Isolation NIC ... NIC Performance

  21. Current Solution ✔ Memory Isolation vSwitch VM/Container VM/Container VM/Container Packet Isolation NIC ... NIC Performance

  22. Current Solution ✔ Memory Isolation vSwitch VM/Container VM/Container VM/Container Packet Isolation NIC ... NIC Performance

  23. Current Solution ✔ Memory Isolation vSwitch VM/Container VM/Container VM/Container Packet Isolation NIC ... NIC Performance

  24. Current Solution ✔ Memory Isolation vSwitch VM/Container VM/Container VM/Container Packet Isolation NIC ... NIC Performance

  25. Current Solution ✔ Memory Isolation vSwitch VM/Container VM/Container VM/Container Packet Isolation NIC ... NIC Performance

  26. Current Solution ✔ Memory Isolation vSwitch VM/Container VM/Container VM/Container Packet Isolation NIC ... NIC Performance

  27. Current Solution ✔ Memory Isolation Copy vSwitch VM/Container VM/Container VM/Container Packet Isolation NIC ... NIC Performance

  28. Current Solution ✔ Memory Isolation Copy vSwitch VM/Container VM/Container VM/Container Packet Isolation NIC ... NIC Performance

  29. Current Solution ✔ Memory Isolation Copy vSwitch VM/Container VM/Container VM/Container Packet Isolation NIC ... NIC Performance

  30. Current Solution ✔ Memory Isolation Copy vSwitch VM/Container VM/Container VM/Container ✔ Packet Isolation NIC ... NIC Performance

  31. Current Solution ✔ Memory Isolation Copy vSwitch VM/Container VM/Container VM/Container ✔ Packet Isolation NIC ... NIC ✗ Performance

  32. Isolation Costs Performance �� �� ��������� �� ���������� ���� ������ �� �� �� � �

  33. Isolation Costs Performance �� �� ��������� ��� �� �� ���������� ���� ������ �� �� �� � �

  34. Isolation Costs Performance �� �� ��������� ��� �� ���� �� �� ���������� ���� ������ �� �� �� � �

  35. Isolation Costs Performance �� �� ��������� ��� �� ���� �� �� ���� ��������� ���������� ���� ������ �� �� �� � �

  36. Isolation Costs Performance �� �� ��������� ���� ����� ��� �� �� ���� �� ���������� ���� ������ ���� ��������� �� �� �� � �

  37. Isolation Costs Performance �� �� ��������� ��������� ��� �� �� ���� �� ���������� ���� ������ ���� ��������� �� �� �� � �

  38. NetBricks Runtime Architecture Single Process Space NF D NF D NF D NF C NF C NF C NF Z NF Z NF Z NF B NF B NF B NF Y NF Y NF Y NF A NF A NF A NF X NF X NF X ZCSI Scheduler DPDK Poll for I/O DPDK Poll for I/O DPDK Poll for I/O Poll for I/O NICs

  39. NetBricks Runtime Architecture Single Process Space NF D NF D NF D NF C NF C NF C NF Z NF Z NF Z Function NF B NF B NF B NF Y NF Y NF Y Call NF A NF A NF A NF X NF X NF X ZCSI Scheduler DPDK Poll for I/O DPDK Poll for I/O DPDK Poll for I/O Poll for I/O NICs

  40. NetBricks Runtime Architecture Single Process Space NF D NF D NF D NF C NF C NF C NF Z NF Z NF Z NF B NF B NF B NF Y NF Y NF Y NF A NF A NF A NF X NF X NF X ZCSI Scheduler DPDK Poll for I/O DPDK Poll for I/O DPDK Poll for I/O Poll for I/O NICs

  41. NetBricks Runtime Architecture Single Process Space NF D NF D NF D Run NF C NF C NF C NF Z NF Z NF Z to Completion NF B NF B NF B NF Y NF Y NF Y Scheduling NF A NF A NF A NF X NF X NF X ZCSI Scheduler DPDK Poll for I/O DPDK Poll for I/O DPDK Poll for I/O Poll for I/O NICs

  42. NetBricks Runtime Architecture Single Process Space NF D NF D NF D Run NF C NF C NF C NF Z NF Z NF Z What about Isolation? to Completion NF B NF B NF B NF Y NF Y NF Y Scheduling NF A NF A NF A NF X NF X NF X ZCSI Scheduler DPDK Poll for I/O DPDK Poll for I/O DPDK Poll for I/O Poll for I/O NICs

  43. Provide Isolation through Software

  44. ZCSI: Zero Copy Soft Isolation • VMs and containers impose cost on packets crossing isolation boundaries. • Frequent operation for many NFs which must support 10s of MPPS.

  45. ZCSI: Zero Copy Soft Isolation • VMs and containers impose cost on packets crossing isolation boundaries. • Frequent operation for many NFs which must support 10s of MPPS. • Insight : Use type checking (compile time) and runtime checks for isolation. • Isolation costs largely paid at compile time (small runtime costs).

  46. Our Approach • Disallow pointer arithmetic in NF code: use safe subset of languages.

  47. Our Approach • Disallow pointer arithmetic in NF code: use safe subset of languages. • Type checks + array bounds checking provide memory isolation .

  48. Our Approach • Disallow pointer arithmetic in NF code: use safe subset of languages. • Type checks + array bounds checking provide memory isolation . • Build on unique types for packet isolation .

  49. Our Approach • Disallow pointer arithmetic in NF code: use safe subset of languages. • Type checks + array bounds checking provide memory isolation . • Build on unique types for packet isolation . • Unique types ensure references destroyed after certain calls.

  50. Our Approach • Disallow pointer arithmetic in NF code: use safe subset of languages. • Type checks + array bounds checking provide memory isolation . • Build on unique types for packet isolation . • Unique types ensure references destroyed after certain calls. • Ensure only one NF has a reference to a packet.

  51. Our Approach • Disallow pointer arithmetic in NF code: use safe subset of languages. • Type checks + array bounds checking provide memory isolation . • Build on unique types for packet isolation . • Unique types ensure references destroyed after certain calls. • Ensure only one NF has a reference to a packet. • Enables zero copy packet I/O.

  52. Our Approach • Disallow pointer arithmetic in NF code: use safe subset of languages. • Type checks + array bounds checking provide memory isolation . • Build on unique types for packet isolation . • Unique types ensure references destroyed after certain calls. • Ensure only one NF has a reference to a packet. • Enables zero copy packet I/O. • All of these features implemented on top of Rust .

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend