Creating Layer 2 and Layer 3 Ether Channels

In order to bundle multiple interfaces between switches in an effort in increase throughput, a Ether Channel can be created.

Ether Channels can be created as Layer 2 or Layer3. The obvious difference between the 2 is that a Layer 3 link will have a IP address associated and hence traffic can be routed between the 2 switches. A layer 2 ether channel will not have IP addresses attached and all traffic will be switched between the 2 devices.

There is a misconception about how the ‘load balancing’ works over a ether channel, so firstly lets clear that up.

An ether channel allows us to group multiple interfaces together so they act as one. This means that if I have 5 x 1 Gigabit Ethernet interfaces that I bind together I will in theory have a 5 Gigabit Ethernet interface. This is partly true but let’s dig deeper into how the switch will send traffic over the new link.

By Default, most Cisco switches are configured with a load balancing option of ‘source to destination IP’, what this means is that when the first session is created between machine A and machine B their traffic will use the same physical interface from the ether channel bundle. The packets will not be load balanced between all the ports. However when machine C sends traffic to machine D they would use a different physical interface compared to machine A and B. What we can derive from this, is that the load-balancing is session orientated and each session will be limited to 1 physical interface. So although the total throughput of data between the 2 switches is 5 Gigabit, the maximum throughput between 2 machines is the total of 1 physical interface of the ether channel.


The load-balancing technique can be changed from its default using the port-channel load-balance command, as seen below.

port-channel load-balance {src-mac | dst-mac | src-dst-mac | src-ip | dst-ip | src-dst-ip | src-port | dst-port | src-dst-port}

NOTE: not all switches support all options of load-balancing!


So now that we have seen the concept of Ether Channels and how their load-balancing works, here is the configuration for configuring a Layer 2 Ether Channel.

AOIP.ORG-Switch(config)# interface range f0/4 – 5

The interface range command allow me to configure multiple interfaces at the same time, in this case FastEthernet 0/4 and 0/5

AOIP.ORG-Switch(config-if-range)# channel-group 1 mode desirable

This associates the interfaces to a new logical interface and tells the interface to actively negotiate a trunk.

AOIP.ORG-Switch(config-if-range)# no shut

AOIP.ORG-Switch(config-if-range)# exit

AOIP.ORG-Switch(config)# exit



In order to configure a Layer 3 Ether Channel, the following configuration can be used.

AOIP.ORG-Switch(config)# interface port-channel 10

This enters the logical interface used for the Ether Channel, I have given it a ‘name’ of 1

AOIP.ORG-Switch(config-if)# no switchport

Forces the port to act as a routed port and not a switchport

AOIP.ORG-Switch(config-if)# ip address

Assigns the IP address to the interface

AOIP.ORG-Switch(config-if)# no shut

AOIP.ORG-Switch(config-if)# exit


AOIP.ORG-Switch(config)# interface range f0/4 -5

Same as with a Layer 2 Ether Channel, I’m configuring 2 interfaces to belong to the Ether Channel

AOIP.ORG-Switch(config-if-range)# no switchport

Forcing the physical ports in Routed ports (Layer 3 port)

AOIP.ORG-Switch(config-if-range)# no ip address

Removing any IP addresses that may be configured on the physical interfaces. They may not have an IP address as it will be associated to the logical interface (port-channel 10)

AOIP.ORG-Switch(config-if-range)# channel-group 10 mode desirable

Binds the physical interfaces to the logical interface

AOIP.ORG-Switch(config-if-range)# no shut

AOIP.ORG-Switch(config-if-range)# exit

AOIP.ORG-Switch(config)# exit





Leave a Reply

Your email address will not be published. Required fields are marked *