Sybex Press
Cisco
Advance Advanced
Internetworking Guide
2009 Download Here
آخرین زمان Update
22 شهريور 1389, 11:30 ق.ظ
نمایش بازدیدکنندگان
امروز
72
همه روزها
166590
افراد آنلاين در سايت
حاضرين در سايت : 35 نفر مهمان
ACL و CEF Switching
استفاده از ACLو یا به بیان کاملا تر Access Control Listیکی از قابلیت های بسیار کاربردی در IOSمحسوب می شود. ACL ها در زمره تکنولوژی non-statefull firewall قرار دارد. این بدان معناست که access-list ها به صورت هیچ گونه اطلاعاتی از موضعیت Connection ها ندارند و لذا نمی توانند بر اساس state آنها را Manage کنند. آنها بیشتر نقش filter داشته و بر روی interface ها گذاشته می شوند تا براساس rule های تعریف شده ، ترافیک خاصی را permit و یا drop کنند. البته برخی قابلیت ها در ACL ها تعبیه شده تا بتوان کمی خصلت Statefull را بودن به آنها اضافه کرد. اما در چنین مواردی استفاده از CBAC به جای ACL بسیار معقولانه تر است. اما نکته مهمی که قصد اشاره به آن دارم ، یکی از مهم ترین راه های جلوگیری از کاهش performanceاستفاده از ACL ها است.
قبل از اینکه اصل مطلب رو بیان کنم ، یک اشاره مختصری به packet switching در روتر ها می کنم. سنتی ترین روش packet switching در روتر ها بگونه است که تمام packetهای ورودی آنها به Layer 3 Engine روتر فرستاده شده و عمل processing و switchingبر روی آنها انجام می شود . این عمل که تحت Process Switching نام دارد ، کند ترین راه packet switching و در عین حال دقیق ترین راه در روتر ها می باشد . بعد ها روش دیگری به نام fast switching مطرح شد ، که در آن تمامی flow هاcache می شوند و بر این اساس تمامی packet هایی که در ادامه دریافت می شوند طبق این cache flow ارسال می شوند. بزرگترین مشکل این روش در این است که حداقل packet اول می بایست که process switch شود و در ادامه سایر packet ها fast switch می شوند. به همین دلیل تکنولوژی جدید تری به نام CEF به وجود آمد که تمامی route های موجود را قبل از هر گونه ارسالی شناسایی و آنها در جدولی به نام FIB قرار می دهد.جدول FIBتحت لایه 2 و تکنولوژی ASICعمل کرده و لذا سریع ترین راه switching محسوب می شود.
در IOS اولیه cisco که بعد از اختراع تکنولوژی CEF ساخته شد ، استفاده از CEF در استفاده از ACL ها پیشبینی نشده بود و لذا در ازای تمام packetهای ورودی آنها به Layer 3 Engine روتر فرستاده می شدند و عمل filteringبر روی آنها انجام می شد و این امر توسط یکی تکنولوژی های fast و Processصورت می گرفت. اما در نسخه های جدید تر IOS ، قابلیت استفاده از CEF Switching حتی برای ACL ها نیز فراهم شد تا packet processing & Switching را در روتر ها به حداکثر میزان خود برساند.
اما قصد بیان یکی از مطالب بسیار مهم در مورد نحوه نوشت ACL ها را دارم که اکثرا در جایی به آن اشاره نمی شود . در نوشتن ACL ، یکی از keyword هایی که می توان در انتهای آن اضافه کردLOG می باشد. با استفاده از این دستور می توان تمامی packetهایی را که مشمول یک ACL می شوند همراه با جزئیات در logنوشت. اما نکته مهم در این است که بلافاصله بعد از نوشتن logقابلیت CEF Switching غیر فعال خواهد شد و از یکی ازدو روش Fast Switching یا Process Switching استفاده خواهد شد. لذا پیشنهاد می شود تنها در مواقعی از log استفاده شود که نیاز به troubleshooting می باشد و در سایر موارد غیر فعال باشد.