Python для сетевых инженеров. Автоматизация сетевых задач
Описание курса
Программа курса Python для сетевых инженеров (Автоматизация сетевых задач) разработана в соответствии с профессиональным стандартом "Специалист по администрированию сетевых устройств информационно-коммуникационных систем". По окончании курса выдается удостоверение о повышении квалификации (при условии предоставления слушателем копии диплома о высшем образовании и других необходимых для оформления документов).Программирование – это требование рынка и нового мира в наше время, когда в сетях широко распространены облачные технологии, реализуется концепция построения сетей на основе намерений (Intent-Based Networking-IBN) и виртуализация сетевых функций (Network Functions Virtualization -NFV), внедряются протоколы RESTconf/NETconf, язык моделирования данных YANG, и пр. Чтобы соответствовать новым требованиям сетевым инженерам потребуются новые компетенции, знания для программирования и автоматизации сетей в дальнейшем.
Python является популярным языком программирования в разных областях, в том числе и в сетевой индустрии. Множество современных сетевых устройств поддерживают API интерфейсы и взаимодействие с ними через Python. Существует множество Python библиотек, связанных с сетью: telnetlib, netmiko, paramiko и пр.
Применение знаний и навыков программирования, в частности на языке Python, позволяет автоматизировать множество рутинных задач, связанных с конфигурацией и обслуживанием сети, которая может состоять как из «старых» (legacy) устройств, так и из современных устройств, поддерживающих парадигму программируемости сети и открытые API интерфейсы.
В ходе обучения вы получите необходимые базовые навыки программирования на Python, которые позволят в дальнейшем автоматизировать рутинные задачи, работать с API интерфейсами оборудования SDN сетей, а поскольку это базовый курс, то область применения не ограничивается сетевыми задачами.
Курс Python для сетевых инженеров вы можете пройти как в очном, так и в онлайн формате. В онлайн формате вы также сможете общаться с преподавателем и другими слушателями, задавать вопросы и комментировать ответы, а записи занятий доступны в любое время суток, вне зависимости от погодных условий, что позволит вам учиться в любом удобном для вас месте.
Целевая аудитория
- Сетевые инженеры
- Сетевые операторы начального уровня, техники, сетевые администраторы
Минимальные требования
- Наличие высшего технического образования.
- Знание английского языка на уровне "читаю техническую литературу"
- Базовый уровень знаний по администрированию сетей
Содержание курса
Модуль 1. Введение в курс
1.1 Цели и задачи курса. Применение Python в задачах автоматизации сетевой инфраструктуры.
1.2 Систематизация базовых знаний Python.
Лабораторная работа №1. Обработка вывода команд, полученных с сетевых устройств.
Модуль 2. Введение в ООП
2.1 Базовые понятия ООП
2.2 Обработка исключений
Лабораторная работа № 2. Изучение принципов ООП в Python.
2.3 Модуль ipaddress
Лабораторная работа №3. Изучение действий с IP адресами и IP сетями с помощью модуля ipaddress.
Лабораторная работа №4. Обработка IP адреса с помощью модуля ipaddress.
2.4 Выполнение команд на удаленном устройстве через telnet. Модуль telnetlib.
Лабораторная работа №5. Подключение к сетевым устройствам по Telnet с помощью telnetlib
Модуль 3: Регулярные выражения при работе с сетевым оборудованием
3.1 Регулярные выражения. Основные понятия и синтаксис. Модуль re.
Лабораторная работа №6. Обработка вывода CLI с помощью регулярных выражений
3.2 Библиотека TextFSM
Лабораторная работа №7. Обработка вывода CLI с помощью TextFsm
Модуль 4. Форматы данных
4.1 Основные типы данных используемые при работе с сетевым оборудованием. Файлы данных с разделительными запятыми – CSV. Модуль csv.
Лабораторная работа №8. Базовые операции с сsv файлами.
4.2 Язык разметки XML. Синтаксис и применение в сетях.
4.3 Текстовый формат обмена данными, основанный на javascript– JSON. Работа файлами в формате json в Python - модуль json.
Лабораторная работа №9. Преобразование json данных в объекты python и обратно. Работа с вложенными данными.
4.4 Формат файлов конфигураций – Yaml. Работа с yaml файлами в Python - модуль pyyaml.
Лабораторная работа №10. Обработка yaml файлов.
Модуль 5. Автоматизация подключения к сетевому оборудованию в режим CLI
5.1 Создание шаблонов конфигурации с использованием Jinja2
5.2 Удаленное подключение к сетевому оборудованию через SSH. Модуль paramiko
Лабораторная работа №11. Подключение и работа с сетевым оборудованием по SSH с помощью модуля paramiko.
5.3 Удаленное подключение к сетевому оборудованию. Модуль netmiko.
Лабораторная работа №12. Подключение к сетевому оборудованию с помощью модуля netmiko.
5.4 Удаленное подключение к сетевому оборудованию. Модуль scrapli.
Лабораторная работа №13 Подключение к сетевому оборудованию с помощью модуля scrapli.
5.5 Автоматизация в сложных мультивендорных сетях с помощью библиотеки Napalm.
Модуль 6. Модельно-ориентированная программируемость (Model-Driven Programmability)
6.1 Язык и модели данных YANG
Лабораторная работа №14. Изучение моделей yang
6.2 Протокол NETCONF и Python библиотека ncclient
Лабораторная работа №15. Конфигурация сетевого оборудования с помощью Netconf
6.3 Протокол для конфигурации и управления сетью RESTCONF. Введение в REST API.
Лабораторная работа №16. Использование Postman для тестирования API запросов
Лабораторная работа №17. Взаимодействие с сетевым оборудованием через REST API
с 09.09.2024по 13.09.2024 |
Очная Онлайн |
Оставить заявку |