Хех, IPv6 тема ожила. И без меня даже.
На самом деле у меня тоже лежит в планах доработка, но сразу несколько нюансов.
/48 провайдеру - мало, это обычно PI блок, который нельза выдавать клиентам.
Если вы LIR то спокойно получаете /32../29 (а вообще при последнем выделении v4 заставляли сначала v6 блок взять).
Клиенту надо выделять /56 (Ну или /64 плюс делать резервирование блока адресов до /56), юрикам рекомендация выдавать /48 (чтобы они уже внутри себя разруливали).
Патамушта /64 для домашней сети может быть тупо мало и могут запросить расширение.
https://www.ripe.net/publications/docs/ripe-690#1--executive-summaryОсновная идея у меня такая, что для упрощения выдачи адресов не надо городить никаких сложных схем с делением адресов.
У нас есть уникальный идентификатор клиента - UID, это в общем-то целое число.
Никто не мешает его использовать в качестве ключа при выдаче адресов, даже если мы будем использовать их не оптимально, адресов все равно много, крохоборить с /127 не надо.
Пример, есть блок 2000::/32
Это 65,536 сетей /48.
Для простоты можно просто в качестве третьего блока адресов подставлять UID или его HEX представление, для большинства сетей этого хватит.
То есть технически самое простое решение выделять на один UID клиента /48, но в зависимости от условий отдавать клиенту /64 блок, оставляя за собой возможность расшириться в случае необходимости до /56 или до /48
2000:0000:UID::/64
2000:0000:UID::/56
2000:0000:UID::/48
Для ситуации с /48 блоком и распиливанием меньше чем на /64 блоки считайте сами, но уж если внедрять, то сразу нормально.