ACL (Access Control List) na síťových zařízeních mohou být realizovány jak hardwarově, tak softwarově, jinými slovy hardware a software-based ACL. A zatímco software-based ACL jsou pravidla, která se uchovávají a zpracovávají v operační paměti (tj. na řídicím plánu), se všemi vyplývajícími omezeními, jak jsou realizovány a fungují hardware-based ACL, prozkoumáme v našem článku. Jako příklad budeme používat switche série ExtremeSwitching společnosti Extreme Networks.

Jelikož nás zajímají především hardware-based ACL, je pro nás klíčová vnitřní realizace Data Plane, nebo používaných čipsetů (ASIC). Switche všech řad společnosti Extreme Networks jsou založeny na ASIC od společnosti Broadcom, a proto většina níže uvedených informací bude také platit pro další switche dostupné na trhu, které jsou realizovány na stejných ASIC.
Jak je vidět z obrázku výše, za funkčnost ACL v čipsetu zodpovídají "Content-Aware Engine", a to samostatně na "ingress" a "egress". Architektonicky jsou stejné, pouze "egress" je méně škálovatelný a méně funkční. Fyzicky jsou oba "Content-Aware Engine" TCAM paměť plus přidružená logika, a každé uživatelské nebo systémové pravidlo ACL je jednoduchá bitová maska (bit-mask) zapsaná do této paměti. Právě proto se zpracování provozu čipsetem provádí po paketech a bez degradace výkonu.
Fyzicky je stejná Ingress/Egress TCAM logicky rozdělena na několik segmentů (závisí na množství paměti a platformě), tzv. "ACL slices". Například, to samé se děje s fyzicky stejným HDD na vašem notebooku, když na něm vytváříte několik logických disků – C:>, D:>. Každý ACL-slice se skládá z paměťových buněk, ve formě "řádků", kam se zapisují "rules" (pravidla/bitové masky).

Rozdělení TCAM na ACL-slices má určitý logický základ. V každém jednotlivém ACL-slice mohou být zapsána pouze vzájemně kompatibilní "rules". Pokud je některé z "rules" nekompatibilní s předchozím, bude zapsáno do dalšího po sobě jdoucího ACL-slice, bez ohledu na to, kolik volných řádků pro "rules" zůstalo v předchozím.
Odkud tedy pochází tato kompatibilita nebo nekompatibilita pravidel ACL? Jde o to, že jedna “řádka” TCAM, do které se zapisují “pravidla”, má délku 232 bitů a dělí se na několik polí – Fixed, Field1, Field2, Field3. 232 bitů nebo 29 byte TCAM paměti je dostatečné na to, aby zapsalo bit-mask určené MAC nebo IP adresy, ale je to výrazně méně než celý záhlaví Ethernet paketu. V každém jednotlivém ACL-slice ASIC provádí nezávislé vyhledávání podle nastavených v F1-F3 bit-maskech. Celkově však může být toto vyhledávání prováděno podle prvních 128 byte Ethernet záhlaví. Vlastně právě kvůli tomu, že vyhledávání může probíhat podle 128 byte, zatímco může být zapsáno pouze 29 byte, pro správné vyhledávání musí být nastavena offset (posun) vůči začátku paketu. Offset pro každý z ACL-slice je nastaven při zápisu prvního pravidla, a pokud při zápisu následujícího pravidla dojde k potřebě jiného offsetu, považuje se takové pravidlo za nekompatibilní s prvním a zapisuje se do následujícího ACL-slice.
V tabulce níže je uveden pořádek kompatibility podmínek zapisovaných do ACL. Každý jednotlivý řádek obsahuje vzájemně kompatibilní a nekompatibilní bit-masks pro ostatní řádky.

Každý jednotlivý paket zpracovávaný ASIC spouští paralelní vyhledávání v každém ACL-slice. Kontrola probíhá do prvního shody v ACL-slice, ale zároveň je povolena více shod pro jeden a ten samý paket v různých ACL-slice. Každé jednotlivé “pravidlo” má příslušnou akci, kterou je třeba provést v případě splnění podmínky (bit-mask). Pokud dojde k shodě ihned v několika ACL-slice, v bloku “Action Conflict Resolution” se na základě priority ACL-slice rozhoduje, kterou z akcí provést. Pokud je v ACL zapsáno jak “action” (permit/deny), tak “action-modifier” (count/QoS/log/…), pak při více shodách bude provedena pouze prioritní “action”, přičemž všechny “action-modifier” budou provedeny. Na příkladu níže je ukázáno, že budou zvýšeny oba počítače a provedena prioritní “deny”.

s podrobnějšími informacemi o funkci ACL volně dostupný na stránkách . Jakékoliv vzniklé nebo zbývající dotazy můžete vždy směřovat na zaměstnance naší kanceláře – .
Zdroj: habr.com
