Оба коллектива представили результаты своих исследований на недавней конференции SIGCOMM 2009, проходившей в Барселоне. Команда Microsoft сосредоточилась на повышении скорости прохождения трафика независимо от характера запросов, в то время как в университете Сан-Диего ориентировались в своей работе на обеспечение свободного переноса виртуальных машин, упрощение конфигурирования при добавлении к сети новых узлов и ускорение процедуры диагностики сбоев.
Эволюция маршрутизатора
Переход на виртуальные машины и адресацию второго сетевого уровня исследователи из Microsoft реализовали при помощи установки на каждом оконечном узле сети специального агента. Ученые же университета в Сан-Диего для реализации этих функций планируют внести изменения только в программное обеспечение коммутаторов, не затрагивая оконечные узлы.
Руководитель университетского проекта профессор Амин Вадат предложил комбинировать в ЦОД возможности фунционирования на втором и третьем сетевом уровне, что должно способствовать общему повышению масштабируемости. Использование функций второго уровня позволит сократить расходы на управление и конфигурирование и уменьшить трудоемкость операций, присущую третьему сетевому уровню.
Результаты работы опубликованы в документе PortLand: A scalable Fault-Tolerant Layer 2 Data Center Network Fabric ("PortLand: Масштабируемая и отказоустойчивая сетевая структура ЦОД, работающая на втором уровне").
По словам Вадата, основная цель авторов протокола PortLand заключалась в том, чтобы обеспечить возможность добавления устройств к сети без какой-либо их модификации или внесения изменений в конфигурацию.
Поддерживается также перенос виртуальных машин. Реализовать это на третьем уровне сетевой модели невозможно, потому что виртуальные машины могут перемещаться с одного сервера на другой, с разными IP-адресами. Исследователи представили механизм разделяемого использования MAC-адресов, назначаемых средствами PortLand. Ожидается также, что благодаря этому присущие большинству коммутаторов ограничения памяти удастся преодолеть за счет уменьшения размеров таблиц адресации, которые должны храниться в каждом из коммутирующих устройств.
Для поддержки PortLand требуется дополнительное программное обеспечение, с помощью которого коммутаторы определяют свое местоположение в топологии ЦОД. Кроме того, программное обеспечение позволяет коммутатору присваивать адрес "псевдо-MAC" каждому из устройств, к которому он непосредственно подключен.
С помощью технологии PortLand коммутаторы формируют таблицы префиксов PMAC и перенаправляют трафик до тех пор, пока он не дойдет до коммутатора, с которым связано устройство-адресат. Последний коммутатор преобразует виртуальный PMAC-адрес в реальный MAC-адрес, после чего трафик достигает нужного устройства.
Для ускорения и упрощения пересылки трафика в структуру PortLand включен сервер Fabric Manager, выполняющий функции, аналогичные тем, которые возлагаются на сервер DNS в процессе разрешения доменных имен в IP-адреса. При сопоставлении адресов PMAC и IP-адресов коммутаторы пересылают широковещательные запросы ARP с подключенных к ним компьютеров на сервер Fabric Manager, который возвращает в ответ соответствующие IP-адреса. Сервер Fabric Manager постоянно отслеживает информацию о состоянии сети. В случае сбоя все адресные данные восстанавливаются при помощи коммутаторов, поддерживающих протокол PortLand.
Если Fabric Manager выходит из строя, прохождение трафика в сети несколько замедляется, поскольку протокол переключается в режим широковещательного разрешения адресов. Как только работоспособность сервера восстанавливается, процедура сопоставления адресов опять начинает выполняться мгновенно. При использовании технологии PortLand нагрузка между администраторами сети и системными администраторами, отвечающими за управление компьютерами, перераспределяется.
"Вместо непосредственного изменения MAC-адресов компьютеров с помощью программного агента и сервера архитектура PortLand использует возможности коммутаторов, преобразующих MAC-адреса в адреса PMAC, -- пояснил Вадат. -- Все компьютеры и устройства, выполняющие роль оконечных узлов сети, мы оставляем в неприкосновенности, внося лишь небольшие изменения в программное обеспечение коммутаторов и совершенно не затрагивая их аппаратную часть".
Схема Microsoft
Команда Microsoft, возглавляемая Альбертом Гринбергом, Дэвидом Мальтцем и Парвином Пателом, также занималась вопросами адресации, представив в итоге двухуровневую систему с отдельными IP-адресами, характеризующими местоположение компьютера и запущенные на нем приложения. Адрес приложения используют прикладные программы в процессе их переноса на новые виртуальные машины.
В архитектуре Microsoft VL2 каждому серверу присваивается IP-адрес, характеризующий его местоположение и подключенный к нему коммутатор. Как и в случае с PortLand, система каталогов VL2 устанавливает соответствие между IP-адресом местоположения и IP-адресом приложения. Агент VL2, запускаемый на каждом сервере, получает IP-адрес местоположения от коммутатора, к которому подключен целевой сервер, и инкапсулирует пакеты приложения.
Установка агента и настройка конфигурации серверов -- именно то, чего старательно избегают разработчики PortLand. Однако у технологии VL2 есть преимущества, которыми не обладает PortLand. К примеру, сервер каталогов VL2 может отказать в предоставлении IP-адреса, характеризующего местоположение, если политики доступа запрещают устанавливать связь с сервером-адресатом. Это позволяет расширить возможности управления доступом.
В отличие от создателей PortLand, исследователи из Microsoft поставили себе еще более амбициозные цели. Они заняты поиском путей передачи трафика и построения топологии сети, предоставляющей возможность всякий раз выбирать оптимальный маршрут прохождения пакетов, что позволило бы устранить заторы в сети и обеспечить постоянную высокоскоростную связь между любыми двумя серверами ЦОД.
По словам представителей Microsoft, технология VL2 ээфективно работает на уровне агрегированных коммутаторов с высокой степенью интеграции. При этом многие соединения выводятся на более высокий уровень промежуточных коммутаторов, а в случае сбоя наблюдается весьма существенное снижение производительности.