In de vorige delen van deze serie hebben we besproken hoe verkeer wordt geswitcht (of doorgestuurd) via een SPB-netwerk. Vandaag werpen we een snelle blik op de load-sharing van verkeer over meerdere paden tussen BEB-nodes.
We hebben eerder al gesteld dat MAC-in-MAC (Ethernet-in-Ethernet) encapsulation één van de belangrijkste aspecten is van de data plane in een Shortest Path Bridging-netwerk. Dit houdt feitelijk in dat een Ethernet-frame wordt ingepakt in een nieuw Ethernet-frame als het een SPB-domein binnenkomt. Om je geheugen weer een beetje op te frissen, toont onderstaand schema hoe dit in zijn werk gaat:
Figuur 1: MAC-in-MAC encapsulation
In de meeste gevallen is de nieuwe (SPB) Ethernet-header vergelijkbaar met de standaard Ethernet-frameheader. Er zijn echter twee fundamentele verschillen:
- het I-SID veld (een essentieel onderdeel van SPB dat we in deel 3 uitgebreid hebben behandeld)
- het B-VID veld
Het B-VID veld hebben we nog niet eerder besproken. Wat is het? Waar dient het voor? Het korte antwoord is multipathing, ofwel load-sharing van verkeer tussen de afzender (source BEB-node) en de ontvanger (destination BEB-node) over verschillende paden. Hierbij gaan we er wel vanuit dat er twee of meer equal cost-paden tussen beide punten zijn.
Wat zijn backbone-VLAN's?
B-VID staat voor ‘Backbone VLAN ID’ (ook wel Base VLAN ID genoemd). Hoewel het enkele overeenkomsten vertoont met een normaal VLAN zoals we dat kennen van 802.1Q, verschillen de eigenschappen en toepassingen enigszins:
- Volgens de standaard zijn alleen backbone-VLAN's 1 tot en met 16 toegestaan (terwijl er 1 tot en met 4095 normale VLAN's kunnen zijn).
- We kunnen één (of meer) backbone-VLAN's definiëren, maar we configureren ze niet op een specifieke switchpoort.
- Een backbone-VLAN bestaat alleen op de NNI-links/poorten. Elke keer dat je een switchpoort configureert als NNI-interface, wordt deze automatisch gekoppeld aan alle gedefinieerde backbone-VLAN's. Dit betekent dat alle backbone-VLAN's het volledige SPB-netwerk bestrijken. Voor het overzicht toont figuur 2 hieronder een klein SPB-netwerk met twee backbone-VLAN's.
- Verkeer dat over een SPB-netwerk wordt doorgestuurd, wordt doorgestuurd via één van de backbone-VLAN's.
- Het laatste en belangrijkste punt: als er twee of meer equal cost-paden zijn tussen de bron en de bestemming, zorgt het algoritme ervoor dat de backbone-VLAN's verschillende paden gebruiken. Dit wordt getoond in figuur 4 en 5.
Let op: omwille van de eenvoud geven we de backbone-VLAN’s de nummers 1, 2, en ga zo maar door. Omdat dit VLAN-ID ook 12-bits is (net als een gewoon VLAN), staat het je eigenlijk vrij om ieder getal van 1 tot en met 4095 te gebruiken. De praktijk wijst echter uit dat je het beste een getal tussen 4050 en 4065 kan gebruiken. In ons configuratievoorbeeld in het vorige hoofdstuk hebben we twee backbone-VLAN's geconfigureerd en deze genummerd als 4051 en 4052, wat de standaardwaarden zijn die worden gebruikt door Extreme (en voorheen Avaya).
Figuur 2: Een klein SPB-netwerk met twee backbone-VLAN’s (in groen en paars).
Laten we nu uitgaan van een eenvoudig netwerk met twee backbone-VLAN's, zoals weergegeven in figuur 3 hieronder. Vanuit het perspectief van de IS-IS zijn er tussen BEB-1 en BEB-2 twee equal cost-paden (in SPB-terminologie Equal Cost Trees of kortweg ECT's genoemd), beide met een cost van 30 (gesteld dat de cost voor elke link 10 is).
Figuur 3: Twee equal-cost paden tussen edge nodes 1 en 2.
Omdat we twee backbone-VLAN's hebben geconfigureerd, zal IS-IS het eerste equal cost-pad programmeren in de doorstuurdatabase van backbone-VLAN nummer 1 en het tweede equal cost-pad in de doorstuurdatabase van backbone-VLAN nummer 2. Dit kun je zien in figuur 4 en 5 hieronder.
Figuur 4: Equal cost-pad voor het verkeer dat over backbone-VLAN 1 wordt verstuurd.
Figuur 5: Equal cost-pad voor het verkeer dat over backbone-VLAN 2 wordt verstuurd.
Wat zijn de voordelen van Extreme Fabric Connect voor jouw organisatie? Bekijk onze Fantastic Fabric Show!
Verkeer met load-sharing
De enige vraag die overblijft, is hoe het verkeer over deze twee paden wordt verdeeld. Dat is heel erg afhankelijk van wie het uitvoert, maar in het geval van Extreme gebeurt dit aan de hand van de volgende (enigszins rudimentaire) verkeerssturing:
Voor virtuele netwerken met een I-SID (service ID) met een oneven nummer (1, 3, 5, 7… 10001, enzovoort) wordt al het verkeer doorgestuurd op backbone-VLAN nummer 1, en voor die met een even nummer, wordt al het verkeer verzonden via backbone-VLAN nummer 2.
Let op: We gebruiken twee (of meer) backbone-VLAN's voor de load-sharing, niet voor redundantie! Een fout in een link of een node zorgt voor een nieuwe berekening van het kortste pad en kan leiden tot nieuwe ECT's, maar het kan net zo goed leiden tot slechts één enkele shortest path tree.
Hiermee zou je dus een rudimentaire kijk moeten hebben op multipathing in een SPB-netwerk. Als je nu denkt: ‘dit is nog niet heel geavanceerd’, dan heb je hoogstwaarschijnlijk gelijk. Toch is dit voor alle implementaties tot nu toe meer dan afdoende geweest. Bovendien komen de meer geavanceerde functionaliteiten eraan, waaronder IEEE 802-1Qca Path Control and Reservation, een standaard die geavanceerdere verkeerssturing mogelijk zal maken. Maar de leveranciers moeten dit natuurlijk wel implementeren.
Volgende keer in ‘Shortest Path Bridging voor beginners’: