ACL på switche i detaljer

ACL (Access Control List) på netværksudstyr kan implementeres både hardware- og softwarebaseret. Og hvis softwarebaserede ACL er let at forstå – det er regler, der opbevares og behandles i RAM (dvs. på Control Plane), med alle de heraf følgende begrænsninger, så skal vi i denne artikel se nærmere på, hvordan hardwarebaserede ACL fungerer. Vi vil anvende switchene fra ExtremeSwitching serien fra Extreme Networks som eksempel.

ACL på switche i detaljer

Da vi specifikt er interesserede i hardwarebaserede ACL, er den interne implementering af Data Plane, eller de anvendte chipsets (ASIC), af primær betydning for os. Switchene fra alle serier fra Extreme Networks er bygget på ASIC fra Broadcom, og derfor vil de fleste af de oplysninger, der præsenteres nedenfor, også gælde for andre switches, som findes på markedet, og som er baseret på de samme ASIC.

Som det fremgår af diagrammet ovenfor, er det "ContentAware Engine", der direkte styrer ACL i chipsettet, opdelt i "ingress" og "egress". Arkitektonisk er de ens, men "egress" er mindre skalerbar og mindre funktionel. Fysisk består begge "ContentAware Engines" af TCAM-hukommelse plus tilknyttede logik, og hver bruger- eller systemregel i ACL er en simpel bitmaske, der er skrevet ind i denne hukommelse. Derfor behandles trafik af chipsettet pakke for pakke uden nedgang i ydeevnen.

Fysisk deles den samme Ingress/Egress TCAM logisk op i flere segmenter (afhænger af hukommelsens størrelse og platformen), såkaldte "ACL slices". For eksempel sker der noget tilsvarende med den fysiske HDD på din bærbare computer, når du opretter flere logiske drev på den – C:>, D:>. Hver ACL-slice består i sin tur af hukommelsesceller i form af "rækker", hvor "rules" (regler/bitmasker) skrives ind.

ACL på switche i detaljer
Opdelingen af TCAM i ACL-slices har en bestemt logik. I hver enkelt ACL-slice kan kun kompatible "rules" skrives. Hvis en af "rules" ikke er kompatibel med den tidligere, vil den blive skrevet ind i den næste i rækkefølgen af ACL-slices, uanset hvor mange frie rækker der er tilbage i det forrige.

Hvor kommer så denne kompatibilitet eller inkompatibilitet af ACL-reglerne fra? Faktisk har én "linje" TCAM, hvor "reglerne" gemmes, en længde på 232 bit og er delt op i flere felter – Fixed, Field1, Field2, Field3. 232 bit eller 29 byte TCAM-hukommelse er tilstrækkeligt til at gemme bit-masken for en bestemt MAC- eller IP-adresse, men er betydeligt mindre end hele Ethernet-pakkens header. I hver enkelt ACL-slice udfører ASIC et uafhængigt opslag baseret på de indstillede bit-masker i F1-F3. Generelt kan dette opslag udføres på de første 128 byte af Ethernet-headeren. Det er faktisk fordi, at opslaget kan udføres på 128 byte, mens der kun kan gemmes 29 byte, at der skal angives en offset i forhold til begyndelsen af pakken for korrekt opslag. Offset for hver ACL-slice angives under skrivningen af den første regel, og hvis der under skrivningen af den næste regel opdages behov for en anden offset, betragtes denne regel som inkompatibel med den første og skrives ind i den næste ACL-slice.

Nedenfor i tabellen er rækkefølgen af kompatibilitet for betingelserne, der skrives ind i ACL. Hver enkelt linje indeholder de kompatible og inkompatible bit-masker med andre linjer.

ACL på switche i detaljer
Hver enkelt pakke, der behandles af ASIC, starter et parallelt opslag i hver ACL-slice. Kontrollen udføres indtil den første match i ACL-slice, men der tillades flere matches for den samme pakke i forskellige ACL-slices. Hver enkelt "regel" har en tilhørende handling, der skal udføres i tilfælde af en match (bit-mask). Hvis der er en match i flere ACL-slices, træffes der en beslutning om, hvilken handling der skal udføres i "Action Conflict Resolution"-blokken baseret på prioriteten af ACL-slice. Hvis der i ACL'en er angivet både "action" (permit/deny) og "action-modifier" (count/QoS/log/...), vil kun den mest prioriterede "action" blive udført ved flere matches, mens alle "action-modifiers" vil blive udført. Eksemplet nedenfor viser, at begge tællere vil blive øget, og den mest prioriterede "deny" vil blive udført.

ACL på switche i detaljer
“ACL Solutions Guide” med mere detaljeret information om arbejdet med ACL, der er offentligt tilgængelig på hjemmesiden extremenetworks.com. Enhver opstået eller resterende spørgsmål kan altid stilles til medarbejderne på vores kontor – cis@extremenetworks.com.

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster