Avaya’s Ether Channel

Ether channel is a technology that lets you bundle multiple physical links into a single logical link.

We’ll take a look at how it works and what the advantages of ether channel are.

I have two switches and two computers connected to the switches.mlt-1aThe computers are connected with 1000 Mbit interfaces while the link between the switches is only 100 Mbit.

If one of the computers would send traffic that exceeds 100 Mbit of bandwidth we’ll have congestion and traffic will be dropped.

There are two solutions to this problem:

Replace the link in between the switches with something faster, 1000Mbit or maybe even 10 gigabit if you feel like.

In the below diagram you can see that I have added 3x 1000 MB links.

mlt-1b

The problem with this setup is that we have a loop so spanning tree would block 2 out of 3 links.

This is where we will use Ether Channel to bundle multiple physical links and make them appear as a single Logical Link.

Below diagram show that 3 are bundled them using MLT ( Ether channel) resulting in one logical link with speed of 3000 MB.

mlt-1

There are 3 ways of configuring ether channel.

  • LACP which is Industry Standard protocol i.e. supported on all vendor switches.
  • PAGP – Port Aggregation Protocol (Cisco proprietary)
  • Multi-Link Trunking (MLT)-(Avaya (Nortel) proprietary protocol).

MLT (MultiLink Trunk) a proprietary bonding protocol to bond two or more physical links into a single virtual link between two switches.

DMLT (Distributed MultiLink Trunk) a proprietary bonding protocol to bond two or more physical links into a single virtual link across multiple cards or switches (in a stack configuration) between two switches.

An MLT/DMLT is Avaya’s proprietary equivalent to Cisco’s EtherChannel feature. An Avaya MLT or DMLT configuration can interoperate with Cisco’s EtherChannel configuration.

 

Deep Dive into MLT

  • MultiLink Trunking (MLT) is a point-to-point connection that aggregates multiple ports so that they logically act like a single port with the aggregated bandwidth.
  • Grouping multiple ports into a logical link provides higher aggregate throughput on a switch-to-switch or switch-to-server application.
  • MultiLink Trunking provides media and module redundancy.

MLT Types

Regular MLT

  • MLT ports are configured on the same switch or module/blade

DMLT

  • MLT ports are configured on the same box or switch but on a different unit or blade in a stack.

MLT is a method for utilizing multiple physical connections between a given pair of switches, or between a switch and a server with multiple network interface cards (NICs), as a single logical link.

For instance, MLT can make four separate 100 MB links appear as a single 400 MB trunk. Should one of the links fail, the aggregate bandwidth is reduced to 300 MB, but the trunk itself remains up and continues to forward traffic as long as at least one physical connection is available.

Upper-layer protocols view the entire MLT bundle as a single logical interface. For example, if the Routing Information Protocol (RIP) learns a new route on one of the ports in the trunk, the next hop interface is the trunk itself. The actual port chosen for forwarding is transparent to Internet Protocol (IP) and RIP. This learning rule also applies to a media access control (MAC) address learned on a port in the trunk; the MAC address is identified in the forwarding database as being learned on the MLT.

When the time comes to forward a packet on a trunk, MLT chooses the physical port by performing a calculation on the addresses in the packet. Since many applications require that packets in a given session arrive in sequence, MLT consistently uses the same path for any given source/destination addresses pair. MLT does not keep track of sessions, however; it simply applies the same path selection algorithm to each packet, and the same addresses always yield the same path. For bridged traffic, the algorithm uses the MAC addresses. For routed IP or IPX traffic, the network layer addresses are used.

How Does MLT Work?

Forwarding Algorithm

The MLT forwarding algorithms are intended to provide load sharing while ensuring that packets do not get re-ordered and therefore do not arrive at the destination out of sequence. The algorithm ensures that packets with the same source and destination utilize the same path of the MLT.

Layer 2 Forwarding

When a data-frame is to be forwarded at Layer 2 (L2), the port to be used in the MLT group is determined by a combination of the source and destination MAC addresses of the data-frame. The six least significant bits of the source and destination MAC addresses are passed through an XOR calculation. The result of the XOR is divided by the number of active links in the MLT. The remainder of the division operation is used to determine the port number to be used to forward the Ethernet frame, where each port in the MLT is numbered in sequence starting at 0.

Layer 3 Forwarding

For Layer 3 (L3) forwarding, the source and destination IP/IPX addresses are used. All traffic for a session uses the same path in any given direction, assuring in-sequence delivery. However, multiple outbound sessions to the same server from different sources are distributed among the links. The algorithm for Layer 3 forwarding is the same as Layer 2 except the least significant bits of the Layer 3 source and destination address are used

Forwarding Algorithm

Frame Forwarding

L2 forwarding:

  • Uses source and destination MAC addresses

L3 forwarding:

Uses source and destination IP/IPX addresses

Address based path selection ensures in-sequence packet delivery

 

MLT provides the following benefits:

  • Bandwidth may be deployed in finer increments.
  • Aggregate trunk speeds up to 8 Gigabits (16 Gigabit aggregate full duplex)
  • Port and module redundancy
  • Little or no convergence time when adding or removing links.
  • Protocol traffic (STP, RIP, Open Shortest Path First (OSPF), etc.) is per trunk rather than per link, reducing overhead

 

MLT Protocol

The assignment of switch ports to an MLT is manually configured on the two Switches at each end of an MLT. When the switch at either end of an MLT transmits a Spanning Tree BPDU on the MLT, it is required to transmit identical copies of the BPDU on each link that is assigned to the MLT.

The transmission of BPDUs on each link permits the switches to confirm that the MLT is properly connected between the two switches; e.g. all links of the MLT are connected between the same two switches. The Port Identifier parameter of Configuration BPDU’s is set to the Port Identifier of the highest priority port that is configured to belong to the MLT on the Designated Bridge (Port Identifier with the lowest numerical value), even if it is determined that the port is not operational.

The switches at each end of an MLT rely upon media dependent mechanisms, such as Auto-negotiation and Far End Fault detection and indication, to detect problems that might occur on one of the links of an MLT. When a link is found to be bad, the switches at each end of the MLT remove it from the MLT

Limitations

All ports in an MLT must be of the same:

  • Media type (copper or fiber)
  • Same speed
  • Duplex settings.
  • All ports in an MLT must be in the same spanning tree group, unless they are tagged; then they can belong to multiple STGs.
  • VLANs membership and tagging if applicable

MLT and Spanning Tree

Ports within a MLT behave as follows:

  • All ports in the MLT must belong to the same Spanning Tree Group (STG) (if Spanning Tree is enabled).
  • Identical Bridge Protocol Data Units (BPDUs) are sent out each port.
  • The MLT Port ID is the ID of the lowest numbered port.
  • If identical BPDUs are received on all ports, the MLT mode is forwarding.
  • If no BPDU is received on a port or if BPDU tagging and port tagging do not match, the individual port is taken offline.
  • Path cost is inversely proportional to the active MLT bandwidth (by default or configured by user).

 

Configuration :

 Configuration of an MLT is very very simple. Its just a 5 step procedure.

  1. Mlt 1 disable ———————— —–à By default it is disabled.
  2. Mlt 1 name Trunk-server————–à“ Description of this Trunk”
  3. MLt 1 learning enable/disable——–à ( Spanning Tree Enable or Disable)
  4. Mlt 1 member 1,2 ————————à( port numbers in that bundle)
  5. Mlt 1 enable——————————–à Enabling the trunk.

Note**: If you want the trunk links to be tagged then you need to configure the ports which are in the trunk to be tagged. This can be achieved via the below command.

Vlan ports 1,2 tagging tagAll

ON IST/SMLT ports we disable Spanning tree. I will write a separate article on IST/SMLT later.

Sample configuration and output from my Switch:

5k-Core1#show running-config module mlt
! Embedded ASCII Configuration Generator Script
! Model = Ethernet Routing Switch 5530-24TFD
! Software version = v6.3.3.040
!
! Displaying only parameters different to default
!================================================
enable
configure terminal
!
! *** MLT (Phase 1) ***
!
mlt 1 name “MLT-4-IST” enable member 23-24
!
! *** MLT (Phase 2) ***
!
mlt spanning-tree 1 stp 1 learning disable

5k-Core1#show mlt ?
Parameters:
LINE                       List of Trunk Groups
shutdown-ports-on-disable  Display disabled trunk loop prevention status
spanning-tree              Display multi-link trunk spanning-tree settings
utilization                Display multi-link trunk utilization.
<cr>

5k-Core1#show mlt 1
Id Name             Members                Bpdu   Mode           Status  Type
— —————- ———————- —— ————– ——- ——
1  MLT-4-IST        23-24                  All    Basic          Enabled Trunk

5k-Core1#show mlt utilization 1

Trunk   Traffic Type   Port   Last 5 Minutes  Last 30 Minutes   Last Hour
—–   ————   —-   ————–  —————   ———
1     Rx and Tx        23       0.0%             0.0%             0.0%
1     Rx               23       0.0%             0.0%             0.0%
1     Tx               23       0.0%             0.0%             0.0%
1     Rx and Tx        24       0.0%             0.0%             0.0%
1     Rx               24       0.0%             0.0%             0.0%
1     Tx               24       0.0%             0.0%             0.0%

5k-Core1#show mlt spanning-tree 1
STP Group    STP Learning
———    ————
1            Disabled