LĂŒlitite ACL-id detailides

ACL (Access Control List) vĂ”rguseadmetes vĂ”ivad olla rakendatud nii riistvaraliselt kui ka tarkvaraliselt, vĂ”i nagu tavaliselt öeldakse, hardware ja software-based ACL. Ja kui software-based ACL on tĂ”enĂ€oliselt hĂ€sti arusaadav — need on reeglid, mis salvestatakse ja töödeldakse RAM-is (st Control Plane’is), kĂ”ikide piirangutega, mis sellest tulenevad, siis kuidas on rakendatud ja kuidas töötavad hardware-based ACL, uurime meie artiklis. NĂ€itena kasutame Extreme Networks'i ExtremeSwitching seeria lĂŒlitusi.

LĂŒlitite ACL-id detailides

Kuna meid huvitavad just hardware-based ACL, on meie jaoks esmatĂ€htis sisemise Data Plane'i rakendamine ehk tegelikult kasutatavad kiibid (ASIC). KĂ”ik Extreme Networks'i lĂŒlituste seeriad on ĂŒles ehitatud Broadcom'i ASIC-idele, seega enamik allpooltoodud teabest kehtib ka teiste turul saadaval olevate lĂŒlituste kohta, mis on rakendatud sellistele ASIC-idele.

Nagu jooniselt nĂ€ha, vastutavad ACL-i töö eest kiipide sees "ContentAware Engine", eraldi "ingress" ja "egress" kohta. Arhitektuurselt on nad identsed, ainult "egress" on vĂ€hem skaleeritav ja vĂ€hem funktsionaalne. FĂŒĂŒsiliselt on mĂ”lemad "ContentAware Engine" TCAM-mĂ€lu pluss kaasneva loogika kombinatsioon, ja iga kasutajale vĂ”i sĂŒsteemile mÀÀratud ACL-reegel on lihtne bitmask, mis on salvestatud sellesse mĂ€llu. SeetĂ”ttu toimub kiibi poolt liikluse töötlemine pakettide kaupa ja ilma jĂ”udluse languseta.

FĂŒĂŒsiliselt jaguneb sama Ingress/Egress TCAM loogiliselt mitmeks segmentiks (sĂ”ltuvalt mĂ€lu mahust ja platvormist), nn “ACL slices”. NĂ€iteks toimub sama ka fĂŒĂŒsiliselt ĂŒhe ja sama HDD puhul teie sĂŒlearvutis, kui loote sellel mitu loogilist ketast – C:>, D:>. Iga ACL-slice koosneb omakorda mĂ€lu rakkudest, mis on kujundatud "ridade" kujul, kuhu salvestatakse "rules" (reeglid/bitmaskid).

LĂŒlitite ACL-id detailides
TCAM-i jagamine ACL-slice'ideks pĂ”hineb kindlal loogikal. Igas eraldi ACL-slice'is vĂ”ivad olla salvestatud ainult omavahel ĂŒhilduvad "rules". Kui mĂ”ni reegel ei ĂŒhildu eelmisega, salvestatakse see jĂ€rgmistesse ACL-slice'idesse, olenemata sellest, kui palju vabu ridu eelmisest jÀÀb "rules" kĂ”igis eelnevalt.

Kust tuleb siis see ĂŒhilduvus vĂ”i ĂŒhilduvus puudumine ACL reeglite puhul? Asi on selles, et ĂŒks "rida" TCAM-is, kuhu kirjutatakse "reeglid", on 232 bit pikk ja jaguneb mitmeks vĂ€liseks - Fixed, Field1, Field2, Field3. 232 bit vĂ”i 29 byte TCAM mĂ€lust on tĂ€iesti piisav, et salvestada bit-mask teatud MAC vĂ”i IP aadressi jaoks, kuid see on oluliselt vĂ€hem kui tĂ€is Etherneti paketi pealkiri. Igas eraldi ACL-slice'is toodab ASIC sĂ”ltumatut otsingut, kasutades F1-F3 bit-mask-is mÀÀratud. Üldiselt vĂ”ib see otsing toimuda esimestel 128 byte-l Etherneti pealkirjast. Just sellepĂ€rast, et otsing vĂ”ib toimuda 128 byte ulatuses, samas kui salvestada saab vaid 29 byte, peab korrektse otsingu tagamiseks olema mÀÀratud nihke (offset) algusest paketi. Nihke mÀÀratakse iga ACL-slice jaoks, kui sinna kirjutatakse esimene reegel, ja kui jĂ€rgneva reegli kirjutamisel avastatakse vajadus teistsuguse nihke jĂ€rele, peetakse sellist reeglit esimese suhtes ĂŒhilduvaks ja kirjutatakse jĂ€rgmisse ACL-slice'i.

Allolevas tabelis on esitatud ACL-isse kirjutatud tingimuste ĂŒhilduvuse jĂ€rjekord. Iga eraldi rida sisaldab omavahel ĂŒhilduvaid ja teiste ridadega ĂŒhilduvaid bit-mask-e.

LĂŒlitite ACL-id detailides
Iga eraldi pakett, mida ASIC töödeldakse, kĂ€ivitab paralleelse otsingu igas ACL-slice'is. Kontroll toimub kuni esimese kokkusobivuseni ACL-slice'is, kuid samal ajal on lubatud mitu kokkusobivust ĂŒhe ja sama paketi puhul erinevates ACL-slice'ides. Igal eraldi "reeglil" on vastav tegevus, mida tuleb teha, kui tingimus (bit-mask) on tĂ€idetud. Kui vastavus toimub kohe mitu ACL-slice'is, siis "Action Conflict Resolution" plokis vastavalt ACL-slice'i prioriteedile otsustatakse, milline tegevus ellu viia. Kui ACL-is on toodud nii "action" (permit/deny) kui ka "action-modifier" (count/QoS/log/
), siis mitmete vastavuste korral viiakse ellu vaid prioriteetsem "action", kuid kĂ”ik “action-modifier’id” tĂ€idetakse. Alloleval nĂ€itel on nĂ€idatud, et mĂ”lemad loendurid suurenevad ja prioriteetsem "deny" teostatakse.

LĂŒlitite ACL-id detailides
"ACL Solutions Guide" rohkema teabe saamiseks ACL töö kohta on avatud juurdepÀÀs veebisaidil extremenetworks.com. KĂ”ik tekkinud vĂ”i jÀÀvad kĂŒsimused saab alati esitada meie kontori töötajatele - cis@extremenetworks.com.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster