Марк Шаттлворт анонсировал (http://www.markshuttleworth.com/archives/1471) Fan (https://wiki.ubuntu.com/FanNetworking), новую систему расширения адресного пространства для изолированных контейнеров. Fan пытается упростить настройку сети и распределение адресов в условиях запуска на одном хосте сотен и даже тысяч изолированных окружений, которые могут распределяться по группам виртуальных машин. Для обеспечения сетевой достижимости каждому контейнеру требуется свой IP-адрес, в то время как для виртуальной машины, в которой могут выполняться сотни контейнеров, число выделяемых адресов может быть ограничено.
Вместо применения SDN-сетей в подобных условиях Fan основывается на идее маппинга более крупных блоков адресов (например, 10.0.0.0/8) к менее крупным блокам (например, 172.16.0.0/16). Изолированному окружению назначаются непересекающиеся с другими окружениями адреса из крупной подсети, которые привязываются к зависящим от внешнего окружения адресам меньшей подсети, с дальнейшим автоматическим туннелированием трафика.
<center><a href="https://wiki.ubuntu.com/FanNetworking?action=AttachFile&do=g... src="https://www.opennet.ru/opennews/pics_base/0_1434994342.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
Адреса из крупного блока назначаются с использованием алгоритмического сопоставлении, что избавляет от необходимости поддержания БД с таблицами связи адресов внешней и внутренней подсетей. В частности, в блоке /8 достаточно адресов для автоматического выделения подсети /24 на основе простого смещения адреса, например, если виртуальной машине выделен IP 172.16.1.2, то можно сразу сопоставить с ним подсеть 10.1.2.0, для 172.16.99.200 - это будет 10.99.200.0 и т.д. Алгоритм трансляции при такой схеме сводится к простой замене "172.16." на "10.". Таким образом, для каждого предоставленного виртуальной машине IP-адреса удаётся выделить 253 дополнительных адреса для использования в контейнерах.
<center><a href="https://wiki.ubuntu.com/FanNetworking?action=AttachFile&do=g... src="https://www.opennet.ru/opennews/pics_base/0_1434996176.png" style="border-style: solid; border-color: #606060; border-width: 1px;max-width:100%;" title="" border=0></a></center>
Метод расширения адресного пространства достаточно прост и при этом решает многие проблемы, возникающие с назначением адресов в системах виртуализации и контейнерной изоляции. В настоящее время рабочая реализация Fan уже доступна для Ubuntu в окружении AWS. Обеспечена интеграция с системами Doker, LXD и Juju. В дальнейшем компания Canonical намерена подготовить RFC, описывающий подобный метод расширения адресов.
URL: http://www.markshuttleworth.com/archives/1471
Новость: https://www.opennet.ru/opennews/art.shtml?num=42477