Netzwerkanalyse, Fehlersuche, Testberichte
Home / News
Netzwerkanalyse
Grundlagen
Verkabelung
Erste Schritte
Baselining
Let's sniff
Tools
Auswerten/Filtern
Typische Probleme 1
Typische Probleme 2
Sicherheit
Bücher
Tutorials
Cacti
DSL einrichten
DynDNS einrichten
m0n0wall | pfSense
Nmap
VirtualBox
Wireshark
FAQ
Know How
Testberichte
Hardware-DB
Netzwerklexikon
Links / Service
Suche
Kontakt
Impressum
Feedback
Sitemap
Know How

Lastverteilung und Ausfallsicherheit mit mehreren Netzwerkkarten - Teil 1

Teaming, Bonding, Trunking, Etherchannel - Netzwerkkarten arbeiten zusammen.
Mirko Kulpa, 27.10.2004

1 Grundlagen

Oft ist die Netzwerkkarte bzw. die Anbindung an einen Switch der Single Point of Failure (SPOF) in einem System. Der Ausfall eines Switches oder ein defektes Kabel führen dann zum Ausfall des gesamten Systems. Daher gibt eine ganze Reihe Verfahren zur Steigerung der Verfügbarkeit der Netzanbindung. Ähnliche Techniken werden auch zur Erhöhung der Bandbreite auf Links und zur Lastverteilung zwischen Servern eingesetzt. Die folgende Tabelle gruppiert die bekanntesten Techniken nach ihrem Einsatzzweck.
 
Switch zu Switch
1:1
Switch zu Server
1:1
Switch zu Server
n:1
Switch zu Server
n:n (Cluster)
Cisco Fast Etherchannel FEC

Microsoft NLB
Cisco Gigabit Etherchannel GEC

IBM HACMP
HP Trunking
HP Network Fault Tolerance NFT


HP Transmit Load Balancing TLB


HP Switch-Assisted Load Balancing SLB


Linux Bonding Active Backup


Linux Bonding Round Robin



Linux Bonding XOR



Sun Trunking


 

2 Die Techniken im Detail

Eine wichtige Frage ist die Methode der Lastverteilung bei den einzelnen Techniken. Wie werden die Datenpackte auf die verschiedenen Verbindungen zwischen Server und Switch aufgeteilt? Zur Entscheidungsfindung kommen in der Regel MAC- oder IP-Adressen und Portnummer (UDP, TCP) zum Einsatz. Weiterhin spielt es eine Rolle, ob die Adresse des Senders oder des Empfängers bei der Lastverteilung berücksichtigt wird. Da heute fast jedes Datenpaket vom Server zuerst zu einem Router läuft, ist ein Channel auf Basis von MAC-Adressen zur Lastverteilung nicht sehr sinnvoll. Alle Packete werden ja an die selbe MAC-Adresse (die des Routers) gesendet. Aber selbst beim Loadsharing auf Basis von Layer 3 (IP) und Layer 4 (UDP, TCP) wird sich die verfügbare Bandbreite für eine bestimmte Verbindung (z.B. eine TCP-Session) nie erhöhen. Für diese eine Verbindung sind ja die MAC- und IP-Adressen und die Portnummern statisch.

Ein anderer Ansatz für das Load Sharing ist Round Robin. Bei diesem Verfahren werden die Frames der Reihe nach auf die verfügbaren Links eines Channels verteilt. Mit Round Robin erhöht sich auch die Bandbreite die z.B. für eine einzelne TCP-Session zur Verfügung steht. Die Sun Trunking Software und der Linux Bonding Treiber unterstützen Round Robin.

2.1 Etherchannel

Die beiden Technologien Fast EtherChannel (FEC) und Gigabit EtherChannel (GEC) wurden von Cisco entwickelt. Etherchannel erlaubt das Zusammenfassen von bis zu 8 Netzwerkports auf einem Switch zu einem Channel. Mit Etherchannel können zwei Switche oder auch ein Switch und ein Server verbunden werden. Alle beteiligten Interface eines Channels müssen auf die gleiche Geschwindigkeit und den gleichen Duplexmode eingestellt sein. Über das Port Aggregation Protocol (PAgP) ist es möglich, Ports automatisch zu einem Channel zusammenzuführen. Einige Switche unterstützen auch LACP. Die Verteilung der Frames auf die Mitglieder eines Channels kann auf Basis von MAC-Adressen, IP-Adressen oder Portnummern erfolgen. Ältere Switche von Cisco unterstützen nur Load Sharing an Hand der MAC-Adressen. Die Frames einer TCP-Session laufen bei Etherchannel immer über einen Link. Das Kopieren einer Datei von A nach B wird also nicht beschleunigt. Die Einrichtung eines Channels ist unter IOS und CatOS möglich.

Weitere Informationen in englischer Sprache finden Sie auf der Etherchannel Homepage von Cisco.

Steckbrief Etherchannel
Verbindung Switch:Switch Anzahl Ports Ausfallsicherheit Lastverteilung
1:1 bis zu 8 ja MAC, IP, Portnummer
Source und Destination
 

2.2 HP NIC Teaming

HP bezeichnet das Bündeln von Netzwerkadapter als Teaming. Die Netzwerkkarten des Herstellers Hewlett Packard unterstützen 3 Arten des Teamings:

  • Network Fault Tolerance (NFT)
  • Transmit Load Balaning (TLB)
  • Switch-Assisted Load Balancing (SLB)

HP (vormals Compaq) empfiehlt beim Einsatz von Teaming den Spanning Tree an den betroffenen Switchports zu deaktivieren. HP nennt das bei seinen ProCurve Switchen "STP Fast Mode", bei Cisco nennt sich das Feature PortFast. Bei NFT und TLB wird über Multicast ein Heartbeat ausgetauscht. Alle 3 Varianten können mit Fast Ethernet und Gigabit Ethernet realisiert werden. SLB entspricht Ciscos EtherChannel. Sehen wir uns die 3 Modi im Detail an.

HP Network Fault Tolerance (NFT)

Für NFT wird der Server mit 2-8 Netzwerkkarten an das Netzwerk angeschlossen. Die Karten können mit unterschiedlichen Switchen verbunden werden und mit unterschiedlichen Geschwindigkeiten arbeiten. NFT erhöht lediglich die Ausfallsicherheit eines Systems. Eine Lastverteilung findet nicht statt. Es ist immer nur eine Karte aktiv (Primary) und die anderen Karten sind standby (Non-Primary). Alle Adapter im Team haben die selbe IP-Adresse. Die Switche bemerken nichts von NFT und bedürfen keiner speziellen Einstellung.

Steckbrief Network Fault Tolerance
Verbindung Switch:Server Anzahl Ports Ausfallsicherheit Lastverteilung
n:1 bis zu 8 ja nein
 

HP Transmit Load Balaning (TLB)

Auch TLB unterstützt bis zu 8 Netzwerkkarten in einem Team. Allerdings müssen diese alle mit der gleichen Geschwindigkeit arbeiten. Eine Aufteilung der Karten auf mehrere Switche ist möglich. TLB bietet eine Steigerung der Verfügbarkeit und Lastverteilung beim Senden vom Server. Die Verteilung der Frames kann bei Transmit Load Balaning über die MAC- oder IP-Adresse des Empfängers gesteuert werden. Alle Adapter in einem Team melden sich mit der selben IP-Adresse. Es ist keine spezielle Konfiguration an den Switchen notwendig. Natürlich müssen sich alle Netzwerkkarten in der gleichen Broadcastdomain bzw. im gleichen VLAN befinden.

Steckbrief Transmit Load Balaning
Verbindung Switch:Server Anzahl Ports Ausfallsicherheit Lastverteilung
n:1 bis zu 8 ja MAC, IP
nur Destination
 

HP Switch-Assisted Load Balancing (SLB)

SLB entspricht Ciscos EtherChannel. Bis zu 8 Netzwerkadaptern werden zu einem Team verbunden. Das Team bietet eine erhöhte Ausfallsicherheit und Lastverteilung in Sende- und Empfangsrichtung. Der HP-Treiber nimmt die Packetverteilung nach MAC- oder IP-Adressen vor. Alle beteiligten Adapter müssen auf die selbe Geschwindigkeit eingestellt sein und haben eine gemeinsame IP-Adresse. Am Switch muss ein entsprechender Channel konfiguriert werden.

Steckbrief Switch-Assisted Load Balancing
Verbindung Switch:Server Anzahl Ports Ausfallsicherheit Lastverteilung
1:1 bis zu 8 ja MAC, IP
Source und Destination
 

2.3 NIC Bonding unter Linux

Für den Einsatz unter Linux gibt es einen speziellen Bonding-Treiber. Dieser Treiber ermöglicht es, mehrere physische Interface (eth0, eth1, usw.) zu einem logischen Interface "bond0" zusammenzufassen. Der IP-Stack nutzt dann nur noch das logische Interface. Der Bonding-Treiber überprüft die physischen Schnittstellen über den Medienstatus am Media Independent Interface (MII). Zusätzlich kann eine Art Heartbeat über ARP realisiert werden. Dadurch können auch Probleme erkannt werden, die nicht zu einem direkten Ausfall einer Ethernetschnittstelle führen.

Der Bonding-Treiber kennt die Betriebsarten Active Backup, Round Robin, XOR, Broadcast, IEEE 802.3ad, Adaptive transmit load balancing (TLB) und Adaptive load balancing (ALB).

Steckbrief Linux Bonding
Verbindung Switch:Server Anzahl Ports Ausfallsicherheit Lastverteilung
1:1
n:1
unbegrenzt ja Round Robin, MAC, lastabhängig
 

Linux Bonding mit Active Backup

Beim Active Backup ist immer nur ein Adapter aktiv. Die anderen Netzwerkkarten sind im Standby. Die Netzwerkkarten können mit verschiedenen Switchen verbunden werden. Dieser Modus bietet lediglich Ausfallsicherheit.

Linux Bonding mit Round Robin (RR)

Im Modus Round Robin werden die Frames der Reihe nach auf die aktiven Schnittstellen (Slaves) verteilt. Round Robin bietet gute Lastverteilung und Redundanz.

Linux Bonding mit XOR

In der Betriebsart XOR wird zur Lastverteilung eine XOR-Verknüpfung der MAC-Adressen von Sender und Empfänger vorgenommen. Die Verbindung zu einem Ziel (Client, Router) wird dadurch immer über einen Adapter hergestellt.

Linux Bonding mit Broadcast

Der Titel deutet es schon an: Alle Frames werden über alle aktiven Adapter gesendet. Die Broadcast-Option bietet lediglich Ausfallsicherheit.

Linux Bonding mit IEEE 802.3ad

IEEE 802.3ad Dynamic link aggregation erfordert einen Switch der dieses Feature unterstützt. Alle Netzwerkadapter müssen auf die gleichen Speed- und Duplexsetting gestellt werden. 802.3ad realisiert Lastverteilung und Redundanz.

Linux Bonding mit Adaptive transmit load balancing (TLB)

TLB erfordert keine spezielle Unterstützung durch den Switch. Linux verteilt die Frames beim Senden in Abhängigkeit von der aktuellen Last auf den Links. Empfangen werden Daten nur auf jeweils einem Adapter. Beim Ausfall einer Karte übernimmt die nächste deren MAC-Adresse und empfängt die Daten.

Linux Bonding mit Adaptive load balancing (ALB)

ALB realisiert zusätzlich zum TLB noch eine Lastverteilung für den Empfang von IPV4-Daten. Dazu werden die ARP-Replies des Linux-Servers modifiziert und den Clients so verschiedene MAC-Adressen übermittelt. ALB benötigt keine Unterstützung vom Switch.

Die Anzahl der beteiligten Netzwerkkarten an einem Bonding Interface wird durch den Bonding Treiber nicht begrenzt. Bonding arbeitet auch mit Gigabit Ethernet (GbE) zusammen. Wie man sieht, bietet der Bonding Treiber jede Menge Potential für eigene Experimente. Eine gute Dokumentation zum Thema Bonding unter Linux liefert die Datei

/usr/src/linux/Documentation/networking/bonding.txt

aus den Kernelquellen.

Hier finden Sie eine Tutorial zum Thema: Etherchannel mit LACP auf Cisco Switchen einrichten

Fragen zu Teaming, Bonding und Etherchannel können Sie im Netzwerkforum stellen.

 

 
© 2004-2023, network lab - we make your net work - Netzwerkforum
aktualisiert am 22.03.2012