What Bandwidth Tiers Do EC2 C-Series Instances Offer?

Amazon EC2 compute-optimized C-series bare metal and high-end virtual instances provide dedicated networking bandwidth tiers ranging from twenty-five gigabits per second on standard large instances up to two hundred gigabits per second on network-optimized fifth, sixth, seventh, and eighth generation servers. This guide covers the exact network throughput tiers across C5, C6i, C6gn, C7g, C7i, and C8g instance families, how AWS Nitro cards allocate network capacity, the role of Elastic Fabric Adapter in high-performance computing, and the mathematical formulas used to calculate packet throughput and data transfer performance.

Overview of EC2 C-Series Networking Architecture

Amazon EC2 C-series instances are engineered for compute-intensive workloads such as high-performance computing (HPC), batch processing, distributed analytics, media transcoding, and high-throughput network appliances. In modern EC2 generations built on the AWS Nitro System, networking functions are offloaded to dedicated hardware cards, freeing host CPU cores exclusively for application processing.

Networking performance on EC2 C-series instances is governed by two primary factors:

  1. Instance Size: Network bandwidth scales proportionally with the number of virtual CPUs (vCPUs) allocated to an instance. Smaller instances receive baseline bandwidth with burst capabilities via network I/O credit mechanisms, whereas high-end .8xlarge, .12xlarge, .16xlarge, .24xlarge, .48xlarge, and .metal sizes receive guaranteed sustained bandwidth.
  2. Network-Optimized Variants (n suffix): Instances denoted with an n suffix (such as c5n, c6in, and c6gn) integrate higher-capacity Nitro controllers to deliver elevated bandwidth and packet-per-second (PPS) performance at every vCPU tier compared to standard counterparts.

Networking Bandwidth Tiers by C-Series Generation

High-end virtual instances and bare metal instances within the C-series family fall into distinct sustained bandwidth tiers ranging from \(25\text{ Gbps}\) to \(200\text{ Gbps}\). The table below details the sustained bandwidth tiers across major high-end and bare metal C-series offerings.

Instance Family High-End / Metal Sizes Sustained Bandwidth Tier ENA Express Support EFA Support
C5 c5.12xlarge / c5.24xlarge, c5.metal \(12\text{ Gbps}\) / \(25\text{ Gbps}\) No No
C5n c5n.9xlarge / c5n.18xlarge, c5n.metal \(50\text{ Gbps}\) / \(100\text{ Gbps}\) Yes (18xlarge, metal) Yes (18xlarge, metal)
C6i / C6a 16xlarge / 24xlarge / 32xlarge, metal \(25\text{ Gbps}\) / \(37.5\text{ Gbps}\) / \(50\text{ Gbps}\) Yes (32xlarge, metal) Yes (32xlarge, metal)
C6in c6in.16xlarge / c6in.24xlarge / c6in.32xlarge, c6in.metal \(100\text{ Gbps}\) / \(150\text{ Gbps}\) / \(200\text{ Gbps}\) Yes Yes (32xlarge, metal)
C6gn c6gn.12xlarge / c6gn.16xlarge \(75\text{ Gbps}\) / \(100\text{ Gbps}\) Yes (16xlarge) Yes (16xlarge)
C7g c7g.12xlarge / c7g.16xlarge, c7g.metal \(22.5\text{ Gbps}\) / \(30\text{ Gbps}\) Yes (16xlarge, metal) No
C7gn c7gn.12xlarge / c7gn.16xlarge, c7gn.metal \(150\text{ Gbps}\) / \(200\text{ Gbps}\) Yes Yes (16xlarge, metal)
C7i c7i.16xlarge / c7i.24xlarge / c7i.48xlarge, c7i.metal-24xl, c7i.metal-48xl \(25\text{ Gbps}\) / \(37.5\text{ Gbps}\) / \(50\text{ Gbps}\) Yes (24xlarge+, metal) Yes (48xlarge, metal-48xl)
C7a c7a.24xlarge / c7a.32xlarge / c7a.48xlarge, c7a.metal-48xl \(25\text{ Gbps}\) / \(33.33\text{ Gbps}\) / \(50\text{ Gbps}\) Yes (48xlarge, metal) Yes (48xlarge, metal)
C8g c8g.24xlarge / c8g.48xlarge, c8g.metal-24xl, c8g.metal-48xl \(37.5\text{ Gbps}\) / \(75\text{ Gbps}\) Yes No

The 25 Gbps to 30 Gbps Tier (Baseline High-End Compute)

In fifth-generation (c5.24xlarge, c5.metal) and seventh-generation Arm-based Graviton3 instances (c7g.16xlarge, c7g.metal), the top-level sustained networking tier sits between \(25\text{ Gbps}\) and \(30\text{ Gbps}\). These instances are designed for compute-bound workloads where inter-node communication is moderate, such as web application servers, video encoding farms, and independent simulation nodes.

The 50 Gbps to 75 Gbps Tier (Modern Standard High-End and Metal)

Sixth- and seventh-generation x86 instances (c6i.32xlarge, c6i.metal, c6a.48xlarge, c6a.metal, c7i.48xlarge, c7i.metal-48xl, c7a.48xlarge, c7a.metal-48xl) elevate the standard non-n maximum network bandwidth to \(50\text{ Gbps}\). With the introduction of Graviton4-powered c8g.48xlarge and c8g.metal-48xl instances, AWS increased the baseline maximum tier for standard compute instances to \(75\text{ Gbps}\), alongside \(60\text{ Gbps}\) of dedicated Amazon EBS bandwidth.

The 100 Gbps Tier (First-Wave Network-Optimized Compute)

For workloads requiring high data ingestion rates or tightly coupled MPI (Message Passing Interface) communications, c5n.18xlarge, c5n.metal, and Graviton2-based c6gn.16xlarge provide \(100\text{ Gbps}\) of sustained network throughput. This tier also appears on mid-sized sixth- and seventh-generation network-optimized instances such as c6in.16xlarge and c7gn.8xlarge.

The 150 Gbps to 200 Gbps Tier (Ultra-High Throughput Compute)

The highest networking tiers on general C-series instances are delivered by c6in (Intel Xeon Scalable) and c7gn (AWS Graviton3E) families:

  • \(150\text{ Gbps}\) Tier: Available on c6in.24xlarge and c7gn.12xlarge instances.
  • \(200\text{ Gbps}\) Tier: Available on c6in.32xlarge, c6in.metal, c7gn.16xlarge, and c7gn.metal. These instances utilize multiple AWS Nitro cards (or dual-card configurations) to double the collective throughput and achieve up to \(2\times\) higher packet-processing performance per vCPU for network virtual appliances (firewalls, routers, load balancers) and distributed data analytics.

Single-Flow Bandwidth vs. Aggregate Multi-Flow Bandwidth

Achieving the full advertised bandwidth tier (\(50\text{ Gbps}\), \(100\text{ Gbps}\), or \(200\text{ Gbps}\)) requires understanding how EC2 enforces traffic limits per network flow.

By default, a single TCP or UDP flow between two instances within the same Availability Zone or across a Virtual Private Cloud (VPC) is capped at \(5\text{ Gbps}\) (or up to \(10\text{ Gbps}\) when placed in a cluster placement group). Therefore, to saturate an aggregate bandwidth tier \(B_{\text{total}}\), an application must distribute traffic across \(N\) parallel 5-tuple network flows:

\[N_{\text{flows}} \ge \left\lceil \frac{B_{\text{total}}}{B_{\text{flow}}} \right\rceil\]

For example, saturating a \(100\text{ Gbps}\) c5n.metal instance using standard \(5\text{ Gbps}\) flows requires at least:

\[N_{\text{flows}} = \frac{100\text{ Gbps}}{5\text{ Gbps}} = 20\text{ parallel flows}\]

Increasing Single-Flow Bandwidth with ENA Express

High-end and metal C-series instances supporting ENA Express (which uses the AWS Scalable Reliable Datagram, or SRD, protocol directly on the Nitro hardware) raise the maximum single-flow bandwidth limit from \(5\text{ Gbps}\) to \(25\text{ Gbps}\). When ENA Express is enabled between two compatible instances in the same Availability Zone, the number of flows required to saturate a \(200\text{ Gbps}\) c6in.metal instance drops significantly:

\[N_{\text{flows, ENA Express}} = \frac{200\text{ Gbps}}{25\text{ Gbps}} = 8\text{ parallel flows}\]

ENA Express also reduces tail latency (\(P_{99}\) and \(P_{99.9}\)) by dynamically routing packets across multiple equal-cost paths in the AWS data center fabric and recovering from packet drops directly on the Nitro card rather than waiting for OS TCP retransmissions.

Elastic Fabric Adapter (EFA) and OS-Bypass Networking

On the largest virtual sizes and .metal tiers of c5n, c6i, c6in, c6gn, c7g, c7gn, c7i, and c7a, AWS offers support for Elastic Fabric Adapter (EFA). EFA is a network interface designed for applications requiring high levels of inter-node communications at scale, such as computational fluid dynamics (CFD), weather modeling, and distributed machine learning training.

Key technical characteristics of EFA on high-end C-series instances include:

  • OS-Bypass: EFA allows applications using Libfabric (via OpenMPI, Intel MPI, or NCCL) to communicate directly with the Nitro network hardware without traversing the operating system kernel TCP/IP stack.
  • SRD Transport Protocol: Instead of traditional InfiniBand RDMA over Converged Ethernet (RoCE), EFA uses AWS SRD to spray packets across hundreds of network paths simultaneously, avoiding head-of-line blocking and network congestion hot spots.
  • Multi-Card Scaling: On \(200\text{ Gbps}\) instances such as c6in.metal and c7gn.metal, users can attach up to two ENA/EFA interfaces associated with separate Nitro cards to achieve maximum line-rate RDMA-like throughput.

Calculating Throughput and Packet-Per-Second (PPS) Limits

Network performance on EC2 C-series instances is constrained by both bit-rate bandwidth (\(B\)) and packet-per-second (\(R_{\text{PPS}}\)) hardware limits on the Nitro card.

To convert a sustained bandwidth tier \(B\) (in \(\text{Gbps}\)) into theoretical maximum byte throughput \(T\) (in \(\text{GB/s}\), where \(1\text{ Byte} = 8\text{ bits}\)):

\[T = \frac{B}{8}\]

For a \(200\text{ Gbps}\) instance (c6in.metal or c7gn.metal):

\[T = \frac{200\text{ Gbps}}{8} = 25\text{ GB/s}\]

When accounting for Ethernet frame overhead, IPv4 headers (\(20\text{ bytes}\)), and TCP headers (\(20\text{ bytes}\)), the effective payload throughput \(T_{\text{eff}}\) for a given Maximum Transmission Unit (\(\text{MTU}\)) is expressed as:

\[T_{\text{eff}} = \frac{B}{8} \times \left( \frac{\text{MTU} - 40}{\text{MTU} + 38} \right)\]

Within an Amazon VPC, high-end C-series instances support Jumbo Frames (\(\text{MTU} = 9001\text{ bytes}\)) for intra-VPC traffic. Comparing standard Ethernet frames (\(\text{MTU} = 1500\text{ bytes}\)) against Jumbo Frames (\(\text{MTU} = 9001\text{ bytes}\)) at \(100\text{ Gbps}\):

  1. With \(\text{MTU} = 1500\text{ bytes}\): \[R_{\text{PPS}} = \frac{100 \times 10^9\text{ bits/s}}{(1500 + 38) \times 8\text{ bits}} \approx 8.13 \times 10^6\text{ PPS}\]

  2. With \(\text{MTU} = 9001\text{ bytes}\): \[R_{\text{PPS}} = \frac{100 \times 10^9\text{ bits/s}}{(9001 + 38) \times 8\text{ bits}} \approx 1.38 \times 10^6\text{ PPS}\]

Using \(\text{MTU} = 9001\) reduces the packet-per-second processing burden by nearly \(83\%\), allowing high-end and bare metal C-series instances to reach their full \(100\text{ Gbps}\) or \(200\text{ Gbps}\) bandwidth ceiling without hitting PPS throttling limits. For workloads that specifically process small packets (such as VoIP, DNS servers, or packet inspection appliances), c7gn and c6in metal instances provide specialized multi-Nitro-card architectures capable of handling tens of millions of packets per second.