سیستمعامل Cisco IOS XR
تقاضاهای جدید نیازمند نرمافزارهای جدید هستند
سیستمعاملهای شبکه (NOS) سنتی برای اجرا در محیطهای سختافزاری بومی (Native) طراحی شدهاند. این سیستمها با رویکردی یکسان برای همه (One size fits all) و با ساختاری صلب طراحی شدهاند که مدیریت تجهیزات شبکه را پیچیده کرده و زمان بیشتری را برای بهروزرسانیها و تغییرات میطلبند. ما در Cisco معتقدیم که پلتفرمهای NOS باید ساده، مدرن و قابلاعتماد باشند. یک NOS باید قادر به پشتیبانی از پیکربندیهای منحصربهفرد، بهبود انعطافپذیری عملیاتی و ارتقای امنیت باشد. بدون یک NOS منعطف، مهندسان ارائهدهنده خدمات برای مدیریت و بهرهبرداری کارآمد از شبکهای سریع، قابلاطمینان و منعطف که بتواند با رشد بیسابقه ترافیک مقابله کرده و خدمات و عملکرد مورد انتظار مشتریان را ارائه دهد، با چالش مواجه خواهند بود.
با افزایش تعداد دستگاههای متصل و مصرف بیشتر محتوا، ترافیک اینترنت در پنج سال گذشته نرخ رشد سالانه ترکیبی (CAGR) ۳۰ درصدی را تجربه کرده است و پیشبینی میشود تا سال ۲۰۲۲:
●ترافیک IP به 396 اگزابایت در ماه افزایش خواهد یافت.
●یکسوم ترافیک اینترنت در مناطق خدمات شهری (Metropolitan service areas) خواهد بود.
●بیش از ۲۸ میلیارد دستگاه و اتصال آنلاین خواهند بود.
●ترافیک اینترنت در ساعات اوج مصرف (Peak busy hour)، به دلیل افزایش استفاده از ویدیوهای استریم و بازیهای آنلاین، سریعتر از میانگین ترافیک اینترنت در حال رشد است. [1]
در پیشبینی این رشد، شرکت Cisco سیستمعامل IOS XR NOS را برای تسهیل عملیات شبکه طراحی کرده است. به عنوان یک سیستمعامل مدرن، IOS XR برای کمک به مهندسان از طریق موارد زیر طراحی شده است:
●ارائه یک الگوی واحد و با نگهداری آسان برای سیستمعامل شبکه (NOS) در سراسر شبکه: لبه (Edge)، تجمیع (Aggregation) و هسته (Core).
●کاهش هزینههای عملیاتی (OpEx) با ارائه و استقرار سادهسازیشده بر اساس ویژگیهای مورد نیاز شما.
●استفاده از گردشکارهای (Workflows) سبک لینوکس و پشتیبانی از کتابخانههای استاندارد لینوکس برای سادهسازی فرآیند تأمین (Provisioning) و مدیریت دستگاه.
●بهبود بهرهوری عملیاتی با یکپارچهسازی رابط برنامهنویسی کاربردی (Management API) جهت ارائه دادههای تلهمتری (Telemetry) عملیاتی و تقریباً آنی.
●امکان استفاده از اتوماسیون برای اجرای روانتر پیادهسازیها و بهروزرسانیهای پیکربندی از راه دور (Remote Configuration).
●اعتبارسنجی اعتماد در شبکه به منظور فراهم کردن امکان فعالیت ارائهدهندگان خدمات در یک محیط امن.
تکامل گامبهگام (Lockstep evolution) در سیستمعامل IOS XR
سیستمعامل شبکه IOS XR بهطور مداوم برای پاسخگویی به این تحولات فناورانه تکامل یافته است. IOS XR بهترین پروتکلهای مسیریابی (Routing Protocols) و ویژگیهای کلاس جهانی را به همراه دارد و تمرکز مستمر بر فناوریهای انتقال مبتنی بر قصد (Intent-based)، مانند مسیریابی بخشبندیشده (Segment Routing) و شبکه خصوصی مجازی اترنت (EVPN)، باعث شده است تا IOS XR به انتخاب پیشرو برای ارائهدهندگان خدمات (SPs) در مقیاس وب و مقیاس بزرگ در بخشهای مختلف شبکه تبدیل شود.
شناسایی روند گذار به سمت جریانهای کاری عملیاتی خودکار در شبکههای ارائهدهنده خدمات (SP) که سیستمعاملهای شبکه فروشندگان را در سراسر صنعت به سمت پیادهسازی معماریهای نرمافزاری باز و توسعهپذیر سوق میدهد، حائز اهمیت است. این گذار، مقیاسپذیری عملیاتی (Operational Scalability) را با استفاده از رابطهای برنامهنویسی مدلمحور (Model-driven APIs) در تمامی لایههای پشته شبکه بهبود میبخشد. توسعه IOS XR بهطور هدفمند بر تکمیل این روند متمرکز بوده و منجر به تغییرات قابلتوجهی شده است:
●در نسخه 6.x، سیستمعامل IOS XR از یک سیستمعامل 32-بیتی QNX به یک سیستمعامل 64-بیتی لینوکس (Linux) تغییر یافت.
●پشتیبانی داخلی از مدلهای YANG با قابلیت تأمین (Provisioning) برنامهپذیر و دادههای تلهمتری (Telemetry) بلادرنگ با مقیاس بالا.
●رابطهای برنامهنویسی کاربردی (APIs) لایه سرویس با کارایی بالا در لایههای پایینتر پشته (Stack) برای پروتکلها و کنترلرهای سفارشی، قابلیتهای Cisco IOS XR را برای یکپارچهسازی با گردشکارها و ابزارهای مورد نظر به میزان قابلتوجهی ارتقا داده است.
●معرفی قابلیتهای تأمین خودکار (Zero-Touch Provisioning یا ZTP) در سیستمعامل IOS XR برای پاسخگویی به نیازهای راهاندازی روز صفر (Day 0 deployment).
●سیستمعامل IOS XR محیط لینوکس زیرساختی خود را برای دسترسی مستقیم کاربران نهایی باز کرده است که امکان یکپارچهسازی زبانهای اسکریپتنویسی (bash، Python، Golang، C++)، ابزارهای مدیریت پیکربندی (Ansible، Puppet، Chef و غیره) و پشتیبانی از کانتینرها (LXC و Docker) را فراهم میکند.
با معرفی پلتفرمهای سری Cisco 8000 که روترهایی با مقیاسپذیری بالا و بهینهشده برای 400G را فراهم میکنند، سیستمعامل IOS XR همچنان به گسترش سبد محصولات تحت پشتیبانی خود ادامه میدهد؛ این پشتیبانی اکنون شامل راهکارهای VNF با استفاده از روترهای مجازی XRd و XRv9000، سریهای NCS 540/560، NCS 5000/5500/5700، ASR 9000 و سختافزارهای تأییدشده شخص ثالث میشود. سیستمعامل IOS XR جامعترین سبد پلتفرمها و راهکارها را در این صنعت ارائه میدهد که امکان عملیات یکپارچه و قابلیتهای عملکردی (Feature capability) را در تمامی بخشهای شبکه ارائهدهندگان خدمات (Service provider) فراهم میسازد.

مجموعه پلتفرمهای پشتیبانیشده در IOS XR
معرفی IOS XR: ساده، مدرن و قابل اعتماد
با انتشار نسخه 7 از IOS XR، معماری این سیستم برای پاسخگویی مستقیم به این نیازها تکامل یافته است. معماری IOS XR بر سه اصل اساسی تمرکز دارد:
ساده
تسهیل در فرآیند پیکربندی (Provision)، اتوماسیون و یکپارچهسازی با طیف گستردهای از گردشهای کاری (Workflows).
1.معماری سادهتر و سبکتر:برای پلتفرمهای سختافزاری جدیدتر در IOS XR، دیگر خبری از صفحه مدیریت (admin plane) و کانتینرهای سیستمی نیست؛ این امر مدیریت سیستم را از طریق ابزارهای آماده و راهکارهای اسکریپتنویسی، آسانتر از همیشه کرده است.
2.عملیات سادهتر:با بهرهگیری از گردشکارهای (Workflows) سبک لینوکس و یکپارچهسازیها، امکان استفاده از ابزارهای مقیاسپذیر مدیریت پیکربندی (Ansible، Puppet، Chef) و پشتیبانی از برنامههای استاندارد لینوکس به صورت فایلهای باینری یا کانتینر (LXC، Docker) بر روی دستگاه فراهم شده است.
3.راهاندازی سادهتر و امن در روز صفر (Day 0):با قابلیتهای قدرتمند و امنِ راهاندازی بدون دخالت دست (Zero-touch) بر اساس استاندارد RFC 8572 که به تسهیلِ ورود امن دستگاهها از طریق اسکریپتهای ZTP مبتنی بر قالب، و بر اساس تراکنشهای مدلسازیشده با YANG میان روترهای IOS XR و سرورهای بوتاسترپ (Bootstrap) کمک میکند.
4.تحویل و استقرار سادهتر نرمافزار:از طریق مصنوعاتی به نام Golden ISOs (GISOs) برای ترکیب اسکریپتهای سفارشی، برنامهها، بستهها و فایلها در یک فایل ISO قابل استقرار. اجزای مجزا و وصلههای (Patches) سیستمعامل IOS XR از طریق RPMها تحویل داده میشوند.
5.طراحی قدرتمند و جدید برای نصب در IOS XR:سیستم نصب IOS XR که بر پایه DNF (Dandified YUM) ساخته شده و برای پشتیبانی از سیستمهای شاسی ماژولار و APIهای مدلسازی شده با YANG توسعه یافته است، به اپراتورها اجازه میدهد تا چرخه حیات بستههای IOS XR RPM، بستههای بومی لینوکس (Native Linux RPMs) و نصبهای Golden ISO (GISO) را مدیریت کنند و در عین حال از اعلانهای تلهمتری (Telemetry) لحظهای فرآیند نصب پشتیبانی نمایند.
مدرن
رابطهای برنامهنویسی (APIs) مدلمحور در تمامی لایههای پشته (Stack). پشتیبانی پیشرو در صنعت از فناوریهای انتقال (Transport Technologies).
1.رابطهای برنامهنویسی (APIs) لایه مدیریت با مدلسازی YANG:برای خودکارسازی تأمین (Provisioning) و مدیریت دستگاه. این مدلها شامل مدلهای بومی IOS XR YANG و مدلهای OpenConfig هستند.
2.قابلیتهای تلهمتری جریانی (Streaming Telemetry):برای پایش مبتنی بر زمانبندی (Cadence-based) یا رویداد-محور (Event-driven) دادههای استخراج شده از مسیرهای مدلسازی شده با YANG در لایه مدیریتی، از طریق پروتکلهای انتقال gRPC، TCP یا UDP.
3.رابطهای برنامهنویسی (API) لایه سرویس (SL) و انتزاع ارسال باز (OFA):رابطهای برنامهنویسی (API) لایه سرویس، رابطهایی با کارایی بالا در لایه زیرساخت شبکه مشترک IOS XR (مانند RIB، پایگاه داده سوئیچ برچسب، BFD، لایه ۲ و غیره) هستند که به کنترلرها و پروتکلهای سفارشی امکان میدهند تا مسیرها را در RIB سیستمعامل IOS XR دستکاری کنند، مسیرهای سوئیچینگ برچسب را بهصورت آنی ایجاد نمایند و غیره. رابط برنامهنویسی OFA یک API مدلمحور است که بر روی کیت توسعه نرمافزار (SDK) تراشه (ASIC) پلتفرم سختافزاری قرار میگیرد تا دسترسی با کارایی بالا به پایینترین لایه پشته شبکه (Network Stack) را بهصورت مستقیم یا از طریق انتزاعهای مدلسازیشده مانند P4 runtime فراهم کند.
4.مسیریابی بخش (Segment routing) و EVPN:مسیریابی بخش (Segment routing) و EVPN ارکان اصلی پیادهسازیهای انتقال مبتنی بر IOS XR با تمرکز بر سادگی، مقیاسپذیری (Scale) و توسعهپذیری برنامهپذیر (Programmatic extensibility) بودهاند. سیستمعامل IOS XR همچنان با پشتیبانی بیشتر از SR Flex-Algo، SRV6 و موارد دیگر، بر این فناوریها تمرکز دارد. پروتکل EVPN با ارائه یک پروتکل صفحه کنترل (Control plane) یکپارچه یعنی BGP برای تمامی انواع سرویسها، از جمله سرویسهای Layer2 VPN و Layer3 VPN، سطح جدیدی از سادگی را به ارمغان میآورد.
5.رابطهای برنامهنویسی (API) بدون نیاز به دخالت دست (Zero-touch):رابطهای برنامهنویسی (API) جامع برای پیکربندی خودکار (Zero-touch provisioning) جهت فعالسازی اتوماسیون روز صفر (Day 0). این قابلیت شامل رابطهای برنامهنویسی اتوماسیون CLI از طریق کتابخانههای bash و Python در داخل دستگاه است. با استفاده از IOS XR، اپراتورها همچنین قادر خواهند بود از کلاینت netconf موجود در کتابخانه Python برای ZTP استفاده کنند تا سیستم را از طریق ورودیهای XML مدلسازی شده با YANG راهاندازی نمایند؛ این امر به تیمهای شبکه کمک میکند تا در زمان مناسب، سیستمهای خود را از مدلهای CLI به مدلهای YANG انتقال دهند.
6.پایش عملکرد مسیریابی بخش (SR-PM) و اندازهگیری یکپارچه عملکرد (IPM):سیستمعامل Cisco IOS XR قابلیت پایش عملکرد مسیریابی بخش (SR-PM) را برای اندازهگیریهای مقیاسپذیر، آگاه از مسیریابی بخش (SR) و مبتنی بر استانداردهای پروتکل اندازهگیری فعال دوطرفه ساده (STAMP) برای سنجش تأخیر (Latency)، نرخ اتلاف و وضعیت زنده بودن (Liveness) ارائه میدهد. در ادامه این مسیر، اندازهگیری یکپارچه عملکرد (IPM) به عنوان تکامل بعدی معرفی شده است که امکان تولید و جمعآوری یکطرفه و مبتنی بر سختافزار تا 14 میلیون پروب در ثانیه را در تمامی مسیرهای چندمسیره با هزینه برابر (ECMP) فراهم میکند. با استفاده از IPM، معیارهای تأخیر (Latency)، نرخ اتلاف و وضعیت زنده بودن در یک بسته پروب واحد ثبت میشوند که این امر موجب مشاهدهپذیری جامع در لایه انتقال (Transport) شده و بینشهای بلادرنگ لازم برای اتوماسیون حلقه-بسته (Closed-loop) را فراهم میآورد.
قابل اعتماد
گردشکارهای ایمن و قابلاعتماد تنها با یک سیستمعامل شبکه (NOS) قابلاطمینان که بر روی یک تجهیز شبکه قابلاعتماد اجرا میشود، امکانپذیر است. با IOS XR، این امر از طریق تضمین موارد زیر محقق میشود:
1.اعتماد از سختافزار آغاز میشود:یک ماژول لنگر اعتماد (Trust Anchor Module یا TAm) امن و غیرقابل دستکاری، مقادیر تایید شده قطعات سختافزاری را به همراه کلیدها و گواهیهای ریشهدار در Cisco در خود جای داده است. از این موارد برای تایید اجزای سختافزار در حین بوت BIOS استفاده میشود.
2.بوت امن (Secure boot):اعتماد از طریق اعتبارسنجی بخشهایی از سیستمعامل شبکه (IOS XR) در طی فرآیند بوت امن تقویت میشود. این قابلیت با تایید امضای بوتلودر (Bootloader) و ماژولهای هسته (Kernel modules) در برابر کلیدهای موجود در TAm، پیش از اجرای سیستمعامل فعال میگردد.
3.اعتماد در زمان اجرا (Runtime):اعتماد در زمان اجرا با اعمال بررسیهای ارزیابی IMA (معماری اندازهگیری یکپارچگی) بر روی تمامی فرآیندهای در حال اجرا و مقایسه آن فایلهای اجرایی با لیست یکپارچگی نگهداری شده در TAm حفظ میشود. تمامی مغایرتها جهت اقدام توسط مدیران شبکه ثبت (Log) میشوند.
4.بستههای RPM امضا شده:اعتماد برای تمامی بستههای IOS XR RPM و بستههای RPM برنامههای شخص ثالث با اعتبارسنجی امضاها بر اساس کلیدهای موجود در TAm، پیش از نصب اعمال میشود.
5.قابلیت مشاهده و گزارشدهی وضعیت اعتماد (Trust):قابلیتهای تصدیق از راه دور (Remote attestation) برای مشاهده و گزارشدهی تمامی عملیاتهای تایید اعتماد که توسط سیستم در طول چرخه عمر دستگاه انجام میشود، در دسترس هستند.

سیستمعامل شبکه (NOS) قابل اعتماد که بر روی یک دستگاه شبکه قابل اعتماد اجرا میشود
همانطور که این مفاهیم را بیشتر تشریح میکنیم، مشخص میشود که سیستمعامل IOS XR همچنان در حال تکامل است تا نیازهای ارائهدهندگان خدمات (Service Providers) را در مسیر پاسخگویی به چالشهای آینده برآورده سازد.
IOS XR: ساده

IOS XR: ساده
معماری سادهسازیشده برای آینده
سادگی و سهولت در استفاده، از اصول بنیادین سیستمعامل IOS XR محسوب میشوند. این اصول در جنبههای مختلفی نمود پیدا میکنند که یکی از آنها، مبتنی بودن IOS XR بر توزیع WindRiver Linux 9 (WRL9) با استفاده از هسته لینوکس (Linux kernel) نسخه 4.8.28 است.
یکی از تغییرات عمده در IOS XR نسبت به نسخه IOS XR 6.X، حذف کامل صفحه مدیریت (admin plane) در پلتفرمهای سختافزاری جدید است. این موضوع بدین معناست که ساختار کانتینری ایزوله برای صفحه کنترل (control plane) و صفحه مدیریت (admin plane) که در IOS XR 6.X پشتیبانی میشد، دیگر مورد نیاز نیست. در نتیجه، معماری نرمافزاری XR به شکل زیر نمایش داده شده است:

معماری نرمافزار IOS XR
●فرآیندهای صفحه کنترل (Control Plane) در سیستمعامل IOS XR به صورت بومی (Natively) بر روی میزبان (Host) اجرا میشوند.
●یک پوسته (Shell) لینوکس واحد برای کل سیستم (لایه میزبان) وجود دارد.
●دیمونهای Libvirt و Docker به همراه کلاینتهای مربوطه یعنی virsh و docker، همگی در یک محیط یکسان (شِل میزبان) در حال اجرا هستند.
●با حذف صفحه مدیریت (admin plane)، تمامی تنظیمات و قابلیتهای عملیاتی در سطح سیستم و محیط اکنون به XR منتقل شدهاند.
پشتیبانی از جریانهای کاری (Workflows) لینوکس
در طول دهه گذشته، عملیات شبکه ارائهدهندگان خدمات (SP) به سمت استفاده از تکنیکهای نصب گردشکار اتوماسیون (Automation Workflow) جامعه لینوکس تکامل یافته است که ریشه در دنیای سرورها دارند. این تحول در شبکههای ارائهدهنده خدمات در مقیاس وب (Web-scale) آغاز شد؛ جایی که شرکتها بر ایجاد شبکههایی تمرکز کردند که با استفاده از ابزارهای اتوماسیون جامعهمحور یا بومی، و تقریباً بدون دخالت دستی، پیکربندی، مدیریت و کنترل میشوند.
این گردشهای کاری (Workflows) به مرحله راهاندازی اولیه یا Day 0 نیز نفوذ کردهاند. این اتوماسیونهای لینوکسی کمک میکنند تا فرآیند دستی و بالقوه چند هفتهایِ آمادهسازی دستگاه (Onboarding)، بسته به سطح اتوماسیون بهکاررفته در Day 0، به فرآیندی تبدیل شود که در عرض چند ساعت تکمیل میگردد. این گردشهای کاری در دسته ZTP (Zero-Touch Provisioning) قرار میگیرند که در بخش بعدی به تفصیل در مورد آن بحث شده است.
ابزارهای مورد استفاده توسط ارائهدهندگان خدمات (SPs) تغییرات چشمگیری داشتهاند: گذار از اسکریپتهای مبتنی بر CLI، سبک expect و Telnet به سمت ابزارهای مدیریت پیکربندی (Configuration Management) قطعیتر، مدلمحور و مبتنی بر SSH. این ابزارها مقیاسپذیری (Scalability) و قابلیت اطمینان (Reliability) بهبودیافتهای را ارائه میدهند و اغلب با محصولات چندین تولیدکننده (Multivendor) سازگار هستند.
سیستمعامل IOS XR بهطور مداوم تکامل یافته است تا کارآمد باقی بماند و قابلیتهای میزبانی اپلیکیشن و Packet/IO را ارائه دهد؛ این قابلیتها به اپلیکیشنها و ابزارهای لینوکسی اجازه میدهد تا به صورت باینریهای بومی یا کانتینرها (LXC/Docker) مستقیماً روی دستگاه اجرا شوند و به این اپلیکیشنها امکان میدهد در حین اجرا بر روی پلتفرمهای شاسی ثابت یا ماژولار، ترافیک ارسال و دریافت کنند. علاوه بر این، قابلیتهایی نظیر ZTP، رابطهای برنامهنویسی (API) مبتنی بر gRPC (لایه سرویس، APIهای مدلسازی شده با YANG) و تلهمتری (Telemetry) به دلیل محیط عملیاتی لینوکس فعال شدهاند.
ایزو طلایی (Golden ISO یا GISO)
با استفاده از IOS XR، نرمافزار میتواند در قالبهای متنوعی ارائه شود تا با نیازهای عملیاتی اپراتور شبکه مطابقت داشته باشد. ایده اصلی این بود که یک فایل باینری پایه (یک ISO) برای توزیع لینوکس مورد استفاده در ناوگان سرورها دریافت شود، آن را باز کرده، بستهها و فایلهای پیکربندی (Configuration) که به عنوان پایه در تمام سرورها استفاده میشوند به آن اضافه گردد و در نهایت یک ISO جدید از این ترکیب ایجاد شود. این ISO ترکیبی، «Golden ISO» نامیده میشود، زیرا نشاندهنده پیکربندی «طلایی» (Golden) است که باید برای ماشینهای سرور استفاده شود. پس از ایجاد Golden ISO، سرورها از طریق PXE بوت میشوند تا همگی به وضعیت پایه «طلایی» برسند و سپس ابزارهای مدیریت پیکربندی (Configuration Management)، کنترل را برای راهاندازی محیطهای مبتنی بر نقش (Role-based) بر روی دستگاههای تازه بوتشده در دست بگیرند.
با استفاده از IOS XR، قابلیتهای جدید متعددی به فرآیند ساخت Golden ISO معرفی خواهد شد. تکامل فرآیند GISO در زیر نمایش داده شده است:

تکامل فرآیند ساخت Golden ISO
با استفاده از IOS XR، فرآیند ساخت GISO امکان افزودن مصنوعات (Artifacts) زیر را به ISO پایه فراهم میکند:
1.بستههای RPM قابلیتهای IOS XR:بستههای RPM برای اجزای اختیاری مختلف در IOS XR، مانند BGP، OSPF، ISIS، Telnet و غیره.
2.پیکربندی پایه:یک فایل پیکربندی معتبر IOS XR میتواند به Golden ISO اضافه شود.
3.فایل ztp.ini:با معرفی IOS XR، نوع جدیدی از فایل برای جریانهای کاری ZTP در IOS XR معرفی شده است. فایل ztp.ini به منظور امکان تنظیم برخی پیکربندیهای پیشفرض برای فرآیند ZTP در نظر گرفته شده است که به کاربر اجازه میدهد از طریق پارامترهای (Knobs) پشتیبانیشده، بر ماشین وضعیت (State Machine) ZTP تأثیر بگذارد.
4.بستههای RPM برنامههای شخص ثالث (Third-party):برنامههای لینوکسی شخص ثالث در فرآیند ساخت Golden ISO برای IOS XR پشتیبانی خواهند شد. بدین منظور، برنامههای لینوکسی باید برای توزیع پایه WindRiver Linux 9 (WRL9) کامپایل شده و در قالب یک فایل RPM بستهبندی شوند؛ همچنین این فایل RPM باید حتماً امضا (Signed) شده باشد تا فرآیند نصب IOS XR امکان نصب آن را پس از بوت (Post boot) فراهم کند.
5.آرتیفکتهای امن ZTP:ما در بخش بعدی، آرتیفکتهای امن ZTP را با جزئیات بیشتری شرح میدهیم. پیشنیاز اصلی برای عملکرد ZTP امن، وجود گواهی مالک (مشتری/اپراتور شبکه) روی دستگاه هنگام بوت شدن است. همچنین، بسته به گردش کار (Workflow) مورد نظر در ZTP امن، میتوان یک گواهی کلاینت TLS (اختیاری) را نیز بستهبندی کرد. پرچمهای (Flags) اعمال ZTP امن، تنظیماتی هستند که کاربر میتواند برای تغییر ماشین حالت (State Machine) فرآیند ZTP مشخص کند تا یا ZTP امن را اجباری نماید و یا گردشکارهای کلاسیک ZTP با قابلیت سازگاری با عقب (Backward-compatible) را فعال کند.
ابزار ساخت برای Golden ISOها در سیستمعامل IOS XR متنباز (Open Source) است و میتوانید آن را در اینجا بیابید:https://github.com/IOSXR/gisobuild.
تأمین خودکار تجهیزات (Zero-Touch Provisioning یا ZTP)
با استفاده از IOS XR، قابلیت تأمین خودکار بدون دخالت دست (Zero-Touch Provisioning یا ZTP) در XR بهبود یافته است تا از الزامات توصیفشده در RFC 8572 پشتیبانی کند (که ما آن را «ZTP امن» مینامیم)؛ تأمین خودکار بدون دخالت دست، همانطور که پیشتر توضیح داده شد، قطعه مهمی از پازل برای اکثر ارائهدهندگان خدمات است که به دنبال خودکارسازی تأمین اولیه (Day 0 provisioning) روترها هستند تا به کاهش هزینههای عملیاتی (OpEx) مرتبط با کارشناسان فنی (SMEs) و مراکز آمادهسازی (Staging facilities) که امروزه استفاده میشوند، کمک کنند. https://tools.ietf.org/html/rfc8572 آنچه ما به عنوان «ZTP امن» (secure ZTP) از آن یاد میکنیم. همانطور که پیشتر توضیح داده شد، تأمین خودکار (Zero-touch provisioning) بخش مهمی از پازل برای اکثر ارائهدهندگان خدمات است که به دنبال خودکارسازی تأمین روز صفر (Day 0 provisioning) روترها هستند تا به کاهش هزینههای عملیاتی (OpEx) مرتبط با شرکتهای کوچک و متوسط (SMEs) و مراکز آمادهسازی (staging facilities) که امروزه مورد استفاده قرار میگیرند، کمک کنند.
در اکثر پیادهسازیهای دسترسی (Access Deployments)، اپراتورهای شبکه روترهای خریداریشده خود را دریافت کرده و معمولاً آنها را به عنوان بخشی از اولین مرحله استقرار «کامیونی» (Truck Rollout) به مراکز پیشراهاندازی (Prestaging Facilities) منتقل میکنند. در مرکز پیشراهاندازی، دستگاهها معمولاً با کمک متخصصان موضوعی (SMEs) بهصورت دستی پیکربندی میشوند تا تنظیمات اولیه (Bootstrap Configurations) روی آنها اعمال گردد. سپس این جعبههای از پیش پیکربندیشده به محل نصب ارسال میشوند و اغلب از نصابهای شخص ثالث برای راهاندازی ساده و روشن کردن دستگاههایی که از قبل پیکربندی شدهاند، استفاده میشود. این مرحله، دومین استقرار «کامیونی» (Truck Rollout) را تشکیل میدهد. این ممکن است گردش کار دقیق همه اپراتورهای شبکه نباشد، اما بهطور نسبتاً دقیقی نشاندهنده گردشکارهای مورد استفاده در اکثریت آنها است.
استفاده از کارشناسان خبره (SMEs) در مراکز پیشراهاندازی (Prestaging)، اعزامهای متعدد تیمهای فنی، عملیات پس از نصب و اصلاح خطاهای احتمالی در پیکربندیهای اولیه (Bootstrap configurations)، همگی منجر به افزایش مداوم هزینههای عملیاتی (OpEx) شده است که اکثر ارائهدهندگان خدمات در مقیاس بزرگ با آن مواجه هستند. با توجه به رشد روزافزون تعداد تجهیزات در این استقرارها برای پاسخگویی به تقاضای مصرفکنندگان و معماریهای جدید 5G، یافتن راهکارهایی برای کاهش حداکثری هزینههای عملیاتی (OpEx) امری ضروری است.
قابلیت IOS XR ZTP برای پاسخگویی به نیازمندیهای زیر طراحی شده است:
ساختارهای درختی (Tree-based buildouts): برای مستقل بودن از توپولوژی (Topology agnostic)، ایجاد ساختارهای درختی ضروری است. از آنجایی که شبکه مدیریت خارج از باند (Out-of-band management) برای کار وجود ندارد، تمام دستگاههای موجود در شبکه دارای اتصال لایه ۲ (L2 connectivity) به سرور DHCP نیستند. این بدان معناست که یک دستگاه که از قبل پیکربندی شده است، باید به عنوان رله DHCP (DHCP relay) برای دستگاه بعدی در ساختار درختی عمل کند.
۲) امنیت حیاتی است: از آنجایی که دستگاههای دسترسی (Access devices) معمولاً در مکانهای ناامن قرار میگیرند، ایجاد اعتماد در طول فرآیند ورود به شبکه (Onboarding process) ضروری است. در سطحی بالاتر، این موضوع به الزامات زیر ترجمه میشود:

قابلیت ZTP در سیستمعامل IOS XR و برقراری اعتماد (Trust)
دسترسی لایه ۲ (L2) از طریق کشف VLAN: اغلب، سرویسهای دسترسی اولیه مانند سرورهای DHCP و سرورهای وب ممکن است تنها از طریق یک شبکه مترو اترنت لایه ۲ (Layer 2 metro Ethernet cloud) در دسترس باشند. به دلیل عدم وجود شبکههای مدیریت خارج از باند (out-of-band management)، پورتهای داده (تولیدی) باید برای ZTP در این شبکهها مورد استفاده قرار گیرند. به همین دلایل، تکنیکهای کشف VLAN توسط IOS XR ZTP پیادهسازی میشوند تا VLAN مورد استفاده در سراسر شبکه لایه ۲ کشف شده و پس از کشف، درخواست DHCP با VLAN صحیح برچسبگذاری (Tag) شود تا فرآیند ZTP ادامه یابد.
با در نظر گرفتن اهداف توصیفشده در بالا، سیستمعامل IOS XR مفاهیمی را از RFC-8572 پیادهسازی میکند تا قابلیتهای تأمین خودکار بدون دخالت دست (ZTP) ایمن را در IOS XR فعال سازد. این پشتیبانی شامل سه بخش است:
پشتیبانی از مدل امن ZTP YANG برای پیادهسازی تعاملات بین روتر و سرور ZTP مبتنی بر RESTCONF جهت دانلود فایلهای مورد نیاز (پیکربندی، اسکریپتها) برای راهاندازی خودکار (Provisioning) روتر.
پشتیبانی از یک Golden ISO امن که میتواند گواهی مالک (مرتبط با اپراتور شبکه) را بستهبندی کند تا امضاهای موجود بر روی فایلهای دانلود شده را تأیید کرده و دامنه شبکهای که دستگاه قصد پیوستن به آن را دارد، بر اساس پاسخهای سرور ZTP اعتبارسنجی نماید. این GISO امن همچنین از افزودن یک گواهی کلاینت TLS اختیاری پشتیبانی میکند تا به برقراری یک اتصال TLS با سرور ZTP جهت ایمنسازی و رمزنگاری تعاملات بعدی کمک کند.
یک زیرساخت داخلی (On-box) برای انتقال یک شناسه منحصربهفرد امن (SUDI) غیرقابلدستکاری، مانند ترکیبی از گواهینامه و شماره سریال به سرور ZTP، و فراهم کردن یک فضای امن روی روتر (Router) برای ذخیرهسازی گواهینامهها و کلیدهای مالک.
IOS XR: مدرن

IOS XR: مدرن
سیستمعامل IOS XR همواره بر ایجاد نقاط تعامل برنامهپذیر (Programmatic) و مدلمحور (Model-driven) در پشته (Stack) خود تمرکز داشته است تا رابطهای قابل اتوماسیون (Automatable) را فراهم کند که استقرار و مدیریت تجهیزات شبکه را تسهیل مینمایند. این طراحی به قابلیتهای IOS XR اجازه میدهد تا از طریق یکپارچهسازیهای قدرتمند با ابزارها، برنامهها و کنترلرهای خارجی، بهسادگی توسعه یابند.
اما دستهبندی این قابلیتها تنها در قالب گفتگو درباره APIها دشوار است. با تکامل فناوریهایی نظیر مسیریابی بخشبندیشده (Segment Routing) و EVPN، اپراتورهای شبکه از آنها برای گذار شبکههای انتقال قدیمی خود از پیادهسازیهای سنگین پروتکلی (مانند MPLS، RSVP-TE، و پیادهسازیهای VPN لایه ۲ و لایه ۳) به راهکارهای سادهتر و منعطفتر بهره بردهاند؛ راهکارهایی که بر پایه این فناوریها و اغلب در کنار کنترلرهای خارجی و ابزارهای برنامهریزی ساخته شدهاند.
بنابراین درک این قابلیتها در بستر عملیات شبکه در حال تحول، حائز اهمیت است. بهطور معمول، ما میتوانیم عملیات شبکه را در سه دسته طبقهبندی کنیم:
●روز صفر (Day 0):راهاندازی اولیه دستگاهها، استقرار خودکار از طریق ZTP، ثبت در سیستمهای مدیریت روز اول (Day 1) و راهکارهای نظارتی. رابطهای برنامهنویسی (API) و زیرساختهای تأمین خودکار (Zero-touch provisioning) در این مرحله نقش کلیدی ایفا میکنند.
●روز اول:پیکربندی دستگاهها بر اساس نقش (Role-based) در شبکه، راهاندازی راهکارهای مدیریت متمرکز و کنترلرها، استقرار انبوه برنامهها و سیاستها با استفاده از ابزارهای مدیریت پیکربندی مقیاسپذیر و اتوماسیون. رابطهای برنامهنویسی (API) مدلمحور مبتنی بر YANG برای تأمین منابع دستگاه، قابلیتهای تلهمتری (Telemetry) مدلمحور برای پایش دستگاه، مسیریابی بخشبندیشده (Segment Routing) و راهکارهای EVPN برای پیادهسازی سرویسها و سیاستها در شبکه، از عناصر کلیدی مورد استفاده در عملیات روز اول هستند.
●روز N:دستکاری وضعیت در شبکه با استفاده از اطلاعات شبکه و برنامه در زمان واقعی (Real-time)، رفع مشکلات افت کیفیت شبکه، ایجاد هشدارها و زمانبندی پنجرههای نگهداری، تحلیل دادهها و الگوهای تلهمتری شبکه برای تکامل طراحی شبکه و رویارویی با چالشهای آینده. کنترلکنندهها و برنامههای سفارشی که به رویدادهای شبکه و برنامه پاسخ میدهند، با بهرهگیری از APIهای لایه پایین و با کارایی بالا مانند APIهای لایه سرویس و Open Forwarding Abstraction (OFA)، حلقههای بازخورد پیادهسازیشده از طریق تلهمتری و APIهای تأمین دستگاه (Device-provisioning) مبتنی بر YANG، اجزای اصلی هستند که نوآوری در راهکارهای روز N را هدایت میکنند.
پس از درک چگونگی همسویی این APIها و فناوریها با الگوهای عملیاتی مختلف که در بالا شرح داده شد، بیایید پشته شبکه (Network Stack) در IOS XR را بررسی کنیم تا مشخص شود این قابلیتها در چه جایگاهی قرار دارند.
در ادامه، لایههای مختلف پشته (Stack) نرمافزار IOS XR به همراه قابلیتهای مربوط به هر یک مشخص شده است:

پشته (Stack) نرمافزار IOS XR و قابلیتهای مرتبط با آن
●لایه مدیریتپذیری (Manageability layer):این لایه رابط خط فرمان (CLI) و رابطهای برنامهنویسی (API) مدلسازی شده با YANG را برای ویژگیها و پروتکلهای موجود در لایه کاربرد شبکه ارائه میدهد. این مدلهای YANG برای تأمین تجهیزات (Provisioning) و تلهمتری جریانی (Streaming Telemetry) استفاده میشوند. رابطهای برنامهنویسی ZTP بر پایه CLI و YANG در این لایه ساخته شدهاند. این لایه از یک «پایگاه داده» داخلی در IOS XR به نام SysDB بهره میبرد.
●لایه برنامه/پروتکل شبکه:این لایه شامل پروتکلها (BGP, ISIS, OSPF و غیره) و ویژگیهایی مانند L2VPN، L3VPN و غیره است. این لایه با SYSDB برای ذخیره وضعیت عملیاتی و پیکربندی پروتکلها و ویژگیها در تعامل است. اجزای لایه بالاترِ Segment Routing و EVPN در این لایه قرار میگیرند.
●لایه انطباق زیرساخت/سرویس شبکه:معمولاً شامل اجزایی مانند RIB، پایگاه داده سوئیچ برچسب (Label Switch database)، BFD، مدیریت رابط شبکه (network interface handler) و APIها برای کنترلرها/عاملها است. API ارائه شده در بالای این لایه برای کاربران نهایی، API لایه سرویس (service-layer API) نامیده میشود. اجزای زیرساختی تمام پروتکلهای صفحه کنترل (control plane) در XR (مانند BGP، ISIS، OSPF و غیره)، مسیریابی قطعهبندی (segment routing) و EVPN به این لایه نگاشت میشوند.
●لایه انتزاع سختافزار (OFA):این لایه با ASIC SDK (ارائهشده توسط فروشنده ASIC) تعامل دارد و برنامهنویسی صفحه داده (Data Plane) را بر اساس وضعیت RIB یا وضعیت LSD (پایگاه داده سوئیچ برچسب) و غیره مدیریت میکند. رابط برنامهنویسی Open-Forwarding Abstraction (OFA) قابلیتهای این لایه را برای برنامههای کاربردی خارجی انتزاعی میکند.
●لایه یکپارچهسازی پلتفرم (Platform integration layer):معمولاً شامل درایورهای سمت هسته (Kernel) و/یا سمت کاربر برای تجهیزاتی مانند فنها، چراغهای LED، حسگرها و غیره است. یکپارچهسازی این درایورهای مختصِ تجهیزات با لایههای بالاترِ پشته نرمافزاری (Software stack) در این لایه صورت میگیرد. این لایه به پشته نرمافزاری اجازه میدهد تا اطلاعات (مانند دما) را از حسگرها استخراج کرده و بر وضعیت قطعات (مانند سرعت فن) تأثیر بگذارد.
IOS XR: قابل اعتماد (Trustworthy)

IOS XR: قابل اعتماد (Trustworthy)
در سیستمعامل IOS XR، یک موضوع محوری در هر بحث پیرامون امنیت دستگاه یا سیستمعامل شبکه (NOS)، مفهوم اعتماد (Trust) است. هدف IOS XR و سختافزارهای سازگار با آن، ایجاد یک «پلتفرم قابلاعتماد» (Trustworthy Platform) است که در آن یکپارچگی دستگاه و سیستمعامل به اندازه مفهوم امنیت اهمیت دارد. در واقع، توجه به این نکته ضروری است که هیچ دستگاهی را نمیتوان بهطور کامل امن در نظر گرفت: این یک وضعیت ایدهآل است، اما لزوماً دستیافتنی نیست. سطح اعتماد را میتوان اندازهگیری، تأیید و حسابرسی (Audit) کرد.
بیان دغدغههای اصلی مرتبط با امنیت تجهیزات شبکه از اهمیت بالایی برخوردار است:
●یک اپراتور چگونه اطمینان حاصل میکند که روتر (Router) تنها نرمافزاری را اجرا میکند که برای آن در نظر گرفته شده است؟
●چگونه میتوان اطمینان حاصل کرد که یک روتر (Router) از زمان ساخت توسط Cisco، از نظر فیزیکی دستکاری نشده است؟
با پیادهسازی فوری کنترلهای امنیتی، مانند فعالسازی نصب و اجرای صرفاً نرمافزارهای امضا شده (Signed Software) یا در اختیار داشتن مقادیر مرجع و معتبر برای قطعات سختافزاری جهت تطبیق و تأیید در هنگام بوت، میتوان به این نگرانیها پاسخ داد. گام فراتر در این مسیر، اطمینان از پشتیبانی کنترلهای امنیتی توسط سختافزارهای ضد دستکاری (Tamper-proof) است که گواهیها، کلیدها و مقادیر مرجع معتبر را برای اعتبارسنجی ذخیره میکنند و به ارائه یک تأیید کامل کمک مینمایند. قابلیتهای گواهیدهی (Attestation) امکان مشاهده و گزارشدهی نتایج تأیید را فراهم میسازند که میتواند اثباتی بر قابلیت اطمینان به قطعه و شبکه باشد.
برای رفع این نگرانیها و درک الگوی اعتماد (Trust Paradigm) در IOS XR و پلتفرمهای مرتبط با آن، باید زنجیره اعتماد (Chain of Trust) را برای یک دستگاه شبکه معمولی درک کنیم.
ریشه سختافزاری اعتماد (Hardware root of trust)
مفهوم ساده است: اگر فرآیند بوت (Boot process) را ردیابی کنیم، انتقال ریشه اعتماد (Root of trust) به دورترین نقطه ممکن، بالاترین سطح اطمینان را در سیستم تضمین میکند.

ریشه سختافزاری اعتماد (Hardware root of trust)
حملات و آسیبپذیریهای شناختهشدهای وجود دارند که سیستمعامل (OS) در حال اجرا، هسته (Kernel) و بوتلودر (GRUB) را به خطر میاندازند. مفهوم بوت امن (Secure boot) در مشخصات UEFI نسخه 2.3.1 تعریف شده است و انتظار میرود که اعتماد از مرحله BIOS آغاز شود و متعاقباً بوتلودر، هسته و سپس سیستمعامل را بررسی کند. اما ما شاهد روتکیتهای UEFI در دنیای واقعی بودهایم که میتوانند BIOS را به خطر بیندازند و در نتیجه فرآیند بوت امن را با مخاطره مواجه کنند. علاوه بر این، دامنه مسائل امنیتی برای Intel ME و AMT که هر دو افزونههای BIOS در سختافزارهای اینتل هستند، بهطور قابلتوجهی در حال افزایش است. تحقیقاتی در مورد مشکلات اکوسیستم فریمور UEFI و سهولت در ارائه و نصب ایمپلنت/روتکیت ارائه شده است.
این بدان معناست که برای ایمنسازی صحیح فرآیند بوت (Boot Process)، بررسیهای اعتبارسنجی باید بسیار زودتر در چرخه بوت، حتی پیش از بالا آمدن BIOS، آغاز شوند. در پلتفرمهای IOS XR، ما دقیقاً همین کار را انجام میدهیم. پلتفرمهای سختافزاری Cisco آنچه را که ما بوت امن مبتنی بر سختافزار (Hardware-anchored secure boot) مینامیم، اجرا میکنند.
بوت امن (Secure Boot) سیسکو در مقابل بوت امن (Secure Boot) مبتنی بر UEFI
قابلیت Cisco secure boot با لنگر انداختن فرآیند بوت امن در سختافزار، متمایز عمل کرده و بدین ترتیب مستحکمترین سطح امنیت (Security) را فراهم میکند. این یک وضعیت امنیتی بهبودیافته است، زیرا تغییرات سختافزاری دشوار و پرهزینه بوده و حتی در صورت دسترسی فیزیکی هکر به دستگاه، پنهان کردن آن آسان نیست.

بوت امن (Secure Boot) سیسکو
این فرآیند یک «زنجیره اعتماد» (chain of trust) از میکرولودر (microloader) تا بوتلودر (bootloader) و در نهایت سیستمعامل ایجاد میکند که اصالت نرمافزار را تأیید مینماید. اگر هرگونه بررسی امضای دیجیتال (digital signature) با شکست مواجه شود، دستگاه Cisco اجازه بوت شدن آن نرمافزار را نمیدهد تا از اجرای کدهای مخرب جلوگیری شود.
ماژول لنگر اعتماد سیسکو (Cisco Trust Anchor Module یا TAm) در مقایسه با استاندارد صنعتی TPM
هنگامی که بوت امن (Secure Boot) مبتنی بر سختافزار Cisco، اصالت نرمافزار را به عنوان نرمافزار اصلی Cisco تأیید کرد، سیستمعامل سپس از TAm استعلام میگیرد تا اصالت سختافزار را بررسی کند. این کار از طریق بررسی رمزنگاریشده TAm برای یک شناسه دستگاه منحصربهفرد امن (SUDI) که تنها توسط Cisco ارائه شده است، انجام میشود.
شناسه SUDI بهصورت دائمی در TAm برنامهریزی شده و توسط Cisco در طی فرآیندهای تولید بسته، ایمن و حسابرسیشده این شرکت ثبت میشود. این برنامهریزی، امنیت زنجیره تأمین (Supply Chain Security) قدرتمندی را فراهم میکند که بهویژه برای سیستمهای تعبیهشده (Embedded Systems) مانند روترها و سوئیچها حائز اهمیت است.
در مقابل، استاندارد صنعتی TPM عملکردهای مشابهی با TAm دارد، اما در هنگام تولید به صورت دائمی با یک شناسه دستگاه منحصربهفرد (Unique Device Identifier) برنامهریزی نمیشود. در این حالت، ایجاد یک SUDI بر عهده کاربر نهایی است و نیازمند مداخله و توسعه توسط کاربر میباشد؛ این موضوع اگرچه انعطافپذیری (Flexibility) را فراهم میکند، اما خطر عدم شناسایی تغییرات غیرمجاز در زنجیره تأمین (Supply Chain) را افزایش میدهد.