
СиС_Лекция_11_2023
.pdfПрограммно-определяемые сети
Технологии виртуализациисетей (продолжение)
Компоненты SDN могут включать следующее:
•OpenFlow. Этот подход был разработан в Стэнфордском университете для
управления трафиком между маршрутизаторами, коммутаторами, точками беспроводного доступа и контроллером. Протокол OpenFlow — это базовый
элемент в построении решений SDN.
•OpenStack- платформа виртуализации и оркестровки, предназначенную для создания масштабируемых облачных сред и предоставления решения IaaS. Оркестрации в сети — это процесс автоматизации выделения сетевых компонентов, таких как серверы, хранилища, коммутаторы, маршрутизаторы и приложения.
•Другие компоненты — включают интерфейс с системой маршрутизации (I2RS), прозрачную взаимосвязь с большим числом каналов (TRILL), Cisco FabricPath
(FP), а также построение мостов по кратчайшему пути IEEE 802.1aq (SPB).

Программно-определяемые сети
Традиционная архитектура и архитектура SDN
В традиционной маршрутизируемой или коммутируемой архитектуре функции
уровня управления и уровня передачи данных объединены на одном устройстве.
Решения о маршрутизации и пересылке пакетов принимаются операционной системой устройства. В SDN управление уровнем управления перемещается на централизованный контроллер SDN. На рисунке сравнивается традиционная и SDN архитектуры.

Программно-определяемые сети
Традиционная архитектура и архитектура SDN
•Контроллер SDN — это логическая сущность, которая позволяет сетевым администраторам определять, как уровень передачи данных на коммутаторах и маршрутизаторах будет обрабатывать сетевой трафик. Он координирует, служит посредником и организует взаимодействие между приложениями и сетевыми элементами.
•Полная структура SDN показана на рисунке. Обратите внимание на использование программных интерфейсов (API). API — это набор стандартизованных запросов, которые задают для приложения надлежащий способ запрашивать сервисы из другого приложения.
•Контроллер SDN использует «северные» API-интерфейсы для обмена данными с вышестоящими приложениями, помогая сетевым администраторам формировать трафик и развертывать сервисы. Контроллер SDN также использует «южные» API-интерфейсы для определения поведения уровней данных на нисходящих коммутаторах и маршрутизаторах. OpenFlow — это широко используемый «южный» API-интерфейс.

Концепция OpenFlow
•OpenFlow — это протокол взаимодействия между сетевыми устройствами, такими как коммутаторы и маршрутизаторы. Поддерживает три типа сообщений: контроллер-коммутатор, асинхронное и симметричное,
каждое из которых имеет несколько разновидностей.
Контроллер OpenFlow
OpenFlow
Коммутаторы OpenFlow
Сообщения контроллер-коммутатор
Эти сообщения отправляет контроллер для управления и запроса информации о коммутаторах.
Асинхронные сообщения
Эти сообщения инициирует коммутатор для уведомления контроллера об изменении статуса.
Симметричные сообщения
Эти сообщения инициирует коммутатор или контроллер. Симметричные сообщения — это сообщения Hello, Echo и Error.

Обзор таблицы потоков
•OpenFlow переключает пересылку пакетов на основе таблиц потоков.
•Каждая запись потока включает поля Match Fields, Priority, Counters, Instructions, Timeouts, Cookie и Flags. Match Fields и Instructions являются ключевыми полями для пересылки пакетов.
•Match Fields — это поле, с которым сопоставляется пакет. Поле можно настроить.
•Поле Instructions указывает на обработку OpenFlow, когда пакет соответствует записи потока.
Match |
Priority |
Counters |
Instructions |
Timeouts |
Cookie |
Flags |
|
Fields |
|||||||
|
|
|
|
|
|
Поля таблицы потоков можно настроить. Ниже приводится пример таблицы.
Ingress |
Ether |
Ether |
Ether |
VLAN ID |
VLAN |
IP Src |
IP Dst |
TCP |
TCP |
|
Port |
Source |
Dst |
Type |
Priority |
Src Port |
Dst Port |
||||
|
|
|
||||||||
3 |
MAC1 |
MAC2 |
0x8100 |
10 |
7 |
IP1 |
IP2 |
5321 |
8080 |
|
|
|
|
|
|
|
|
|
|
|

Сравнение режимов передачи
Типичный протокол маршрутизации: передача пакетов на основе таблиц маршрутизации
Протокол
маршрутизации
1.1.1.1 |
1.1.1.2 |
10.0.0.0/30 |
|||
G0/0/1 |
|
|
|
||
|
|
|
|
|
|
Таблица |
|
Сеть |
Протокол |
Следующий |
Исходящий |
маршрутизации |
|
назначения |
|
переход |
интерфейс |
|
|
10.0.0.0/30 |
OSPF |
1.1.1.2 |
G0/0/1 |
|
|
||||
|
|
|
|
|
|
•В типичных случаях сетевые устройства запрашивают таблицы маршрутизации для направления трафика.
•Расчет записей в таблице маршрутизации осуществляется запуском протокола маршрутизации между сетевыми устройствами.
•Длина таблицы маршрутизации является фиксированной. Сетевые устройства пересылают пакеты на основе правила самого длинного совпадения. Сетевое устройство имеет только одну таблицу маршрутизации.
OpenFlow:
передача пакетов на основе таблиц потоков
|
|
|
|
|
|
|
|
Контроллер |
|||||
|
|
|
|
|
|
|
|
OpenFlow |
|||||
|
|
|
|
|
|
|
|
|
|
|
10.0.0.0/30 |
||
Процесс сопоставления |
|
|
|
|
|
|
|
|
|
||||
таблицы потоков |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
Таблица 0 |
|
Таблица 1 |
|
… |
|
|
Таблица N |
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица |
|
Match |
Priority |
Counters |
Instructions |
|
Timeouts |
Cookie |
|||||
потоков |
|
Fields |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
•OpenFlow — это сетевой протокол. Коммутаторы, на которых работает протокол OpenFlow, пересылает трафик на основе таблиц потоков.
•Контроллер OpenFlow рассчитывает таблицы потоков, которые затем передаются на коммутаторы.
•Таблица потоков имеет переменную длину и определяет различные правила сопоставления и пересылки. Сетевое устройство имеет несколько таблиц потоков.

Основные требования SDN
•Задача SDN — сделать сети более открытыми, гибкими и простыми. SDN создает централизованный мозговой центр для сети и реализует быстрое развертывание сервисов, оптимизацию трафика или открытость сетевых сервисов за счет централизованного управления в глобальном масштабе.
•Преимущества SDN:
•Централизованное управление, простые процессы управления, эксплуатации и техобслуживания сети.
•Маскирует технические различия, упрощает конфигурацию сети и снижает затраты на эксплуатацию и техническое обслуживание.
•Автоматическая оптимизация, улучшенное использование сети.
•Быстрое развертывание сервисов
•Построение открытой сети, поддержка открытых и программируемых сторонних приложений.
SDN трансформирует сетевую архитектуру.
5. Контроллеры

Контроллеры
Контроллер и операции SDN
•Контроллер SDN определяет потоки
данных между централизованным
уровнем управления и уровнями передачи данных на отдельных маршрутизаторах и коммутаторах.
•Каждый из потоков, проходящих по сети, сначала должен получить разрешение от контроллера SDN, который проверяет, разрешен ли такой обмен данными в соответствии с сетевыми политиками.
•Все сложные функции выполняются
контроллером. Контроллер заполняет таблицы потоков.
Коммутаторы управляют таблицами
потоков.
Контроллеры
Контроллер и операции SDN
В каждом коммутаторе имеется набор таблиц, реализованных на уровне
аппаратных средств, или микропрограммы, которые используются для управления
потоками пакетов через коммутатор. Для коммутатора поток представляет собой последовательность пакетов, которая соответствует определенной записи в таблице потоков.
Три типа таблиц, показанные на предыдущем рисунке, являются следующими:
•Таблица потоков. Используется для сопоставления входящих пакетов с конкретным потоком и определения функций, которые выполняются для пакетов. Возможно наличие нескольких таблиц потоков, которые работают как конвейер.
•Таблица групп. Таблица потоков может направлять поток в таблицу групп, которая может запускать различные действия, влияющие на один или несколько потоков.
•Таблица счетчиков. Запускает различные, связанные с производительностью операции в потоке, включая возможность ограничения скорости трафика.