ACL'leri ayrıntılı olarak değiştirin

Ağ cihazlarındaki ACL'ler (Erişim Kontrol Listesi), hem donanım hem de yazılıma veya daha genel anlamda donanım ve yazılım tabanlı ACL'lere uygulanabilir. Ve yazılım tabanlı ACL'lerle ilgili her şeyin açık olması gerekiyorsa - bunlar, sonraki tüm kısıtlamalarla birlikte RAM'de (yani Kontrol Düzleminde) depolanan ve işlenen kurallardır, o zaman donanım tabanlı ACL'lerin nasıl uygulandığını ve nasıl çalıştığını anlayacağız. madde. Örnek olarak Extreme Networks'ün ExtremeSwitching serisindeki anahtarları kullanacağız.

ACL'leri ayrıntılı olarak değiştirin

Donanım tabanlı ACL'lerle ilgilendiğimiz için Veri Düzleminin dahili uygulaması veya kullanılan gerçek yonga kümeleri (ASIC'ler) bizim için büyük önem taşıyor. Tüm Extreme Networks anahtar hatları Broadcom ASIC'ler üzerine kurulmuştur ve bu nedenle aşağıdaki bilgilerin çoğu aynı ASIC'ler üzerinde uygulanan piyasadaki diğer anahtarlar için de geçerli olacaktır.

Yukarıdaki şekilden de görülebileceği gibi “ContentAware Engine”, yonga setindeki ACL'lerin “giriş” ve “çıkış” için ayrı ayrı çalışmasından doğrudan sorumludur. Mimari olarak aynıdırlar, yalnızca “çıkış” daha az ölçeklenebilir ve daha az işlevseldir. Fiziksel olarak, her iki "ContentAware Engine" de TCAM belleği artı ona eşlik eden mantıktan oluşur ve her kullanıcı veya sistem ACL kuralı, bu belleğe yazılan basit bir bit maskesidir. Yonga setinin trafik paketlerini performans düşüşü olmadan paketler halinde işlemesinin nedeni budur.

Fiziksel olarak, aynı Giriş/Çıkış TCAM, mantıksal olarak "ACL dilimleri" adı verilen çeşitli bölümlere (bellek miktarına ve platforma bağlı olarak) bölünmüştür. Örneğin, üzerinde birkaç mantıksal sürücü oluşturduğunuzda, dizüstü bilgisayarınızda fiziksel olarak aynı HDD ile aynı şey olur - C:>, D:>. Her ACL dilimi ise “kuralların” (kurallar/bit maskelerinin) yazıldığı “diziler” formundaki bellek hücrelerinden oluşur.

ACL'leri ayrıntılı olarak değiştirin
TCAM'ın ACL dilimlerine bölünmesinin arkasında belli bir mantık vardır. Bireysel ACL dilimlerinin her birine yalnızca birbiriyle uyumlu “kurallar” yazılabilir. Eğer "kurallardan" herhangi biri öncekiyle uyumlu değilse, öncekinde "kurallar" için kaç tane boş satır kaldığına bakılmaksızın bir sonraki ACL dilimine yazılacaktır.

Peki ACL kurallarının bu uyumluluğu veya uyumsuzluğu nereden geliyor? Gerçek şu ki, "kuralların" yazıldığı bir TCAM "satırı" 232 bit uzunluğa sahiptir ve birkaç alana bölünmüştür - Sabit, Alan1, Alan2, Alan3. 232 bit veya 29 baytlık TCAM belleği, belirli bir MAC veya IP adresinin bit maskesini kaydetmek için yeterlidir, ancak tam Ethernet paket başlığından çok daha azdır. ASIC, her bir ACL diliminde, F1-F3'teki bit maskesi setine göre bağımsız bir arama gerçekleştirir. Genel olarak bu arama, Ethernet başlığının ilk 128 baytı kullanılarak gerçekleştirilebilir. Aslında arama 128 bayt üzerinde gerçekleştirilebildiğinden ancak yalnızca 29 bayt yazılabildiğinden, doğru bir arama için paketin başlangıcına göre bir ofsetin ayarlanması gerekir. Her bir ACL diliminin ofseti, ona ilk kural yazıldığında ayarlanır ve sonraki bir kural yazılırken başka bir ofsete ihtiyaç duyulursa, bu tür bir kuralın ilk kuralla uyumsuz olduğu kabul edilir ve sonraki ACL dilimi.

Aşağıdaki tablo ACL'de belirtilen koşulların uyumluluk sırasını göstermektedir. Her bir satır, birbiriyle uyumlu ve diğer satırlarla uyumsuz, üretilmiş bit maskeleri içerir.

ACL'leri ayrıntılı olarak değiştirin
ASIC tarafından işlenen her bir paket, her ACL diliminde paralel bir arama çalıştırır. Kontrol, ACL dilimindeki ilk eşleşmeye kadar gerçekleştirilir, ancak farklı ACL dilimlerinde aynı paket için birden fazla eşleşmeye izin verilir. Her bir “kuralın”, koşulun (bit maskesi) eşleşmesi durumunda gerçekleştirilmesi gereken karşılık gelen bir eylemi vardır. Aynı anda birden fazla ACL diliminde bir eşleşme meydana gelirse, ACL diliminin önceliğine bağlı olarak "Eylem Çakışma Çözümü" bloğunda hangi eylemin gerçekleştirileceğine karar verilir. ACL hem "eylem" (izin ver/reddet) hem de "eylem değiştirici" (sayım/QoS/log/...) içeriyorsa, birden fazla eşleşme olması durumunda yalnızca yüksek öncelikli "eylem" yürütülürken, "eylem" yürütülür. -modifier”ın tümü tamamlanacak. Aşağıdaki örnek, her iki sayacın da artırılacağını ve daha yüksek öncelikli olan “reddet” işleminin yürütüleceğini göstermektedir.

ACL'leri ayrıntılı olarak değiştirin
“ACL Çözüm Kılavuzu” ACL'nin kamuya açık alanda işleyişi hakkında daha ayrıntılı bilgi içeren web sitesinde extremenetworks.com. Ortaya çıkan veya devam eden tüm sorular her zaman ofis personelimize sorulabilir - [e-posta korumalı].

Kaynak: habr.com

Yorum ekle