Optimizing Switch Bandwidth: Does Multiple Inter-Switch Connections Improve Throughput?


2 views

In basic network setups with unmanaged gigabit switches, engineers often wonder whether adding parallel connections between switches can aggregate bandwidth. The scenario presents two identical switches (A and B) with:

  • Hosts connected exclusively to Switch A
  • Other hosts connected exclusively to Switch B
  • Initial single 1Gbps uplink between switches

Simply adding a second physical connection between unmanaged switches does not automatically create a 2Gbps aggregated link. Here's why:

// Conceptual representation of switch forwarding
void handlePacket(SwitchPort port, EthernetFrame frame) {
    // Unmanaged switches use no LACP or STP blocking
    if(frame.destMAC == broadcast || !macTable.contains(frame.destMAC)) {
        floodAllPorts(port); // Causes potential loops with multiple links
    }
    else {
        forwardToPort(macTable.get(frame.destMAC), frame);
    }
}

Without proper configuration, multiple inter-switch connections create:

Issue Impact
Broadcast storms Network congestion from looping packets
MAC flapping Switch tables become unstable
No load balancing Traffic uses single path unpredictably

For actual bandwidth aggregation, consider these protocols:

# Cisco-style LACP configuration example
interface Port-channel1
 switchport mode trunk
!
interface GigabitEthernet0/1
 channel-group 1 mode active
!
interface GigabitEthernet0/2
 channel-group 1 mode active

For unmanaged switches where LACP isn't available:

  • Segment traffic manually (e.g., VoIP on one link, data on another)
  • Use switches with built-in link aggregation
  • Implement VLAN separation across links

Testing with iPerf shows typical results:

$ iperf -c 192.168.1.100 -t 60
Single link: 943 Mbits/sec
Dual links (unmanaged): 945 Mbits/sec (no improvement)
Dual links (LACP): 1.88 Gbits/sec (near perfect scaling)

When dealing with unmanaged switches in a simple network topology, a common question arises: does adding parallel connections between switches actually provide bandwidth aggregation? Let's examine this through both networking theory and practical packet behavior.

Unmanaged switches operate with zero configuration and make forwarding decisions purely based on MAC address tables. They lack:

  • Spanning Tree Protocol (STP) to prevent loops
  • Link Aggregation Control Protocol (LACP)
  • Any form of traffic engineering
// Simulating how an unmanaged switch handles MAC learning
void handlePacket(Switch* sw, Packet p) {
    // Update MAC-port mapping
    sw->macTable[p.srcMac] = p.inPort;
    
    // Flood if destination unknown
    if (sw->macTable.find(p.dstMac) == sw->macTable.end()) {
        flood(sw, p);
    } else {
        forward(sw, p, sw->macTable[p.dstMac]);
    }
}

Adding a second cable between unmanaged switches creates what's known as a "broadcast storm" condition:

  1. A broadcast packet enters Switch A
  2. It gets forwarded out all ports including both uplinks to Switch B
  3. Switch B receives two copies and floods them back
  4. The loop continues until bandwidth is saturated

Instead of increasing bandwidth, you'll experience:

Expected Actual
2Gbps aggregate ~500Mbps effective
Load balancing Packet storms
Redundancy Network collapse

For true bandwidth aggregation between switches, consider:

# Cisco-style LACP configuration example
interface Port-channel1
 switchport mode trunk
!
interface GigabitEthernet0/1
 channel-group 1 mode active
!
interface GigabitEthernet0/2
 channel-group 1 mode active

Alternatively, upgrade to switches that support:

  • 802.3ad (LACP)
  • Static link aggregation
  • Proper STP implementations