Layer-7-Load-Balancer vs. Layer-4: Die wichtigsten Unterschiede im Überblick
Der Lastausgleich ist eine der wichtigsten Funktionen eines Application Delivery Controllers (ADC), der den Netzwerkverkehr optimal auf die Server verteilt, um die bestmögliche Anwendungsleistung und Anwendungsverfügbarkeit zu gewährleisten. Es gibt verschiedene Möglichkeiten, dies zu tun; Sie werden Verweise auf Layer 4 Load Balancing, Layer 7 Load Balancing und sogar L4 Load Balancing / L7 Load Balancing sehen. Was bedeutet das, und welche dieser Möglichkeiten ist am sinnvollsten?
Der Unterschied zwischen dem Lastausgleich auf Schicht 4 und dem Lastausgleich auf Schicht 7 beruht auf den verschiedenen Schichten des OSI-Referenzmodells (Open Systems Interconnection) für Netzwerke. Ein Layer 4 Load Balancer arbeitet auf der Transportschicht und verwendet die TCP- und UDP-Protokolle zur Verwaltung des Transaktionsverkehrs auf der Grundlage eines einfachen Lastausgleichsalgorithmus und grundlegender Informationen wie Serververbindungen und Antwortzeiten. Ein Load Balancer der Schicht 7 arbeitet auf der Anwendungsschicht - der höchsten Schicht im OSI-Modell - undtrifft seine Routing-Entscheidungen auf der Grundlage detaillierterer Informationen wie den Merkmalen des HTTP/HTTPS-Headers, dem Nachrichteninhalt, dem URL-Typ und den Cookie-Daten. Ein L4-7-Load-Balancer verwaltet den Datenverkehr auf der Grundlage einer Reihe von Netzwerkdiensten auf den ISO-Schichten 4 bis 7, die Datenspeicherung, -manipulation und Kommunikationsdienste bereitstellen.
Um den Wert jedes dieser Ansätze zu verstehen, sollten wir uns zunächst die Unterschiede zwischen ihnen ansehen.
Wichtigste Erkenntnisse
- Ein Layer-7-Load-Balancer leitet den Datenverkehr anhand von Inhalten weiter – URLs, HTTP-Header, Cookies und Nachrichtendaten
- Ein Layer-4-Load-Balancer leitet den Datenverkehr ausschließlich anhand der IP-Adresse und des Ports weiter, ohne den Inhalt zu prüfen.
- Schicht 4 ist schneller und einfacher; Schicht 7 ermöglicht intelligentere, anwendungsorientierte Routing-Entscheidungen
- Schicht 7 unterstützt SSL-Terminierung und Sticky Sessions; Schicht 4 leitet den verschlüsselten Datenverkehr ungelesen weiter
- Thunder A10 Thunder unterstützt sowohl Layer 4 als auch Layer 7 und ermöglicht so flexible, leistungsstarke Bereitstellungen
Schicht 4 Lastausgleich vs. Schicht 7 Lastausgleich
Schicht 4 Lastausgleich
Der Lastausgleich auf Schicht 4, der auf der Transportebene arbeitet, verwaltet den Datenverkehr auf der Grundlage von Netzinformationen wie Anwendungsports und Protokollen, ohne den tatsächlichen Inhalt der Nachrichten zu kennen. Dies ist ein effektiver Ansatz für einen einfachen Lastausgleich auf Paketebene. Da die Nachrichten weder geprüft noch entschlüsselt werden, können sie schnell, effizient und sicher weitergeleitet werden. Da der Lastausgleich auf Ebene 4 jedoch nicht in der Lage ist, Entscheidungen auf der Grundlage von Inhalten zu treffen, ist es nicht möglich, den Datenverkehr auf der Grundlage von Medientypen, Lokalisierungsregeln oder anderen Kriterien zu routen, die über einfache Algorithmen wie Round-Robin-Routing hinausgehen.
Schicht 7 Lastausgleich
Der Lastausgleich der Schicht 7 erfolgt auf der Anwendungsebene, wobei Protokolle wie HTTP und SMTP verwendet werden, um Entscheidungen auf der Grundlage des tatsächlichen Inhalts der einzelnen Nachrichten zu treffen. Anstatt den Datenverkehr einfach ungelesen weiterzuleiten, beendet ein Layer-7-Lastausgleicher den Netzwerkverkehr, führt bei Bedarf eine Entschlüsselung durch, prüft die Nachrichten, trifft inhaltsbasierte Routing-Entscheidungen, initiiert eine neue TCP-Verbindung zum entsprechenden Upstream-Server und schreibt die Anfrage an den Server.
Die Notwendigkeit der Verschlüsselung führt zwar zu einer Leistungseinbuße bei der Layer-7-Verarbeitung, doch kann diese durch den Einsatz von SSL-Offload-Funktionen weitgehend reduziert werden. Durch die Aktivierung anwendungsbezogener Netzwerke ermöglicht der Lastausgleich auf Layer 7 intelligentere Entscheidungen zum Lastausgleich und zur Optimierung von Inhalten. Durch die Anzeige oder aktive Einspeisung von Cookies kann der Load Balancer eindeutige Client-Sitzungen identifizieren, um Server-Persistenz oder "Sticky Sessions" zu gewährleisten und alle Client-Anfragen an denselben Server zu senden, um die Effizienz zu steigern. Die Sichtbarkeit auf Paketebene ermöglicht die Verwendung von Content Caching, bei dem häufig aufgerufene Elemente für einen einfachen Abruf im Speicher gehalten werden. Für moderne Unternehmen ist es wichtig, dass der Layer-7-Lastausgleich die Intelligenz besitzt, um Protokolle zu handhaben, bei denen Anforderungen auf eine einzige Verbindung verteilt oder gemultiplext werden, um den Datenverkehr zu optimieren und den Overhead zu reduzieren.
Lastverteiler der Schicht 4 vs. Lastverteiler der Schicht 7 im Überblick
| Funktion | Lastverteilung auf Ebene 4 (L4) | Lastverteilung auf Ebene 7 (L7) |
|---|---|---|
| OSI-Schicht | Transportschicht (TCP/UDP) | Anwendungsschicht (HTTP/HTTPS/FTP/gRPC) |
| Routing-Grundlagen | IP-Adresse und Portnummer | Paketinhalt (URL, Cookies, Header, HTTP-Methode) |
| Protokollbewusstsein | Protokollunabhängig (verarbeitet jeglichen TCP-/UDP-Datenverkehr) | Protokollspezifisch (fundierte Kenntnisse der Anwendungsdaten) |
| SSL/TLS-Terminierung | Pass-Through (wird in der Regel vom Backend übernommen) | Unterstützt (A10 bietet hardwarebeschleunigte SSL-Entschlüsselung) |
| Persistente Sitzungen | Grundlegend (basierend auf Quell-IP/Port) | Erweitert (basierend auf HTTP-Cookies oder Sitzungs-IDs) |
| Leistung | Extrem hoher Durchsatz, minimale Latenz | Höhere CPU-Auslastung (aufgrund der Paketprüfung) |
| Am besten geeignet für | Rohr-Traffic mit hohem Datenaufkommen, Datenbankcluster, SMTP, einfache TCP-Anwendungen | Mikroservices, Webanwendungen, inhaltsbasiertes Routing, erweiterte Sicherheitsfunktionen |
L4-Lastausgleich / L7-Lastausgleich in Aktion
A10 Thunder® Application Delivery Controller (ADC) bietet fortschrittlichen Layer 4/Layer 7-Lastausgleich, um hohe Verfügbarkeit und Geschäftskontinuität für Anwendungsdienste zu gewährleisten.
Wann sollte man Layer-4- und wann Layer-7-Lastenausgleich einsetzen?
Die Entscheidung zwischen Layer-4- und Layer-7-Load-Balancern hängt von Ihrer Anwendungsarchitektur und Ihren Leistungszielen ab. Da der A10 Thunder sowohl die Weiterleitung auf Layer-4-Ebene mit Leitungsgeschwindigkeit als auch die tiefgehende Layer-7-Verarbeitung bewältigt, hängt die Wahl davon ab, ob Ihre Anwendung Hochgeschwindigkeits-Routing oder tiefgehende Paketanalyse erfordert.
Wann sollte man sich für einen Layer-4-Load-Balancer entscheiden?
Der Lastausgleich auf Layer-4-Ebene ist auf hohe Geschwindigkeit und geringe Latenz ausgelegt. Da dabei ausschließlich Daten auf Netzwerkebene – wie IP-Adressen und Ports – berücksichtigt werden, wird der Datenverkehr weitergeleitet, ohne dass die eigentliche Anwendungsdatenlast geöffnet wird. Durch diesen geringen Overhead eignet sich diese Methode ideal für Anwendungen mit hohem Datenaufkommen, bei denen die Verarbeitungszeit entscheidend ist, wie beispielsweise Videostreaming, Gaming oder die Erfassung großer Mengen von IoT-Daten.
Auch Layer 4 ist protokollunabhängig. Wenn Sie den Datenverkehr, der nicht über HTTP läuft – wie beispielsweise Datenbankcluster (SQL, MongoDB), LDAP oder SMTP-Mailserver –, ausgleichen müssen, ist Layer 4 die richtige Wahl. Es ist zudem die ideale Konfiguration, wenn Ihre Sicherheitsvorschriften eine strenge End-to-End-Verschlüsselung erfordern, da der Datenverkehr den ADC völlig unverändert und verschlüsselt durchläuft, bis er den Backend-Server erreicht.
Wann sollte man sich für einen Layer-7-Load-Balancer entscheiden?
Lastenausgleich auf Layer 7 ist für moderne Webanwendungen, APIs und Microservices-Architekturen unerlässlich, die ein intelligentes, kontextbezogenes Routing erfordern. Durch die Analyse der Anwendungsdaten kann der Thunder den Datenverkehr anhand spezifischer Elemente wie HTTP-Header, Cookies oder des genauen URL-Pfads weiterleiten. So können Sie beispielsweise Anfragen für statische Bilder automatisch an einen Pool optimierter Server weiterleiten, während API-Aufrufe (/api/v1) oder Zahlungsanfragen an einen Serverpool mit höherer Rechenleistung weiterleiten.
Dieses Anwendungsbewusstsein ist auch für die erweiterte Sitzungspersistenz (Sticky Sessions) erforderlich. Der Layer-7-Lastausgleich ermöglicht es Ihnen, HTTP-Cookies zu verwenden, um sicherzustellen, dass ein Benutzer während seiner gesamten Anmelde- oder Warenkorb-Sitzung mit genau demselben Backend-Server verbunden bleibt.
Darüber hinaus fungiert der Layer-7-Lastausgleich als entscheidende Sicherheits- und Optimierungsgrenze. Da die Lastverteilung auf der Anwendungsebene erfolgt, können Sie rechenintensive SSL/TLS-Entschlüsselung von Ihren Backend-Servern auf die hardwarebeschleunigten Prozessoren von A10 auslagern. Sobald der Datenverkehr auf der ADC-Ebene entschlüsselt ist, können Sie erweiterte Sicherheitsdienste einsetzen, wie beispielsweise eine Webanwendungs-Firewall (WAF) zum Blockieren von SQL-Injektionen oder eine Ratenbegrenzung auf Anwendungsebene, um bösartige Bots zu stoppen, bevor sie überhaupt Ihre Webserver erreichen.
Warum Ihre ADC L4-Lastausgleich / L7-Lastausgleich braucht
Obwohl Load Balancer der Schicht 7 umfangreichere Funktionen bieten und intelligentere Routing-Entscheidungen ermöglichen, gibt es für jede Schicht geeignete Anwendungsfälle. Layer 7 bietet die notwendige Transparenz und Anwendungskenntnis, um intelligente Routing-Entscheidungen, Optimierungen und Leistungsverbesserungen zu ermöglichen. So kann beispielsweise die in der Kopfzeile des Browsers angegebene Sprache verwendet werden, um Besucher auf die entsprechende Inhaltsversion umzuleiten. Um die bestmögliche Erfahrung für jeden Benutzer, jedes Gerät und jeden Standort zu bieten und gleichzeitig die Anforderungen des Unternehmens an Compliance, Inhaltslokalisierung und Effizienz zu erfüllen, sollte ein ADC Funktionen für den Lastausgleich sowohl auf Layer 4 als auch auf Layer 7 bieten, um die verschiedenen Anwendungsanforderungen zu erfüllen.
Verwandte Ressourcen
- Wie man einen Cloud Load Balancer auswählt
- Load Balancing geht in die Schule, um Anwendungsverfügbarkeit zu lernen
- Was ist Global Server Load Balancing (GSLB)?
- Wie funktioniert der Lastausgleich in einer hybriden oder Multi-Cloud-Welt?
- Was ist High Availability Load Balancing?
- Erweiterte Lastverteilung in der Cloud: 5 Wege zur Vereinfachung des Chaos
Häufig gestellte Fragen
Ein Layer-7-Load-Balancer (L7) arbeitet auf der Anwendungsschicht des OSI-Modells. Im Gegensatz zu einfachen Routern überprüft er die eigentliche Paketnutzlast, um Verteilungsentscheidungen auf der Grundlage anwendungsspezifischer Daten wie HTTP-Header, URLs, Cookies oder Medientypen zu treffen. Der A10 Thunder fungiert als Full-Proxy-Layer-7-Gerät und bietet Administratoren präzise Kontrolle über die Datenverkehrssteuerung, Sicherheitsrichtlinien und Serveroptimierung.
Der wesentliche Unterschied liegt in der Datentransparenz. Ein Load Balancer der Schicht 4 (L4) arbeitet auf der Transportschicht und leitet den Datenverkehr ausschließlich anhand von Netzwerkdaten wie Quell- und Ziel-IP-Adressen sowie TCP-/UDP-Ports weiter. Er hat keine Kenntnis vom Anwendungsdateninhalt. Ein Load Balancer der Schicht 7 beendet die Netzwerkverbindung, entschlüsselt den Datenverkehr bei Bedarf und überprüft die Anwendungsdaten im Paket, um detailliertere Routing-Entscheidungen treffen zu können.
Der Lastausgleich auf Layer 4 sorgt für einen höheren Durchsatz und eine geringere Latenz, da dabei lediglich die Paket-Header überprüft und der Datenverkehr weitergeleitet wird, ohne die Nutzdaten zu analysieren. Der Lastausgleich auf Layer 7 erfordert mehr Rechenleistung, da das Gerät Verbindungen beenden, SSL/TLS entschlüsseln und Daten auf Anwendungsebene analysieren muss. A10 Networks diesem L7-Overhead durch den Einsatz dedizierter, hardwarebeschleunigter ASICs, die kryptografische und Verarbeitungsaufgaben mit Leitungsgeschwindigkeit bewältigen.
Der Lastausgleich auf Layer 7 eignet sich ideal für Webanwendungen, APIs und Microservices, die ein inhaltsbasiertes Routing erfordern. Er ist außerdem erforderlich, wenn Ihre Anwendung auf einer Cookie-basierten Sitzungspermanenz beruht oder wenn Sie erweiterte Dienste wie SSL/TLS-Offloading, API-Ratenbegrenzung und den Schutz durch eine Webanwendungs-Firewall (WAF) zentralisieren möchten.
L4 und L7 beziehen sich auf bestimmte Schichten innerhalb des OSI-Referenzmodells (Open Systems Interconnection). L4 bezeichnet die Transportschicht (TCP/UDP), in der der Datenverkehr ausschließlich anhand der Details der Netzwerkverbindung gesteuert wird. L7 bezeichnet die Anwendungsschicht (HTTP/HTTPS/gRPC), in der die Datenverkehrssteuerung durch die spezifischen Daten und Protokolle der jeweiligen Anwendung selbst bestimmt wird.