Most IT administrators have heard terms such as EtherChannel, port channel, link aggregation, PAgP, LACP, 802.3ad, and vPC. Some even know that these are all words used to describe how to aggregate data across multiple physical links. But many are confused when it comes to understanding the difference between each and when they should be used. In this article, I'll explain the technologies and terminology associated with link aggregation.
What is link aggregation?
First, let's understand the overall reason behind the purpose of link aggregation technologies. Link aggregation uses software to combine two to eight physical interfaces at layer 2 or layer 3 of the OSI model. The goal is to have the multiple physical links act as a single logical interface.
Aggregation is used to accomplish two key tasks. The first is to increase overall bandwidth between two switches or servers where the logical aggregate interface is configured. This can eliminate bottlenecks by allowing data to be transmitted and received over multiple interfaces. The second key reason to use link aggregation is to eliminate any single points of failure between switches. You can lose one or more physical interfaces on a logical aggregate interface, but as long as one physical connection is up and operational, you maintain connectivity.
The challenge in understanding the different types of link aggregation methods often revolves around the terminology thrown about -- often incorrectly -- by server and network administrators. For example, EtherChannel was developed by a company Cisco acquired and integrated into Cisco network gear in the early 1990's. It's become a generic term used that is often used interchangeably with the more correct term, link aggregation. While link aggregation is the term used to describe the overall technology, EtherChannel is a Cisco proprietary method for actually configuring link aggregation on Cisco equipment.
EtherChannel spawned several other aggregation terms. There were originally three different ways to configure Cisco EtherChannel between switches. One way was to statically set the connection on both sides. The second was to negotiate the aggregation link using Cisco's proprietary Port Aggregation Protocol (PAgP). And the third was to use 802.3ad, an open negotiation protocol also known as Link Aggregation Control Protocol (LACP).
It's important to note that Cisco is largely moving away from PAgP; newer switch operating systems, including the Nexus line, only support LACP as the link-aggregation negotiation protocol. Other networking vendors such as Avaya, Juniper, and Huawei had their own proprietary link aggregation protocols that were similar to Cisco's PAgP, but all have since switched to the standards-based LACP. Most network admins only recall Cisco's PAgP.
One of the downsides to early link-aggregation methods was that the physical connections in a virtual link could only be between two switches. Virtual Port Channeling (vPC) changes that requirement by allowing network administrators to create an aggregate link from two uplink switches to a single downlink switch.
This capability further increases the high availability of a network by allowing a failure of an entire uplink switch to occur without disrupting service. But again, keep in mind that vPC is yet again another Cisco proprietary implementation specifically for its Nexus switch line. Other Cisco switches and other switch vendors use their similar technologies with different terminology.
Hopefully this blog post helped to cut through some of the confusion surrounding link aggregation technologies, protocols, and terms. It helps to understand the background and history behind everything in order to understand what each aggregation technology can do for you. This is especially true if you are attempting to setup an aggregated link between switches or between a switch and a server where you aren't configuring both ends yourself. Using the right terminology when talking about what type of link aggregation you plan to configure is a great first step to a successful implementation.