CCIE Wireless · CCIEW Lab · CCIEW Written

CCIEW – 2.1.d Etherchannel

N.B. All configurations are based off the lab build seen in the introduction post.

Link Aggregation (LAG) or Etherchannel / Port-Channel allows us to bond a number of interfaces together to increase throughput, usually on trunk links to other switches or WLCs. The maximum active physical interfaces in a bond is 8 although some IOS/Switches will allow a greater number as long they are passive interfaces. Etherchannels can be configured in Layer 2 or Layer 3 mode.

Types

Port Aggregation Protocol (PAgP) – Cisco’s proprietary protocol that can only be run on their licensed products. This is a dynamic protocol that will group similar interfaces together once enabled between connected devices e.g. by similar port speed, duplex or native VLAN. Personally I’ve only seen it used with hard-coded settings as leaving things to auto-negotiate can get messy.

PAgP modes:

  • auto – The port will respond to PAgP requests but not send them. This facilitates forming a link with another device without flooding the link with traffic but can only form a link with desirable ports.
  • desirable – This mode actively tries to form a link on the ports it is enabled for therefore can form a link with both auto and desirable ports.
  • on – No protocol is used for on mode so the link is enabled under the assumption the corresponding interfaces are in the same mode.

Link Aggregation Control Protocol (LACP) – This is part of the IEEE 802.3d and mirrors PAgP with a few minor differences. Importantly this allows non-Cisco equipment such as servers to form bonds.

LACP Modes (identical to PAgP with different names):

  • Passive –  The port will respond to LACP requests but not send them. This facilitates forming a link with another device without flooding the link with traffic but can only form a link with desirable ports.
  • Active – This mode actively tries to form a link on the ports it is enabled for therefore can form a link with both auto and desirable ports.
  • on – No protocol is used for on mode so the link is enabled under the assumption the corresponding interfaces are in the same mode.

Load-Balancing

There are a number of ways you can setup load-balancing across the links and it is globally configured on a switch. The default is src-mac meaning any traffic coming from a particular MAC address into the etherchannel will always be forwarded over the same interface each time. This can be useful unless you have one server sending heaps of traffic which could then overload one of your links whilst leaving the other unused.

Building upon src-mac you can then implement src and dst-mac loadbalancing meaning the algorithm will forward traffic over the links based on both variables. In this setup a server could be sending traffic to 10 different hosts and it will load balance each destination host on to a different link. This could still lead to oversubscription on one link if more data is going to a particular host but it mitigates the risk.

Stacks and VSS

Switch stacks do not allow PAgP pairs to form over physically separate stack switches however this is overcome by using Virtual Switching System (VSS) which permits forming single logical instance over multiple physical switches. Thus, etherchannel is possible as the protocol believes it is still on a single switch. I don’t have a VSS pair to practice with so that will something to practice in a rack rental environment some time.

Configuring Layer 2 Etherchannel

I’ve already setup a single link between my switches but now I’ll configure a bonded channel between the two.

Bonded Channels
Bonded Channels

 

Before starting I’ll check the switches aren’t running any bonds/bundles already using show etherchannel summary

Pre-change-  Show Etherchannel Summary
Pre-change- Show Etherchannel Summary

 

First, create the logical interface Rip-3560-1 will associate its traffic. This interface will have the same config as your existing trunk link. If there are inconsistencies between the members of the Etherchannel and the interface itself, you could see the link fail to form as the switch will remove those interfaces from the bundle.


interface port-channel <#> (Between 1-48)
switchport trunk encapsulation dot1q
switchport mode trunk
no shut

Create logical port-channel interface
Create logical port-channel interface

 

Now, I’ll add a single interface each time just to see how things go starting with the currently connected interface (fa0/9). In classic Cisco style you cannot just select “LACP or PAGP” but have to specify the mode based on what is outlined above i.e. auto/desirable for PAgP or active/passive for LACP. Alternatively mode on will form it without a protocol which is what the WLCs use by default.

int fa 0/9
channel-group <#> mode on (The number is the same as your already-created port-channel)
exit

Depending on whether portfast is enabled at both ends the link will drop and then re-form between the switches even if only one side has the Etherchannel configured. This is again verified through show etherchannel summary.

Associate physical interface with logical port-channel
Associate physical interface with logical port-channel

On Rip-3560-2 I will issue the same config. As it happens the interface wasn’t configured correctly so this resulted in the switch rejecting the interface as a member of the Etherchannel due to a mismatch in configurations. It is important that any changes for the Etherchannel are made globally as this will in-turn apply to your member ports.

Suspended interface logs
Suspended interface logs

To fix, re-apply the interface config and verify again.

Re-applied config
Re-applied config

The links have now formed so I will configure the second interface on each switch (fa 0/10) and verify for a final time.

int fa 0/10
switchport trunk encapsulation dot1q
switchport mode trunk
channel-group 5 mode on
spanning-tree portfast
no shut

show etherchannel summary

Final Layer 2 Etherchannel Setup
Final Layer 2 Etherchannel Setup

Loadbalancing Method

Two apply a small tweak I may want to alter the load balancing on my links. This is done through the global command port-channel load-balance <method>. As previously mentioned, the mode is src-mac so I will apply src-dst-mac.

Setting port-channel loadbalancing method
Setting port-channel loadbalancing method

This can be verified using show etherchannel load-balance

 

Configuring Layer 3 Etherchannel

This requires two Layer 3 capable switches if using multiple interfaces or using your single management IP on the Etherchannel interface.

For ‘simplicity’ I will remove the currently active Layer 2 interface Fa 0/9 from port-channel 5 on both sides and then turn both ports into Layer 3 interfaces by issuing the no switchport command. Note that when I do it this way round, the switch automatically creates the logical port-channel for me

default int fa0/9
int fa 0/9
no switchport
no shut
channel-group 6 mode on
int po6
ip address 10.10.10.1 255.255.255.0
no shut

Convert physical to Layer 3 and associate with logical port-channel
Convert physical to Layer 3 and associate with logical port-channel

Verify with show etherchannel summary

Show etherchannel and ping test
Show etherchannel and ping test

 

Finally test without the Layer 2 Port-Channel enabled just to make sure it is working across that link.

Verification
Verification with Layer 2 disabled

 

Useful Links

IOS 3.6E Configuration Guide Chapter 24 (Etherchannel) – http://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst3650/software/release/3e/consolidated_guide/configuration_guide/b_consolidated_3650_3e_cg.html

Expected Questions

  1. Configure Switch A with Cisco proprietary Link Aggregation that will actively try to form a link with its peers. Ensure Switch B only forms links when requested by a PAgP peer but does not advertise itself as one.
  2. Configure two switches with an always on, non-proprietary Link Aggregation protocol
  3. Configure a switch and WLC with the default supported LAG protocol

 

Advertisements

One thought on “CCIEW – 2.1.d Etherchannel

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s