Diplomarbeit Skalierbare Hochverfügbarkeitslösungen mit Lastverteilung für E-Commerce Sites Mai 2000
zurück Inhalt weiter

3.5.3 Funktionsweise
Die Verteilung von Datenpaketen auf zwei oder mehr Leitungen mit Hilfe von BGP4 kann nicht prinzipiell gleichmäßig erfolgen, da es sich hierbei um ein Distance Vektor-Protokoll handelt, welches seine Routingentscheidungen nicht anhand der zu überbrückenden Leitungen, sondern anhand der zu erreichenden IP-Netze trifft. Dies bedeutet, dass es bei einer Wegewahl entscheidend ist, welches IP-Netz (oder welcher Prefix) über eine Leitung direkter zu erreichen ist.
Bei der Betrachtung der Routingentscheidungen von BGP4 bei den im vorigen Abschnitt vorgestellten Topologien muß man unterscheiden, aus welcher Richtung ein Datenpaket kommt. Die Wegewahl-Kriterien für Pakete von Kunde zu ISP können sich von denen für Pakete von ISP zum Kunden unterscheiden.

Wenn ein Datenpaket in der Topologie C (Abb. 3.17) vom ISP zum Kunden geführt werden muß, ist es entscheidend, nach welchen Regeln die Pakete innerhalb des ISP auf die beiden Border Router R1 und R2 aufgeteilt werden. Wenn angenommen wird, dass die zwei beim Kunden vorhandenen /16-Netze das gleiche Datenaufkommen haben, bietet es sich an, alle Pakete für 138.39/16 zu R1 und alle Pakete für 204.70/16 zu R2 zu leiten. Dies wird dadurch erreicht, dass den Routern R1 und R2 entweder von Kundenseite mittels des MULTI-EXIT-DISCRIMINATOR-Attributs oder von seiten des ISP mittels des LOCAL PREF-Attributs mitgeteilt wird, welcher Prefix über sie am besten erreichbar ist. Bei der dadurch entstehenen Lastaufteilung handelt es sich jedoch nicht um ein Load Balancing, sondern um ein Load Sharing, d.h. die Datenströme sind von vorneherein auf die Leitungen aufgeteilt und können bei unterschiedlichem Datenaufkommen nicht variiert werden. Falls der zu erwartende Datenverkehr sich nicht gleichmäßig auf die beiden /16-Netze aufteilt, müßen diese feiner aufgeteilt werden, z.B. in mehrere /20er-Netze. Damit kann dann jedes /20er-Netz einzeln einem der ISP-Router zugeordnet werden.
Wenn in der Topologie C IP-Pakete vom Kunden zum ISP gesandt werden müssen, entscheidet nur der Router R3, über welche Leitung die Pakete geführt werden. Dabei ist es egal, welche Leitung er für ein bestimmtes Paket wählt, da der ISP die Weiterleitung gewährleistet, egal an welchem der beiden Border Router die Pakete ankommen. Eine Möglichkeit für den Router R3 besteht darin, die Pakete alternierend auf die beiden Leitungen zu verteilen. Eine andere Möglichkeit setzt voraus, dass mit Hilfe von BGP4 der Router R3 vom ISP mehr als nur eine Default Route lernt. Dabei muß der Router R3 BGP4 implementiert haben und in der Lage sein, größere Routing-Tabellen zu speichern und zu bearbeiten. Sobald R3 über umfangreiche Routing-Informationen verfügt, kann er selbst entscheiden, über welche der beiden Leitung ein Zielnetz günstiger zu erreichen ist. Eine Variation dieser Möglichkeit besteht darin, dass R3 alle Pakete, deren Ziel innerhalb des Autonomen Systems des ISP liegen, zu R1 schickt und alle Pakete, deren Zielnetz im restlichen Internet liegt, an R2 sendet.
Bei der Topologie D (Abb. 3.17) ergeben sich für Pakete, die vom ISP zum Kunden gesandt werden, keine Unterschiede im Vergleich zur Topologie C, lediglich die Routing-Entscheidung wird hier nur von Router R1 getroffen. Pakete, die vom Kunden zum ISP gesandt werden, müssen jedoch noch auf die beiden Border Router des Kunden verteilt werden. Im allgemeinen werden Pakete durch eine Default Route von den vorgeschalteten Firewalls zu den Routern geschickt. Es muß berücksichtigt werden, dass ein Routerausfall von den Firewalls dabei nicht bemerkt werden kann, so dass die Pakete ihr Ziel nicht erreichen können. Wenn die Firewalls einigermaßen gleichmäßig ausgelastet sind, kann dadurch ein gutes Load Sharing erreicht werden. Die Verteilung der Datenpakete auf die Router mittels OSPF - Equal Cost Multipath144 ist hier nicht realisierbar, da OSPF Routingentscheidungen nur dann treffen kann, wenn das Zielnetz bekannt ist. Eine Möglichkeit, die Verteilung der Datenpakete auf die beiden Router zu beeinflußen, besteht jedoch dann, wenn die Router BGP4 sprechen und Routing-Tabellen von den Routern des ISP erhalten. In diesem Fall können die Router feststellen, indem sie über I-BGP145 kommunizieren, über welchen von ihnen ein Zielnetz schneller erreichbar ist und dies der jeweiligen Firewall über ein ICMP-Redirect146 mitteilen. Ein richtiges Load Balancing erreicht man, indem den Routern ein Layer4-Switch147 vorgeschaltet wird, durch welchen eine gleichmäßige Lastverteilung gewährleistet ist.
Die Lastverteilung auf die beiden Standleitungen der Topologie E (Abb. 3.18) vom Kunden zum ISP aus kann genauso gehandhabt werden wie bei der Topologie D; die Verteilung auf die Leitungen vom ISP zum Kunden entspricht der in Topologie C.
Die Anbindung eines Kunden an zwei oder mehr ISPs wird auch Multihoming genannt, dargestellt in Topologie F (Abb. 3.18). Um Pakete vom Kunden zum ISP auf die beiden Leitungen aufzuteilen, bestehen ähnliche Möglichkeiten wie bei den Topologien C und D. Mit dem Einsatz eines Layer4-Switches können die Pakete gleichmäßig auf die beiden Leitungen aufgeteilt werden. Des weiteren können die Border Router des Kunden von den beiden ISPs Routing-Tabellen übermittelt bekommen, so dass sie selber entscheiden können, über welche Leitung ein Paket gesandt werden sollte, um das Zielnetz am direktesten zu erreichen.
Die Lastverteilung von Paketen vom ISP zum Kunden bei der Topologie F ist jedoch um einiges komplexer, da hier noch der Ursprung des IP-Adressraumes des Unternehmens berücksichtigt werden muß. Es kann dabei zwischen PA148 - und PI149 -Adressräumen unterschieden werden. Die meisten PA-Adressräume haben eine Prefix-Länge zwischen /16 und /19.
Bei einer Anbindung an nur einen ISP stammt der IP-Adressraum des Unternehmens (z.B. ein /24er-Netz) im allgemeinen aus dem IP-Adressraum des ISP (z.B. ein /16er-Netz). Der ISP teilt dabei über BGP4 den anderen Autonomen Systemen des Internet nur seinen /16-Prefix mit. Die an den ISP angeschlossenen Unternehmensnetze sind in Bezug auf die IP-Adressen Subnetze des ISP und über ihn erreichbar. Der Vorgang der Zusammenfassung von IP-Adressen wird auch Aggregation genannt. Der Vorteil davon ist, dass die BGP-Router im Internet nur einen Eintrag in ihren Routing-Tabellen benötigen. Bei einer Anbindung an zwei ISPs stellt sich nun die Frage, woher die IP-Adressen des Unternehmens stammen und welche Auswirkungen dies auf die Lastverteilung hat. Es gilt dabei, drei verschiedene Möglichkeiten zu betrachten:

IP-Adressen von einem ISP: Wenn der Kunde in Topologie F z.B. einen IP-Adressraum /24 von ISP A zugewiesen bekommt, ist er dem restlichen Internet durch die Aggregation mit dem IP-Adressraum (z.B. /16-Netz) von ISP A bekannt. Um aber auch über ISP B erreichbar zu sein, teilt der Kunde diesem seinen /24-Prefix mit. ISP B teilt nun dem restlichen Internet zusätzlich zu seinem eigenen Prefix noch mit, dass der /24-Adressraum des Kunden über ihn erreichbar ist. Wie in Abb. 3.19 dargestellt, hat ISP C nun zwei Wege zur Auswahl, über die das Netz des Kunden erreichbar ist.


Abbildung 3.19 : Bekanntmachung von IP-Netzen zwischen ISPs

Durch CIDR ist allerdings festgelegt, dass in solchen Fällen immer der längste Prefix gewählt wird, da er vermutlich am direktesten zum Zielnetz führt. Aus diesem Grund wird ISP C (und alle weiteren ISPs im Internet) immer den Weg über ISP B wählen, um Pakete zum Kunden zu senden. Von ISP B werden die Pakete direkt zum Kunden weitergegeben, da auch hier diese Leitung den längsten Prefix beinhaltet. Diese Vorgehensweise gilt aber nicht für ISP A. Es kann vorkommen, dass der Border Router, der den /24er-Prefix des Kunden erhält, selber schon eine Aggregation vornimmt und z.B. einen /19er-Prefix in das interne Netz des ISP A weitergibt. In diesem Fall würden die anderen Router dieses ISP den /24er-Prefix von ISP B als Weg wählen. Aus diesem Grund muß der Border Router von ISP A, welcher für die Anbindung des Kunden zuständig ist, so konfiguriert werden, dass er keine Aggregation vornimmt und den /24er-Prefix in das interne ISP-Netz übermittelt.
Das durch die Zuweisung der IP-Adressen von nur einem ISP entstehende Load Sharing ist akzeptabel, wenn ISP A so groß ist, dass ungefähr die Hälfte des Datenverkehrs an den Kunden aus seinem internen Netz (und damit von den anderen an ihn angebundenen Kunden) stammt, denn der Datenverkehr aus dem restlichen Internet wird ausnahmslos über die Verbindung mit dem ISP B geführt werden. Wenn ISP A nicht über diese Größe verfügt, verteilt sich die Last ungleichmäßig auf die beiden Leitungen, so dass eventuell ein anderer Ansatz erwogen werden sollte.
Es muß dabei noch beachtet werden, dass einige ISPs Prefixes, die länger als /19 sind, generell verwerfen, um ihre Routing-Tabellen nicht zu sehr zu belasten. Die /24er-Prefixes, welche schon seit längerem bekannt sind, werden jedoch noch akzeptiert.

IP-Adressen von zwei ISP: Ein Kunde kann sich auch von jedem ISP, an den er angeschloßen ist, einen eigenen IP-Adressraum zuweisen lassen; in diesem Fall ist der Kunde über zwei verschiedene IP-Prefixes gleicher Länge erreichbar (vgl. Abb. 3.20).


Abbildung 3.20 : IP-Aggregation bei zwei ISP

Solange sich die Datenlast gleichmäßig auf die beiden ISPs verteilt, kann ein recht gutes Load Sharing erreicht werden. Ein Nachteil bei dieser Lösung besteht jedoch darin, dass bei einem Ausfall eines ISPs der über ihn erreichbare Prefix des Kunden wegfällt, da er dem anderen ISP nicht bekannt ist. Um dies zu vermeiden, kann der Kunde den von ISP A zugewiesenen /24er-Prefix ISP B mitteilen und umgekehrt. Die /24er-Prefixes werden dadurch im gesamten Internet bekanntgegeben und der Datenverkehr wird sich auf sie aufteilen; lediglich die Pakete aus den internen Netzen von ISP A und B werden direkt an den Kunden gesendet. Bei einem Ausfall eines ISPs ist der Kunde nicht mehr über den von diesem ISP bekanntgegebenen /24er-Prefix erreichbar, jedoch immer noch über den /16er-Prefix des anderen ISP. Aber auch bei dieser Lösung muß berücksichtigt werden, dass ein zu langer Prefix nicht unbedingt von jedem ISP in seine Routing-Tabellen aufgenommen wird.

IP-Adressen von einer Internet-Registry: Die letzte Möglichkeit für einen Kunden besteht darin, sich seinen IP-Adressraum direkt von einer Internet-Registry zuweisen zu lassen.150 Der Prefix des Kunden wird von den beiden ISPs dem restlichen Internet mitgeteilt. Die IP-Pakete aus dem Internet werden dann entweder an ISP A oder B gesandt, je nachdem welcher von ihnen näher liegt. Bei gleicher Größe der ISPs wird dadurch ein ausgewogenes Load Sharing erreicht. Bei unterschiedlicher Größe der ISPs hat der größere ISP wesentlich mehr Verbindungen mit anderen ISPs als der kleinere, so dass ein Großteil der Datenpakete über ihn laufen wird (vgl. Abb. 3.21). Aus diesem Grund empfiehlt es sich, die Verbindung zwischen ISP A und dem Kunden durch eine AS-PATH-Manipulation künstlich zu verlängern, so dass mehr Pakete über ISP B geführt werden. Dies betrifft ISP A selber nicht, da er durch Konfiguration des LOCAL PREF-Attributes allen aus seinem Netz stammenden Paketen den direkten Weg zum Kunden zuweisen kann.151


Abbildung 3.21 : Wegewahl zwischen ISPs aufgrund AS-PATH-Manipulation



144vgl. Kap. 2.3.3
145vgl. Kap. 2.3.4
146vgl. Kap. 2.1.3.5
147z.B. LinkProof von RADWare, vgl. <56>
148Provider assigned: Von einer Internet Registry einem ISP zugewiesener Adressraum, vgl. <57>
149Provider independent: Von einer Internet Registry einem Unternehmen direkt zugewiesener Adressraum, vgl. <57>
150vgl. <58>
151vgl. [12], Kap. 3
zurück Inhalt weiter