- PVSM.RU - https://www.pvsm.ru -

Открытые сети и коммутаторы без ОС

Чем сетевой рынок отличается от серверного? На серверном рынке есть выбор. Сервер от глобального бренда, сервер от локального бренда, сервер от производителя платформ, самосборный сервер — на любой вкус и цвет найдется вариант.

Сетевой рынок (мы говорим про enterprise) гораздо более консервативен. Есть пара доминирующих компаний, есть все остальные. У каждого вендора своя ОС, свой набор нежно любимых и лелеемых багов, привычные методы их обхода, своя командная строка (хотя некоторые объединились с единой CLI). Всё свое.

Некоторое время назад появилось мнение, что для ускорения развития рынку не хватает Linux.

Открытые сети и коммутаторы без ОС

Сервер можно приобрести с ОС и без, можно подобрать конфигурацию под требования приложений, можно выбрать любой дистрибутив ОС или собрать собственный. Выбор богат, и именно это позволило развиться новой бизнес-модели, которая легла в основу успеха многих интернет-компаний. Появилось множество разработок в программной сфере, был запущен проект Open Compute [1] для оптимизации серверного оборудования

А что же происходило в сетевом оборудовании? Как коммутаторы управлялись почти 20 лет назад и как сейчас?

Открытые сети и коммутаторы без ОС [2]
Ничего не поменялось

Годы идут, а изменений не происходило. Да, сейчас началось движение в сторону OpenFlow и SDN, но сетевые вендоры так и продолжают предлагать закрытые варианты под именем открытых. Многие вендоры разрабатывают свои ОС на основе Linux, но никто не использует просто Linux.

В 2010 году была образована пара стартапов, BigSwitch Networks и Cumulus Networks, которые занялись разработкой такого решения. В 2012 году к ним присоединилась Pica8.

Открытые сети и коммутаторы без ОС [3]
Сетевая ОС

Очевидные трудности на этом пути — необходимость создавать образ под конкретный коммутатор и сложные способы установки, ведь у каждого коммутатора может быть свой загрузчик.

Сложные способы установки

Чтобы обойти это ограничение, была разработана среда Open Network Installation Environment (ONIE) [4]. По сути, это предустановленный микролинукс, который при первой загрузке ищет источник для установки полноценной сетевой ОС (NOS).

Открытые сети и коммутаторы без ОС [5]

Преимущества такого подхода:

  1. Среда для установки любой сетевой ОС.
  2. Автоматизация управления коммутаторами.
  3. Управление коммутаторами как Linux серверами.

Совместимость с коммутаторами

Вторая важная современная тенденция — публикация SDK для работы с матрицами, которые были раньше отмечены как 3rd party closed. Mellanox Open Ethernet [6], Broadcom OF-DPA SDK [7], Intel грозится опубликовать свой ONS и инструментарий [8] в исходниках.

Распространение в массы

Не обошлось и без вездесущего Facebook, ONIE отдали в проект Open Compute [9] для развития действительно открытой сетевой инфраструктуры. Принципы не позволяют Facebook платить традиционным вендорам. :)

Несколько компаний уже сделали коммутаторы и опубликовали спецификации на сайте www.opencompute.org/wiki/Networking/SpecsAndDesigns [10]

Не забыта и программная часть:

Открытые сети и коммутаторы без ОС [11]
Общая идея

В рамках OCP запущен проект Open Network Linux [12], на основе которого предлагается строить готовые дистрибутивы для различных коммутаторов. Забавно, что ONL не поддерживает непосредственно обработку пакетов, так как не инициализирует матрицу. Только управляющую часть:

Открытые сети и коммутаторы без ОС

Однако, публикация SDK позволяет самому собрать дистрибутив. Просто добавь нужные пакеты.

В итоге, из коммутатора хотят сделать сервер с драйверами матрицы:

Открытые сети и коммутаторы без ОС [13]
Коммутатор будущего

Выбор Control Plane

Немалая часть современных коммутаторов работает на процессорах PowerPC, некоторые работают на x86, кто-то любит MIPS или ARM. В некоторых разработках уже предлагается размещать процессор на отдельной карте, так что можно будет выбирать между процессорами, дистрибутивами NOS и доступными приложениями.

Будущее

Facebook не сидит на месте и уже предложил концепт модульного коммутатора [14], обозвав это OCP Stage II.

Открытые сети и коммутаторы без ОС [15]

Control Plane сделан на основе микросервера семейства Group Hug (Intel, AMD, ARM на выбор), что позволило интегрировать управление коммутатором в единую систему FB. Кроме управления непосредственно ОС, стало возможным мониторить аппаратное состояние коммутатора точно также, как и сервера. Температура, напряжения, состояние вентиляторов — все видно привычным образом. В общем, пока одни (не будем показывать пальцем) изобретают сложные системы управления коммутаторами и серверами одновременно, другие упрощают коммутаторы до уровня серверов.

Программная часть, названная FBOSS, унифицирована с серверами. Управление матрицей идет через уровень абстракции, сетью можно управлять как еще одним сервисом. Все админы внезапно стали сетевыми админами :)

Открытые сети и коммутаторы без ОС [16]

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

Наше участие

Мы решили не оставаться в стороне и ряд моделей сделали доступными в виде Bare Metal Switch с предустановленной средой ONIE.

В список вошли:

Eos 220 [17] — 48x 1G Base-T, 4x 10G SFP+, двойной блок питания. Поддерживаются Cumulus Linux, Open Network Linux, BigSwitch Switch Light, Pica8

Открытые сети и коммутаторы без ОС [18]

Eos 400 [19] — 48x 10G SFP+, 4x 40G QSFP+, двойной блок питания. Поддерживаются Cumulus Linux, Open Network Linux, BigSwitch Switch Light, Pica8.

Открытые сети и коммутаторы без ОС [20]

Eos 420 [21] — 48x 10G SFP+, 6x 40G QSFP+, двойной блок питания. Поддерживаются Cumulus Linux, Open Network Linux, BigSwitch Switch Light.

Открытые сети и коммутаторы без ОС [22]

Автор: ETegro_Technologies

Источник [23]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/it-infrastruktura/63587

Ссылки в тексте:

[1] проект Open Compute: http://habrahabr.ru/company/etegro/blog/213257/

[2] Image: http://habrastorage.org/getpro/habr/post_images/db6/e05/d96/db6e05d964f8e07ebb3528ed4a0b9c27.jpg

[3] Image: http://habrastorage.org/getpro/habr/post_images/443/131/26e/44313126ede67558669fdb072ca3bbe3.jpg

[4] Open Network Installation Environment (ONIE): http://onie.github.io/onie/docs/overview/index.html

[5] Image: http://habrastorage.org/getpro/habr/post_images/4c1/135/d5f/4c1135d5f4811c7f0322a2283fb9d343.jpg

[6] Mellanox Open Ethernet: http://www.mellanox.com/openethernet/

[7] Broadcom OF-DPA SDK: https://github.com/Broadcom-Switch/of-dpa/

[8] свой ONS и инструментарий: http://habrahabr.ru/company/etegro/blog/212639/

[9] проект Open Compute: http://www.opencompute.org/projects/networking/

[10] www.opencompute.org/wiki/Networking/SpecsAndDesigns: http://www.opencompute.org/wiki/Networking/SpecsAndDesigns

[11] Image: http://habrastorage.org/getpro/habr/post_images/74f/d61/d02/74fd61d029dc16434bce019f5065aa4b.jpg

[12] проект Open Network Linux: http://opennetlinux.org/

[13] Image: http://habrastorage.org/getpro/habr/post_images/c19/351/968/c193519688da21dbff3ec071055a9013.jpg

[14] концепт модульного коммутатора: https://code.facebook.com/posts/681382905244727/introducing-wedge-and-fboss-the-next-steps-toward- a-disaggregated-network/

[15] Image: http://habrastorage.org/getpro/habr/post_images/404/0b9/1c0/4040b91c057566d811980065feb4dcd0.jpg

[16] Image: http://habrastorage.org/getpro/habr/post_images/13d/485/654/13d485654b9a613cb6003c1380bed9c7.jpg

[17] Eos 220: http://www.etegro.ru/configurator/network/eos220

[18] Image: http://habrastorage.org/getpro/habr/post_images/fb7/c7a/acf/fb7c7aacf08436c9df382b534ea69603.jpg

[19] Eos 400: http://www.etegro.ru/configurator/network/eos400

[20] Image: http://habrastorage.org/getpro/habr/post_images/21d/981/ac7/21d981ac7a59ed2675d29450f05178de.jpg

[21] Eos 420: http://www.etegro.ru/configurator/network/eos420

[22] Image: http://habrastorage.org/getpro/habr/post_images/219/b29/adc/219b29adc9367b44faf7f451b7ffc514.png

[23] Источник: http://habrahabr.ru/post/227897/