Detaljno prebacite ACL-ove

ACL-ovi (Access Control List) na mrežnim uređajima mogu se implementirati iu hardveru iu softveru, ili uobičajenije rečeno, ACL-ovima koji se temelje na hardveru i softveru. A ako bi sve trebalo biti jasno sa ACL-ovima temeljenim na softveru - to su pravila koja se pohranjuju i obrađuju u RAM-u (tj. na kontrolnoj ravni), sa svim ograničenjima koja iz toga proizlaze, tada ćemo razumjeti kako se ACL-ovi temeljeni na hardveru implementiraju i rade na našem članak. Kao primjer koristit ćemo preklopnike iz serije ExtremeSwitching tvrtke Extreme Networks.

Detaljno prebacite ACL-ove

Budući da smo zainteresirani za ACL-ove koji se temelje na hardveru, interna implementacija Data Plane-a ili stvarni korišteni skupovi čipova (ASIC-ovi) za nas su od najveće važnosti. Sve linije prekidača Extreme Networks izgrađene su na Broadcom ASIC-ovima i stoga će većina informacija u nastavku vrijediti i za druge prekidače na tržištu koji su implementirani na istim ASIC-ovima.

Kao što se može vidjeti na gornjoj slici, "ContentAware Engine" izravno je odgovoran za rad ACL-ova u čipsetu, odvojeno za "ulaz" i "izlaz". Arhitektonski su isti, samo je “egress” manje skalabilan i manje funkcionalan. Fizički, oba "ContentAware Enginea" su TCAM memorija plus popratna logika, a svako korisničko ili sistemsko ACL pravilo je jednostavna bit-maska ​​zapisana u ovu memoriju. Zbog toga čipset obrađuje promet paket po paket i bez degradacije performansi.

Fizički, isti Ingress/Egress TCAM je pak logički podijeljen u nekoliko segmenata (ovisno o količini same memorije i platformi), takozvanih "ACL odsječaka". Na primjer, ista stvar se događa s fizički istim HDD-om na vašem prijenosnom računalu kada na njemu stvorite nekoliko logičkih pogona - C:>, D:>. Svaki ACL-odsječak se pak sastoji od memorijskih ćelija u obliku "stringova" gdje su zapisana "pravila" (pravila/bit maske).

Detaljno prebacite ACL-ove
Podjela TCAM-a na ACL-odsječke iza sebe ima određenu logiku. U svakom od pojedinačnih ACL-odsječaka mogu se napisati samo "pravila" koja su međusobno kompatibilna. Ako bilo koje od "pravila" nije kompatibilno s prethodnim, tada će biti zapisano u sljedeći ACL-slice, bez obzira na to koliko je slobodnih redaka za "pravila" ostalo u prethodnom.

Odakle onda ta kompatibilnost ili nekompatibilnost ACL pravila? Činjenica je da jedna TCAM "linija", u kojoj su zapisana "pravila", ima duljinu od 232 bita i podijeljena je u 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-odsječku, ASIC izvodi neovisno pretraživanje prema bit-maski postavljenoj u F1-F3. Općenito, ovo pretraživanje 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 se može napisati samo 29 bajtova, za ispravno traženje mora se postaviti pomak u odnosu na početak paketa. Pomak za svaki ACL-odsječak postavlja se 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-odsječak.

Donja tablica prikazuje 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 svakom ACL-odsječku. Provjera se izvodi do prvog podudaranja u ACL-odsječku, ali je dopušteno više podudaranja za isti paket u različitim ACL-odsječcima. Svako pojedinačno "pravilo" ima odgovarajuću radnju koja se mora izvršiti ako se uvjet (bit-maska) podudara. Ako dođe do podudaranja u nekoliko ACL-odsječaka odjednom, tada se u bloku "Action Conflict Resolution", na temelju prioriteta ACL-odsječka, donosi odluka koju akciju izvršiti. Ako ACL sadrži i "radnju" (dozvoli/zabrani) i "modifikator radnje" (count/QoS/log/...), tada će se u slučaju više podudaranja izvršiti samo "akcija" višeg prioriteta, dok će "akcija -modifikator” bit će sve dovršeno. Primjer u nastavku pokazuje da će se oba brojača povećati i da će se izvršiti "deny" višeg prioriteta.

Detaljno prebacite ACL-ove
“Vodič za ACL rješenja” s detaljnijim informacijama o radu ACL-a u javnoj domeni na web stranici extremenetworks.com. Sva pitanja koja se pojave ili ostanu uvijek se mogu postaviti osoblju našeg ureda - [e-pošta zaštićena].

Izvor: www.habr.com

Dodajte komentar