Ganti ACL secara detail

ACL (Access Control List) pada perangkat jaringan dapat diimplementasikan baik pada perangkat keras maupun perangkat lunak, atau lebih umum lagi, ACL berbasis perangkat keras dan perangkat lunak. Dan jika semuanya harus jelas dengan ACL berbasis perangkat lunak - ini adalah aturan yang disimpan dan diproses dalam RAM (yaitu di Control Plane), dengan semua batasan berikutnya, maka kita akan memahami bagaimana ACL berbasis perangkat keras diimplementasikan dan bekerja. artikel. Sebagai contoh, kami akan menggunakan sakelar dari seri ExtremeSwitching dari Extreme Networks.

Ganti ACL secara detail

Karena kami tertarik pada ACL berbasis perangkat keras, implementasi internal Data Plane, atau chipset aktual (ASIC) yang digunakan, sangatlah penting bagi kami. Semua jalur switch Jaringan Ekstrim dibangun di atas ASIC Broadcom, dan oleh karena itu sebagian besar informasi di bawah ini juga berlaku untuk switch lain di pasar yang diimplementasikan pada ASIC yang sama.

Seperti yang dapat dilihat dari gambar di atas, “ContentAware Engine” bertanggung jawab langsung atas pengoperasian ACL di chipset, secara terpisah untuk “ingress” dan “egress”. Secara arsitektur, keduanya sama, hanya “jalan keluar” yang kurang terukur dan kurang fungsional. Secara fisik, kedua "Mesin ContentAware" adalah memori TCAM ditambah logika yang menyertainya, dan setiap aturan ACL pengguna atau sistem adalah bit-mask sederhana yang ditulis ke memori ini. Itulah sebabnya chipset memproses lalu lintas paket demi paket dan tanpa penurunan kinerja.

Secara fisik, TCAM Ingress/Egress yang sama, pada gilirannya, dibagi secara logis menjadi beberapa segmen (tergantung pada jumlah memori itu sendiri dan platform), yang disebut “irisan ACL”. Misalnya, hal yang sama terjadi dengan HDD yang secara fisik sama di laptop Anda ketika Anda membuat beberapa drive logis di dalamnya - C:>, D:>. Setiap irisan ACL, pada gilirannya, terdiri dari sel memori dalam bentuk “string” di mana “aturan” (aturan/bit mask) ditulis.

Ganti ACL secara detail
Pembagian TCAM menjadi irisan ACL memiliki logika tertentu di baliknya. Di masing-masing irisan ACL, hanya “aturan” yang kompatibel satu sama lain yang dapat ditulis. Jika salah satu “aturan” tidak kompatibel dengan yang sebelumnya, maka aturan tersebut akan ditulis ke potongan ACL berikutnya, terlepas dari berapa banyak baris bebas untuk “aturan” yang tersisa di potongan sebelumnya.

Lalu dari mana datangnya kompatibilitas atau ketidakcocokan aturan ACL ini? Faktanya adalah bahwa satu "baris" TCAM, tempat "aturan" ditulis, memiliki panjang 232 bit dan dibagi menjadi beberapa bidang - Tetap, Bidang1, Bidang2, Bidang3. Memori TCAM 232 bit atau 29 byte cukup untuk merekam bit-mask dari alamat MAC atau IP tertentu, tetapi jauh lebih sedikit dibandingkan header paket Ethernet lengkap. Di setiap irisan ACL, ASIC melakukan pencarian independen sesuai dengan set bit-mask di F1-F3. Secara umum, pencarian ini dapat dilakukan dengan menggunakan 128 byte pertama dari header Ethernet. Sebenarnya, justru karena pencarian dapat dilakukan pada 128 byte, namun hanya 29 byte yang dapat ditulis, untuk pencarian yang benar, offset harus diatur relatif terhadap awal paket. Offset untuk setiap irisan ACL diatur ketika aturan pertama ditulis padanya, dan jika, ketika menulis aturan berikutnya, kebutuhan untuk offset lain ditemukan, maka aturan tersebut dianggap tidak sesuai dengan aturan pertama dan ditulis ke irisan ACL. irisan ACL berikutnya.

Tabel di bawah ini menunjukkan urutan kesesuaian kondisi yang ditentukan dalam ACL. Setiap baris berisi bit-mask yang dihasilkan yang kompatibel satu sama lain dan tidak kompatibel dengan baris lain.

Ganti ACL secara detail
Setiap paket individual yang diproses oleh ASIC menjalankan pencarian paralel di setiap irisan ACL. Pemeriksaan dilakukan hingga kecocokan pertama pada irisan ACL, namun beberapa kecocokan diperbolehkan untuk paket yang sama pada irisan ACL yang berbeda. Setiap “aturan” memiliki tindakan terkait yang harus dilakukan jika kondisi (bit-mask) cocok. Jika kecocokan terjadi di beberapa bagian ACL sekaligus, maka di blok “Resolusi Konflik Tindakan”, berdasarkan prioritas bagian ACL, diambil keputusan tindakan mana yang harus dilakukan. Jika ACL berisi “tindakan” (izin/tolak) dan “pengubah tindakan” (hitungan/QoS/log/…), maka dalam kasus beberapa kecocokan hanya “tindakan” dengan prioritas lebih tinggi yang akan dieksekusi, sedangkan “tindakan -modifier” semuanya akan selesai. Contoh di bawah ini menunjukkan bahwa kedua penghitung akan bertambah dan prioritas “tolak” yang lebih tinggi akan dieksekusi.

Ganti ACL secara detail
“Panduan Solusi ACL” dengan informasi lebih rinci tentang pengoperasian ACL dalam domain publik di situs web extremenetworks.com. Setiap pertanyaan yang muncul atau tersisa selalu dapat ditanyakan kepada staf kantor kami - [email dilindungi].

Sumber: www.habr.com

Tambah komentar