يمكن تطبيق قوائم التحكم في الوصول (ACL) (قائمة التحكم في الوصول) الموجودة على أجهزة الشبكة إما على أجهزة أو برامج ، أو بشكل أكثر شيوعًا في قوائم ACL المستندة إلى الأجهزة والبرامج. وإذا كان يجب أن يكون كل شيء واضحًا مع قوائم ACL المستندة إلى البرامج ، فهذه هي القواعد التي يتم تخزينها ومعالجتها في ذاكرة الوصول العشوائي (على سبيل المثال ، في Control Plane) ، مع كل القيود التي تتبع ذلك ، فسوف نفهم كيف يتم تنفيذ قوائم ACL المستندة إلى الأجهزة. مقالتنا. على سبيل المثال ، سوف نستخدم مفاتيح سلسلة Extreme Networks ExtremeSwitching.
نظرًا لأننا مهتمون بقوائم ACL المستندة إلى الأجهزة ، فإن التنفيذ الداخلي لـ Data Plane ، أو الشرائح المستخدمة فعليًا (ASIC) ، له أهمية قصوى بالنسبة لنا. تعتمد مفاتيح جميع خطوط الإنتاج الخاصة بشبكات Extreme Networks على ASIC من Broadcom ، وبالتالي فإن معظم المعلومات الواردة أدناه تنطبق أيضًا على المحولات الأخرى في السوق ويتم تنفيذها على نفس ASIC.
كما يتضح من الشكل أعلاه ، فإن "ContentAware Engine" ، بشكل منفصل عن "الدخول" و "الخروج" ، هو المسؤول عن عملية ACL في مجموعة الشرائح. من الناحية المعمارية ، هي نفسها ، فقط "الخروج" أقل قابلية للتطوير وأقل وظيفية. فعليًا ، يكون كل من "ContentAware Engine" عبارة عن ذاكرة TCAM بالإضافة إلى المنطق المقترن ، وكل قاعدة مستخدم أو نظام ACL عبارة عن قناع بت بسيط مكتوب على هذه الذاكرة. ولهذا السبب تتم معالجة حركة مرور الشرائح على أساس كل وحدة ودون تدهور الأداء.
فعليًا ، يتم تقسيم منطقتي Ingress / Egress TCAM ، بدورهما ، منطقياً إلى عدة قطاعات (حسب حجم الذاكرة والنظام الأساسي) ، ما يسمى بـ "شرائح ACL". على سبيل المثال ، يحدث الشيء نفسه مع نفس محرك الأقراص الثابتة فعليًا على الكمبيوتر المحمول الخاص بك عند إنشاء عدة محركات أقراص منطقية عليه - C: \> ، D: \>. كل شريحة ACL ، بدورها ، تتكون من خلايا ذاكرة ، في شكل "سلاسل" حيث تتم كتابة "القواعد" (قواعد / أقنعة بت).
انهيار TCAM إلى شرائح ACL له منطق معين تحته. في كل من شريحة ACL الفردية ، يمكن كتابة "قواعد" متوافقة فقط. إذا كان أي من "القواعد" غير متوافق مع القاعدة السابقة ، فسيتم كتابتها إلى التالي بترتيب ACL ، بغض النظر عن عدد الخطوط المجانية الموجودة تحت "القواعد" التي تبقى في السطر السابق.
من أين يأتي هذا التوافق أو عدم التوافق بين قواعد ACL؟ الحقيقة هي أن "سطر" واحد من TCAM ، حيث تتم كتابة "القواعد" ، يبلغ طوله 232 بت وينقسم إلى عدة حقول - ثابت ، Field1 ، Field2 ، Field3. ذاكرة TCAM من 232 بت أو 29 بايت كافية لكتابة قناع بت لعنوان MAC أو عنوان IP معين ، ولكن أقل بكثير من رأس حزمة Ethernet الكاملة. في كل ACL-slice فردي ، تنتج ASIC بحثًا مستقلًا وفقًا لقناع البت في F1-F3. بشكل عام ، يمكن إجراء هذا البحث على رأس Ethernet 128 بايت الأول. في الواقع ، على وجه التحديد لأنه يمكن إجراء البحث بواسطة 128 بايت ، ويمكن فقط تسجيل 29 بايت ، للبحث الصحيح ، يجب تعيين إزاحة نسبة إلى بداية الحزمة. يتم تعيين إزاحة لكل من شريحة ACL عندما تتم كتابة القاعدة الأولى عليها ، وإذا تم العثور على الحاجة إلى إزاحة أخرى عند كتابة القاعدة التالية ، فإن هذه القاعدة تعتبر غير متوافقة مع الأولى وتتم كتابتها إلى شريحة ACL التالية.
يوضح الجدول أدناه ترتيب توافق الشروط المحددة في قائمة التحكم في الوصول (ACL). يحتوي كل سطر منفصل على أقنعة بت متوافقة مع بعضها البعض ولا تتوافق مع الخطوط الأخرى.
تقوم كل حزمة فردية تتم معالجتها بواسطة ASIC بتشغيل بحث متوازي في كل شريحة ACL. يتم إجراء التحقق من الصحة قبل المطابقة الأولى في شريحة ACL ، لكن يُسمح بتطابقات متعددة لنفس الحزمة في شريحة ACL مختلفة. كل "قاعدة" فردية لها إجراء مماثل يجب تنفيذه في حالة تطابق الشرط (قناع بت). في حالة حدوث تطابق في عدة شرائح من قوائم التحكم في الوصول (ACL) في وقت واحد ، ثم في كتلة "حل تعارض الإجراءات" ، بناءً على أولوية شريحة ACL ، يتم اتخاذ قرار بشأن أي منها يجب القيام به. إذا تم كتابة كل من "الإجراء" (تصريح / رفض) و "معدِّل الإجراء" (count / QoS / log / ...) في قائمة التحكم في الوصول (ACL) ، فسيتم تنفيذ "الإجراء" ذي الأولوية العليا في حالة التطابقات المتعددة ، وسيتم تنفيذ "إجراء التعديل" كل ذلك. يوضح المثال التالي أنه سيتم زيادة العدادين وسيتم تنفيذ "رفض" الأولوية أكثر.
"دليل حلول ACL" مع مزيد من المعلومات المفصلة حول كيفية إتاحة قوائم ACL للجمهور على
extremenetworks.com . يمكن دائمًا طرح أي أسئلة تنشأ أو باقية لموظفي مكتبنا -
cis@extremenetworks.com .