What Is Port Bonding? Modes, Speed, and Failover

Port bonding is a technique that combines two or more physical network connections into a single logical link, giving you more bandwidth and a safety net if one connection fails. You might also see it called link aggregation, NIC bonding, or NIC teaming. The core idea is simple: instead of relying on one cable between your device and your switch, you use multiple cables that work together as a unified connection.

How Port Bonding Works

Every network device, whether it’s a server, a NAS, or a desktop computer, connects to the network through a port on its network interface card. Normally, each port operates independently. Port bonding groups two or more of these ports so the operating system and the network switch treat them as one interface with a single address.

The most widely used method for setting this up dynamically is the Link Aggregation Control Protocol (LACP), originally defined in the IEEE 802.3ad standard and now maintained under IEEE 802.1AX. LACP works by having both sides of the connection, your device and the switch, exchange small messages called LACPDUs. These messages contain status flags that let each side confirm they agree on the aggregation settings before any data flows. If the two sides don’t agree, the link won’t activate, which prevents misconfiguration from silently dropping traffic.

LACP has two participation modes. In active mode, a device sends these messages on its own initiative, actively looking for a partner to bond with. In passive mode, a device only responds when it detects an active partner on the other end. At least one side of the connection needs to be active for bonding to establish.

The Seven Bonding Modes

Most operating systems, particularly Linux-based systems, support seven distinct bonding modes numbered 0 through 6. Each handles traffic distribution and failover differently.

  • Mode 0 (Round Robin): Sends packets sequentially across each port in the group, one after another. Provides both load balancing and failover but requires your switch to be configured with a static link aggregation group.
  • Mode 1 (Active-Backup): Only one port carries traffic at a time. If that port fails, another takes over. No special switch configuration needed, making it the simplest option for pure redundancy.
  • Mode 2 (XOR): Assigns traffic to ports based on a hash of the source and destination addresses. Like round robin, it requires static configuration on the switch side.
  • Mode 3 (Broadcast): Sends every packet out every port simultaneously. Primarily used for very specific fault-tolerance scenarios, not everyday networking.
  • Mode 4 (802.3ad/LACP): The dynamic, standards-based approach. Both your device and switch negotiate the bond automatically. This is the mode most enterprise environments use because it detects failures quickly and prevents misconfigurations.
  • Mode 5 (Adaptive Transmit Load Balancing): Distributes outgoing traffic across all ports based on current load, but incoming traffic arrives on a single port. No special switch configuration required.
  • Mode 6 (Adaptive Load Balancing): Like mode 5 but also balances incoming traffic by manipulating address responses. Also works with standard, unconfigured switch ports.

Modes 1, 5, and 6 are the easiest to deploy because they work with any switch, even unmanaged ones. Modes 0, 2, and 3 need you to manually configure matching groups on the switch. Mode 4 requires a managed switch that supports LACP.

How Traffic Gets Distributed

When you bond multiple ports, the system needs a way to decide which port carries each piece of traffic. This decision is made by a hashing algorithm, and you typically get a few options. A Layer 2 hash uses the hardware (MAC) addresses of the source and destination devices. A Layer 3+4 hash uses IP addresses and port numbers, which generally spreads traffic more evenly because there’s more variation in those values across different connections.

The hash determines which physical port handles each “flow” of traffic. A flow is essentially a conversation between two endpoints. All packets belonging to the same flow travel over the same physical port. This keeps packets arriving in order, which is important for protocols like TCP that expect sequential delivery.

The Single-Stream Speed Limit

This is the detail that catches most people off guard. If you bond two 1 Gbps ports together, you get 2 Gbps of total throughput, but no single file transfer or data stream will exceed 1 Gbps. That’s because each individual flow gets assigned to one physical port. Bonding two links increases the amount of traffic that can be carried simultaneously, not the maximum speed of any one transfer.

So if you’re a single user copying a large file to a NAS over a bonded 2-port connection, you’ll still see 1 Gbps speeds. The benefit shows up when multiple users or applications are accessing the device at the same time. Ten people each transferring files can collectively use the full 2 Gbps, because their separate flows get distributed across both ports.

Redundancy and Failover

Beyond raw throughput, port bonding provides automatic failover. If a cable gets unplugged, a port fails, or a switch has a problem, traffic reroutes to the remaining healthy ports with no manual intervention. In LACP mode, both devices continuously exchange status messages, so a failed link gets detected and removed from the group within seconds. No frames are lost or duplicated during the transition if the protocol is working correctly.

For servers and storage devices that need to stay online around the clock, this redundancy is often more valuable than the extra bandwidth. A single cable failure won’t take the device offline.

Hardware and Switch Requirements

What you need on the switch side depends entirely on which bonding mode you choose. For LACP (mode 4), you need a managed switch that explicitly supports the protocol. Some switches have specific rules about which ports can be grouped. Ubiquiti’s UniFi switches, for example, require that bonded ports be sequential in number and only support LACP, not static configurations.

For active-backup or adaptive load balancing modes, you don’t need any special switch support at all. The bonding logic lives entirely in the operating system of the device with multiple ports.

On the device side, you simply need two or more network ports. Most servers come with at least two built-in. Consumer NAS devices from Synology, QNAP, and others commonly include two or four ports with bonding support in their management software.

Common Setup Problems

The most frequent issue with LACP bonding is a mismatch between the two sides of the connection. Both the device and the switch must send and receive their negotiation messages at the same rate. If one side is set to a fast timeout and the other to a slow one, the link can end up in a “suspended” state where the port shows as down because no valid messages are being received.

Speed and duplex mismatches between ports in the same group also cause problems. All ports in a bond should run at the same speed. Mixing a 1 Gbps port with a 100 Mbps port will either fail outright or create unpredictable performance. Similarly, forgetting to enable the matching aggregation group on the switch side when using modes 0, 2, or 3 will result in network loops or dropped connections rather than a working bond.

Bonding vs. Teaming

You’ll sometimes see “NIC teaming” used interchangeably with “NIC bonding,” but in Linux they’re actually two different implementations. Traditional bonding is the older kernel-level driver. Network teaming is a newer approach with lower performance overhead and additional features like IPv6-aware link monitoring, better support for setting port priorities, and more flexible monitoring setups. Both accomplish the same fundamental goal. Windows Server uses the term “NIC teaming” for its own built-in implementation, which is separate from either Linux approach.

For most practical purposes, the distinction matters only when you’re choosing which tool to configure on a Linux server. The networking concepts, LACP negotiation, and switch requirements are identical regardless of which software layer manages the bond on the host side.