ClickOS

미들박스란 특정 지능적 기능을 가진 네트워크 중간자로서 서비스를 수행하는 장비로, NAT(Network Address Translation-내부망, 외부망 IP주소 연결), Firewall, Load Balancer 등의 기능을 가지고 있다. 이러한 미들박스는 동적으로 변화하는 네트워크 환경에 유연하지 못하다. 이를 해결하기 위해 하드웨어기반에서 NFV(Network Function Virtualization) 이 제안되었다.

ClickOS 란 소프트웨어 기반의 미들박스로 Xen 을 기반으로 한다. Middlebox 에 맞도록 Xen 을 최적화하였다.

ClickOS : tiny Xen-based virtualization machine that runs Click

Is it possible to build a software-based virtualized middlebox platform that fits these requirements? (need security and performance isolation)

  • Hypervisor-based technologies (Xen, KVM)

    • good at "security and performance isolation"

    • bad at "small numbers of tenants, networking performance is unsatisfactory"

  • Extensive overhaul of Xen's I/O subsystem

    • To speed up networking in middlebox

    • Run Click (sw router) to program middlebox

  • Containers : Light but inflexible as container needs the same operating system

  • Hypervisor : Container 와 다르게 다양한 종류의 Guest OS 가 실행될 수 있으나, 네트워크 성능이 저하된다. Hypervisor 내 Device pass through 방식이 사용되는데, 각 VM이 NIC(Network Interface Card)에 직접 연결된다. 이는 몇가지 단점을 가지고 있는데

    • complicates live migration

    • reduce scalability (device is monopolized)

  • Minimalistic OS

  • Network I/O optimization

  • Software middlebox

Three Components to Optimize

  • ClickOS Switch :기존의 Xen 이 가지고 있던 Open vSwitch 의 한계점(throughput) 을 극복하기 위해 대체하였다.

  • Netback Driver

  • Netfront Driver

Evaluation

Question

  • ClickOS VM runs only single core : No SMP(Symmetric Multi Processing) support

  • How can VMs run on multi-core system?

Last updated