Страницы

2015-10-07

OpenSwitch - открытая сетевая операционная система представленная Hewlett-Packard

Компания Hewlett-Packard анонсировала новую сетевую операционную систему OpenSwitch, построенную с использованием ядра Linux. HP позиционирует OpenSwitch как полностью открытый проект, развиваемый при участии сообщества и в соответствии с его потребностями. Кроме HP к разработке уже подключились компании Broadcom, Intel, VMware, Accton, Arista и Qosmos.

Сборки новой ОС доступны для тестирования в системах виртуализации. В качестве первых поддерживаемых специализированных аппаратных устройств названы коммутаторы HP Altoline и платформы, развиваемые проектом Open Compute Project, выполненные на базе ASIC Broadcom Trident II. Портирование для других ASIC выполняется через разработку соответствующих плагинов.

Код проекта размещён в Git-репозитории и включает в себя многие типовые открытые компоненты, такие как ядро Linux, Puppet, OpenVswitch, ISC DHCP, lldpd и Quagga. Оригинальные разработки распространяются под лицензией Apache 2.0. Взаимодействие всех компонентов платформы организовано через обращение к централизованной системной БД (OVSDB), хранящей настройки, статистику и параметры работы всех имеющихся сервисов. Напрямую системные модули не взаимодействуют между собой, только через обращение к системной БД.
  +-----------------------+
  |  image.manifest file  |                                      +---------------------+
  +-----------------------+     +--------------------------+     |                     |
              ^                 |   OpenSwitch database    |     |   hardware daemons  |
              |                 |                          |<----+                     |
  +-----------+-----------+     |   system table           |     +---------------------+
  |                       |     |   base subsystem table   |
  |         sysd          +---->|   vrf table              |     +---------------------+
  |                       |     |   interface table        |     |                     |
  +-----------+-----------+     |   daemon table           |<----+   protocol daemons  |
              |                 |   bridge table           |     |                     |
              v                 |   port table             |     +---------------------+
  +-----------------------+     +--------------------------+
  | hw description files  |
  +-----------------------+
В OpenSwitch применяется собственная система инициализации ops-sysd, которая обеспечивает запуск компонентов системы и отслеживание их работы с учётом файлов описания оборудования и базы данных конфигурации. Для сохранения/восстановления конфигурации применяется демон ops-cfgd. Настройку сетевых интерфейсов обеспечивает демон ops-intfd, управление VLAN - ops-vland, агрегацию линков - ops-lacpd. Протоколы маршрутизации реализованы через компоненты Quagga (ospfd, bgpd). Дополнительная функциональность может наращиваться через модули.
+------------------------------------------------------------------------+
|                                                           |            |
|  +------------------------+ +---------------+ +-----------v----------+ |
|  | L2/L3 protocol daemons | |System daemons | |Management/monitoring | |
|  | bgpd, lldpd, lacpd,... | |sysd, intfd,...| |CLI, Rest, Ansible,...| |
|  +--------^--------^------+ +--------^------+ +-----------^----------+ |
|           |        |                 |                    |            |
|           | +------v-----------------v--------------------v----------+ |
|           | |                                                        | |  RFC 7047
|           | |          System state database - OVSDB-Server          | |  protocol
|           | |                                                        <------------->
|           | +----------------------------^------------------------^--+ |
|           |                              |                        |    |
|           |            Hardware support  |     ops-switchd        |    |
|           |            daemons           |     +------------------v--+ | OpenFlow
|           |            +-----------------v---+ |   SDK independent   <------------->
|           |            |       ops-fand      | |        layer        | |
|           |            | - - - - - - - - - - | +---------------------+ |
|           |            |       ops-tempd     | |    SDK specific     | |   sFlow
|           |            | - - - - - - - - - - | |        plugin       +------------->
|           |            |       ops-powerd    | +---------------------+ |
|           |            |       ...           | |         SDK         | |
|           |            +----------^----------+ +----------^----------+ |
|    Kernel |                       |                       |            |
|  +-------------------------------------------------------------------+ |
|  | +------v-----------+ +---------v---------+  +----------v--------+ | |
|  | |                  | | I2C/other drivers |  |                   | | |
|  | |Virtual interfaces| +-------------------+  |     SDK driver    | | |
|  | |                  <------------------------>                   | | |
|  | +------------------+                        +-------------------+ | |
|  +-------------------------------------------------------------------+ |
|                                                                        |
+------------------------------------------------------------------------+
Управление может производиться при помощи похожего на Cisco IOS интерфейса командной строки (ops-cli), основанного на наработках проекта Quagga, через web-интерфейс (ops-webui), а также при помощи REST API, Puppet, Chef и Ansible. Конфигурация может как храниться локально, так и загружаться с внешнего сервера.
   ops-as5712# show running-config interface 1
   Interface 1
      shutdown
      speed 40000
      autonegotiation on
      exit
   ops-as5712# configure terminal
   ops-as5712(config)# interface 1
   ops-as5712(config-if)# description This is interface 1
   ops-as5712(config-if)# ip address 172.16.32.2/24
   ops-as5712(config-if)# ip address 172.16.50.2/24 secondary
   ops-as5712(config-if)# no shutdown
   ops-as5712(config-if)# exit
   ops-as5712(config)# ip route 172.16.32.0/24 10.10.10.1






www8.hp.com
opennet.ru

Комментариев нет:

Отправить комментарий