Коммутаторы и маршрутизаторы традиционно были «черными ящиками», содержащими аппаратную и программную начинку от одного и того же производителя, что не оставляло сторонним новаторам никакой возможности вносить усовершенствования. Сетевое оборудование сегодня все еще подобно Unix-серверам пятнадцатилетней давности, которые были основаны на проприетарном оборудовании и операционных системах, полагает Омар Балдонадо, менеджер Facebook по разработке инфраструктурного программного обеспечения. OCP был учрежден в мае 2013 года, и за прошедшее с тех пор время удалось сделать большие шаги к созданию открытого сетевого оборудования, заявил Балдонадо на недавнем форуме OCP Summit.
Предложения от производителей и проведенные с тех пор разработка и тестирование принесли плоды в виде первых коммутаторов на основе открытых конструкций и стека сетевого программного обеспечения с открытым кодом. Идея в том, чтобы ПО одних разработчиков могло работать на оборудовании других — это распахнуло бы двери для новых идей, позволяющих выполнять любые требования предприятий.
OCP построен на тех же принципах, что и другие проекты открытого кода, — предложения принимаются от всех желающих и рассматриваются с точки зрения возможности включения в набор общедоступных спецификаций. Отличие в том, что OCP пока в основном сертифицирует конструкции аппаратного обеспечения, а не код. В процессе испытаний проверяется совместимость открытых технологий с традиционным сетевым оборудованием, которое в сетях многих предприятий будет использоваться еще много лет.
Поначалу проекту пришлось непросто — никто не хотел делиться конструкциями коммутаторов, признался Балдонадо. Потребовалось решать сложные вопросы, связанные с лицензированием интеллектуальной собственности. Но в конце прошлого года OCP получил первую открытую конструкцию — коммутатор 10-Gigabit Ethernet от тайваньской компании Accton Technology.
«Это беспрецедентный для отрасли случай, — подчеркнул Балдонадо. — Только у нас вы можете свободно получить полный пакет проектной документации на сетевой коммутатор. Сконструировать его может любой желающий».
На подходе и другое оборудование. В частности, совсем недавно сама Facebook предложила для проекта 10-гигабитный коммутатор Wedge, предназначенный для соединения с сетью всех серверов в пределах одной стойки. В Accton планируют начать в нынешнем квартале продажи коммутаторов на основе конструкции Wedge; воспользоваться ею собираются и другие производители. В OCP также рассматривают конструкции, предложенные для проекта компаниями Broadcom, Mellanox и Alpha Networks.
Работают в OCP и над открытым сетевым программным обеспечением. Буквально на днях в проект была принята операционная система для коммутаторов Open Network Linux, предложенная компанией Big Switch Networks. В Microsoft приступили к созданию Switch Abstraction Interface, единого программного слоя для доступа к основным функциям коммутаторов на любом оборудовании с открытой архитектурой. Следующая амбициозная цель OCP — сформировать полный программный стек для открытого сетевого оборудования.
В свою очередь компания Broadcom опубликовала Open Network Switch Library, комплект разработчика ПО для чипсетов, которые используются в предлагаемых компанией коммутаторах StrataXGS.
Это большой прорыв, уверен Наджам Ахмад, директор по техническим операциям Facebook: коммутаторы обычно выполняются на специализированных микросхемах, на разработку которых уходят годы, поэтому даже проектировщикам открытых платформ придется обращаться к производителям сетевых процессоров вроде Broadcom. Чтобы сетевое оборудование стало по-настоящему открытым, нужна возможность программировать такие процессоры и нужен доступ к соответствующему комплекту средств разработки SDK, добавил он. До сих пор Broadcom предоставляла свой SDK только по платной лицензии. «Вы можете получить коммутатор, но программировать его без лицензии возможности не было», — отметил Ахмад.
Появление открытой библиотеки важно для Facebook, поскольку разработанное в компании программное обеспечение FBoss, предназначенное для управления коммутатором Wedge, требует SDK Broadcom для связи с чипсетом коммутатора.
В Facebook надеются, что OCP сформирует обширную экосистему производителей сетевого оборудования, к которой компания сможет обращаться для решения своих будущих задач. Как подсчитали в Facebook, технологии OCP помогли ей сэкономить 2 млрд долл. на инфраструктурных расходах. Коммутатор Wedge и ПО для него уже используются в рабочем режиме в дата-центрах Facebook, сообщил Балдонадо: «Если вы один из 1,4 млрд пользователей Facebook, вероятно, ваши обращения к сайту проходят через FBoss».