Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 638984)
Контекстум
Электро-2024

Автоматизация программируемых сетей. Профессиональная квалификация сетевого инженера нового поколения (5000,00 руб.)

0   0
Первый авторЭделман
АвторыОсуолт М.
ИздательствоМ.: ДМК Пресс
Страниц617
ID794726
АннотацияПостоянное появление новых протоколов, технологий, моделей доставки и ужесточение требований к интеллектуальности и гибкости бизнес-процессов сделали сетевую автоматизацию чрезвычайно важной. Это практическое руководство наглядно демонстрирует сетевым инженерам, как использовать широкий спектр технологий и инструментальных средств, в том числе Linux, Python, JSON и XML, для автоматизации систем с помощью написания программного кода. Книга поможет вам упростить выполнение задач, связанных с конфигурированием, управлением и эксплуатацией сетевого оборудования, топологий, сервисов и поддержкой сетевых соединений. Внимательно изучая ее, вы получите основные практические навыки и освоите инструментальные средства, необходимые для сложного перехода к автоматизации сети.
ISBN978-5-97060-699-5
УДК4.5
ББК32.812
Эделман, Дж. Автоматизация программируемых сетей. Профессиональная квалификация сетевого инженера нового поколения / М. Осуолт; Дж. Эделман .— Москва : ДМК Пресс, 2019 .— 617 с. — ISBN 978-5-97060-699-5 .— URL: https://rucont.ru/efd/794726 (дата обращения: 16.06.2024)

Предпросмотр (выдержки из произведения)

Автоматизация_программируемых_сетей._Профессиональная_квалификация_сетевого_инженера_нового_поколения.pdf
УДК 004.5 ББК 32.812 Э30 Э30 Автоматизация программируемых сетей / пер. с анг. А. В. Снас тина. – М.: ДМК Пресс, 2019. – 616 с.: ил. Эделман Дж., Лоу С. С., Осуолт М. ISBN 978-5-97060-699-5 Постоянное появление новых протоколов, технологий, моделей доставки и ужесточение требований к интеллектуальности и гибкости бизнес-процессов сделали сетевую автоматизацию чрезвычайно важной. Это практическое руководство наглядно демонстрирует сетевым инженерам, как использовать широкий спектр технологий и инструментальных средств, в том числе Linux, Python, JSON и XML, для автоматизации систем с помощью написания программного кода. Книга поможет вам упростить выполнение задач, связанных с конфигурированием, управлением и эксплуатацией сетевого оборудования, топологий, сервисов и поддержкой сетевых соединений. Внимательно изучая ее, вы получите основные практические навыки и освоите инструментальные средства, необходимые для сложного перехода к автоматизации сети. УДК 004.5 ББК 32.812 Authorized Russian translation of the English edition of Internet of Network Programmability and Automation ISBN 9781491931257 © 2018 Jason Edelman, Scott S. Lowe, Matt Oswalt. This translation is published and sold by permission of Packt Publishing, which owns or controls all rights to publish and sell the same. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. ISBN 978-1-491-93125-7 (анг.) ISBN 978-5-97060-699-5 (рус.) © 2018 Jason Edelman, Scott S. Lowe, Matt Oswalt © Оформление, издание, перевод, ДМК Пресс, 2019
Стр.5
Содержание Предисловие ............................................................................................................... 12 Глава 1. Тенденции в современной промышленной эксплуатации сетей ................................................................................................. 20 Возникновение технологии программно определяемой сети ........................................ 20 OpenFlow ......................................................................................................................... 21 Что такое программно определяемая сеть ................................................................... 25 Резюме ................................................................................................................................. 39 Глава 2. Автоматизация сети ............................................................................. 40 Для чего нужна автоматизация сети ................................................................................. 40 Упрощение архитектуры ............................................................................................... 41 Детерминированные результаты .................................................................................. 42 Гибкость бизнеса ............................................................................................................ 42 Типы автоматизации сети ................................................................................................. 43 Подготовка и настройка устройств ............................................................................... 43 Сбор данных ................................................................................................................... 46 Переходы между платформами .................................................................................... 47 Управление конфигурацией .......................................................................................... 49 Совместимость ............................................................................................................... 49 Составление отчетов ...................................................................................................... 50 Устранение проблем ...................................................................................................... 51 Развитие уровня управления от протокола SNMP до API устройств .............................. 53 Прикладные программные интерфейсы (API) ............................................................ 53 Влияние концепции открытых сетей ........................................................................... 57 Глава 3. Операционная система Linux ........................................................ 60 Изучение ОС Linux с точки зрения автоматизации сети ................................................. 60 Краткая история создания ОС Linux ................................................................................. 61 Дистрибутивы Linux ........................................................................................................... 62 Red Hat Enterprise Linux, Fedora и CentOS .................................................................... 62 Debian, Ubuntu и другие производные дистрибутивы ................................................ 64 Другие дистрибутивы Linux .......................................................................................... 66 Автоматизация сети в эпоху SDN ...................................................................................... 58 Резюме ................................................................................................................................. 59 Работа в ОС Linux ................................................................................................................ 66 Перемещение по файловой системе ............................................................................ 67 Работа с файлами и каталогами .................................................................................... 72 Выполнение программ .................................................................................................. 79
Стр.7
Содержание  7 Работа с демонами ......................................................................................................... 82 Работа с сетями в ОС Linux ................................................................................................ 87 Работа с интерфейсами ................................................................................................. 87 Маршрутизация для конечного хоста ........................................................................... 98 Конфигурация маршрутизатора ................................................................................. 103 Коммутация .................................................................................................................. 105 Резюме ............................................................................................................................... 111 Глава 4. Изучение языка программирования Python для применения в сетевой среде ................................................................ 112 Должны ли сетевые инженеры уметь писать программный код? ................................ 113 Использование интерактивного интерпретатора Python ............................................. 115 Типы данных языка Python.............................................................................................. 117 Использование строк ................................................................................................... 118 Использование числовых значений ........................................................................... 128 Использование логических значений ........................................................................ 130 Использование списков ............................................................................................... 133 Использование словарей ............................................................................................. 138 Множества и кортежи языка Python ........................................................................... 143 Использование условных логических выражений ......................................................... 145 Концепция объекта, содержащего другие объекты ........................................................ 148 Использование циклов ..................................................................................................... 149 Использование цикла while ......................................................................................... 149 Использование цикла for ............................................................................................. 150 Использование функций .................................................................................................. 154 Работа с файлами .............................................................................................................. 158 Чтение данных из файла ............................................................................................. 158 Запись данных в файл .................................................................................................. 161 Создание программ на языке Python .............................................................................. 163 Создание простого скрипта на языке Python............................................................. 163 Что такое shebang ......................................................................................................... 164 Перемещение кода из интерпретатора Python в независимый скрипт .................. 166 Работа с модулями языка Python .................................................................................... 167 Передача аргументов в скрипт ........................................................................................ 169 Использование pip для установки пакетов языка Python .............................................. 171 Советы, приемы и дополнительная информация по использованию языка Python ..................................................................................................................... 173 Резюме ............................................................................................................................... 179 Глава 5. Форматы и модели данных .......................................................... 180 Введение в форматы данных ........................................................................................... 180 Типы данных ................................................................................................................ 182 YAML .................................................................................................................................. 184 Краткий обзор основ YAML ......................................................................................... 184 Работа с YAML в коде Python ....................................................................................... 187 Модели данных в YAML ............................................................................................... 188 XML .................................................................................................................................... 190
Стр.8
8  Содержание Основы XML .................................................................................................................. 190 Использование определения схемы XML Schema Definition (XSD) для моделей данных .................................................................................................... 191 Преобразование XML с помощью XSLT ...................................................................... 193 Поиск в данных XML с использованием XQuery ........................................................ 197 JSON ................................................................................................................................... 197 Основы формата JSON ................................................................................................. 198 Обработка формата JSON в коде Python ..................................................................... 200 Использование механизма JSON Schema для моделей данных ................................ 201 Создание моделей данных с использованием YANG ..................................................... 202 Общий обзор языка YANG ................................................................................................ 202 Практическое применение языка YANG .................................................................... 203 Резюме ............................................................................................................................... 207 Глава 6. Шаблоны сетевой конфигурации .............................................. 208 Современные языки шаблонов........................................................................................ 209 Использование шаблонов для веб-разработки .......................................................... 210 Универсальность шаблонов ......................................................................................... 211 Важность использования шаблонов в процессе автоматизации сети .......................... 212 Язык Jinja для создания шаблонов сетевой конфигурации ........................................... 213 Почему именно Jinja .................................................................................................... 213 Динамическая вставка данных в простой шаблон Jinja ............................................ 214 Обработка файла шаблона Jinja средствами языка Python ....................................... 215 Условные выражения и циклы .................................................................................... 217 Фильтры Jinja ................................................................................................................ 224 Наследование шаблонов в языке Jinja ........................................................................ 227 Создание переменных в Jinja ...................................................................................... 228 Резюме ............................................................................................................................... 229 Глава 7. Использование сетевых прикладных программных интерфейсов (API) ................................................................. 230 Основы сетевых API .......................................................................................................... 231 Введение в API-интерфейсы на основе протокола HTTP .......................................... 231 Основы NETCONF ......................................................................................................... 236 Практическое использование сетевых API ..................................................................... 244 Практическое использование API на основе протокола HTTP ................................. 245 Практическое использование NETCONF .................................................................... 252 Автоматизация с использованием сетевых API ............................................................. 261 Использование библиотеки requests .......................................................................... 262 Использование Python-библиотеки ncclient .............................................................. 292 Использование библиотеки netmiko ........................................................................... 317 Резюме ............................................................................................................................... 322 Глава 8. Управление исходным кодом с помощью Git ................... 325 Варианты использования средств управления исходным кодом ................................. 326 Преимущества системы управления исходным кодом ................................................. 326
Стр.9
Содержание  9 Отслеживание изменений ........................................................................................... 327 Учетные записи ............................................................................................................ 327 Процесс и рабочий поток ............................................................................................ 327 Преимущества системы управления исходным кодом в сетевой среде ....................... 328 Знакомство с Git ............................................................................................................... 328 Краткая история создания и развития Git ................................................................. 329 Терминология Git ......................................................................................................... 330 Обзор архитектуры Git ................................................................................................ 331 Работа с системой Git ....................................................................................................... 332 Установка системы Git ................................................................................................. 332 Создание репозитория ................................................................................................ 333 Добавление файлов в репозиторий ............................................................................ 333 Выполнение коммита изменений в репозиторий ..................................................... 335 Внесение изменений и выполнение коммитов в отслеживаемые файлы ............... 339 Отмена фиксации файлов в индексе .......................................................................... 342 Исключение файлов из репозитория ......................................................................... 345 Получение более подробной информации о репозитории....................................... 349 Определение различий между версиями файлов ...................................................... 354 Создание ветвей версий в системе Git ............................................................................ 358 Создание ветви ............................................................................................................. 363 Выбор активной ветви ................................................................................................. 364 Объединение и удаление ветвей ................................................................................. 366 Совместная работа группы сотрудников в системе Git ................................................. 371 Совместная работа в нескольких системах, использующих Git ............................... 372 Совместная работа с использованием онлайновых сервисов на основе Git ........... 389 Резюме ............................................................................................................................... 395 Глава 9. Инструментальные средства автоматизации .................... 396 Краткий обзор инструментальных средств автоматизации ......................................... 396 Использование Ansible ..................................................................................................... 399 Основы работы Ansible ................................................................................................ 400 Создание inventory-файла ........................................................................................... 401 Выполнение сценария Ansible .................................................................................... 408 Использование файлов переменных .......................................................................... 412 Создание комплектов сценариев Ansible для автоматизации сети ......................... 414 Использование сторонних модулей Ansible от независимых авторов .................... 433 Резюме по системе Ansible .......................................................................................... 436 Автоматизация сети с использованием Salt ................................................................... 437 Основы архитектуры Salt ............................................................................................ 437 Общая информация о Salt ........................................................................................... 440 Управление сетевыми конфигурациями с помощью Salt ......................................... 458 Удаленное выполнение функций Salt ......................................................................... 467 Управляемая событиями инфраструктура Salt .......................................................... 469 Дополнительная информация о Salt ........................................................................... 475 Краткий итоговый обзор системы Salt ....................................................................... 478 Автоматизация сети, управляемая событиями, с использованием StackStorm ......................................................................................................................... 479 Основные концепции системы StackStorm ................................................................ 480
Стр.10
10  Содержание Архитектура StackStorm .............................................................................................. 482 Операции и рабочие потоки ....................................................................................... 484 Сенсоры и триггеры ..................................................................................................... 493 Правила ......................................................................................................................... 496 Краткий итоговый обзор системы StackStorm ........................................................... 499 Резюме ............................................................................................................................... 499 Глава 10. Непрерывная интеграция ........................................................... 500 Важные предпосылки ....................................................................................................... 502 Чем проще, тем лучше ................................................................................................. 502 Люди, процесс и технология ........................................................................................ 503 Изучение программного кода ..................................................................................... 503 Введение в непрерывную интеграцию ........................................................................... 504 Основы непрерывной интеграции ............................................................................. 504 Непрерывная доставка ................................................................................................ 506 Разработка через тестирование .................................................................................. 508 Применимость методики непрерывной интеграции к сетевой среде ..................... 511 Конвейер непрерывной интеграции для сетевой среды ............................................... 512 Рецензирование коллегами ......................................................................................... 513 Автоматизация сборки ................................................................................................ 519 Среда тестирования/разработки/перемещения данных ........................................... 524 Инструментальные средства развертывания ............................................................ 528 Инструментальные средства тестирования и автоматизация сети по методике разработки через тестирование ............................................................ 531 Резюме ............................................................................................................................... 533 Глава 11. Формирование культуры автоматизации сети .............. 535 Организационная стратегия и гибкость ......................................................................... 536 Преобразование организации старого образца ......................................................... 536 Важность поддержки со стороны руководства .......................................................... 538 Купить или создать самостоятельно ........................................................................... 540 Восприятие ситуаций критических сбоев ...................................................................... 541 Практические навыки и обучение ................................................................................... 543 Изучайте неизвестное ................................................................................................. 544 Сосредоточьтесь на основных принципах ................................................................. 545 Нужны ли сертификации? ........................................................................................... 546 Может ли автоматизация лишить людей работы ...................................................... 547 Резюме ............................................................................................................................... 548 Приложение А. Профессиональное управление сетевой средой в ОС Linux ............................................................................... 550 Использование интерфейсов macvlan ............................................................................. 550 Варианты практического использования интерфейсов macvlan ............................. 551 Создание, конфигурирование и удаление интерфейсов macvlan ............................ 551 Виртуальные машины в сетевой среде ........................................................................... 553 Использование шлюза ................................................................................................. 554
Стр.11
Содержание  11 Использование интерфейсов macvtap ........................................................................ 557 Работа с сетевыми пространствами имен .................................................................. 558 Практические примеры использования сетевых пространств имен ....................... 559 Создание и удаление сетевых пространств имен ...................................................... 560 Размещение интерфейсов в сетевом пространстве имен ......................................... 560 Выполнение команд в определенном сетевом пространстве имен ......................... 562 Соединение сетевых пространств имен с помощью пар veth .................................. 564 Использование контейнеров Linux в сетевой среде ...................................................... 566 Конфигурирование сетевой среды в LXC ................................................................... 567 Конфигурирование сетевой среды в Docker ............................................................... 568 Использование Open vSwitch ........................................................................................... 570 Установка OVS .............................................................................................................. 570 Конфигурирование OVS ............................................................................................... 572 Соединение нескольких типов рабочих нагрузок в OVS ........................................... 575 Приложение Б. Использование NAPALM ................................................. 583 Управление конфигурацией с использованием NAPALM .............................................. 583 Выполнение операции замены конфигурации ......................................................... 584 Выполнение операции объединения конфигураций ................................................ 588 Получение данных от устройств с помощью NAPALM................................................... 591 Возможности интеграции NAPALM с другим ПО ........................................................... 593 Использование NAPALM в Ansible .............................................................................. 594 Использование NAPALM в Salt .................................................................................... 595 Использование NAPALM в StackStorm ........................................................................ 596 Предметный указатель ....................................................................................... 598
Стр.12

Облако ключевых слов *


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст