Detaljno prebacite ACL-ove

ACL-ovi (Access Control List) na mrežnim uređajima mogu se implementirati iu hardveru iu softveru, ili još češće govoreći, ACL-ovima zasnovanim na hardveru i softveru. A ako bi sve trebalo da bude jasno sa ACL-ovima zasnovanim na softveru - ovo su pravila koja se pohranjuju i obrađuju u RAM-u (tj. na kontrolnoj ravni), sa svim ograničenjima koja iz toga proizilaze, onda ćemo shvatiti kako se implementiraju hardverski bazirani ACL-ovi i kako rade naši članak. Kao primjer, koristit ćemo prekidače iz serije ExtremeSwitching iz Extreme Networks.

Detaljno prebacite ACL-ove

Budući da smo zainteresovani za hardverski bazirani ACL, interna implementacija Data Plane, ili stvarni čipsetovi (ASIC) koji se koriste, za nas je od najveće važnosti. Sve linije komutatora Extreme Networks izgrađene su na Broadcom ASIC-ima, i stoga će većina informacija u nastavku također vrijediti i za druge prekidače na tržištu koji su implementirani na istim ASIC-ovima.

Kao što se može vidjeti sa gornje slike, “ContentAware Engine” je direktno odgovoran za rad ACL-ova u čipsetu, odvojeno za “ulaz” i “izlaz”. Arhitektonski, oni su isti, samo je “izlaz” manje skalabilan i manje funkcionalan. Fizički, oba “ContentAware motora” su TCAM memorija plus prateća logika, a svako korisničko ili sistemsko ACL pravilo je jednostavna bit-maska ​​upisana u ovu memoriju. Zbog toga čipset obrađuje paket po paket i bez degradacije performansi.

Fizički, isti ulazni/izlazni TCAM, pak, logično je podijeljen na nekoliko segmenata (u zavisnosti od količine same memorije i platforme), takozvanih „ACL rezova“. Na primjer, ista stvar se dešava sa fizički istim HDD-om na vašem laptopu kada kreirate nekoliko logičkih diskova na njemu - C:>, D:>. Svaki ACL-srez se, zauzvrat, sastoji od memorijskih ćelija u obliku "stringova" u koje su upisana "pravila" (pravila/bitne maske).

Detaljno prebacite ACL-ove
Podjela TCAM-a na ACL-slice ima određenu logiku iza sebe. U svakom od pojedinačnih ACL-sreza mogu se napisati samo “pravila” koja su međusobno kompatibilna. Ako neko od “pravila” nije kompatibilno s prethodnim, tada će biti upisano u sljedeći ACL-srez, bez obzira na to koliko je slobodnih redova za “pravila” preostalo u prethodnom.

Odakle onda ova kompatibilnost ili nekompatibilnost ACL pravila? Činjenica je da jedna TCAM „linija“, u kojoj su napisana „pravila“, ima dužinu od 232 bita i podijeljena je na nekoliko polja - Fixed, Field1, Field2, Field3. TCAM memorija od 232 bita ili 29 bajta dovoljna je za snimanje bit-maske određene MAC ili IP adrese, ali mnogo manje od punog zaglavlja Ethernet paketa. U svakom pojedinačnom ACL-slice-u, ASIC izvodi nezavisno traženje prema bit-maski postavljenoj u F1-F3. Općenito, ovo traženje se može izvršiti korištenjem prvih 128 bajtova Ethernet zaglavlja. Zapravo, upravo zato što se pretraga može izvršiti preko 128 bajtova, ali samo 29 bajtova može biti upisano, za ispravno traženje mora se postaviti pomak u odnosu na početak paketa. Pomak za svaki ACL-slice se postavlja kada se u njega upiše prvo pravilo, a ako se prilikom pisanja sljedećeg pravila otkrije potreba za drugim pomakom, tada se takvo pravilo smatra nekompatibilnim s prvim i upisuje se u sljedeći ACL-srez.

Tabela ispod pokazuje redoslijed kompatibilnosti uvjeta navedenih u ACL-u. Svaka pojedinačna linija sadrži generirane bit-maske koje su međusobno kompatibilne i nekompatibilne s drugim linijama.

Detaljno prebacite ACL-ove
Svaki pojedinačni paket koji obrađuje ASIC pokreće paralelno traženje u svakoj ACL-slici. Provjera se izvodi do prvog podudaranja u ACL-srezu, ali je dozvoljeno više podudaranja za isti paket u različitim ACL-srezovima. Svako pojedinačno “pravilo” ima odgovarajuću radnju koja se mora izvršiti ako se uvjet (bit-maska) podudara. Ako se podudaranje dogodi u nekoliko ACL-sreza odjednom, tada se u bloku “Razmišljanje sukoba radnji”, na osnovu prioriteta ACL-sreza, donosi odluka koju radnju izvršiti. Ako ACL sadrži i “akciju” (dozvola/odbijanje) i “modifikator radnje” (broj/QoS/log/…), tada će se u slučaju višestrukih podudaranja izvršiti samo “akcija” višeg prioriteta, dok će “akcija -modifikator” će sve biti završeno. Primjer ispod pokazuje da će oba brojača biti povećana i da će se izvršiti „zabranjivanje“ višeg prioriteta.

Detaljno prebacite ACL-ove
“Vodič za ACL rješenja” sa detaljnijim informacijama o radu ACL-a u javnom domenu na web stranici extremenetworks.com. Sva pitanja koja se pojave ili ostaju uvijek možete postaviti našem kancelarijskom osoblju - [email zaštićen].

izvor: www.habr.com

Dodajte komentar