EtherChannel usage and Configuration
1) Increased throughput – you can for example take 2 x 1Gbps physical connections and using EtherChannel create a logical interface (called a port channel) that is 2Gbps.
It is important to note that for any single end to end conversation between two end devices EtherChannel will assign that conversation to just one of the links so if the bandwidth goes over 1Gbps the other link will not be used.
How a conversation is defined depends upon the switch capabilities e.g. it can be a combination of source and destination mac and or IP address and for some of the higher end switches it can also include TCP/UDP port numbers.
2) Redundancy – a failure of one of the individual physical links in the port channel does not mean loss of connectivity because you still have other links in the port channel that are operational. In addition, STP (Spanning Tree Protocol) sees the port channel as a single link so a loss of one of the links within the port channel does not mean an STP recalculation which again avoids any downtime.
As with physical links you can have L2 or L3 EtherChannel’s. The more common of the two are L2 EtherChannel’s which are used to interconnect switches and end devices such as servers that require greater throughput so the rest of this document will deal with those.
In addition for the vast majority of cases these EtherChannel’s are also configured as trunk links which is what we will do here.
When you configure an EtherChannel you have a choice of which protocol to use to negotiate the setup between the devices –
1) PAgP (Port Aggregation Protocol) – this is Cisco proprietary so would primarily be used on switch interconnects where both switches were Cisco.
2) LACP (Link Aggregation Control Protocol) – this is an industry standard so could be used for switch interconnects as well but also with any end device that is LACP capable
3) You can effectively disable negotiation by simply configuring the EtherChannel as on which is useful in situations where the end device does not support a negotiation protocol.
To configure a L2 EtherChannel –
1) Select the ports you are going to use (in this case we are using 4 x 1Gbps ports)
switch(config)# int range gi3/3 – 6
switch(config-if-range)# switchport trunk encapsulation dot1q (only needed if ISL is also supported)
switch(config-if-range)# switchport mode trunk
switch(config-if-range)# channel-group 3 mode <auto|desirable|active|passive|on>
auto = PAgP (if one end of the link is auto the other end must be desirable
desirable = PAgP
active = LACP
passive = LACP (if one end of the link is passive the other end must be active
on = no negotiation
Once you have done the above a new interface is automatically created in the running configuration of your device. We used channel-group 3 so the interface will be
From now on any configuration you do to the EtherChannel should be done on the port-channel interface and not on the physical interfaces that make up the EtherChannel.
So if you wanted to restrict which vlans are allowed across the link then you would do
switch(config)# int po3
switch(config-if)# switchport trunk allowed vlan 3 -7, 10, 21 -27
and this change is propagated to all of the physical interfaces.
One final note that is worth mentioning is that if you are configuring a L3 EtherChannel you must create the port channel interface yourself as it will not be created automatically for you.