Зачем интернету новая архитектура и как она устроена
Всемирная сеть построена на технологиях полувековой давности. Некоторые из них оказались не готовы к работе с миллиардами вычислительных устройств, другие [такие, как IPv4] вообще задумывали как временное решение. Часть ИТ-сообщества придерживается мнения «работает — не трогай» и выступает лишь за точечные улучшения протоколов и стандартов. Другие считают, что пора переписать интернет-архитектуру с чистого листа. Крупный проект в этой области — SCION. Обсудим его под катом и поговорим об альтернативных подходах и мнениях.
Unsplash / Alex wong
Камень преткновения
Протокол динамической маршрутизации BGP, с помощью которого передают информацию о доступности сетей, часто становится причиной «утечек маршрутов». Они приводят к перенаправлению трафика во всем интернете. Так, еще в 2008 году пакистанский провайдер случайно заблокировал значительную часть адресного пространства YouTube для всего мира. И проблема актуальна до сих пор — недавнее «падение» Facebook также было вызвано ошибкой конфигурирования.
Есть множество проектов, оптимизирующих работу BGP. Однако решая одну проблему, они зачастую формируют несколько других. Так, расширение BGPsec предотвращает route hijacking, но замедляет конвергенцию маршрутов и плохо масштабируется. Инженеры из Швейцарской высшей технической школы Цюриха решили заменить BGP и разработали новую архитектуру SCION.
Как выглядит эта архитектура
В классической интернет-архитектуре каждой «автономной системе» (AS) принадлежит один IP-адрес. Авторы SCION предложили группировать такие системы в изолированные домены (ISD) на основании общих свойств — например, местоположению или принадлежности к организации.
Внутри группы выделены несколько специализированных сущностей. Серверы-маячки генерируют и собирают данные, необходимые для построения маршрутов между AS и ISD (стр. 18). Последние хранят на специальных серверах путей. Кроме них, есть серверы имен и серверы сертификатов. Первые используют протокол RAINS (стр. 20) и выполняют функции, аналогичные DNS, а вторые управляют криптографическими ключами. Наконец, граничные маршрутизаторы отвечают за пересылку пакетов SCION роутерам или целевым хостам в автономных системах.
Передачей пользовательского трафика управляет плоскость данных. Информация о пути следования сохраняется в заголовке SCION-пакета. Сам процесс форвардинга напоминает подход, предложенный в сетевом протоколе LISP (RFC 6830).
Что важно, реализация SCION не требует изменений в существующей сетевой инфраструктуре интернет-провайдеров (стр. 414). Соответствующие пакеты инкапсулируются в любую локальную структуру пересылки (например, MPLS). Желающие уже могут подключиться к тестовой сети и даже поучаствовать в разработке проекта, поскольку исходный код передан в open source. Для этого необходимо зарегистрироваться на сайте SCIONLab, организация предоставит бинарники и инструкции по настройке.
Что думает сообщество
По словам разработчиков, SCION повысит доступность хостов в сети и пропускную способность, а также ускорит восстановление при сбоях. Потенциал архитектуры видят и интернет-регистраторы. RIPE планирует сформировать рабочую группу, которая займется продвижением проекта в сообществе.
Unsplash / Christian Ladewig
Но любая новая технология не обходится без критики. Резиденты Hacker News говорят, что архитектура во многом повторяет концепцию маршрутизации от источника (source routing). Эта идея ранее так и не «выстрелила» из-за уязвимости к DDoS-атакам и проблем с перегрузкой маршрутов. Хотя разработчики SCION отмечают, что их решение имеет несколько ключевых отличий. У хостов нет информации о топологии автономных систем — ей управляют локальные системные администраторы и самостоятельно настраивают правила файрволов. При этом выбор оптимального маршрута происходит с учетом списка путей, который также формируют сисадмины — в теории, такой поход решает проблему перегрузки.
Какие есть альтернативы
Кроме SCION, существуют и другие проекты, стремящиеся исправить недостатки интернет-архитектуры — например, Named Data Networking (NDN). Авторы предлагают заменить цифровую адресацию TCP/IP иерархическими именами. В этом случае каждый файл или документ имеет уникальный идентификатор. Серверы запрашивают их, размещая соответствующее «объявление» в сети. Похожий принцип используют торренты. Одно из преимуществ NDN-архитектуры — в этом случае не нужно создавать дополнительные внутренние адреса для локальной сети.
Ещё одна альтернатива — Recursive Internetwork Architecture (RINA). Эта модель подразумевает «слоеную» структуру сети. Каждый слой (его называют DIF) имеет свое назначение — для домашней сети, сети провайдера или публичного интернета. Для передачи пакетов в RINA необязательно знать IP-адрес, достаточно названия процесса-получателя.
Что еще у нас есть в блоге на Хабре:
О работе провайдеров — в нашем корпоративном блоге: