EtherChannel Overview
EtherChannel Overview
- EtherChannel is a Cisco term
- General term is LAG (Link AGgregation)
- LAG goal is to trick STP into forwarding active/active
- Supports 2, 4 or 8 interfaces
- Split into 2 parts:
- Port Channel Interface
- Logical interface of bundled physical links
- Member interfaces
- physical links that are part of the channel
- Aggregates bandwidth of multiple links together
- Objective is to hide member interfaces from upper-layer protocols
- e.g. STP sees 1 x 4Gb link, not 4 x 1 Gb links
- Spanning-Tree Active/Active forwarding not Active/Standby
- Traffic flows cannot exceed the bandwidth of an individual link
- Example:
- 4 x 1Gb link in EtherChannel.
- FTP download starts and will not exceed 1Gb
- Can not load balance the same traffic flows over multiple links
- Flows can become polarized to 1 member of the LAG
EtherChannel Configuration
EtherChannel Configuration
- Will not form if one interface is SPAN destination port
- All interfaces must have same configuration
- Speed
- (config-if)#speed <speed>
- Duplex
- (config)#duplex <half | full>
- Mode (Access or Trunk)
- (config-if)#switchport mode [access | trunk]
- Native and Allowed VLANs
- (config-if)#switchport trunk native vlan <native vlan>
- (config-if)#switchport trunk allowed vlan add <vlans>
- Access VLAN
- (config-if)#switchport access vlan <vlan>
EtherChannel Load-Balancing
EtherChannel Load Balancing
- Load balancing is locally significant and in outbound direction
- Mismatching algorithm on either end will still function
- Create asynchronous traffic patterns within EtherChannel
- Adjust pattern based on traffic profile
- Load balancing can be based on:
- MAC source/destination/both
- IP source/destination/both
- Default configuration on 3750, 3560 and 2960 series switches
- Default configuration for all other platforms
- Can be manually configured
- Commands:
- (config)#port-channel load-balance dst-ip
- (config)#port-channel load-balance dst-mac
- (config)#port-channel load-balance src-dst-ip
- (config)#port-channel load-balance src-dst-mac
- (config)#port-channel load-balance src-ip
- (config)#port-channel load-balance src-mac
- Some platforms support load balancing on source/destination Layer 4 port information
- e.g. 6500 or Nexus series
- Commands:
- (config)#port-channel load-balance dst-port
- (config)#port-channel load-balance src-port
- (config)#port-channel load-balance src-dst-port
- (config)#port-channel load-balance dst-mixed-ip-port
- (config)#port-channel load-balance src-mixed-ip–port
- (config)#port-channel load-balance src-dst-mixed-ip-port
- LAG load balancing can be tested
- Command:
- #test etherchannel load-balance interface port-channel <id> <ip | mac> <src IP/MAC> <dst IP/MAC>
EtherChannel Interface Load Distribution
EtherChannel Interface Load Distribution
# of Interfaces |
Load Distribution |
#1 |
#2 |
#3 |
#4 |
#5 |
#6 |
#7 |
#8 |
2 |
50% |
50% |
|
|
|
|
|
|
3 |
37.5% |
37.5% |
25% |
|
|
|
|
|
4 |
25% |
25% |
25% |
25% |
|
|
|
|
5 |
25% |
25% |
25% |
12.5% |
12.5% |
|
|
|
6 |
25% |
25% |
12,5% |
12,5% |
12,5% |
12,5% |
|
|
7 |
25% |
12,5% |
12,5% |
12,5% |
12,5% |
12,5% |
12,5% |
|
8 |
12,5% |
12,5% |
12,5% |
12,5% |
12,5% |
12,5% |
12,5% |
12,5% |
EtherChannel MultiChassis
MultiChassis Etherchannel
- Forms a logical chassis between 2 physical switches
- Host creates an EtherChannel with 1 link going to each physical switch
- Can use 100% of bandwidth
- Improves resiliency
- The physical connection of the server is to 2 physically different switches:
- Logically the server only sees 1 switch:
- MCEC/MLAG relies on synchronised control-plane between switches
- synchronisation is proprietary and not interoperable
- forward data-plane out member ports on both chassis
- sync control plane on back-end transparently
EtherChannel Cisco MCEC Implementation
Cisco’s MultiChassis EtherChannel Implementation
StackWise Cross-Stack EtherChannel
StackWise Cross Stack EtherChannel
- Available on access platforms
- Catalyst 3750 series
- Catalyst 3850 series
- Control-plane synchronisation over dedicated StackWise stacking cable
- Creates a bidirectional loop
- Single management-plane shared across multiple switches in stack
- Stack-master controls management over other stack-members
[_/su_spoiler]
Virtual Switching System (VSS)
- Available on aggregation platforms:
- Catalyst 4500 series
- Catalyst 6500 series
- Catalyst 6800 series
- Control-plane synchronisation over Virtual Switch Link (VSL)
- Single control-plane and management-plane shared amongst VSS members
- Usually a single active supervisor and 3 standby supervisors
[_/su_spoiler]
Virtual Port Channel (vPC)
- Available on DataCentre platforms
- Nexus 5K series
- Nexus 7K series
- Nexus 9K series
- Control plane synchronised over a vPC Peer link
- 2 independent control-planes and management-planes in vPC
- Usually 2 active supervisors and 2 standby supervisors
- One active in each chassis
[_/su_spoiler]
EtherChannel Modes
EtherChannel Modes
- The channel protocol command prepares the interfaces for a specific EtherChannel protocol
- Prevents creating an EtherChannel with the wrong protocol
- Command
- (config-if)#channel-protocol [lacp | pagp]
EtherChannel On
- PAgP/LACP will not run
- Channel is forced to come up
- Not recommended
- LAG failure could cause STP loop
- EtherChannel Guard can help detect configuration issue
- On by default
- Command:
- (config)#spanning-tree etherchannel guard misconfig
- Command:
- (config-if)#channel-group <group> mode on
[_/su_spoiler]
PaGP - Port Aggregation Protocol
- Cisco Proprietary
- Packets sent every 30 seconds
- Depreciated protocol
- PAgP enabled modes:
- Desirable
- PAgP running actively
- EtherChannel formation desired and initiated
- Command:
- (config-if)#channel-group <group> mode desirable
- Auto
- PAgP running passively
- EtherChannel formation desired but not initiated
- Command:
- (config-if)#channel-group <group> mode auto
[_/su_spoiler]
LACP - Link Aggregation Control Protocol
- IEEE Standard 802.3ad
- Preferred EtherChannel mode
- Uses 2 different timer modes to exchange control PDUs
- Slow LACPDUs
- Fast LACPDUs
- LACP enabled modes:
- Active
- LACP running actively
- Channel formation desired and initiated
- Command:
- (config-if)#channel-group <group> mode active
- Passive
- LACP running passively
- Channel formation desired but not initiated
- Command:
- (config-if)#channel-group <group> mode passive
- Additional parameters for LACP
- System Priority
- Mandatory
- Uses System Priority and MAC address to form the System ID
- Default is 32768
- Higher number is a less preferred priority
- Command:
- (config)#lacp system-priority <1 - 65535>
- Port Priority
- Mandatory
- Uses Port Priority and Port number to form the Port Identifier
- Used to decide the ports to put in standby mode when not all ports can be used for aggregation
- Default priority is 32768
- Higher number is less preferred priority
- Command:
- (config-if)#lacp port-priority <1 - 65535>
-
- Administrative Key
- Mandatory
- Uses channel group ID number on each port configured for LACP
- Defines ability of a port to aggregate with other ports using
- Data rate
- Duplex capability
- Point-to-Point or shared medium
- Configuration restrictions
- Max bundled ports
- Restricts the maximum number of ports in a channel
- Command:
- (config-if)#lacp max-bundle <1 - 8>
[_/su_spoiler]
EtherChannel Off
- PAgP/LACP will not run
- Channel will remain down
[_/su_spoiler]
EtherChannel Port Modes
Port modes
- Access
- Command:
- (config)#interface port-channel <#>
- (config-if)#switchport mode access
- Trunk
- Command:
- (config)#interface port-channel <#>
- (config-if)#switchport mode trunk
- Layer 3
- Command:
- (config)#interface range <IF>
- (config-if)#no switchport
- Need to be applied to interface range first then added to PortChannel due to Order of Operations
- Tunnel
- Command:
- (config)#interface port-channel <#>
- (config-if)#switchport mode dot1q-tunnel
EtherChannel Troubleshooting Commands
Troubleshooting Commands
- #show etherchannel summary – shows EtherChannel status and member states
- #show lacp neighbor
- #show lacp internal – Displays internal information on LACP members
- #show pagp <channel-group-number> {internal | neighbor}
- #show lacp <channel-group-number> {internal | neighbor}
- #show etherchannel load-balance – displays configured load balancing method
- #test etherchannel load-balance interface port-channel <group> [ip | ipv6 | mac] <source MAC/IP> <destination MAC/IP> – Tests the load balancing on the EtherChannel