ACL switch-ləri detallarında

Şəbəkə cihazlarında ACL (Access Control List) həm avadanlıq, həm də proqram təminatı ilə həyata keçirilə bilər. Proqram təminatı əsasında olan ACL-ləri anlamaq asandır — bu, yaddaşda (yəni Control Plane-də) saxlanılan və emal olunan qaydalardır, hansı ki, bunlarla bağlı müəyyən məhdudiyyətlər var. Hardware-based ACL-lərin necə həyata keçirildiyi və işlədiyi ilə bizim məqaləmizdə tanış olacağıq. Nümunə olaraq, Extreme Networks şirkətinin ExtremeSwitching seriyasının switch-lərini istifadə edəcəyik.

ACL switch-ləri detallarında

Biz hardware-based ACL-lərə diqqət etdiyimiz üçün əsasən Data Plane-in daxili icrası, yəni istifadə olunan çipsetlər (ASIC) bizim üçün önəmlidir. Extreme Networks şirkətinin bütün seriyalarındakı switch-lər Broadcom-un ASIC-ləri üzərində qurulub, bu səbəbdən aşağıda verilən məlumatların əksəriyyəti, bazarda təqdim olunan digər switch-lər üçün də etibarlıdır ki, bunlar da eyni ASIC-lər üzərində həyata keçirilib.

Yuxarıdakı şəkildən görünür ki, çipsetdə ACL-in işinə “ContentAware Engine” birbaşa cavabdehdir, eyni zamanda “ingress” və “egress” üçün ayrıca çalışır. Arxitektura baxımından onlar eynidirlər, yalnız “egress” daha az miqyaslaşdırıla biləndir və daha az funksionaldır. Fiziki cəhətdən hər iki “ContentAware Engine” TCAM yaddaşı və ona dəstək verən loqika ilə ibarətdir, hər bir istifadəçi və ya sistem qaydası ACL isə bu yaddaşda yazılmış sadə bit maskadır. Məhz buna görə çipsetdə trafikin emalı paket-paket və performansın azalması olmadan həyata keçirilir.

Fiziki cəhətdən eyni Ingress/Egress TCAM, bir neçə seqmentə (yaddaşın miqdarından və platformadan asılıdır) qismən bölünür, buna “ACL slices” deyilir. Məsələn, bu, laptopunuzdakı fiziki bir HDD ilə eynidir, onu bir neçə loqiki disklər yaratdığınız zaman - C:>, D:>. Hər bir ACL-slice, “rules” (qaydalar/bit-maskalar) yazılan yaddaş hüceyrələrindən ibarət olan “sətirlər”dən ibarətdir.

ACL switch-ləri detallarında
TCAM-ın ACL-slices-a bölünməsi müəyyən bir məntiqə malikdir. Hər bir ayrı ACL-slice-də yalnız bir-biri ilə uyğun olan “rules” yazıla bilər. Əgər hansısa “rules” əvvəlki ilə uyğun deyilsə, o, ardıcıl olan növbəti ACL-slice-ə yazılacaq, əvvəlkində neçə boş sətir qalsa da.

Bəs ACL qaydalarının uyğunluq və ya uyğun olmaması haradan yaranır? Məsələ ondadır ki, TCAM-ın bir "sırası", burada "qaydalar" yazılır, 232 bit uzunluğundadır və bir neçə sahəyə bölünür - Fixed, Field1, Field2, Field3. 232 bit və ya 29 bayt TCAM yaddaşı müəyyən bir MAC və ya IP adresinin bit-maskasını yazmaq üçün kifayətdir, lakin Ethernet paketinin tam başlığına nisbətdə xeyli aşağıdır. Hər bir ayrı ACL-slice ASIC, F1-F3 bit-maskasına uyğun olaraq müstəqil axtarış həyata keçirir. Ümumilikdə isə bu axtarış Ethernet başlığının ilk 128 baytına görə həyata keçirilə bilər. Doğrudan da, axtarışın 128 bayta qədər aparılabilməsinə görə, yalnız 29 baytın yazıldığı zaman düzgün axtarış üçün paketin başlanğıcına nisbətən bir ofset (offset) təyin edilməlidir. Hər bir ACL-slice üçün ofset ilk qayda yazıldığı zaman təyin edilir və əgər sonrakı qaydanı yazarkən başqa bir ofsetin lazım olduğu aşkar olunursa, həmin qayda ilk qayda ilə uyğun hesab edilmir və növbəti ACL-slice-a yazılır.

Aşağıdakı cədvəldə ACL-ə yazılan şərtlərin uyğunluq ardıcıllığı göstərilib. Hər bir ayrı sətir bir-biri ilə uyğun olan və digər sətrlərlə uyğun olmayan tərtib edilən bit-maskaları ehtiva edir.

ACL switch-ləri detallarında
Hər bir ayrı paket ASIC tərəfindən hər bir ACL-slice-da paralel axtarışa çıxarılır. Yoxlama, ACL-slice-da ilk uyğunluğa qədər aparılır, lakin eyni paket üçün müxtəlif ACL-slice-lərdə çoxsaylı uyğunluqa icazə verilir. Hər bir ayrı "qayda" uyğunluq baş verdikdə həyata keçirilməsi lazım olan müvafiq əməliyyata malikdir (bit-mask). Əgər bir neçə ACL-slice-da uyğunluq baş verirsə, "Action Conflict Resolution" blokunda ACL-slice-ın prioritetinə əsasən hansı əməliyyatı həyata keçirmək qərara alınır. Əgər ACL-də həm "action" (icazə/reddet), həm də "action-modifier" (say/count/QoS/log/...) varsa, çoxsaylı uyğunluq zamanı yalnız daha prioritetli "action" həyata keçiriləcək, "action-modifier" isə hamısı icra olunacaq. Aşağıdakı nümunədə, hər iki sayğacın artırılacağı və daha prioritetli "reddediləcək" əməliyyatın yerinə yetiriləcəyi göstərilir.

ACL switch-ləri detallarında
"ACL Həlli Bələdçisi" ACL-in iş prinsipi ilə bağlı daha ətraflı məlumat əldə etmək üçün açıq şəkildə saytda extremenetworks.com. Hər hansı yaranan və ya qalan sualları həmişə ofisimizin əməkdaşlarına yönləndirə bilərsiniz – cis@extremenetworks.com.

Mənbə: habr.com

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster