Switch ACLs yn detail

ACL's (Access Control List) op netwurkapparaten kinne wurde ymplementearre sawol yn hardware as software, as gewoaner sprutsen, hardware en software-basearre ACL's. En as alles dúdlik wêze moat mei software-basearre ACL's - dit binne regels dy't wurde opslein en ferwurke yn RAM (dus op it Control Plane), mei alle dêropfolgjende beheiningen, dan sille wy begripe hoe't hardware-basearre ACL's wurde ymplementearre en wurkje ús lidwurd. As foarbyld sille wy skeakels brûke fan 'e ExtremeSwitching-searje fan Extreme Networks.

Switch ACLs yn detail

Sûnt wy binne ynteressearre yn hardware-basearre ACL's, is de ynterne ymplemintaasje fan 'e Data Plane, of de eigentlike chipsets (ASIC's) brûkt, fan it grutste belang foar ús. Alle Extreme Networks switch linen binne boud op Broadcom ASICs, en dêrom sil de measte ynformaasje hjirûnder ek wier wêze foar oare skakelaars op 'e merk dy't wurde útfierd op deselde ASICs.

As kin sjoen wurde út de figuer hjirboppe, de "ContentAware Engine" is direkt ferantwurdlik foar de wurking fan ACLs yn de chipset, apart foar "yngong" en "útgong". Arsjitektoanysk binne se itselde, allinich "útgong" is minder skalberber en minder funksjoneel. Fysiek binne beide "ContentAware Engines" TCAM-ûnthâld plus byhearrende logika, en elke brûker of systeem ACL-regel is in ienfâldige bitmasker skreaun nei dit ûnthâld. Dêrom ferwurket de chipset ferkearspakket foar pakket en sûnder prestaasjesdegradaasje.

Fysiek is deselde Ingress / Egress TCAM, op ​​syn beurt, logysk ferdield yn ferskate segminten (ôfhinklik fan it bedrach fan ûnthâld sels en it platfoarm), de saneamde "ACL-slices". Bygelyks, itselde ding bart mei fysyk deselde HDD op jo laptop as jo ferskate logyske driuwfearren derop meitsje - C:>, D:>. Elke ACL-slice, op syn beurt, bestiet út ûnthâld sellen yn 'e foarm fan "strings" dêr't "regels" (regels / bit maskers) wurde skreaun.

Switch ACLs yn detail
De ferdieling fan TCAM yn ACL-slices hat in bepaalde logika efter it. Yn elk fan 'e yndividuele ACL-slices kinne allinich "regels" wurde skreaun dy't kompatibel binne mei elkoar. As ien fan 'e "regels" net kompatibel is mei de foarige, dan sil it skreaun wurde nei de folgjende ACL-slice, nettsjinsteande hoefolle frije rigels foar "regels" oerbleaun binne yn 'e foarige.

Wêr komt dan dizze kompatibiliteit of ynkompatibiliteit fan ACL-regels wei? It feit is dat ien TCAM "line", dêr't "regels" wurdt skreaun, hat in lingte fan 232 bits en is ferdield yn ferskate fjilden - Fêst, Field1, Field2, Field3. 232-bit of 29-byte TCAM-ûnthâld is genôch om it bitmasker fan in spesifyk MAC- of IP-adres op te nimmen, mar folle minder dan de folsleine Ethernet-pakketkop. Yn elke yndividuele ACL-slice docht de ASIC in ûnôfhinklike opsykje neffens it bitmasker ynsteld yn F1-F3. Yn 't algemien kin dizze opsykje wurde útfierd mei de earste 128 bytes fan' e Ethernet-header. Eins, krekt om't it sykjen kin wurde útfierd oer 128 bytes, mar mar 29 bytes kin wurde skreaun, foar in krekte opsykje in offset wurde ynsteld relatyf oan it begjin fan it pakket. De offset foar elke ACL-slice wurdt ynsteld as de earste regel deroan wurdt skreaun, en as, by it skriuwen fan in folgjende regel, de needsaak foar in oare offset wurdt ûntdutsen, dan wurdt sa'n regel beskôge as ynkompatibel mei de earste en wurdt skreaun nei de folgjende ACL-slice.

De tabel hjirûnder toant de folchoarder fan kompatibiliteit fan 'e betingsten spesifisearre yn' e ACL. Eltse yndividuele line befettet oanmakke bit-maskers dy't ferienichber binne mei inoar en ynkompatibel mei oare rigels.

Switch ACLs yn detail
Elk yndividueel pakket ferwurke troch de ASIC rint in parallelle opsykjen yn elke ACL-slice. De kontrôle wurdt útfierd oant de earste wedstriid yn 'e ACL-slice, mar meardere wedstriden binne tastien foar itselde pakket yn ferskate ACL-slices. Elke yndividuele "regel" hat in oerienkommende aksje dy't moat wurde útfierd as de betingst (bit-masker) oerienkomt. As in wedstriid yn ferskate ACL-slices tagelyk foarkomt, dan wurdt yn it blok "Action Conflict Resolution", basearre op de prioriteit fan 'e ACL-slice, in beslút makke hokker aksje út te fieren is. As de ACL sawol "aksje" (fergunning / wegerje) as "aksje-modifier" (count / QoS / log / ...) befettet, dan sil yn gefal fan meardere wedstriden allinich de "aksje" mei hegere prioriteit wurde útfierd, wylst "aksje" -modifier” sil allegear foltôge wurde. It foarbyld hjirûnder lit sjen dat beide tellers sille wurde ferhege en de hegere prioriteit "weidzje" sil wurde útfierd.

Switch ACLs yn detail
"ACL Solutions Guide" mei mear detaillearre ynformaasje oer de wurking fan ACL yn it publike domein op 'e webside extremenetworks.com. Alle fragen dy't opkomme of bliuwe kinne altyd steld wurde oan ús kantoarpersoniel - [e-post beskerme].

Boarne: www.habr.com

Add a comment