Podrobnosti o ACL switchov

ACL (Seznam za nadzor dostopa) na omrežnih napravah je mogoče implementirati tako strojno kot programsko, ali pa rečeno drugače, kot hardware in software-based ACL. In če je pri software-based ACL vse jasno — to so pravila, ki se shranjujejo in obdelujejo v pomnilniku (tj. na kontrolnem nivoju), skupaj z vsemi omejitvami, ki iz tega izhajajo, se bomo v našem članku osredotočili na to, kako so implementirani in kako delujejo hardware-based ACL. Kot primer bomo uporabili stikala serije ExtremeSwitching podjetja Extreme Networks.

Podrobnosti o ACL switchov

Ker nas zanima predvsem hardware-based ACL, je za nas najpomembnejša notranja implementacija podatkovnega nivoja, oziroma konkretno uporabljenih čipov (ASIC). Stikala vseh serij podjetja Extreme Networks temeljijo na ASIC čipih podjetja Broadcom, zato bo večina spodaj navedenih informacij veljavna tudi za druga stikala, ki so na trgu in so implementirana na podobnih ASIC.

Kot je razvidno iz zgornje slike, za delovanje ACL v čipu skrbijo "Content-Aware Engine", ločeno na "ingress" in "egress". Arhitekturno sta si podobna, le da je "egress" manj razširljiv in manj funkcionalen. Fizično pa sta oba "Content-Aware Engine" TCAM pomnilnik plus pripadajoča logika, vsako uporabniško ali sistemsko pravilo ACL pa je preprosta bitna maska (bit-mask), zapisana v to pomnilnik. Zato čip obdeluje promet paket po paket, brez zmanjšanja zmogljivosti.

Fizično ista Ingress/Egress TCAM se logično deli na več segmentov (odvisno od količine samega pomnilnika in platforme), tako imenovane "ACL slices". Na primer, enako se dogaja s fizično enim in istim trdim diskom (HDD) v vašem prenosniku, ko ustvarite več logičnih diskov – C:>, D:>. Vsak ACL-slice pa je sestavljen iz spomina, v obliki "vrst", kjer se zapisujejo "rules" (pravila/bitne maske).

Podrobnosti o ACL switchov
Razdelitev TCAM na ACL-slices ima določeno logiko. V vsakem od ločenih ACL-slice se lahko zapišejo le med sabo združljiva "rules". Če je katero od "rules" nezdružljivo s predhodnim, se bo zapisalo v naslednji po vrsti ACL-slice, ne glede na to, koliko prostih vrstic za "rules" je ostalo v prejšnjem.

Kje torej izvira ta združljivost ali nezdružljivost pravil ACL? Dejstvo je, da ima ena "vrstica" TCAM, kjer so zapisani "pravila", dolžino 232 bit in je razdeljena na več polj – Fixed, Field1, Field2, Field3. 232 bit ali 29 byte TCAM pomnilnika je povsem dovolj za zapis bit-maske določenega MAC ali IP naslova, vendar je bistveno manj od celotne glave Ethernet paketa. V vsakem posameznem ACL-slicu ASIC izvaja neodvisno iskanje po nastavljeni bit-maski v F1-F3. Na splošno pa se to iskanje lahko izvede po prvih 128 byteih Ethernet glave. Pravzaprav je prav zaradi tega, ker se lahko iskanje izvede po 128 byteh, zapisano pa je lahko le 29 byte, za pravilno iskanje treba nastaviti odklon (offset) v razmerju do začetka paketa. Offset za vsak ACL-slice se nastavi med zapisom prvega pravila, in če pri zapisovanju naslednjega pravila pride do potrebe po drugem offsetu, se to pravilo šteje za nezdružljivo s prvim in se zapiše v naslednji ACL-slice.

V tabeli spodaj je prikazan redosled združljivosti pogojev, zapisanih v ACL. Vsaka posamezna vrstica vsebuje združljive med seboj in nezdružljive z drugimi vrsticami oblikovane bit-maske.

Podrobnosti o ACL switchov
Vsak posamezen paket, obdelan z ASIC, sproži vzporedno iskanje v vsakem ACL-slicu. Preverjanje poteka do prvega ujemanja v ACL-slicu, vendar je omogočeno večkratno ujemanje za isti paket v različnih ACL-slicih. Vsako posamezno "pravilo" ima ustrezno dejanje, ki ga je treba izvesti v primeru ujemanja pogoja (bit-maske). Če pride do ujemanja hkrati v več ACL-slicih, se v bloku "Reševanje konfliktov dejanj" na podlagi prednosti ACL-slica sprejme odločitev, katero dejanje izvesti. Če je v ACL zapisano tako "dejanje" (dovoli/zavrni) kot "dejanje-modifikator" (štej/QoS/log/...), se pri večkratnih ujemanjih izvede le bolj prioritetno "dejanje", medtem ko se vsa "dejanje-modifikator" izvedejo. Na spodnjem primeru je prikazano, da bosta oba števcem povečana in bo izvedeno bolj prioritetno "zavrni".

Podrobnosti o ACL switchov
"Vodnik za rešitve ACL" z bolj podrobnimi informacijami o delovanju ACL na voljo na spletnem mestu extremenetworks.com. Kakšna koli vprašanja ali nejasnosti lahko vedno postavite zaposlenim v našem uradu – cis@extremenetworks.com.

Izvor: habr.com

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster