ACI چیست؟
ACI راهکار SDN سیسکو برای مراکز داده است که باعث خودکارسازی فرآیندهای پیکربندی و اعمال سیاستها تحت یک مدیریت مرکزی میشود.در واقع ACI یک نوع پیاده سازی SDN به صورت hybrid است که در آن تصمیم گیری توسط خود سوییچ ها انجام میشود و تنها سیاست ها از یک سیستم مرکزی به سوییچ ها اعلام میشود. به این ترتیب، دیگر مانند دیتاسنترهای سنتی نیازی به پیکربندی و خطایابی سوییچ یا روتر نیست و البته دغدغهای برای scale up کردن شبکه هم وجود نخواهد داشت.
اصلی ترین ویژگیACI، استفاده از توپولوژی و تجهیزات خاص خود جهت scale up کردن شبکه در کمترین زمان و به راحت ترین شکل است. انتظار ACI از مدیر شبکه متمرکز شدن در ایجاد سیاست های و نحوه دسترسی هاست. تمام جزئیات پیکربندی و اعمال آنها در سوییچها را ACI بر عهده میگیرد و این باعث صرفه جویی در زمان و نیروی متخصص در نتیجه کاهش خطاهای انسانی و TCO سازمان میشود. با استفاده از APIای که ACI در اختیار برنامه نویسان قرار میدهد، توسعه دهندگان میتوانند از مزایای آن جهت اتوماتیک سازی اعمال سیاست ها در یک work flow سلسله مراتبی استفاده کنند.
در ادامه به مرور برخی اصطلاحات پرکاربرد ACI خواهیم پرداخت.
اصطلاحات پرکاربرد ACI
- EPG) endpoint group): به منظور گروه بندی Applicationها و ترافیک جهت سهولت در اعمال سیاست ها استفاده میشود (معادل تعریف ACL یا object در CLI).
- Contract: جهت کنترل دسترسی های ورودی و خروجی بین EPG ها استفاده میشود (معادل تعریف Rule در فایروال).
- Bridge Domain: جهت مشخص کردن Broadcast Domain یک EPGها استفاده میشود (معادل تعریف VLAN در CLI).
- Tenant:برای جداسازی پیکربندی و سیاست ها در شرایطی که به چندین مشتری سرویس دهی میکنید.به صورت پیش فرض Tenantهای infra, common و mgm در ACI تعریف شده است.
- APIC) Application Policy infrastructure Controller) : نرم افزاریست که نقش Controller در ACI را دارد و برای مدیریت و اعمال سیاست ها استفاده میشود.
توپولوژی ACI
ACI ازتوپولوژی CLOS برای ارتباطات سویچ های خود استفاده میکند که باعث بالا رفتن کارایی و سرعت ترافیک بین سوییچها و همچنین توسعه تجهیزات برای Scale UP کردن راحت تر و سریعتر میشود.

توجه به نکات زیر هنگام پیاده سازی این توپولوژی ضروری است:
- بین سوییچ های Leaf و Spine ارتباط فیزیکی نباید وجود داشته باشد.
- سوییچ Leaf با Port ALE به سویچ Spine متصل شود.
- APIC به سویچ leaf متصل میشود.

سوییچ های قابل استفاده در پیاده سازی این همبندی صرفا سری های 9300 و 9500 نکسوس سیسکو هستند و سایر مدلها از جمله 9200 از ACI پشتیبانی نمیکنند.
نرم افزار APIC
به کمک این نرم افزار شما می توانید سیاست های امنیتی و زیر ساختی شبکه خود را تعریف کنید و APIC با توجه به سیاست های تعریف شده تنظیمات و پیکربندی مناسب را اعمال میکند، پیکربندی APIC را میتوان از طریق Web ,API ,CLI انجام داد.
ایجاد EPG و تعیین محدوده EPG و ایجاد ارتباط بین EPG های ساخته شده و … از طریق APIC پیکربندی می شود.

نکته: از دسترس خارج شدن سرور APIC در عمکرد Data Center اختلالی ایجاد نمیکند و فقط تغییرات سیاست ها و دسترسی قابل تغییر نیست.

تعامل ACI با Vcenter
در محیط مجازی سازی سرورها، اغلب از یک Virtual Distributed switch برای تعریف VLAN ها و گروه بندی ترافیک VMها استفاده میشود. اینکار که به طور معمول توسط مدیر سیستم virtualization سازمان انجام میشود و نیازمند وجود هماهنگی با واحد زیر ساخت شبکه است. اما ACI با استفاده VMM integration میتواند با اتصال به Vcenter سیاست های خود را به Virtual Distributed switch اعلام کند تا VDS مربوطه دسته بندی VMها را با توجه به EPG تعریف شده در ACI انجام دهد. همچنین میتوانند از جابجایی ماشین بین سرورها و دیتاسنتر آگاه شود تا اقدامات مناسب در سوییچ مقصد انجام شود.

پشت صحنه Cisco ACI چه اتفاقانی رخ میدهد؟
یکی از نکات قوت ACI، پنهان کردن پیچیدگی از دید راهبر سیستم است (admin). در پشت صحنه ACI با اختصاص IP به صورت اتوماتیک به سویچ های Leaf و Spine و ایجاد ارتباط بین ها آن ها به کمک VXLAN و IS-IS بستری برای اجرای سیاست ها شما ایجاد میکند، که راهاندازی این زیر ساخت بدون ACI نیازمند دانش فنی بالایی میباشد.

نحوه ارسال ترافیک در ACI چگونه است؟
در شبکه های سنتی روترها از سه جدول برای نگه داشتن آدرس دستگاه های متصل به خود استفاده میکنند:
- CAM: اطلاعات مربوط به MAC را نگه داری میکند.
- Routing Table: اطلاعات مربوط به IP را در خود نگه میدارد.
- ARP: وظیفهی Mapping بین آدرس های لایه 2 و 3 را بر عهده دارد.
در ACI این اطلاعات به صورت دیگری ذخیره میشود. ACI از جدولی به نام Endpoint table local برای نگهداری اطلاعاتی که در MAC address table و ARP table وجود دارد استفاده میکند.
همچنین ACI با استفاده IP و MAC فرستندهی packet، از آدرسهای دستگاه های متصل به خود آگاه میشود، در حالی که در شبکه های سنتی این یادگیری آدرس ها با استفاده از ARP تولید شده توسط Host انجام میشد که ترافیک و پردازش زیادی به همراه داشت.
سوییچها اطلاعات جدول local end point خود را به دیتابیس (Council Of Oracle Protocol (COOP که در سوییچهای spine وجود دارد گزارش میکنند، این کار باعث میشود اطلاعات تمامی local end point ها در دیتابییس سوییچهای spine ذخیره شود.با داشتن این DB و در دسترس بودن آن برای lead swich ها، دیگر نیازی یه داشتن اطلاعات تمام end pint ها نیست.

سوییچ های leaf میتوانند در مواقعی که اطلاعاتی برای ارسال ترافبک ندارند از سوییچهای spine کمک بگیرند.
سوییچهای leaf برای تسریع در ارسال ترافیک با درست کردن رکوردها در دیتابیس خود، آدرسهایی که با آن ها بیشتر در تعامل است را جدول خود نگه میدارند تا مجبور نشود از دیتابیس سوییچ SPINE برای مسیریابی استفاده کنند.


منابع:
https://www.cisco.com/c/en/us/td/docs/switches/datacenter/aci/apic/sw/4-x/aci-fundamentals/Cisco-ACI-Fundamentals-41X/Cisco-ACI-Fundamentals-41X_chapter_01101.html
https://www.cisco.com/c/en/us/solutions/collateral/data-center-virtualization/application-centric-infrastructure/white-paper-c11-739989.html-
cisco Live: BRKACI-1002 ,BRKACI-1002