VTP Pruning
Was ist VTP Pruning?
VTP Pruning ist eine Funktion des VLAN Trunking Protocol (VTP) von Cisco. Sie reduziert unnötigen Broadcast-, Multicast- und Unicast-Flooding-Verkehr auf Trunk-Verbindungen. Ohne Pruning leitet ein Switch solchen Verkehr für alle VLANs, die im Trunk erlaubt sind, an den Nachbar-Switch weiter, selbst wenn dieser über keine aktiven Ports in den betreffenden VLANs verfügt. VTP Pruning unterbindet diese Verschwendung, indem es nur diejenigen VLANs über den Trunk schickt, die auf dem empfangenden Switch tatsächlich aktiv sind. Das spart Bandbreite und entlastet die CPUs aller beteiligten Switches.
Das Problem: Flooding ohne Pruning
Ein Switch, der ein Broadcast-Paket, ein Multicast-Paket oder einen unbekannten Unicast empfängt, leitet dieses Paket an alle Ports des zugehörigen VLANs weiter, auch an Trunk-Ports. Der Nachbar-Switch am anderen Ende des Trunks empfängt das Paket und muss es verarbeiten. Besitzt dieser Switch jedoch keine aktiven Access-Ports im entsprechenden VLAN, verwirft er das Paket nach der Prüfung seiner lokalen Datenbanken. Der Verkehr hat dennoch Bandbreite auf dem Trunk belegt und CPU-Zyklen auf dem empfangenden Switch verbraucht. In großen Netzen mit vielen VLANs und Trunks summiert sich dieser ungenutzte Flooding-Verkehr zu einem erheblichen Overhead. VTP Pruning setzt genau hier an und unterdrückt das Flooding für inaktive VLANs auf der Trunk-Strecke.
Funktionsweise von VTP Pruning
VTP Pruning baut auf der VTP-Domänenstruktur auf. Ein Switch ermittelt anhand seiner lokalen Ports, welche VLANs auf ihm aktiv sind. Aktiv ist ein VLAN, wenn mindestens ein Access-Port diesem VLAN zugewiesen ist oder das VLAN-Interface (SVI) konfiguriert und eingeschaltet ist. Diese Information teilt der Switch über VTP seinen Nachbarn mit. Ein Switch, der ein Paket für ein bestimmtes VLAN über einen Trunk versenden möchte, prüft vor dem Absenden, ob der Nachbar-Switch dieses VLAN in seiner Liste der aktiven VLANs führt. Ist das VLAN auf der Nachbarseite nicht aktiv, unterdrückt der sendende Switch den Flooding-Verkehr für dieses VLAN auf diesem Trunk. Für VLANs, die auf beiden Seiten aktiv sind, wird der Verkehr wie gewohnt weitergeleitet.
Der Pruning-Mechanismus ist dynamisch. Sobald ein Administrator auf einem Switch einen neuen Access-Port in einem bisher inaktiven VLAN konfiguriert, informiert der Switch seine Nachbarn über VTP, die daraufhin das Pruning für dieses VLAN aufheben und den Flooding-Verkehr wieder zulassen.
Technische Umsetzung und Berechtigungen
VTP Pruning wird in der gesamten VTP-Domäne auf einem VTP-Server aktiviert. Der Befehl vtp pruning im globalen Konfigurationsmodus schaltet Pruning für die gesamte Domäne ein. Die Konfiguration wird über VTP-Advertisements an alle Clients und Server in der Domäne verteilt. Ein VTP-Client übernimmt die Pruning-Entscheidung des Servers und wendet sie lokal an. Switches im Transparent-Modus nehmen nicht am Pruning teil, leiten aber die Pruning-Informationen über ihre Trunks an andere Switches weiter, sodass der Mechanismus über die gesamte Domäne hinweg konsistent bleibt.
Das Pruning gilt für alle VLANs, mit Ausnahme der VLANs, die von der Funktion ausgenommen wurden. Bestimmte VLANs, etwa das Management-VLAN oder das native VLAN, sind standardmäßig nicht prunbar, da sie für den stabilen Betrieb der VTP-Domäne und der Trunk-Verbindungen selbst benötigt werden. Der Administrator kann mit dem Befehl switchport trunk pruning vlan gezielt VLANs vom Pruning ausnehmen oder hinzufügen.
VTP Pruning versus manuelle VLAN-Begrenzung
VTP Pruning ist eine dynamische, automatisierte Funktion und unterscheidet sich von der manuellen Begrenzung der VLANs auf einem Trunk mit dem Befehl switchport trunk allowed vlan. Die manuelle Begrenzung ist eine statische Liste, die der Administrator explizit pflegen muss und die bei Änderungen im Netzwerk manuell angepasst werden muss. VTP Pruning hingegen reagiert selbstständig auf Änderungen in der VLAN-Aktivität der Nachbar-Switches und hebt das Pruning auf oder aktiviert es, ohne dass ein Administrator eingreift. Beide Methoden schließen sich nicht aus und können kombiniert werden, um eine mehrschichtige Kontrolle über den Trunk-Verkehr zu erreichen.
Voraussetzungen und Grenzen
VTP Pruning setzt eine funktionierende VTP-Domäne voraus. Alle beteiligten Switches müssen in derselben VTP-Domäne sein und mindestens über VTP-Version 2 verfügen. Die VTP-Domäne muss konsistent sein, und die Server-Clients-Beziehung muss korrekt etabliert sein. In Umgebungen mit VTP-Version 3 kann Pruning ebenfalls verwendet werden, wobei die Konfigurationsmöglichkeiten erweitert wurden.
Ein praktisches Limit ergibt sich aus der maximalen Anzahl gleichzeitig aktiver VLANs auf einem Switch. Ältere Switches haben hier engere Grenzen, was die Wirksamkeit von Pruning indirekt beeinflussen kann. Zudem sollte VTP Pruning mit Bedacht in Netzen eingesetzt werden, die auch Switches anderer Hersteller ohne VTP-Unterstützung enthalten. Zwar können diese Switches über 802.1Q-Trunks mit Cisco-Switches kommunizieren, aber sie verstehen die VTP-Pruning-Informationen nicht. In solchen Fällen leiten sie den Flooding-Verkehr weiterhin für alle VLANs weiter, sodass die Pruning-Vorteile verloren gehen.
Praktische Anwendungsszenarien
VTP Pruning ist besonders in großen, flachen Layer-2-Netzen mit vielen VLANs und mehreren über Trunks verbundenen Switches nützlich. Ein typisches Beispiel ist ein Gebäude- oder Campusnetz mit einem zentralen Verteil-Switch und mehreren Access-Switches in den Stockwerken. Nicht jedes VLAN ist auf jedem Stockwerk aktiv. Ein VLAN für die Marketingabteilung wird nur auf den Access-Switches der Marketing-Etage genutzt, nicht im ganzen Gebäude. Ohne Pruning würde Broadcast-Verkehr aus dem Marketing-VLAN über alle Trunks zu allen Stockwerk-Switches geschickt und dort verworfen werden. Mit Pruning bleibt der Traffic auf den Trunks, die tatsächlich Marketing-Ports haben, und entlastet die übrige Infrastruktur.
Zusammenfassung und Best Practices
VTP Pruning ist ein effektives Werkzeug, um Flooding-Verkehr in VLAN-basierten Netzen einzudämmen und die verfügbare Trunk-Bandbreite optimal zu nutzen. Es reduziert die unnötige CPU-Belastung und verbessert die Gesamteffizienz des Netzes, ohne dass der Administrator manuelle Eingriffe vornehmen muss. Pruning sollte auf allen Switches in der VTP-Domäne aktiviert sein und als Teil eines konsistenten VTP-Designs betrieben werden. In Netzen, die auf Layer-3-Routing am Access- oder Distribution-Layer setzen, ist VTP und damit Pruning oft nicht mehr erforderlich. In traditionellen Layer-2-basierten Netzen bleibt VTP Pruning jedoch eine wertvolle Funktion zur Verkehrsoptimierung.