Эмулятор Internet

22 июль, 2003 - 23:00Александр Москалюк Архитектура PlanetLab

На сегодняшний день проект объединяет около 160 компьютеров, находящихся в 65 уголках планеты. Карта проекта, доступная на главной странице сайта, показывает, что PlanetLab ориентирован на Северную Америку и университеты, расположенные в США, но узлы PlanetLab можно найти в Европе, Азии и Австралии. Основным спонсором официального запуска выступила компания Intel, которая предоставила 100 компьютеров и профинансировала создание некоторых узлов. HP выделила на нужды проекта 30 серверов и подтвердила свое участие в инвестировании PlanetLab.

Проект базируется в Принстонском университете, где его координирует кафедра компьютерных дисциплин. В общей сложности в PlanetLab задействованы около 60 университетов.

Причиной создания PlanetLab участники называют необходимость тестирования новых протоколов и технологий, которые предлагается применить в Internet. С момента своего зарождения Сеть базировалась на определенном наборе протоколов, многие из которых сегодня нуждаются в замене из-за неспособности физически поддержать существующую инфраструктуру (как это произошло с IP и его новой версией -- IPv6) или же из-за некоторых проблем, с которыми создатели Internet на ранней стадии развития Сети не сталкивались (о предложении заменить SMTP на протокол, предупреждающий распространение почтового спама, мы уже рассказывали).

Университетские исследовательские центры также долгое время жаловались на отсутствие эффективной площадки для тестирования распределенных технологий. Распределенные вычисления, поисковики, сети хранения данных, антивирусные системы и пр. до этого появлялись лишь в кандидатских и докторских диссертациях, где практическое тестирование было ограничено учебной лабораторией.


"Мы наш, мы новый мир построим"

О дефиците в мире академических исследований таких ресурсов, как глобальные сети и реальный сетевой трафик, сравнимый с потоками данных в Internet, упоминали многие исследователи, задействованные в PlanetLab.

"Я строил и использовал площадки для сетевых исследований в течение 20 лет, -- рассказывает Джон Краукрофт (Jon Crowcroft) из Кембриджского университета, -- и исследователи всегда сталкивались с проблемой добычи реальных данных о сетевом трафике. PlanetLab даст возможность запускать различные исследовательские проекты, где работоспособность новых технологий будет проверяться в глобальном масштабе. Меня же удивил тот факт, что мы можем проводить исследования низкоуровневых Internet-технологий: изменять архитектуры маршрутизации данных, адресные системы и т. п.".

Относительная открытость архитектуры PlanetLab позволяет корпоративным и академическим структурам запускать целый ряд исследований, которые при удачном завершении могут значительно улучшить взаимодействие пользователей в Internet. Так, университет Карнеги-Меллон в числе других проектов, запущенных в PlanetLab, пробует оптимизировать трафик в онлайн-играх, где требования к скорости передачи данных от сервера к пользователям довольно высоки.


PlanetLab для студентов

Использование PlanetLab в университетской среде дало возможность вузам дополнить свои курсы по сетевой архитектуре. Напомним, что в конце июня состоялся лишь формальный глобальный запуск PlanetLab, сам же проект существовал уже довольно давно. Список университетов, предлагающих курсы, связанные с технологиями PlanetLab, можно найти на официальном сайте проекта. Как видно, специализированные предметы пока преподаются лишь в американских вузах. Колумбийский университет в столице США даже ввел специальный семинар, посвященный технологиям PlanetLab. Университет штата Калифорния в Беркли использует PlanetLab сразу в двух курсах по сетевой архитектуре и приложениям.

Документация протоколов PlanetLab является открытой и расположена на сайте проекта. Единственный документ, описывающий использование raw sockets в пределах проекта, вовсе не свидетельствует о низком информационном наполнении. В PlanetLab отсутствует требование задействования существующих протоколов -- ведь одним из применений проекта может стать тестирование новых сетевых протоколов и стандартов. В систему внедрены минимальные механизмы безопасности, позволяющие определить узлы, участвующие в PlanetLab. Разработчики также разместили на сайте ряд правил, направленных на обеспечение функциональности сети. Так, мощности проекта позволяется использовать только для исследовательских целей, в PlanetLab запрещены DOS-атаки и попытки взлома чужих серверов. Между тем, как можно убедиться из списка проектов, работающих в условиях PlanetLab, такие действия разрешены в качестве экспериментов, направленных на проверку работоспособности механизмов отражения DOS-атак и потенциальных взломов.


Проекты, тестируемые в PlanetLab
  • CoDeeN. Четырехуровневая система доставки контента, разрабатываемая исследователями Принстонского университета, позволяет распределить нагрузку на серверы и обеспечить оптимальный доступ к данным с учетом географического месторасположения посетителя. Побочным эффектом проекта является возможность минимизации эффекта DOS-атак (Denial of Service), если атакующие компьютеры находятся в одной географической зоне.
  • Pier. Пиринговая поисковая сеть, разрабатываемая Университетом штата Калифорния в Беркли, предусматривает использование распределенных хэш-таблиц для оптимизации поиска документов в системах peer-to-peer. Размещение баз данных в таких сетях, по мнению исследователей, существенно повысит надежность и безопасность информации.
  • ScriptRoute. Системные администраторы или владельцы Web-сайтов для проверки доступности серверов и контента, размещенного на них, обычно используют утилиту traceroute. Между тем подобная стратегия даст точный ответ о времени доступа к серверу только лишь с одного клиента. Проект ScriptRoute, разрабатываемый в лабораториях университета штата Вашингтон, предоставит администраторам возможность проверить время доступа к серверам в глобальном масштабе. Архитектура также позволит оптимизировать внутрикорпоративные и локальные сети.
  • Chord. Совместный проект Массачусетского технологического института и Университета штата Калифорния в Беркли предполагает разработку распределенной файловой системы CFS (Collaborative File System) и создание устойчивых к сбою структур хранения данных в среде, где каждый элемент ненадежен.
  • SplitStream. Совместный исследовательский проект университета Райс и корпорации Microsoft предусматривает создание распределенной сети доставки контента, которая бы позволила загружать крупные файлы даже клиентам с низкой скоростью подключения. SplitStream старается разбить доставляемый файл на несколько фрагментов, распределить эти отрывки по серверам, близким к клиенту с низкокачественным подключением, и затем обеспечить последнему возможность использовать свое соединение по максимуму, загружая контент с нескольких серверов одновременно.
  • NetBait. Компания Intel собирается использовать PlanetLab для обеспечения глобальной защиты от вирусов. Участникам системы предоставляется информация об известных вирусах и "червях", после чего каждый узел NetBait проверяет "соседей" на предмет заражения. Если на машине будут обнаружены зловредные элементы, то с помощью API-интерфейса клиента NetBait такой компьютер можно будет на время отключить от сети.