What's New in vSphere 4.1 - Network I/O Control

Network Traffic Management. A great new feature allowing you to define shares on the Network traffic of your ESX servers.


The diagram at left should be familiar to most. When using 1GigE NICs, ESX hosts are typically deployed with NICs dedicated to particular traffic types. For example you may dedicate 4x 1GigE NICs for VM traffic; one NIC to iSCSI, another NIC to vMotion, and another to the service console. Each traffic type gets a dedicated bandwidth by virtue of the physical NIC allocation.

Moving to the diagram at right … ESX hosts deployed with 10GigE NICs are likely to be deployed (for the time being) with only two 10GigE interfaces. Multiple traffic types will be converged over the two interfaces. So long as the load offered to the 10GE interfaces is less than 10GE, everything is ok—the NIC can service the offered load. But what happens when the offered load from the various traffic types exceeds the capacity of the interface? What happens when you offer say 11Gbps to a 10GigE interface? Something has to suffer. This is where Network IO Control steps in. It addresses the issue of oversubscription by allowing you to set the relative importance of predetermined traffic types.


Network IO Control isolates the traffic types and ensures one traffic type is not dominated by others. It ensures or guarantees a minimum level of service for each traffic type when those traffic types (or flows) compete for a vmnic (physical NIC)

Note that NetIOC is available only with the vDS. It is not available on the standard switch (vSS).


NetIOC is controlled with two parameters—Limits and Shares.

Limits, as the name suggests, sets a limit for that traffic type (e.g VM traffic) across the NIC team. The value is specified in absolute terms in Mbps. When set, that traffic type will not exceed that limit *outbound* (or egress) of the host

Shares specify the relative importance of that traffic type when those traffic types compete for a particular vmnic (physical NIC). Shares are specified in abstract units numbered between 1 and 100 and indicate the relative importance of that traffic type. For example, if iSCSI has a shares value of 50, and FT logging has a shares value of 100, then FT traffic will get 2x the bandwidth of iSCSI when they compete. If they were both set at 50, or both set at 100, then they would both get the same level of service (bandwidth).

There are a number of preset values for shares ranging from low to high. You can also set custom values. Note that the limits and shares apply to output or egress from the ESX host, not input.

Remember that shares apply to the vmnics; limits apply across a team.


This slide shows how NetIOC is configured through the vSphere Client to vCenter Server. Select the networking inventory panels; click on the vDS switch and then select the “Resource Allocation” tab. Here you will see the various traffic types supported or identified. NetIOC currently categorizes the traffic types as follows:

- FT


- vMotion

- Management


- VM traffic

For each traffic type you can specify a limit in Mbps and a share value. Right clicking on the traffic type brings up the configuration panel.

In this example, if *every* traffic type tried to send unlimited traffic, VM traffic would get 50/400ths or one-eighth of the bandwidth of the physical interface as a minimum.