Canvia les ACL en detall

Les ACL (Llista de control d'accés) als dispositius de xarxa es poden implementar tant en maquinari com en programari, o més comunament, en ACL basades en maquinari i programari. I si tot ha de quedar clar amb les ACL basades en programari: aquestes són regles que s'emmagatzemen i es processen a la memòria RAM (és a dir, al pla de control), amb totes les restriccions consegüents, llavors entendrem com s'implementen les ACL basades en maquinari i com funcionen les nostres article. Com a exemple, utilitzarem interruptors de la sèrie ExtremeSwitching d'Extreme Networks.

Canvia les ACL en detall

Com que estem interessats en les ACL basades en maquinari, la implementació interna del pla de dades, o els chipsets reals (ASIC) utilitzats, és de gran importància per a nosaltres. Totes les línies de commutació d'Extreme Networks estan construïdes amb ASIC de Broadcom i, per tant, la majoria de la informació següent també serà certa per a altres commutadors del mercat que s'implementen als mateixos ASIC.

Com es pot veure a la figura anterior, el "ContentAware Engine" és directament responsable del funcionament de les ACL al chipset, per separat per a "entrada" i "eixida". Arquitectònicament, són els mateixos, només la "sortida" és menys escalable i menys funcional. Físicament, tots dos "ContentAware Engines" són memòria TCAM més la lògica que l'acompanya, i cada regla ACL d'usuari o sistema és una simple màscara de bits escrita en aquesta memòria. És per això que el chipset processa el trànsit paquet per paquet i sense degradació del rendiment.

Físicament, el mateix TCAM Ingress/Egress, al seu torn, es divideix lògicament en diversos segments (depenent de la quantitat de memòria pròpiament dita i de la plataforma), els anomenats "slices ACL". Per exemple, el mateix passa físicament amb el mateix HDD del vostre ordinador portàtil quan hi creeu diverses unitats lògiques: C:>, D:>. Cada porció ACL, al seu torn, consta de cel·les de memòria en forma de "cadenes" on s'escriuen "regles" (regles/màscares de bits).

Canvia les ACL en detall
La divisió de TCAM en llesques ACL té una certa lògica darrere. En cadascuna de les seccions ACL individuals, només es poden escriure "regles" compatibles entre si. Si alguna de les "regles" no és compatible amb l'anterior, s'escriurà a la següent porció ACL, independentment de quantes línies lliures de "regles" quedin a l'anterior.

D'on ve aquesta compatibilitat o incompatibilitat de les regles ACL? El fet és que una "línia" TCAM, on s'escriuen "regles", té una longitud de 232 bits i es divideix en diversos camps: Fixed, Field1, Field2, Field3. La memòria TCAM de 232 bits o 29 bytes és suficient per gravar la màscara de bits d'una adreça MAC o IP específica, però molt menys que la capçalera completa del paquet Ethernet. A cada porció ACL individual, l'ASIC realitza una cerca independent segons la màscara de bits establerta a F1-F3. En general, aquesta cerca es pot realitzar utilitzant els primers 128 bytes de la capçalera Ethernet. En realitat, precisament perquè la cerca es pot realitzar en 128 bytes, però només es poden escriure 29 bytes, per a una cerca correcta s'ha d'establir un desplaçament respecte a l'inici del paquet. El desplaçament per a cada porció ACL s'estableix quan s'escriu la primera regla, i si, en escriure una regla posterior, es descobreix la necessitat d'un altre desplaçament, llavors aquesta regla es considera incompatible amb la primera i s'escriu al següent ACL-slice.

La taula següent mostra l'ordre de compatibilitat de les condicions especificades a l'ACL. Cada línia individual conté màscares de bits generades que són compatibles entre si i incompatibles amb altres línies.

Canvia les ACL en detall
Cada paquet individual processat per l'ASIC realitza una cerca paral·lela a cada porció ACL. La comprovació es realitza fins a la primera coincidència a l'ACL-slice, però es permeten múltiples coincidències per al mateix paquet en diferents ACL-slice. Cada "regla" individual té una acció corresponent que s'ha de realitzar si la condició (màscara de bits) coincideix. Si es produeix una coincidència en diversos segments d'ACL alhora, al bloc "Resolució de conflictes d'acció", basant-se en la prioritat del segment ACL, es pren una decisió quina acció cal dur a terme. Si l'ACL conté tant "acció" (permís/denegació) com "modificador d'acció" (compte/QoS/log/...), en cas de coincidències múltiples només s'executarà l'"acció" de prioritat més alta, mentre que "acció" -modifier” es completarà tot. L'exemple següent mostra que els dos comptadors s'incrementaran i s'executarà la prioritat més alta "denegació".

Canvia les ACL en detall
"Guia de solucions ACL" amb informació més detallada sobre el funcionament d'ACL en domini públic al lloc web extremenetworks.com. Qualsevol pregunta que sorgeixi o quedi sempre es pot fer al personal de la nostra oficina - [protegit per correu electrònic].

Font: www.habr.com

Afegeix comentari