A closet with one uplink has two problems wearing one cable: if it fails, the closet is offline, and until it fails, every device in the building shares its capacity. Link aggregation addresses both by treating several physical links as one logical link.

It also produces one of the most common support questions in networking: "we bonded four links, why is the copy still 1 Gbps?"

What a bundle actually is

A link aggregation group (LAG) — port channel, bond, team, or trunk depending on the vendor — is a set of physical ports that share one logical identity. Spanning Tree sees one link, so the members do not block each other. Traffic is distributed across members by a hash of selected header fields.

That last sentence is the whole limitation. The hash is computed per flow, not per packet. All packets in one conversation take the same member link, because reordering them across links would break TCP's assumptions.

Four members, one logical link: the bundle is chosen per flow, never per packet.

So a 4×1 Gbps bundle gives you up to 4 Gbps of aggregate throughput across many flows, and exactly 1 Gbps for any single flow. A backup job copying one file uses one link. Forty clients backing up at once use all four.

Static versus LACP

Mode How it forms What happens on mismatch
Static (on) Both ends configured, no negotiation Silently forms a loop or drops traffic
LACP active Sends LACPDUs, negotiates Refuses to form; ports stay individual
LACP passive Responds to LACPDUs only Forms if the other side is active

LACP (802.3ad, now 802.1AX) is the correct default. It negotiates, it detects a member failure in about three seconds with fast timers, and — most importantly — it refuses to form a bundle when the two ends disagree. Static bundles are faster to configure and considerably better at causing outages.

The classic outage

One side is configured as a static bundle, the other as LACP. LACP never forms, so each side treats its ports as individual links. Spanning Tree blocks all but one — usually. If STP is disabled on those ports, or if the switch is a stack that handles it differently, you have a loop with four times the bandwidth to broadcast into it.

Requirements that are not optional

Members of a bundle must match on:

  • Speed and duplex
  • VLAN membership and tagging (access VLAN or allowed trunk list)
  • MTU
  • Flow control, if configured asymmetrically

A member that negotiates at a different speed will not join, or will join and degrade the bundle. This is why a failing cable often shows up as "the LAG is up but slow" rather than a clean failure.

Worked example

Two switches connected by four 1 Gbps links in an LACP bundle, carrying a student VLAN and a staff VLAN.

Traffic Flows Distribution
40 Chromebooks syncing 40+ Spread across all four members
One server backup 1 Pinned to one member, 1 Gbps ceiling
Video call 1-4 Per-flow hash, often one member

The uplink now survives any single cable failure with a sub-second interruption, and aggregate capacity is 4 Gbps. It did not make any single transfer four times faster, and no amount of configuration will: that is what a 10 Gbps link is for.

Hashing is not always even

Most switches hash on source and destination MAC by default. If all traffic passes through one router, every flow shares the same destination MAC, and the hash collapses onto one or two members. Changing the hash to include IP addresses and ports usually fixes it — if the hardware supports it.

What breaks in production

  • Mode mismatch. Static on one side, LACP on the other. Either no bundle or a loop, depending on the vendor's failure behavior. Always configure both ends in the same window, and verify the LACP state, not just the link state.
  • Uneven hashing. The bundle is healthy and one member carries 90% of the traffic. Check the hash policy before assuming the bundle is broken.
  • A member at the wrong speed. One 100 Mbps link in a 1 Gbps bundle drags every flow hashed to it. Monitor per-member utilization, not just bundle totals.
  • Expecting per-flow speedup. The most common misunderstanding, and the hardest to explain after the purchase order.
  • LAG to a single access port. Never. A bundle belongs between switches, or between a switch and a server with a matching bond.

Checklist

  1. LACP is active on both ends, never static, unless the peer cannot negotiate.
  2. All members match on speed, VLAN configuration, and MTU.
  3. Per-member utilization is monitored, not just the aggregate.
  4. The hash policy is documented, and includes L3/L4 fields where supported.
  5. A single member failure has been tested, not assumed.
  6. Nobody expects one flow to exceed one member.

Next

The uplink is now redundant and the topology is loop-free. The last physical dependency is the thing that powers it. Continue with PoE: Budgets, Classes, and the AP That Won't Boot.

  • LACP
  • LAG
  • Redundancy
  • Switching