Модуль 1. Python и ключевые типы данных.
- Основные факты о языке программирования Python 3 (тип, устройство, сферы применения). Преимущества использования Python в сетях передачи данных.
- Примеры синтаксиса языка. Документация PEP.
- Стандартные типы данных (переменные, списки, кортежи, словари, сеты, файлы) с примерами использования и основными операциями над ними (преобразования типов, генерирование и т. д.).
- Типы данных (и библиотеки), используемые в работе с сетевым оборудованием (ipAddress, XML, JSON, YAML) с примерами использования и основными операциями над ними (преобразования типов, генерирование и т. д.)
Лабораторная работа 1. Работа с типами данных (стандартными и дополнительными).
Модуль 2. Операторы, функции и библиотеки
- Условный оператор if/elif/else.
- Операторы циклов while и for. Работа с циклами (break, continue)
- Понятие функций. Рассмотрение синтаксиса, локальные и нелокальные переменные. Операторы return и yield. Отличие и примеры использования функций и генераторов.
- Регулярные выражения и использование библиотеки re.
- Модули и библиотеки. Назначение, использование, правила оформления.
Лабораторная работа 2. Работа с условными операторами и циклами. Лабораторная работа 3. Работа с функциями и генераторами. Лабораторная работа 4. Комплексная работа по предыдущим темам.
Модуль 3. ООП, исключения и Netmiko
- Элементы объектно-ориентированного программирования (ООП). Понятие наследования, инкапсуляции и полиморфизма. Примеры использования.
- Обработка исключений. Операторы try/except/else/finally, оператор raise. Назначение и примеры использования.
- Библиотеки взаимодействия с сетевыми устройствами посредством CLI. Библиотека Netmico.
- Параллельное выполнение задач в Python. Модули библиотеки Multiprocessing.
Лабораторная работа 5. Использование библиотек Netmiko и Multiprocessing для взаимодействия с сетевыми устройствами.
Модуль 4. NETCONF, REST API
- Протокол NETCONF и библиотека ncclient. Применение, основные понятия, принципы работы с библиотекой. Поддержка производителями.
- Формат REST API и библиотека request. Применение, основные понятия, принципы работы с библиотекой. Поддержка производителями. Cisco NX-API – примеры, особенности.
Лабораторная работа 6. Использование архитектуры REST API и протокола NETCONF для настройки сетевого оборудования.
Модуль 5. Библиотеки NAPALM и Nornir
- Концепция и использование библиотеки NAPALM для настройки сетевого оборудования.
- Использование фреймворка Nornir для администрирования групп сетевых устройств.
Лабораторная работа 7. Настройка сетевых устройств с использованием библиотек NAPALM и Nornir.