دوره Python for Network Engineers

دوره Python for Network Engineers

خلاصه دوره Python for Network Engineers:

مفهوم Network در عصر جدید دچار تغییراتی شده است. یعنی Network قدیمی که می‌شناسیم دائماً در حال تغییر است و از حالت Traditional به حالت Programmability در حال مهاجرت می‌باشد. مباحثی که جدیداً در بحث Network مطرح می‌شود شامل، بحث Network as a Service (NaaS)، Software Defined Networking (SDN)، Network Functions Virtualization (NFV) و بحث ترکیب Programmability یا برنامه‌نویسی در شبکه است.
Network as a Service شامل اجزاء مختلفی می‌شود. 2 جزء اصلی NaaS، NFV یا Network Function Virtualization و SDN یا Software Defined Networking است. NFV یا Network Functions Virtualization در واقع مجازی‌سازی شبکه در سازمان‌ها است. یعنی در یک سازمان خبری از Firewallها، Switchها، Routerها و ... نیست. در واقع Deviceهای فیزیکی وجود ندارند. در عوض با یک Server، تمامی وظایف این Deviceها به‌صورت Virtual به عنوان یک Service در حال اجرا هستند. Cisco برای راه‌اندازی این Service، راه‌کار ارائه می‌کند. مثل استفاده از Switchهای Nexus 1000V، Routerهای ISRv، ASAvها و vWAAS.
هر Network Device و از هر Vendor، که در شبکه‌ در حالت Traditional استفاده می‌شود، دارای 3تا Plane مختلف است. Control Plane، Data Plane و Management Plane. Control Plane، Planeی است که به عنوان مثال، مسئولیت ساخت و ایجاد Routing Tableها را دارد. Data Plane، Planeی است که مسئول انتقال Data اصلی و Physically در بستر شبکه است. Management Plane، Consoleهایی در اختیار ما به عنوان Network Engineer قرار می‌دهد، مثل CLI، SSH، SNMP و ... که توسط آن‌ها می‌توان Deviceهای شبکه را Management نمود.
در شبکه‌هایی که به صورت SDN یا Software Defined Networking مدیریت می‌شود، Control Plane از Device برداشته می‌شود و مدیریت آن به‌صورت متمرکز توسط یک Controller انجام می‌شود. این Controller، عملیات Control Plane همه Deviceهای شبکه را انجام می‌دهد. در واقع Process که بر روی مغز Deviceها قرار دارد را، در یک نقطه متمرکز قرار می‌دهیم و Deviceهای شبکه را Dummy می‌بیند. این قابلیت برای Networkهایی کاربرد دارد که خیلی Dynamic و بزرگ هستند و روز به روز، براساس نیاز مشتری Configuration، Network در حال تغییر است. مزیت این روش نسبت به حالت Traditional این است که، نیاز نیست Network Engineerها تک تک Deviceهای مسیر را Manage بکنند.
در واقع SDN منجر به کاهش زمان، مدیریت یکپارچه و کاهش خطای انسانی در شبکه می‌شود. از طرف دیگر، Controller یک دید کلی نسبت به تمام Network ما خواهد داشت. Cisco ACI (Application Centric Infrastructure) همان SDN است. این روشی است که Cisco برای راه‌اندازی شبکه‌ها به‌صورت SDN ارائه می‌دهد. از طرف دیگر، APIC (Application Policy Infrastructure Controller)، Component از Cisco ACI است که به عنوان Controller، SDN Network عمل می‌کند. API یا Application Program Interface، Interfaceهای Application هستند که توسط آن‌ها می‌توان با Controller به عنوان یه Network Engineer، صحبت کرد و مدیریت SDN Network را برعهده گرفت. 2 مدل API در بحث SDN و Controller مطرح می‌شود، Northbound Interface (NBI) و Southbound Interface (SBI). SBI بخشی از API است که Controller استفاده می‌کند تا به واسطه آن با Network Deviceها صحبت کند. در واقع استفاده از یکسری Protocol استاندارد، مثل OpenFlow می‌باشد. البته Cisco نیز بعدها از Protocol انحصاری به اسم Cisco OpFlex استفاده نمود که به عنوان استاندارد هم مطرح شد و جزء Protocolهای استاندارد محسوب می‌شود. CLI هم جزء Protocolهای SBI محسوب می‌شود که توسط آن می‌توان Deviceهای قدیمی‌تر، که از استانداردهای OpenFlow و OpFlex پشتیبانی نمی‌کنند، شبکه SDN را Manage کرد.
NBI بخشی از API است که User و کاربر شبکه، توسط آن می‌تواند با Controller صحبت کند و Configurationهای لازم را بر روی آن اعمال نماید. در این قسمت می‌توان از GUI یا Interface گرافیکی که Controller به ما می‌دهد استفاده کنیم، یا اینکه از JavaScript یا Python برای انتقال اطلاعات بر روی Controller و Configure کردن Deviceهای شبکه استفاده کنیم، یا از Controller، اطلاعات را دریافت کنیم.


مدت دوره Python for Network Engineers:

30 ساعت



پيشنياز دوره Python for Network Engineers:

CCNA


اهداف دوره Python for Network Engineers:

اهمیت Python به عنوان یک زبان برنامه‌نویسی برای Network Engineers بسیار مهم است. در صورتی که شبکه SDN داریم، می‌توان از Python استفاده کنیم و Configurationهای مد نظر را برای Controller ارسال کنیم و در واقع با Controller صحبت کنیم.
حتی در صورتی که در شبکه، SDN استفاده نمی‌کنیم، زبان Python به عنوان Task Automation یا اتوماتیک کردن کارهای روزمره در شبکه Traditional قابل استفاده می‌باشد. تصور کنید می‌خواهیم 1000تا VLAN را، بروی 100تا Switch بسازیم.
اگه بخوایم این Configuration را به صورت Manual بروی Switchها اعمال کنیم، خیلی زمان‌بر خواهد بود. از طرفی استفاده از Protocol، VTP دارای مشکلات خاص خود می‌باشد، که در دوره‌های CCNA و CCNP به آن پرداخته می‌شود. راه‌کار بهتر استفاده از یک Script ساده Python است.
Python برای Network Engineers اهمیت دارد به دلیل اینکه، یک زبان برنامه‌ویسی ساده و عمومی است. دلیل مهم‌تر این است که، Industry یا صنعت از آن پشتیبانی می‌کند. مثلاً Cisco Nexusهای جدید، Interpreter یا Python Shell بر روی آن قرار دارد و می‌توان مستقیماً بر روی Command Line، Cisco از آن بهره برد.
دوره Python for Network Engineers با دیدگاه Task Automation و آماده‌سازی برای فردایی که SDN وارد Network ما می‌شود برگزار می‌گردد. با این دیدگاه، Conceptهای کلی برنامه‌نویسی بررسی و آموزش داده می‌شود و در ادامه با مثال‌های کاربردی بحث Task Automation آموزش داده می‌شود.


سرفصل دوره Python for Network Engineers:

1- Why Python
2- Python 2x Vs 3x
3- Python Interpreter
4- Argument Passing
5- User Input
6- Help Dir
7- Variables
8- Python Datatypes
9- Strings
10- Numbers
11- Booleans
12- Lists
13- Sets
14- Tuples
15- Dictionaries
16- If elif else conditions
17- For Loops
18- While Loops
19- Nesting

جزئیات سرفصل آموزشی دوره Python for Network Engineers را از طریق لینک زیر دریافت کنید:


سرفصل دوره سماتک