Программирование на Python для сетевых инженеров (PYTHON)

Программа курса

Модуль 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.