Cambia l'ACL in dettaglio

L'ACL (Lista di cuntrollu di l'accessu) nantu à i dispositi di rete ponu esse implementati in hardware è software, o più cumunimenti, ACL basati in hardware è software. È se tuttu deve esse chjaru cù l'ACL basati in software - queste sò reguli chì sò almacenati è processati in RAM (vale à dì nantu à u pianu di cuntrollu), cù tutte e restrizioni chì seguitanu, allora capisceremu cumu l'ACL basati in hardware sò implementati è travaglianu i nostri. articulu. Cum'è un esempiu, avemu aduprà switch da a serie ExtremeSwitching da Extreme Networks.

Cambia l'ACL in dettaglio

Siccomu avemu interessatu in l'ACL basati in hardware, l'implementazione interna di u Pianu di Dati, o i chipsets (ASIC) attuali utilizati, hè di primura impurtanza per noi. Tutte e linee di commutazione di Extreme Networks sò custruite nantu à Broadcom ASIC, è per quessa a maiò parte di l'infurmazioni quì sottu serà ancu vera per altri switches in u mercatu chì sò implementati nantu à i stessi ASIC.

Comu pò esse vistu da a figura sopra, u "ContentAware Engine" hè direttamente rispunsevule per l'operazione di ACL in u chipset, separatamente per "ingress" è "egress". Architecturally, sò listessi, solu "egress" hè menu scalable è menu funziunale. Fisicamente, i dui "ContentAware Engines" sò memoria TCAM più logica accumpagnata, è ogni regula ACL di l'utilizatori o di u sistema hè una semplice maschera di bit scritta in questa memoria. Hè per quessa chì u chipset processa u trafficu pacchettu per pacchettu è senza degradazione di u rendiment.

Fisicamente, u listessu Ingress / Egress TCAM, à u turnu, hè divisu logicamente in parechji segmenti (secondu a quantità di memoria stessu è a piattaforma), i chjamati "ACL slices". Per esempiu, a listessa cosa succedi cù fisicamenti u stessu HDD in u vostru laptop quandu create parechje unità logiche - C:>, D:>. Ogni ACL-slice, à u turnu, hè custituitu di celle di memoria in forma di "stringhe" induve sò scritte "reguli" (reguli / maschere di bit).

Cambia l'ACL in dettaglio
A divisione di TCAM in ACL-slices hà una certa logica daretu. In ognuna di l'ACL-slices individuali, solu "règuli" chì sò cumpatibili cù l'altri ponu esse scrittu. Se qualchissia di e "règuli" ùn hè micca cumpatibile cù u precedente, allora serà scrittu à u prossimu ACL-slice, indipendentemente da quante linee libere per "règuli" sò lasciate in u precedente.

Da induve vene sta cumpatibilità o incompatibilità di e regule ACL? U fattu hè chì una "linea" TCAM, induve "règuli" hè scrittu, hà una lunghezza di 232 bits è hè divisu in parechji campi - Fixed, Field1, Field2, Field3. A memoria TCAM di 232 bit o 29 byte hè abbastanza per registrà a maschera di bit di un indirizzu MAC o IP specificu, ma assai menu di l'intestazione di u pacchettu Ethernet sanu. In ogni ACL-slice individuale, l'ASIC realiza una ricerca indipendente secondu a maschera di bit set in F1-F3. In generale, sta ricerca pò esse realizata cù i primi 128 bytes di l'intestazione Ethernet. In realtà, precisamente perchè a ricerca pò esse realizata nantu à 128 bytes, ma solu 29 bytes ponu esse scritti, per una ricerca curretta deve esse stabilitu un offset relative à l'iniziu di u pacchettu. L'offset per ogni ACL-slice hè stabilitu quandu a prima regula hè scritta à questu, è se, quandu scrivite una regula dopu, a necessità di un altru offset hè scupertu, allora una tale regula hè cunsiderata incompatibile cù a prima è hè scritta à u prossimu ACL-slice.

A tabella sottu mostra l'ordine di cumpatibilità di e cundizioni specificate in l'ACL. Ogni linea individuale cuntene maschere di bit generate chì sò cumpatibili l'una cù l'altri è incompatibili cù altre linee.

Cambia l'ACL in dettaglio
Ogni pacchettu individuale processatu da l'ASIC esegue una ricerca parallela in ogni ACL-slice. U cuntrollu hè realizatu finu à a prima partita in l'ACL-slice, ma parechje partite sò permesse per u stessu pacchettu in diverse ACL-slices. Ogni individuu "regula" hà una azzione currispundente chì deve esse realizatu se a cundizione (bit-mask) hè cumminata. Se una partita si trova in parechje ACL-slice à una volta, allora in u bloccu "Action Conflict Resolution", basatu annantu à a priorità di l'ACL-slice, una decisione hè presa quale azione per fà. Se l'ACL cuntene sia "azzione" (permette / deni) è "azzione-modificatore" (count/QoS/log/...), allora in casu di parechje partite solu l'"azione" di priorità più alta serà eseguita, mentre chì "azzione" -modifier" serà tuttu cumpletu. L'esempiu sottu mostra chì i dui cuntatori seranu incrementati è a priorità più alta "negazione" serà eseguita.

Cambia l'ACL in dettaglio
"Guida alle soluzioni ACL" cù infurmazione più dettagliata nantu à l'operazione di ACL in u duminiu publicu nantu à u situ web extremenetworks.com. Ogni quistione chì sorge o resta pò sempre esse dumandata à u nostru staffu di l'uffiziu - [email prutettu].

Source: www.habr.com

Add a comment