Tukar ACL secara terperinci

ACL (Senarai Kawalan Akses) pada peranti rangkaian boleh dilaksanakan dalam perkakasan dan perisian, atau lebih biasa, perkakasan dan ACL berasaskan perisian. Dan jika semuanya harus jelas dengan ACL berasaskan perisian - ini adalah peraturan yang disimpan dan diproses dalam RAM (iaitu pada Satah Kawalan), dengan semua sekatan yang berikutnya, maka kami akan memahami bagaimana ACL berasaskan perkakasan dilaksanakan dan berfungsi kami artikel. Sebagai contoh, kami akan menggunakan suis daripada siri ExtremeSwitching daripada Extreme Networks.

Tukar ACL secara terperinci

Memandangkan kami berminat dengan ACL berasaskan perkakasan, pelaksanaan dalaman Data Plane, atau set cip sebenar (ASIC) yang digunakan, adalah amat penting kepada kami. Semua talian suis Extreme Networks dibina pada ASIC Broadcom, dan oleh itu kebanyakan maklumat di bawah juga benar untuk suis lain di pasaran yang dilaksanakan pada ASIC yang sama.

Seperti yang dapat dilihat daripada rajah di atas, "ContentAware Engine" bertanggungjawab secara langsung untuk operasi ACL dalam chipset, secara berasingan untuk "masuk" dan "keluar". Dari segi seni bina, mereka adalah sama, hanya "keluar" yang kurang berskala dan kurang berfungsi. Secara fizikal, kedua-dua "ContentAware Engines" ialah memori TCAM serta logik yang disertakan, dan setiap pengguna atau peraturan ACL sistem ialah topeng bit ringkas yang ditulis pada memori ini. Itulah sebabnya chipset memproses paket trafik demi paket dan tanpa penurunan prestasi.

Secara fizikal, Ingress/Egress TCAM yang sama pula dibahagikan secara logik kepada beberapa segmen (bergantung pada jumlah memori itu sendiri dan platform), yang dipanggil "hirisan ACL". Sebagai contoh, perkara yang sama berlaku dengan HDD yang sama secara fizikal pada komputer riba anda apabila anda mencipta beberapa pemacu logik padanya - C:>, D:>. Setiap keping ACL, seterusnya, terdiri daripada sel memori dalam bentuk "rentetan" di mana "peraturan" (peraturan / topeng bit) ditulis.

Tukar ACL secara terperinci
Pembahagian TCAM ke dalam kepingan ACL mempunyai logik tertentu di belakangnya. Dalam setiap kepingan ACL individu, hanya "peraturan" yang serasi antara satu sama lain boleh ditulis. Jika mana-mana "peraturan" tidak serasi dengan yang sebelumnya, maka ia akan ditulis pada kepingan ACL seterusnya, tidak kira berapa banyak baris percuma untuk "peraturan" yang tinggal dalam yang sebelumnya.

Dari manakah keserasian atau ketidakserasian peraturan ACL ini datang? Hakikatnya ialah satu "garisan" TCAM, di mana "peraturan" ditulis, mempunyai panjang 232 bit dan dibahagikan kepada beberapa medan - Tetap, Medan1, Medan2, Medan3. Memori TCAM 232 bit atau 29 bait sudah cukup untuk merekodkan topeng bit bagi alamat MAC atau IP tertentu, tetapi lebih kurang daripada pengepala paket Ethernet penuh. Dalam setiap kepingan ACL individu, ASIC melakukan carian bebas mengikut set topeng bit dalam F1-F3. Secara umum, carian ini boleh dilakukan menggunakan 128 bait pertama pengepala Ethernet. Sebenarnya, tepat kerana carian boleh dilakukan melebihi 128 bait, tetapi hanya 29 bait boleh ditulis, untuk carian yang betul, offset mesti ditetapkan relatif kepada permulaan paket. Offset untuk setiap keping ACL ditetapkan apabila peraturan pertama ditulis kepadanya, dan jika, semasa menulis peraturan berikutnya, keperluan untuk ofset lain ditemui, maka peraturan sedemikian dianggap tidak serasi dengan yang pertama dan ditulis kepada ACL-slice seterusnya.

Jadual di bawah menunjukkan susunan keserasian syarat yang dinyatakan dalam ACL. Setiap baris individu mengandungi topeng bit terhasil yang serasi antara satu sama lain dan tidak serasi dengan baris lain.

Tukar ACL secara terperinci
Setiap paket individu yang diproses oleh ASIC menjalankan carian selari dalam setiap kepingan ACL. Semakan dilakukan sehingga perlawanan pertama dalam kepingan ACL, tetapi berbilang padanan dibenarkan untuk paket yang sama dalam kepingan ACL yang berbeza. Setiap "peraturan" individu mempunyai tindakan sepadan yang mesti dilakukan jika keadaan (bit-mask) dipadankan. Jika perlawanan berlaku dalam beberapa keping ACL sekali gus, maka dalam blok "Penyelesaian Konflik Tindakan", berdasarkan keutamaan kepingan ACL, keputusan dibuat untuk tindakan yang perlu dilakukan. Jika ACL mengandungi kedua-dua "tindakan" (permit/menolak) dan "pengubah suai tindakan" (kiraan/QoS/log/...), maka dalam kes berbilang padanan hanya "tindakan" keutamaan yang lebih tinggi akan dilaksanakan, manakala "tindakan" -pengubahsuai” semuanya akan selesai. Contoh di bawah menunjukkan bahawa kedua-dua kaunter akan dinaikkan dan keutamaan yang lebih tinggi "menafikan" akan dilaksanakan.

Tukar ACL secara terperinci
β€œPanduan Penyelesaian ACL” dengan maklumat yang lebih terperinci tentang operasi ACL dalam domain awam di laman web extremenetworks.com. Sebarang soalan yang timbul atau kekal boleh diajukan kepada kakitangan pejabat kami - [e-mel dilindungi].

Sumber: www.habr.com

Tambah komen