Etherchannel is a way of acquiring higher bandwidth by bundling ports together. A better way to define it would be to say it performs port link aggregation.
It allows grouping of several ethernet ports to create one logical Ethernet link. it is an open standard ratified under IEEE 802.1d
Etherchannel can also be reffered to as portchannel and can be either layer 2(access/trunk port) or layer 3(rooted Port).
An EtherChannel can be either statically or dynamically configured. When Etherchannel is statically configured it is in a constant on state with no health checks. Bearing this in mind dynamically configured ports are a more preferred option when building EtherChannels.
There are two link aggregation protocols LACP and PAgP. PAgP is a Cisco proprietary protocol and LACP is industry standard.
PAgP can operate in two modes
- Auto:- This is similar to “DTP”. It will only format link if the other side is desirable.
- Desirable:- This is also similar to “DTP” It will form a link if the other end is Desirable or Auto.
LACP can also operate in two modes.
- Passive:- This is similar to “Auto”. It will only form a link if the other side is Active
- Active:- This is similar to “Desirable”. It forms links with active and passive links.
Static Configuration
A static EtherChannel is configured with the interface command Channel-group id-number mode on
We will be using this diagram below with Switch 1 and Switch 2 connected with interfaces Gi1/1 and Gi1/2 aggregated.
----------------------only necessary config shown---------
Switch1#sh run
!
!
interface Port-channel1
!
interface GigabitEthernet1/1
media-type rj45
no negotiation auto
channel-group 1 mode on
!
interface GigabitEthernet1/2
media-type rj45
negotiation auto
channel-group 1 mode on
--------------------------
Switch1#show etherchannel detail
Channel-group listing:
----------------------
Group: 1
----------
Group state = L2
Ports: 2 Maxports = 4
Port-channels: 1 Max Port-channels = 1
Protocol: -
Minimum Links: 0
Ports in the group:
-------------------
Port: Gi1/1
------------
Port state = Up Mstr In-Bndl
Channel group = 1 Mode = On Gcchange = -
Port-channel = Po1 GC = - Pseudo port-channel = Po1
Port index = 0 Load = 0x00 Protocol = -
Age of the port in the current state: 0d:00h:36m:03s
Port: Gi1/2
------------
Port state = Up Mstr In-Bndl
Channel group = 1 Mode = On Gcchange = -
Port-channel = Po1 GC = - Pseudo port-channel = Po1
Port index = 0 Load = 0x00 Protocol = -
Age of the port in the current state: 0d:00h:35m:47s
Port-channels in the group:
---------------------------
Port-channel: Po1
------------
Age of the Port-channel = 0d:00h:36m:03s
Logical slot/port = 16/0 Number of ports = 2
GC = 0x00000000 HotStandBy port = null
Port state = Port-channel Ag-Inuse
Protocol = -
Port security = Disabled
Ports in the Port-channel:
Index Load Port EC state No of bits
------+------+------+------------------+-----------
0 00 Gi1/1 On 0
0 00 Gi1/2 On 0
Time since last port bundled: 0d:00h:35m:47s Gi1/2
---------------------------
Switch1#sh int port-channel 1 status
Port Name Status Vlan Duplex Speed Type
Po1 connected 1 auto auto
--------------------------------
Switch1#sh int port-channel 1 switchport
Name: Po1
Switchport: Enabled
Administrative Mode: dynamic auto
Operational Mode: static access
Administrative Trunking Encapsulation: negotiate
Operational Trunking Encapsulation: native
Negotiation of Trunking: On
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Administrative Native VLAN tagging: enabled
Voice VLAN: none
Administrative private-vlan host-association: none
Administrative private-vlan mapping: none
Administrative private-vlan trunk native VLAN: none
Administrative private-vlan trunk Native VLAN tagging: enabled
Administrative private-vlan trunk encapsulation: dot1q
Administrative private-vlan trunk normal VLANs: none
Administrative private-vlan trunk associations: none
Administrative private-vlan trunk mappings: none
Operational private-vlan: none
Trunking VLANs Enabled: ALL
Pruning VLANs Enabled: 2-1001
Protected: false
Appliance trust: none
Switch1#
The output above shows that we have successfully configured a static Etherchannel port. As the commands for both switches 1 and 2 are the same I have chosen to only show the output from Switch 1. Trunking has not been enabled on the port-channel and this is evident with the command show int Port-channel 1 switchport.
By issuing the command no interface port-channel 1 we can reset the port.
Switch1(config)#no int port-channel 1
Switch1(config)#exit
-----------------------------------
!
interface GigabitEthernet1/1
shutdown
media-type rj45
no negotiation auto
!
interface GigabitEthernet1/2
shutdown
media-type rj45
negotiation auto
-----------------------------------
The Etherchannel has not been deleted and the participating interfaces have also gone into a shutdown mode.
Scenario 2
PAgP and LACP offer more options than static configurations.
Switch1#show lacp 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 1 neighbors
Partner's information:
LACP port Admin Oper Port Port
Port Flags Priority Dev ID Age key Key Number State
Gi1/1 SP 32768 0ca8.9d07.2600 26s 0x0 0x1 0x102 0x3C
Gi1/2 SP 32768 0ca8.9d07.2600 13s 0x0 0x1 0x103 0x3C
Switch1#show lacp neighbor det
Switch1#show lacp neighbor detail
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 1 neighbors
Partner's information:
Partner Partner Partner
Port System ID Port Number Age Flags
Gi1/1 32768,0ca8.9d07.2600 0x102 22s SP
LACP Partner Partner Partner
Port Priority Oper Key Port State
32768 0x1 0x3C
Port State Flags Decode:
Activity: Timeout: Aggregation: Synchronization:
Passive Long Yes Yes
Collecting: Distributing: Defaulted: Expired:
Yes Yes No No
Partner Partner Partner
Port System ID Port Number Age Flags
Gi1/2 32768,0ca8.9d07.2600 0x103 10s SP
LACP Partner Partner Partner
Port Priority Oper Key Port State
32768 0x1 0x3C
Port State Flags Decode:
Activity: Timeout: Aggregation: Synchronization:
Passive Long Yes Yes
Collecting: Distributing: Defaulted: Expired:
Yes Yes No No
Switch1#show LACP counters
LACPDUs Marker Marker Response LACPDUs
Port Sent Recv Sent Recv Sent Recv Pkts Err
---------------------------------------------------------------------
Channel group: 1
Gi1/1 22 27 0 0 0 0 0
Gi1/2 19 23 0 0 0 0 0
PAgP and LACP are very similar so I just focused on LACP. Almost certainly I expect in exam conditions Cisco will mostly likely field a PAgP question but in the real world most people use LACP.
Ensure you know how to identify Slow LACP from fast LACP. Slow lacp send out packets every 30 seconds. Fast LACP sends out packets every 1 second. They both wait 3 cycles before assuming a link is dead. which would mean 90 seconds before a link is confirmed down. This is too long a wait interval in a modern network.
use command lacp rate fast
and check LACP and PAgP send/receive counters to see if they increment. You can clear the counters on the port-channel
Switch1#show LACP counters
LACPDUs Marker Marker Response LACPDUs
Port Sent Recv Sent Recv Sent Recv Pkts Err
---------------------------------------------------------------------
Channel group: 1
Gi1/1 22 27 0 0 0 0 0
Gi1/2 19 23 0 0 0 0 0
Switch1#show LACP counters
LACPDUs Marker Marker Response LACPDUs
Port Sent Recv Sent Recv Sent Recv Pkts Err
---------------------------------------------------------------------
Channel group: 1
Gi1/1 0 0 0 0 0 0 0
Gi1/2 0 0 0 0 0 0 0
Switch1#
we can choose the sytsem priority for LACP.
Switch1#show lacp sys-id
32768, 0ca8.9dd0.b200
-----------------------------------------
Switch1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch1(config)#lacp system-priority 1
Switch1(config)#exit
----------------------------------------
Switch1#
*Feb 13 08:23:00.897: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet1/1, changed state to down
*Feb 13 08:23:01.449: %SYS-5-CONFIG_I: Configured from console by console
Switch1#show lacp sys-id
1, 0ca8.9dd0.b200
The ports will go down and come back up after a lacp system change.
The last key point on this topic is load balancing.
To ensure even distribution for load balancing . You should have 2,4, or 8 ports for ether channel.
when load balancing an EtherChannel. The first step is to understand what #hash is being used.
Scenario 3
Switch 1 has an IP address of 172.16.52.1
Switch 2 has an IP address of 172.16.52.2
Switch1#sh etherchannel load-balance
EtherChannel Load-Balancing Configuration:
src-dst-ip
Now that we know it is a src-dst-ip hash. we can do a test from Swicth1 to switch 2 and see which interfaces it uses.
Switch1#ping 172.16.52.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.52.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 7/11/19 ms
Switch1#show int | i line|rate
GigabitEthernet0/0 is down, line protocol is down (notconnect)
Queueing strategy: fifo
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
GigabitEthernet0/1 is up, line protocol is up (connected)
Queueing strategy: fifo
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
GigabitEthernet0/2 is up, line protocol is up (connected)
Queueing strategy: fifo
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
GigabitEthernet0/3 is down, line protocol is down (notconnect)
Queueing strategy: fifo
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
GigabitEthernet1/0 is down, line protocol is down (notconnect)
Queueing strategy: fifo
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
GigabitEthernet1/1 is up, line protocol is up (connected)
Queueing strategy: fifo
5 minute input rate 1000 bits/sec, 1 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
GigabitEthernet1/2 is up, line protocol is up (connected)
Queueing strategy: fifo
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
GigabitEthernet1/3 is down, line protocol is down (notconnect)
Queueing strategy: fifo
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
GigabitEthernet2/0 is down, line protocol is down (notconnect)
Queueing strategy: fifo
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
GigabitEthernet2/1 is up, line protocol is up (connected)
Queueing strategy: fifo
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
GigabitEthernet2/2 is up, line protocol is up (connected)
Queueing strategy: fifo
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
GigabitEthernet2/3 is down, line protocol is down (notconnect)
Queueing strategy: fifo
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
GigabitEthernet3/0 is down, line protocol is down (notconnect)
Queueing strategy: fifo
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
GigabitEthernet3/1 is up, line protocol is up (connected)
Queueing strategy: fifo
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
GigabitEthernet3/2 is up, line protocol is up (connected)
Queueing strategy: fifo
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
GigabitEthernet3/3 is down, line protocol is down (notconnect)
Queueing strategy: fifo
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
Port-channel1 is up, line protocol is up (connected)
Queueing strategy: fifo
5 minute input rate 1000 bits/sec, 1 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
Switch1#
On close inspection, only one of the interfaces was load balancing during the ping and we can change the load balancing globally with the command in the output below.
Switch1(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
LACP and PAgP are very similar.
Follow me on Social media: