Enhanced networking
Enhanced networking gives EC2 instances higher packet-per-second rates, lower inter-instance latency and less jitter than a software-emulated network adapter. It costs nothing extra and, on current instance families, is on by default.
How it works
Section titled “How it works”Enhanced networking uses SR-IOV (Single Root I/O Virtualization), a hardware feature of the physical network card. SR-IOV lets one physical PCIe device present itself as many virtual functions, each of which can be assigned directly to a virtual machine. The guest talks to its virtual function without the hypervisor mediating every packet.
On Nitro-based instances the Nitro cards implement this, so each instance gets near-native network performance from hardware AWS owns and operates.
Adapters
Section titled “Adapters”| Adapter | Role | Status |
|---|---|---|
| Elastic Network Adapter (ENA) | The current enhanced-networking adapter. Enabled by default on Nitro-based instance types. | Current |
| Intel 82599 Virtual Function (VF) | The original enhanced-networking adapter, used by pre-Nitro families such as C3, C4, R3, I2 and M4. | Legacy |
Peak bandwidth depends entirely on the instance type and size: small instances are metered in single-digit gigabits per second, while network-optimised sizes reach well over 100 Gbps. Check the network performance column for the specific instance type rather than quoting a single figure.
For workloads that need kernel bypass and MPI — HPC and distributed training — the answer is an Elastic Fabric Adapter rather than enhanced networking alone.
Choosing between the three interface types
Section titled “Choosing between the three interface types”| Feature | Elastic Network Interface (ENI) | Enhanced networking (ENA) | Elastic Fabric Adapter (EFA) |
|---|---|---|---|
| Purpose | General network connectivity | Optimised general networking | HPC and machine learning |
| Transport | TCP/IP, UDP/IP | TCP/IP, UDP/IP | SRD plus libfabric |
| Kernel bypass | No | No | Yes |
| MPI and RDMA-style APIs | No | No | Yes |
| Multiple IP addresses | Yes | Yes (a property of the underlying ENI) | Uses a single interface |
| Attach and detach | Yes | Built into instance networking | Enabled at creation, fixed for the interface |
| Instance support | All instance types | Most current-generation types | Selected HPC and ML instance types |
| Configuration | Manual attachment and IP configuration | Usually on by default; older AMIs may need a driver | Requires explicit enablement |
Use an ENI when you want network segregation or several addresses at minimal cost. Rely on enhanced networking when you need reliable high bandwidth without special APIs. Choose EFA when the job is tightly coupled and latency between nodes decides the run time.
Driver notes
Section titled “Driver notes”Current Amazon Linux, Ubuntu, Windows Server and Red Hat AMIs ship with the ENA driver. Custom or older images may need the driver installed and the enaSupport attribute set on the instance before enhanced networking becomes active.
Placement groups
Section titled “Placement groups”Placement groups control where EC2 puts instances relative to each other, and they are the usual companion to enhanced networking because network performance depends on physical proximity as much as on the adapter.
Cluster. Instances are packed into a low-latency group within a single Availability Zone. This is what gets the most out of enhanced networking and EFA. Capacity is finite, so launch all the instances you need in one request rather than adding to the group later.
Spread. Each instance runs on distinct underlying hardware, and the group can span Availability Zones. There is a limit on running instances per group per Availability Zone. Use it for a small number of critical instances that must not fail together.
Partition. Instances are divided into partitions, and each partition sits on its own set of racks. This suits large distributed and replicated systems — an HDFS cluster, a Cassandra ring — where you want the placement of replicas to be visible to the application. Partition placement groups cannot be used with Dedicated Hosts.