Модулна платформа с отворен код - OpenDaylight (ODL)
дата: 9.10.2016 г.

     Проект с отворен код създаден под егидата на Linux Foundation през април 2013г. с участието на водещите софтуерни компаниите: Red Hat, Vmware, IBM, Juniper Networks, Cisco, Citrix, Ericsson, Microsoft и NEC и др. OpenDaylight представлява съвкупност от модули интегрирани в единна платформа за управление, която дава възможност за изпитание и ускореното въвеждане на програмируеми, софтуернио дефинираните мрежи (Software-Defined Networking - SDN ) също така и за виртуализацията на мрежовите функции (NFV).
    OpenDaylight осигурява отворена платформа за създаване на съвместими, програмируеми хардуерно независими мрежови услуги. Насърчава въвеждането на иновации и добавяне на нови услуги. OpenDaylight дава възможност за оптимизиране на съществуващите мрежи в зависимост от моментната необходимост и специфични изисквания към дадена мрежа. Проекта се развива много усилено и на всеки шест месеца излиза с нова версия (release): Beryllium - 22 март 2016 г. на 3 ноември 2016 г. излезе вече Boron.

SDN


Фиг. 1. Базова архитектура

      Основни компоненти на базовата архитектура:
           ✓  Контролер: широко достъпен, модулен, мулти-протоколен предназначен за употреба в хетерогенни мрежи базиран на OSGi (the Open Service Gateway Initiative) –динамична система за управление на модули на java базирани контролери. Дава възможност два независими модула да си комуникират.
           ✓  OpenFlow Plugin: плъгинг за поддръжка на OpenFlow протокола, може да бъде разширен, за добавяне на следващите спецификации OpenFlow. Интегриран в Service Abstraction Layer (SAL)- този слой определя по какъв начин да се отговари(да се извърши някакво действие) на определена заявка за услуа.
           ✓  OpenFlow Protocol Library – библиотека на OpenFlow протокола;
           ✓  OVSDB (Open vSwitch Dabase Managment Protocol) - протокол за конфигуриране и управление на Open vSwitch (платформа за създаване на виртуални комутатори). Обикновенно осъществява конфигурационни операции и работи с базата от данни на определени инстанции. Производителите започват да го вграждат в фреймуера на суичовете си.
           ✓  NETCONF - протокол за управление на мрежата, предвижда механизми за инсталиране, манипулиране и изтриване на конфигурации на мрежови устройства. Неговите дейност се основава на отдалечено извикване на процедура RPCs (Remote Procedure Calls). Протоколът NETCONF използва кодиране на данни, базирани на Extensible Markup Language [XML] както и на протоколни съобщения.
NETCONF дава възможността да предава и получавате известия за настъпили асинхронни събития в реално време.
           ✓  YANG е език за моделиране, предназначен за записване на конфигурационни модели от данни и състояния на базата на протокола NETCONF. Чрез него могат да се описват и други мрежови структури, като например: протоколи, политики, услуги и др. Използва йерархични модели от данни. Оформя данните в модули и подмодули. Модулите могат да се преобразуват в равностоен XML код наричен: YIN (YANG Independent Notation).



SDN


Фиг.2. Архитектура на Hydrogen release