EtherChannel is a port link aggregation technology or port-channel architecture used primarily on Cisco switches. It allows grouping of several physical Ethernet links to create one logical Ethernet link for the purpose of providing fault-tolerance and high-speed links between switches, routers and servers. All member ports within the bundle must have the same physical settings such as port type, speed and duplex. Traffic is load-shared across the ports. It is important to note that traffic is not loadbalanced, as load distribution is not always equals across all member ports.
There are 2 main types of etherchannel, Layer2 and Layer3,
- Layer2– The bundle is configured as an access or trunk port.
- Layer3 -The bundle is configured with an IP address and the port is no longer defined as a switchport, using the command no switchport
Various options on how the traffic is loadshared across the port members are available. This is configured on a global level.
Switch(config)#port-channel load-balance ? dst-ip Dst IP Addr dst-mac Dst Mac Addr src-dst-ip Src XOR Dst IP Addr src-dst-mac Src XOR Dst Mac Addr src-ip Src IP Addr src-mac Src Mac Addr
As standard a portchannel will present a single MAC address, the switch will use the MAC address of the first physical port that is initiated within the bundle.
EtherChannel Guard is a feature that detects etherchannel misconfigurations between the switch and its neighbor. If more then one MAC address is seen from its neighbor the switch will place the interfaces into error-disabled. This prevents situations where one end is cabled to the wrong port which could lead to bridging loops.
(config)# spanning-tree etherchannel guard misconfig
There are 3 main etherchannel configuration options. They are,
- PAgP – Port Aggregation Protocol (PAgP), a Cisco proprietary standard for building etherchannels.
- LACP – LACP (Link Aggregation Control Protocol) is an open standards protocol (IEEE802.3ad) for building etherchannels.
- Manual – No negotiation protocol is used and the etherchannel is statically created.
Port Aggregation Protocol (PAgP) is a Cisco proprietary standard that allows multiple physical interfaces to be aggregated into one logical link.
Each logical link can contain up-to 8 physical members.
Within PAgP there are 2 modes available, Desirable and Auto.
- Desirable – Enables PAgP unconditionally ; Actively sends packets to its neighbor in order to negotiate PAgP.
- Auto – Awaits PAgP packets from its neighbor before initiating PAgP
In addition to these modes there are 2 forms of operation, Non-Silent and Silent.
- Non-Silent – The bundle is not initiated until bidirectional traffic is detected. Non-Silent provides the ability to protect against unidirectional failures on fibre based connections.
- Silent – This is the default setting on the majority of copper based switches. With this form of operation the bundle is initiated even if no traffic is seen.
Create PAgP Bundle
Creating an LACP bundle is simple, you define the port-channel number on each of the interfaces.
Switch(config-if)#interface range gi0/1-3 Switch(config-if-range)#channel-group 33 mode desirable Creating a port-channel interface Port-channel 33
There are 2 methods for learning, physical and aggregated.
- aggregation-port – (Default) The switch learns the addresses on the aggregated port. Traffic is sent back to the source using any of the ports within the bundle.
- physical-port – The switch learns the source MAC address on the physical port the packet has come in on. Traffic is then sent back out the same physical port.
Note : This is configured within the interface configuration.
Switch(config-if)# pagp learn-method physical-port
In addition to the show pagp …. commands you can also review the status of the portchannel via the command below,
Switch#show etherchannel 33 summary Flags: D - down P - bundled in port-channel I - stand-alone s - suspended H - Hot-standby (LACP only) R - Layer3 S - Layer2 U - in use N - not in use, no aggregation f - failed to allocate aggregator M - not in use, minimum links not met m - not in use, port not aggregated due to minimum links not met u - unsuitable for bundling w - waiting to be aggregated d - default port A - formed by Auto LAG Number of channel-groups in use: 1 Number of aggregators: 1 Group Port-channel Protocol Ports ------+-------------+-----------+----------------------------------------------- 33 Po33(SU) PAgP Gi0/1(P) Gi0/2(P) Gi0/3(P)
LACP (Link Aggregation Control Protocol) is an open standards protocol (IEEE802.3ad) that allows multiple physical interfaces to be aggregated into one logical link.
Each logical link can contain up-to 8 physical members.
Within LACP there are 2 modes available, Active and Passive.
- Active – Within Active mode the switch tries to negotiate and form LACP with its neighbor.
- Passive – Within Passive mode LACP is enabled but the switch waits for the neighbor to initiate the negotiation LACP.
Create LACP Bundle
Creating an LACP bundle is simple, you define the port-channel number onto each of the interfaces.
Switch(config-if)#interface range gi0/1-3 Switch(config-if-range)#channel-group 33 mode active Creating a port-channel interface Port-channel 33
Below is an example of some of the common show commands.
Switch#sh lacp 33 neighbor Flags: S - Device is requesting Slow LACPDUs F - Device is requesting Fast LACPDUs A - Device is in Active mode P - Device is in Passive mode Channel group 33 neighbors Partner's information: LACP port Admin Oper Port Port Port Flags Priority Dev ID Age key Key Number State Gi0/1 SA 32768 fa16.3efa.dce3 24s 0x0 0x18 0x2 0x3D Gi0/2 SA 32768 fa16.3efa.dce3 6s 0x0 0x18 0x3 0x3D Gi0/3 SA 32768 fa16.3efa.dce3 16s 0x0 0x18 0x4 0x3
Switch#sh lacp 33 counters LACPDUs Marker Marker Response LACPDUs Port Sent Recv Sent Recv Sent Recv Pkts Err --------------------------------------------------------------------- Channel group: 33 Gi0/1 62 56 0 0 0 0 0 Gi0/2 64 56 0 0 0 0 0 Gi0/3 64 55 0 0 0 0 0
LACP allows you to define the number of active members within the bundle, in essence allowing you to create hot-standby bundle members.
Switch(config)#int po33 Switch(config-if)#lacp max-bundle ? <1-8> Max number of ports to bundle in this Port Channel
By setting priorities on each of the ports provides you with greater control and allows you to determine what ports are first added to the bundle and what ports are added into the bundle in the event of interface failure.
Switch(config)#int gi0/3 Switch(config-if)#lacp port-priority 300
Switch#sh lacp internal Flags: S - Device is requesting Slow LACPDUs F - Device is requesting Fast LACPDUs A - Device is in Active mode P - Device is in Passive mode Channel group 33 LACP port Admin Oper Port Port Port Flags State Priority Key Key Number State Gi0/1 SA bndl 32768 0x18 0x18 0x2 0x3D Gi0/2 SA bndl 32768 0x18 0x18 0x3 0x3D Gi0/3 SA bndl 300 0x18 0x18 0x4 0x3D
To configure a manual etherchannel bundle you define the port-channel number onto each of the interfaces.
Switch(config-if)#interface range gi0/1-3 Switch(config-if-range)#channel-group 33 mode no Creating a port-channel interface Port-channel 33
- How to Configure a BIND Server on Ubuntu - March 15, 2018
- What is a BGP Confederation? - March 6, 2018
- Cisco – What is BGP ORF (Outbound Route Filtering)? - March 5, 2018
Want to become a networking expert?
Here is our hand-picked selection of the best courses you can find online:
Cisco CCNA 200-301 Certification Gold Bootcamp
Complete Cyber Security Course – Network Security
Internet Security Deep Dive course
Python Pro Bootcamp
and our recommended certification practice exams:
AlphaPrep Practice Tests - Free Trial