YANG based Network Automation with Python Nornir

ریال۱۸.۰۰۰.۰۰۰
_majid_asadpoor

در این دوره از مجموعه آموزش‌های Nornir، با روش‌های مدرن اتوماسیون شبکه مبتنی بر YANG data model آشنا می‌شوید. ابتدا مفاهیم پایه مانند Netconf، Restconf و gNMI معرفی شده و سپس با ابزارهای کاربردی مانند pyang، yangsuite، gnmic و postman کار خواهید کرد. در ادامه نحوه دریافت و تغییر کانفیگ تجهیزات شبکه، فیلترگذاری با xpath و subtree، تبدیل XML به دیکشنری، استفاده از Jinja2 Template، و ارسال داده‌ها با قالب‌های JSON و YAML آموزش داده می‌شود. همچنین یاد می‌گیرید چگونه با کمک پایتون و کتابخانه‌های مختلف مانند Nornir و pygnmi، به صورت ساختاریافته و مقیاس‌پذیر با تجهیزات شبکه تعامل داشته…

Category:

توضیحات

سرفصل‌های دوره

ویدئوهای شماره ۱ تا ۲۰ در دوره اول Nornir منتشر شده و در دسترس است.


21- پروتکل NETCONF چیست؟

در دوره قبلی Nornir، از پلاگین‌های Netmiko، NAPALM و Scrapli برای ارسال دستورات به تجهیزات استفاده کردیم که همگی به‌صورت مستقیم دستورات CLI ارسال می‌کنند. در روش‌های NETCONF، RESTCONF و gNMI، به‌جای ارسال دستورات، از ساختار داده YANG استفاده می‌شود. تجهیزات شبکه می‌توانند تمام دستورات را در قالب ساختار استاندارد YANG ذخیره کنند که دو مزیت دارد: اول، پیکربندی تجهیزات مختلف با یک ساختار یکسان انجام می‌شود و نیازی به دستورات متفاوت برای برندهای مختلف نیست. دوم، خروجی اتوماسیون همیشه ساختارمند است و نیازی به پارسر برای تبدیل خروجی متنی به داده‌های ساختارمند نیست.


22- انواع فرمت‌های داده در اتوماسیون شبکه

در روش‌های NETCONF، RESTCONF و gNMI، به‌جای ارسال دستورات، از ساختار YANG استفاده می‌شود. برای ارسال یا دریافت داده‌ها در این ساختار، معمولاً از فرمت‌های XML، JSON یا YAML استفاده می‌شود. در این بخش، این سه فرمت مقایسه شده و ارتباط آن‌ها با دیکشنری و لیست در پایتون بررسی می‌شود.


23- ساختار داده YANG

در این بخش، ساختار داده YANG که در پروتکل‌های NETCONF، RESTCONF و gNMI برای اتوماسیون شبکه استفاده می‌شود، توضیح داده خواهد شد. شناخت این مدل برای ادامه مباحث اتوماسیون ضروری است. در بخش‌های بعدی، ابزارهایی برای استخراج اطلاعات از مدل YANG معرفی می‌شوند.


24- بررسی ساختار YANG با ابزار pyang

برای اتوماسیون شبکه با پروتکل‌های مبتنی بر YANG، شناخت مدل داده YANG و بخش‌های مورد استفاده آن اهمیت زیادی دارد. در این بخش، ابزار pyang معرفی می‌شود که امکان مشاهده ساختار درختی مدل YANG و استخراج مسیر یا ساختار XML داده‌های موردنظر را فراهم می‌کند.


25- بررسی ساختار YANG با ابزار Yangsuite

در این بخش، ابزار Yangsuite معرفی می‌شود که مشابه pyang، امکان مشاهده ساختار درختی مدل YANG و استخراج مسیر یا ساختار XML را فراهم می‌کند. مزیت Yangsuite نسبت به pyang، امکان استفاده از پروتکل‌های NETCONF، RESTCONF و gNMI بدون نیاز به دانش پایتون است.


26- دریافت پیکربندی با پلاگین Nornir-Netconf

در این بخش، با استفاده از پلاگین Nornir-Netconf و دستور netconf_get_config، نحوه دریافت پیکربندی از تجهیزات شبکه بررسی می‌شود. این دستور علاوه بر دریافت پیکربندی، مدل‌های YANG مرتبط با هر بخش را نیز نمایش می‌دهد.


27- فیلتر کردن خروجی NETCONF با استفاده از XPath

در این بخش، نحوه استفاده از فیلتر XPath برای استخراج بخش خاصی از خروجی پیکربندی NETCONF توضیح داده می‌شود. این فیلتر ممکن است توسط همه تجهیزات پشتیبانی نشود، اما فیلتر Subtree که در بخش بعدی معرفی می‌شود، به‌صورت پیش‌فرض پشتیبانی می‌شود.


28- فیلتر کردن خروجی NETCONF با XPath و دستور netconf_get

این بخش به استفاده از فیلتر XPath برای استخراج خروجی‌های آماری (مانند تعداد بایت‌های ورودی یک 인터فیس) با دستور netconf_get اختصاص دارد که برخلاف netconf_get_config، امکان دریافت داده‌های آماری را نیز فراهم می‌کند.


29- فیلتر کردن خروجی NETCONF با استفاده از Subtree

در این بخش، فیلتر Subtree معرفی می‌شود که برخلاف XPath، توسط همه تجهیزات پشتیبانی‌کننده از NETCONF پشتیبانی می‌شود. این فیلتر برای استخراج بخش‌های خاصی از پیکربندی یا داده‌های آماری استفاده می‌شود.


30- تبدیل خروجی XML NETCONF به دیکشنری

در این بخش، با استفاده از کتابخانه xmltodict، نحوه تبدیل خروجی XML پروتکل NETCONF به دیکشنری بررسی می‌شود تا دسترسی به داده‌ها ساده‌تر شود.


31- تغییر پیکربندی با استفاده از netconf_edit_config

در این بخش، نحوه تغییر پیکربندی تجهیزات با دستور netconf_edit_config در کتابخانه‌های Scrapli و Nornir-Netconf بررسی می‌شود.


32- تغییر پیکربندی با netconf_edit_config و Jinja2 Template

این بخش به استفاده از Jinja2 Template برای تغییر پیکربندی با netconf_edit_config اختصاص دارد. مباحث تئوری Jinja2 در دوره قبلی Nornir بررسی شده و در اینجا کاربرد عملی آن نشان داده می‌شود.


33- معرفی پروتکل RESTCONF

در این بخش، پروتکل RESTCONF معرفی شده و تفاوت‌های آن با NETCONF بررسی می‌شود. همچنین، نحوه استفاده از دستورات، هدرها و ساختار URL در RESTCONF با ابزار curl توضیح داده می‌شود.


34- ارسال دستورات با RESTCONF و ابزار Postman

در این بخش، نحوه استفاده از ابزار Postman برای ارسال دستورات با پروتکل RESTCONF و تنظیم هدرها و URL توضیح داده می‌شود. این ابزار امکان تولید کد به زبان‌های مختلف را نیز فراهم می‌کند.


35- ارسال دستورات با RESTCONF و پایتون بدون Nornir

در این بخش، نحوه ارسال دستورات با پروتکل RESTCONF از طریق کتابخانه requests در پایتون و بدون استفاده از Nornir بررسی می‌شود. همچنین، پردازش خروجی‌های XML و JSON توضیح داده خواهد شد.


36- ارسال دستورات با RESTCONF و پلاگین Nornir

این بخش به ارسال دستورات با پروتکل RESTCONF از طریق پلاگین Nornir اختصاص دارد که مزایایی مانند مدیریت موجودی (Inventory Management) و اجرای همزمان دستورات (Multithreading) را فراهم می‌کند.


37- ارسال پیکربندی با پروتکل RESTCONF

در این بخش، نحوه ارسال و تغییر پیکربندی تجهیزات شبکه با پروتکل RESTCONF، ابتدا بدون Nornir و سپس با استفاده از Nornir، بررسی می‌شود.


38- تغییر پیکربندی با RESTCONF و داده‌های YAML

در این بخش، تبدیل داده‌های JSON به YAML برای تغییر پیکربندی با RESTCONF توضیح داده می‌شود. YAML به دلیل خوانایی و سهولت ویرایش، گزینه مناسب‌تری برای پیکربندی است.


39- تغییر پیکربندی با RESTCONF و Jinja2 Template

در این بخش، استفاده از Jinja2 Template برای جداسازی داده‌های پیکربندی از کد پایتون در پروتکل RESTCONF بررسی می‌شود.


40- مقدمه‌ای بر gRPC و gNMI

این بخش به معرفی پروتکل‌های gRPC و gNMI اختصاص دارد و مقدمه‌ای برای استفاده از آن‌ها در اتوماسیون شبکه ارائه می‌دهد.


41- آماده‌سازی آزمایشگاه gNMI

در این بخش، نحوه آماده‌سازی آزمایشگاه gNMI با استفاده از سیستم‌عامل Arista vEOS و نصب ابزار gnmic برای ارتباط با تجهیزات بررسی می‌شود.


42- دریافت پیکربندی با پروتکل gNMI و ابزار gnmic

در این بخش، نحوه استفاده از ابزار gnmic برای دریافت پیکربندی و داده‌های آماری با دستور get gRPC در پروتکل gNMI توضیح داده می‌شود.


43- تغییر پیکربندی با پروتکل gNMI و ابزار gnmic

این بخش به تغییر یا حذف پیکربندی با دستور set gRPC و ابزار gnmic اختصاص دارد. همچنین، روشی ساده برای یافتن مسیرهای YANG معرفی می‌شود.


44- استفاده از Subscribe gRPC با ابزار gnmic در gNMI

در این بخش، دستور subscribe gRPC برای دریافت داده‌ها به‌صورت دوره‌ای یا Streaming با ابزار gnmic بررسی می‌شود که جایگزین بهتری برای SNMP است.


45- پیاده‌سازی gNMI با پایتون و Nornir

در این بخش، استفاده از کتابخانه pygnmi برای ارسال دستورات get gRPC و capabilities gRPC با پروتکل gNMI و بهره‌گیری از مزایای Nornir بررسی می‌شود.


46- ارسال دستورات set و subscribe gRPC با pygnmi

این بخش به ارسال دستورات set gRPC و subscribe gRPC برای تغییر پیکربندی و دریافت داده‌های Streaming با کتابخانه pygnmi و Nornir اختصاص دارد.

مدرس

مجید اسدپور

عضو سابق هیات علمی دانشگاه مازندران مولف 3 کتاب در زمینه شبکه های کامپیوتری تولید بیش از 50 دوره آموزش ویدئویی به زبان فارسی تولید بیش از 10 دوره آموزش ویدئویی به زبان انگلیسی بیش از 20 سال سابقه در زمینه شبکه و امنیت بیش از 10 سال سابقه تدریس مدرس دوره های سیسکو در تخصص های مدرس دوره های CCIE R&S, CCIE SP, CCIE Security, CCIE DC و اتوماسیون شبکه
_majid_asadpoor

دیدگاهها

هیچ دیدگاهی برای این محصول نوشته نشده است.

اولین نفری باشید که دیدگاهی را ارسال می کنید برای “YANG based Network Automation with Python Nornir”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


محصولات مشابه