Open main menu

OpenVZ Virtuozzo Containers Wiki β

Changes

Containers/Network virtualization

279 bytes removed, 16:47, 14 January 2010
Requirements
== Approaches ==
 
=== Virtualization on the 2nd level (OpenVZ) ===
'''==== Requirements''':====
The main requirement is that containers should have close to standalone servers networking capabilities. In details:
'''==== Current implementation''':====
For input packets context switching is performed in netif_receive_skb(), inherited from the device context. For output, context is inherited from the socket one.
=== Virtualization on the 3d level (IBM) ===
'''==== Requirements''':==== # One can ran run servers in several containers listening on *:port without conflict and __without__ forcing the bind to use the IP address assigned to the container;
# The source address will be filled with the container IP address;
# Keep sockets isolated by namespace;
# have broadcast and multicast working.
'''==== Current implementation''':====
For input packets context switching is inherited from the routing entry, for output - inherited from the socket one.
=== Socket virtualization Sockets isolation (Linux-VServer) ==='''Requirements''':# implementation overhead for established tcp connections should be zero;# FIXME
'''Current implementation''': There is no context switching for packets at all, checks are performed between process and socket contexts. === Network Isolation (Linux-VServer) = Requirements ====
# all interfaces and IPs are visible on the host
# Guest-Guest and Guest-Host traffic via Loopback
'''==== Current implementation''':====
Network Context with 'assigned' set of IPs, which are used for 'collision' checks at bind
== Virtualization table ==
This is a summary table in order to show which core networking objects are virtualized/isolated in the above approaches or and which are not.
{| class="wikitable"
| 3d level virtualization || - || i || i || i || -
|-
| bind filtering sockets isolation || - || - || i || - || -|-| network isolation || i/m || i || i || i/m || -
|}
* 'v' - virtualized
* 'i' - isolated
* 'm' - mapped
* '-' - neither virtualized nor isolated
[[Category:Containers]]
Anonymous user