Şəbəkə cihazlarında ACL-lər (Access Control Lists) ya aparat və ya proqram təminatı, ya da daha çox aparat və proqram əsaslı ACL-lərdən istifadə etməklə həyata keçirilə bilər. Proqrama əsaslanan ACL-lər öz-özünə izahlı olsa da - onlar RAM-da (yəni İdarəetmə Planında) saxlanılan və emal edilən qaydalardır, bütün məhdudiyyətlərlə birlikdə - biz bu məqalədə aparat əsaslı ACL-lərin necə həyata keçirildiyini və işlədiyini araşdıracağıq. Nümunə olaraq Extreme Networks-dən ExtremeSwitching açarlarından istifadə edəcəyik.

Xüsusilə hardware əsaslı ACL-lərlə maraqlandığımız üçün Data Plane və ya istifadə olunan çipsetlərin (ASIC) daxili tətbiqi əsas əhəmiyyət kəsb edir. Bütün Extreme Networks məhsul xətlərindəki açarlar Broadcom ASIC-lər üzərində qurulur, buna görə də aşağıdakı məlumatların əksəriyyəti bazarda eyni ASIC-lərdə qurulan digər açarlara da şamil olunacaq.
Yuxarıdakı şəkildən göründüyü kimi, çipsetdəki "ContentAware Mühərriki" ayrı-ayrı "giriş" və "çıxış" mühərrikləri ilə ACL əməliyyatı üçün birbaşa cavabdehdir. Memarlıq baxımından onlar eynidir, yalnız "çıxış" daha az genişlənir və daha az funksionaldır. Fiziki olaraq, hər iki "ContentAware Mühərrikləri" TCAM yaddaşı və əlaqəli məntiqdən ibarətdir və hər bir istifadəçi və ya sistemin ACL qaydası bu yaddaşda saxlanılan sadə bit maskasıdır. Buna görə çipset heç bir performans azalması olmadan trafiki paket başına emal edir.
Vahid fiziki Giriş/Çıxış TCAM məntiqi olaraq "ACL dilimləri" adlanan bir neçə seqmentə (yaddaşın və platformanın miqdarından asılı olaraq) bölünür. Məsələn, laptopunuzda çoxlu məntiqi disklər yaratdığınız zaman eyni fiziki HDD ilə eyni şey baş verir—C:>, D:>. Hər bir ACL dilimi "qaydalar"ın (bit maskalarının) yazıldığı "sətirlər" şəklində yaddaş hüceyrələrindən ibarətdir.

TCAM-ın ACL dilimlərinə bölünməsinin arxasında xüsusi bir məntiq var. Hər bir fərdi ACL dilimində yalnız uyğun "qaydalar" ola bilər. Əgər "qayda" əvvəlki ilə uyğun gəlmirsə, əvvəlkində neçə pulsuz "qayda" sətirinin qalmasından asılı olmayaraq, növbəti ACL diliminə yazılacaq.
Bəs ACL qaydalarının bu uyğunluğu və ya uyğunsuzluğu haradan qaynaqlanır? Fakt budur ki, "qaydaların" yazıldığı bir TCAM "sətiri" 232 bit uzunluğundadır və bir neçə sahəyə bölünür - Sabit, Sahə1, Sahə2 və Sahə3. 232 bit və ya 29 bayt TCAM yaddaşı xüsusi MAC və ya IP ünvanının bit maskasını saxlamaq üçün kifayətdir, lakin tam Ethernet paket başlığından əhəmiyyətli dərəcədə azdır. Hər bir fərdi ACL dilimində ASIC F1-F3-də quraşdırılmış bit maskalarından istifadə edərək müstəqil axtarış həyata keçirir. Ümumiyyətlə, bu axtarış Ethernet başlığının ilk 128 baytında həyata keçirilə bilər. Axtarış 128 baytda aparıla bildiyindən, lakin yalnız 29 bayt yazıla bildiyindən, düzgün axtarış üçün paketin başlanğıcına nisbətən ofset təyin edilməlidir. Hər bir ACL dilimi üçün ofset ona birinci qayda yazıldıqda təyin edilir və sonrakı qaydanın yazılması zamanı fərqli ofsetə ehtiyac aşkar olunarsa, belə qayda birinci ilə uyğunsuz hesab edilir və növbəti ACL diliminə yazılır.
Aşağıdakı cədvəl ACL-də göstərilən şərtlərin uyğunluq sırasını göstərir. Hər bir fərdi sətir bir-biri ilə uyğun gələn və digər sətirlərlə uyğun olmayan bit maskalarını ehtiva edir.

ASIC tərəfindən işlənmiş hər bir fərdi paket hər bir ACL dilimində paralel axtarış aparır. Yoxlama ACL dilimində ilk uyğunluq tapılana qədər aparılır, lakin fərqli ACL dilimlərində eyni paket üçün çoxsaylı uyğunluqlara icazə verilir. Şərt (bit maskası) uyğun gələrsə, hər bir fərdi "qayda" yerinə yetirilməli olan müvafiq hərəkətə malikdir. Bir neçə ACL dilimində uyğunluq baş verərsə, "Fəaliyyət Münaqişəsinin Həlli" bloku ACL diliminin prioriteti əsasında hansı hərəkətin yerinə yetirilməsinə qərar verir. Əgər ACL həm “fəaliyyət”i (icazə vermək/inkar etmək) həm də “fəaliyyət dəyişdiricisini” (count/QoS/log/...) müəyyən edirsə, birdən çox uyğunluq halında, bütün “fəaliyyət dəyişdiriciləri” yerinə yetirilərkən yalnız daha yüksək prioritet “fəaliyyət” yerinə yetiriləcək. Aşağıdakı nümunə göstərir ki, hər iki sayğac artırılacaq və daha yüksək prioritetli "inkar" əməliyyatı yerinə yetiriləcək.

ACL-nin fəaliyyəti haqqında daha ətraflı məlumat internet saytında açıqdır Hər hansı bir sualınız və ya qalan suallarınız varsa, hər zaman ofisimizə müraciət edə bilərsiniz – .
Mənbə: www.habr.com
