Saturday, October 5, 2013

Lesson 11 -- Etherchannel, Link Aggregation and What Other Vendors Mean by Trunking

After spending some time verifying Ethernet interface status, watching packet counters on Ethernet interfaces, and so on, you and George finally realize that the reason some of the users at the main office are complaining about poor performance on the network is because the link between the two 2924XL switches is over capacity. These are only 10/100M switches, and with all of the servers attached to the first switch, users on the second switch are simply flooding the link between the two switches. There are several ways to solve the problem, of course. For example, you could buy newer, more capable switches. This would probably be a good idea for several reasons, not the least of which is that a 2924 is well beyond obsolete. However, IT does not have enough money in the budget to upgrade the network right now, so you will need to find another solution. The second option would be to move some of the servers to ports on the second switch to help balance the load between the two switches. However, some of the servers are seeing a heavier load than some of the others. For example, your Samba file and print server is running at a very consistent, very heavy load. On the other hand, the DNS servers, while serving a lot of incoming requests and replies, are not transferring nearly as much data as the file server. Consequently, while distributing servers across the two switches would probably help, it probably wouldn't completely resolve the problem.

However, there is an industry-standard way of combining two physical ports on a switch (or router) to create a single logical port. This is called "Link Aggregation," often shortened to "LAG" or "LAG groups." This is sometimes also called "bonding," and, at least in Brocade's world, "trunking" (I just discovered the other day that Juniper also uses Cisco's terminology and calls VLAN tagging, "trunking", sigh...) You can also combine even more ports, if need be, to create even greater capacity. Even better, this also provides redundancy between the switches. If one port fails, or a network cable is disconnected, the LAG group will remain up, since there is still a physical connection between the two switches.

We'll combine two physical 100Mbps ports to create a single, 200Mbps logical port, and see if that solves the problem. Here's how you do it:

On the second switch:

lab2924b# conf t
lab2924b(config-if)# int fa0/2
lab2924b(config-if)# shut
lab2924b(config-if)# no spanning-tree
lab2924b(config)# int fa0/1
lab2924b(config-if)# no span
lab2924b(config)# int fa0/1
lab2924b(config-if)# port group 1 distribution destination
lab2924b(config-if)# int fa0/2
lab2924b(config-if)# port group 1 distribution dest
lab2924b(config-if)# no shut
lab2924b(config-if)# exit
lab2924b(config)# exit


...then do the same thing on the first switch:

lab2924a# conf t
lab2924a(config)# int fa0/2
lab2924a(config-if)# shut
lab2924a(config-if)# no span
lab2924a(config)# int fa0/1
lab2924a(config-if)# no span
lab2924a(config)# int fa0/1
lab2924a(config-if)# port group 1 distribution destination
lab2924a(config-if)# int fa0/2
lab2924a(config-if)# port group 1 distribution destination
lab2924a(config-if)# no shut
lab2924a(config-if)# exit
lab2924a(config)# exit


Notice how turning off spanning tree kicks you out of interface configuration mode? Yeah...I edited out the part where I tried to enter additional configuration commands after not realizing I was no longer in interface configuration mode :)

Now, let's verify that we are trunking -- excuse me, bonding -- ports properly:

lab2924b# sho port group 1
Group  Interface              Transmit Distribution
-----  ---------------------  ---------------------
    1  FastEthernet0/1        destination address
    1  FastEthernet0/2        destination address
lab2924b# sho etherchannel summary
Flags:  d - default     D - down
        I - in use

Group Ports
----- -----
1     Fa0/1(Id) Fa0/2(I)
lab2924b#


...and on the second switch:

lab2924a# sho port group 1
Group  Interface              Transmit Distribution
-----  ---------------------  ---------------------
    1  FastEthernet0/1        destination address
    1  FastEthernet0/2        destination address
lab2924a# sho etherchannel summary
Flags:  d - default     D - down
        I - in use

Group Ports
----- -----
1     Fa0/1(Id) Fa0/2(I)
lab2924a#


Note: As I mentioned at the top of this post, Cisco 2924XL switches are very old. In fact, not only are they obsolete, the model that replaced the 2924 is also obsolete. I've learned a lot of useful things with the two 2924 switches that I am using to study for my CCNA, but quite honestly, if you want to pass the current CCNA exam, you need to learn a completely different technique for creating Etherchannel/LACP bonds between switches than the one presented here. I could repeat the lab above with what I have read are the proper commands for modern switches, but there's another guy who already did a great job of explaining how to configure LAG, so I really don't see the point. Just follow this link for a really, really great write-up.

No comments:

Post a Comment