Что такое Software Defined Networking (SDN)?

0
1866

SDN – новый подход к построению и управлению сетью передачи данных, суть которого в отделении управления сетью (Control Plane) от функций передачи данных (Data Plane).

Практически каждое традиционное сетевое устройство состоит из трех независимых уровней:

  • Data plane отвечает за пересылку Protocol Data Unit (PDU) согласно определенным правилам, хранящимся в таблице. Для уровня L2 это может быть MAC-таблица, состоящая из MAC-адресов и соответствующих исходящих портов. На входящий порт приходит PDU, обрабатывается и отправляется через исходящий порт. Data plane не отвечает за формирование таблицы форвардинга (FIB);
  • Control plane отвечает за предоставление необходимой информации Data plane для обеспечения форвардинга и является «мозгом», принимающим решение о том, каким образом перенаправлять PDU. Control plane не ограничивается лишь протоколами маршрутизации. Любой протокол, контролирующий взаимодействие между смежными узлами, обычно является протоколом Control plane. Примером могут служить BFD, STP и LACP. Эти протоколы не взаимодействуют напрямую с FIB. Например, протокол BFD обнаруживает физические проблемы на канале связи между устройствами, но самостоятельно ничего не удаляет из таблицы. Он информирует другие более высокоуровневые протоколы о сбое, предоставляя им самим принять решение о изменении FIB. С другой стороны, протоколы маршрутизации OSPF или IS-IS напрямую воздействуют на таблицу маршрутизации и форвардинга;
  • Management Plane предоставляет интерфейс управления и мониторинга, с помощью которого производится конфигурация устройства.

Разработчики SDN-решений предлагают различные архитектурные подходы к реализации SDN, но суть большинства подходов одна и та же – отделение Control Plane от Data Plane и перенос плоскости управления сетью на выделенный SDN контроллер (в терминологии ONF, см. ниже).

Компоненты SDN

Подход к SDN от ONF (Open Networking Foundation) включает три основных компонента – SDN контроллер, Northbound API и Southbound API:

  • SDN Контроллер выполняет роль «мозга сети». Он отвечает за построение и отображение топологии, программирование сетевых устройств и служит единой точкой управления всей сетью;
  • Southbound API используется для взаимодействия между SDN контроллером и сетевыми устройствами. Наиболее известным протоколом взаимодействия является OpenFlow;
  • Northbound API служит для интерпретации бизнес-логики в сетевые инструкции. Посредством Northbound API бизнес-приложения могут передавать информацию SDN контроллеру для последующего программирования сети. Интерфейс позволяет администраторам гибко выделять сетевые ресурсы, исходя из требований приложений, абстрагируя сетевую инфраструктуру.

Протокол OpenFlow, первая версия которого создана в 2008 году, является первым протоколом SDN и на данный момент стандартом «де-факто» для SDN-решений на базе открытых технологий. OpenFlow описывает принципы взаимодействия между SDN контроллером (Control Plane) и сетевыми устройствами (Data Plane). За стандартизацию протокола отвечает организация Open Networking Foundation (ONF).

Стоит отметить, что OpenFlow не является единственным протоколом для реализации взаимодействия Control и Data Plane. Существует множество коммерческих SDN-решений, использующих в качестве Southbound API проприетарные протоколы.

Трехуровневая модель SDN

ONF представила трехуровневую модель SDN. Уровень управления, включающий SDN контроллер, связывает все три уровня посредством Southbound и Northbound API.

Архитектура SDNВ архитектуре SDN, отделение управления от функций форвардинга данных называется «disaggregation» в связи с тем, что каждый из уровней может быть рассмотрен по отдельности, а не в качестве единой интегрированной системы. Такой подход предоставляет приложениям более подробную и консистентную информацию от контроллера о состоянии сети, по сравнению с традиционными сетями.

SDN в простейшем случае разбивается на следующие три группы по функциональности:

  • SDN приложения – приложения, которые напрямую взаимодействуют с SDN контроллером, запрашивая необходимые ресурсы посредством API. В дополнение, эти приложения предоставляют определенный уровень абстракции сети. Примером таких приложений могут служить средства мониторинга, аналитики или бизнес-приложения.
  • SDN контроллер – логический элемент, который получает инструкции и требования от SDN-приложений и интерпретирует их в инструкции для сетевых устройств. Обратное взаимодействие включает сбор информации о сети и отправка её SDN приложениям, тем самым абстрагируя уровень сетевой инфраструктуры для этих приложений.
  • Сетевые устройства, выполняющие лишь функции перенаправления данных согласно инструкциям SDN контроллера.

Преимущества

Одно из главных преимуществ SDN заключается в возможностях предоставления приложениям абстрактного вида сетевой инфраструктуры. Это делает сеть более «умной» с возможностью самоанализа и принятия решений о форвардинге трафика, исходя из требований приложений и загрузки сети в режиме реального времени.

Подход предоставляет и массу экономических выгод, включая сокращение затрат на оборудование. Т.к. «мозг» сетевого устройства вынесен на отдельное устройство, снижаются требования к функционалу сетевого оборудования, требуя от него лишь высокоскоростной обработки трафика и необходимого объема ресурсов для хранения записей flow.

Благодаря максимальной автоматизации работы сети, снижаются и временные затраты на обслуживание инфраструктуры, позволяя инженерам сосредоточиться на разработке новых сервисов, сняв с себя множество рутинных задач.

SDNBLOGGER
SDNBLOGGER - команда SDNBLOG, которая занимается поиском наиболее интересных новостей из мира SDN и NFV, а также публикует статьи по тематике. В команду входят ведущие российские специалисты в области технологий SDN и NFV.

НЕТ КОММЕНТАРИЕВ

ОСТАВЬТЕ КОММЕНТАРИЙ