Марк Шаттлворт представил Fan, механизм расширения адресного пространства

Марк Шаттлворт анонсировал Fan, новую систему расширения адресного пространства для изолированных контейнеров. Fan пытается упростить настройку сети и распределение адресов в условиях запуска на одном хосте сотен и даже тысяч изолированных окружений, которые могут распределяться по группам виртуальных машин. Для обеспечения сетевой достижимости каждому контейнеру требуется свой IP-адрес, в то время как для виртуальной машины, в которой могут выполняться сотни контейнеров, число выделяемых адресов может быть ограничено.

Вместо применения SDN-сетей в подобных условиях Fan основывается на идее маппинга более крупных блоков адресов (например, 10.0.0.0/8) к менее крупным блокам (например, 172.16.0.0/16). Изолированному окружению назначаются непересекающиеся с другими окружениями адреса из крупной подсети, которые привязываются к зависящим от внешнего окружения адресам меньшей подсети, с дальнейшим автоматическим туннелированием трафика.

0_1434994342.png

Адреса из крупного блока назначаются с использованием алгоритмического сопоставлении, что избавляет от необходимости поддержания БД с таблицами связи адресов внешней и внутренней подсетей. В частности, в блоке /8 достаточно адресов для автоматического выделения подсети /24 на основе простого смещения адреса, например, если виртуальной машине выделен IP 172.16.1.2, то можно сразу сопоставить с ним подсеть 10.1.2.0, для 172.16.99.200 — это будет 10.99.200.0 и т.д. Алгоритм трансляции при такой схеме сводится к простой замене »172.16.» на »10.». Таким образом, для каждого предоставленного виртуальной машине IP-адреса удаётся выделить 253 дополнительных адреса для использования в контейнерах.

0_1434996176.png

Метод расширения адресного пространства достаточно прост и при этом решает многие проблемы, возникающие с назначением адресов в системах виртуализации и контейнерной изоляции. В настоящее время рабочая реализация Fan уже доступна для Ubuntu в окружении AWS. Обеспечена интеграция с системами Doker, LXD и Juju. В дальнейшем компания Canonical намерена подготовить RFC, описывающий подобный метод расширения адресов.

©  OpenNet