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

Компания 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  
              |                 |                          ||   vrf table              |     +---------------------+
  |                       |     |   interface table        |     |                     
  +-----------+-----------+     |   daemon table           

В 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.