MAC address learning

MAC address learning

In een Ethernet VPN wordt verkeer niet gerouteerd, maar geswitched aan de hand van het MAC adres. Met MAC address learning wordt ervoor gezorgd dat switches in het Ethernet VPN in staat zijn om accurate forwarding en filteringbeslissingen te maken.

Het MAC adres

Ieder netwerkapparaat heeft een MAC-adres. Het MAC-adres is een uniek adres dat door een fabrikant in de NIC wordt geprogrammeerd. Het MAC adres zorgt ervoor dat apparaten in een LAN-netwerk met elkaar kunnen communiceren. Het MAC-adres zorgt onder andere ervoor dat switches en routers verkeer naar de juiste eindbestemming doen versturen. Een veelvoorkomend misverstand is dat het MAC adres uniek per apparaat is. Dit is niet het geval, een MAC-adres is uniek voor iedere NIC. Dit betekent dat als een apparaat twee NIC's heeft, het dus ook twee MAC adressen heeft.

Een MAC-adres is 48 bits lang en wordt in hexadecimale vorm weergegeven. Het MAC-adres is voor iedere NIC uniek. Een MAC-adres kan hierdoor vergeleken worden met ons burger servicenummer. Ieder MAC-adres bestaat uit twee onderdelen, de Organizational Unique Identifier (OUI) en het Universally Administered Address (UAA). De OUI is een adresreeks conform de IEEE 802-standaard dat eenmalig wordt uitgegeven. Aan de hand van het OUI kan de fabrikant van het netwerkapparaat worden herkend. De UAA is een adres dat door de fabrikant vrij ingevuld kan worden.

MAC adres

Een weergave van een MAC-adres dat bestaat uit een OU en UAA

De basics van MAC address learning

In het E-VPN wordt netwerkverkeer niet gerouteerd, maar geswitched aan de hand van het MAC-adres. Om goede forwarding beslissingen te maken doen de switches in een Ethernetnetwerk de MAC-adressen van apparaten opslaan in de Content Addressable Memory (CAM) tabel. Het MAC address learning proces is vrij eenvoudig en gebeurt tegenwoordig vrijwel altijd op een dynamische manier. Bij een binnenkomend Ethernetframe bekijkt de switch eerst het MAC-adres van de verzender. Als dit MAC-adres niet in de CAM-tabel staat, dan wordt voor dit MAC-adres een nieuwe regel aangemaakt. Als het MAC-adres al wel in de CAM-tabel staat, dan wordt de desbetreffende regel ververst. Vervolgens kijkt de switch in het Ethernetframe naar het MAC-adres van het ontvangende apparaat. Als dit MAC-adres nog niet in de CAM-tabel staat, dan wordt het Ethernetframe uit alle poorten (op de poort waarop het frame is binnengekomen na) gebroadcast. Als het MAC-adres van het ontvangende apparaat wel in de CAM-tabel staat, dan wordt het Ethernetframe direct naar het ontvangende apparaat verzonden.

MAC adres

MAC address learning in een klein LAN-netwerk met drie hosts

MAC address aging

De ruimte in de CAM-tabel is beperkt. Daarom wordt aan iedere regel in de CAM-tabel een timer toegevoegd. Als deze timer verstrijkt, dan wordt de betreffende regel uit de CAM-tabel verwijderd. Dit wordt MAC address aging genoemd. Door regels met oude MAC-adressen te verwijderen wordt voorkomen dat de CAM-tabel volloopt. Bij een verversing van een regel in de CAM-tabel wordt ook altijd de timer gereset. Hierdoor blijven dus alleen MAC-adressen van netwerkapparaten in de CAM-tabel staan die veel verkeer doen uitzenden.

MAC address learning in een E-VPN

Het E-VPN platform is een gedeeld netwerk dat door meerdere gebruikers gebruikt wordt. De CAM-tabellen van onze core switches zouden vrijwel direct vollopen als alle MAC-adressen van alle gebruikers onthouden zouden moeten worden. Bovendien zou een E-VPN dan ook niet meer schaalbaar zijn. Daarom gebeurt het switchen van Ethernetverkeer in een E-VPN op een andere manier, namelijk door het core netwerk (providerdomein) te scheiden van het netwerk van de gebruiker (klantdomein) te scheiden met een eigen set aan netwerkprotocollen.

Provider Backbone Bridges

Provider Backbone Bridges zijn een set aan netwerkarchitecturen en protocollen waarmee Ethernetverkeer over ons core netwerk kan worden getransporteerd, zonder VLAN-informatie van de gebruiker te verliezen. Provider Backbone Bridges zijn gedefinieerd in IEEE 802.1ah. De IEEE 802.1ah standaard is een soort kopie van de 802.1ad standaard, maar dan op het niveau van MAC-adressering. Met de 802.1ah standaard wordt het Ethernetframe ingekapseld in een providerframe. Aan het providerframe wordt het MAC-adres van de verzendende core switch, het MAC-adres van de ontvangende core switch en het VLAN-ID van de betreffende switchpoort toegevoegd. Deze MAC-adressen worden alleen binnen ons core netwerk uitgewisseld en staan dus volledig los van de MAC-adressen in het oorspronkelijke Ethernetframe. Het frame wordt vervolgens aan de hand van deze VLAN's en MAC-adressen over het core netwerk getransporteerd. Hierbij zijn de 802.1ah en de 802.1ad standaarden volledig in elkaar geïntegreerd, waardoor klantinformatie niet verloren gaat.

Hoe Provider Backbone Bridges werken

In ons core netwerk werken de 802.1ah en de 802.1ad standaarden nauw met elkaar samen. Wanneer verkeer vanuit een bedrijfslocatie in een E-VPN in ons core netwerk arriveert, dan voegt onze edge switch eerst een extra VLAN-tag toe aan het Ethernet frame volgens de 802.1ad standaard. Vervolgens wordt het gehele Ethernet frame ingekapseld in een providerframe volgens de 802.1ah standaard. Dit providerframe heeft eigen MAC-adressen en een VLAN-ID. Alleen deze MAC-adressen en VLAN-ID van het providerframe worden vervolgens met behulp van MAC address learning opgeslagen in de CAM-tabel van onze core switches. Met behulp van een I-SID wordt ervoor gezorgd dat onze core switches weten voor welk E-VPN verkeer bestemd is en dat gebruikerconfiguraties zoals MAC-adressen en VLAN-informatie niet verloren gaat. Het providerframe wordt vervolgens, met de klantinformatie in het I-SID, over ons core netwerk getransporteerd. Voordat het verkeer ons core netwerk verlaat wordt eerst het originele Ethernetframe weer uitgepakt en de extra 802.1ad VLAN-tag verwijderd. Het Ethernetframe wordt tenslotte naar zijn eindbestemming verzonden.

MAC adres

De opbouw van een Ethernet frame waarin meerdere IEEE 802.1-standaarden zijn geïntegreerd.