Detalji ACL preklopnika

ACL (Access Control List) na mrežnim uređajima mogu biti implementirani kako hardverski, tako i softverski, ili jednostavnije rečeno hardver i softver. I ako je softverska ACL očigledna – to su pravila koja se čuvaju i obrađuju u radnoj memoriji (tj. na Control Plane), sa svim posljedicama koje to nosi, istražićemo kako su hardverske ACL implementirane i kako funkcionišu u našem članku. Kao primer koristićemo preklopnike serije ExtremeSwitching kompanije Extreme Networks.

Detalji ACL preklopnika

Budući da nas zanimaju isključivo hardverske ACL, od najveće je važnosti unutrašnja implementacija Data Plane-a, ili zapravo korišćenih čipseta (ASIC). Preklopnici svih serija kompanije Extreme Networks temelje se na ASIC čipovima od Broadcom-a, pa će većina informacija u nastavku biti važeća i za druge preklopnike prisutne na tržištu koji su takođe implementirani na sličnim ASIC-ima.

Kao što se može videti sa gornjeg crteža, za rad ACL u čipsetu odgovorni su “ContentAware Engine”, posebno za “ingress” i “egress”. Arhitektonski su identični, ali je “egress” manje skalabilan i manje funkcionalan. Fizički, oba “ContentAware Engine” predstavljaju TCAM memoriju plus prateću logiku, a svako korisničko ili sistemsko pravilo ACL predstavlja jednostavan bitmask (bit-mask) upisan u ovu memoriju. Iz tog razloga, obrada saobraćaja od strane čipseta vrši se po paketu i bez degradacije performansi.

Fizički, ista Ingress/Egress TCAM se logički deli na nekoliko segmenata (u zavisnosti od količine same memorije i platforme), što se naziva “ACL slices”. Na primer, takođe kao što se događa sa fizički istim HDD na vašem laptopu, kada kreirate nekoliko logičkih diskova na njemu – C:>, D:>. Svaki ACL-slice se sastoji od memorijskih ćelija, u obliku “redova” gde se upisuju “rules” (pravila/bit-maske).

Detalji ACL preklopnika
Raspodela TCAM-a na ACL-slices ima određenu logiku. U svakom od odvojenih ACL-slice mogu se zapisivati samo međusobno kompatibilna “rules”. Ako neki od “rules” nije kompatibilan s prethodnim, biće zabeležen u sledećem ACL-slice-u, bez obzira na to koliko slobodnih redova za “rules” ostaje u prethodnom.

Odakle dolazi ta kompatibilnost ili nekompatibilnost ACL pravila? Stvar je u tome što jedna „linija“ TCAM-a, u koju se upisuju „pravila“, ima dužinu od 232 bita i deli se na nekoliko polja – Fixed, Field1, Field2, Field3. 232 bita ili 29 bajta TCAM memorije je sasvim dovoljno da upiše bit-masku određenog MAC ili IP adrese, ali znatno manje od celog zaglavlja Ethernet paketa. U svakom pojedinačnom ACL-slice-u ASIC vrši nezavisno pretraživanje prema postavljenim F1-F3 bit-maskama. U suštini, ovo pretraživanje može se vršiti prema prvih 128 bajtova Ethernet zaglavlja. Baš zbog toga što se pretraživanje može vršiti prema 128 bajtova, a može se upisati samo 29 bajtova, za ispravno pretraživanje treba postaviti offset u odnosu na početak paketa. Offset za svaki ACL-slice postavlja se prilikom prvog upisa pravila, a ako se prilikom upisa narednog pravila otkrije potreba za drugim offsetom, to pravilo se smatra nekompatibilnim s prvim i upisuje se u sledeći ACL-slice.

U tabeli ispod prikazan je redosled kompatibilnosti uslova koji se upisuju u ACL. Svaki pojedinačni red sadrži kompatibilne jedne s drugima, i nekompatibilne s drugim redovima formirane bit-maske.

Detalji ACL preklopnika
Svaki pojedinačni paket koji obrađuje ASIC pokreće paralelno pretraživanje u svakom ACL-slice-u. Proveravanje se vrši do prvog podudaranja u ACL-slice-u, ali se omogućava višestruko podudaranje za isti paket u različitim ACL-slice-ima. Svako pojedinačno „pravilo“ ima odgovarajuću akciju koja se mora izvršiti u slučaju podudaranja uslova (bit-mask). Ako se podudaranje dogodi odmah u nekoliko ACL-slice-ova, u okviru „Akcije rešavanje sukoba“ na osnovu prioriteta ACL-slice-a donosi se odluka koju akciju izvršiti. Ako je u ACL-u navedena i „akcija“ (dozvoli/odbije) i „akcija-modifikator“ (broj / QoS / dnevnik /…), tada će se pri višestrukim podudaranjima izvršiti samo prioritetnija „akcija“, dok će se svi „akcija-modifikatori“ izvršiti. Na primeru ispod prikazano je da će oba brojila biti povećana i izvršena prioritetnija „odbij“.

Detalji ACL preklopnika
„Vodič za ACL rešenja“ s detaljnijim informacijama o radu ACL-a u otvorenom pristupu na sajtu extremenetworks.com. Bilo kakva nastala ili preostala pitanja uvek možete postaviti zaposlenima našeg kancelarije – cis@extremenetworks.com.

Izvor: habr.com

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster