Ok, povedzme ze to urobime nenormalne.
Aby fungoval NDP tak kazdy interface dostane link local adresu z rozsahu fe80::/64. Takze pravda je ze v jednom L2 segmente nemozem mat viacero subnetov z ktorych kazda by mal vlastnu branu. Pretoze SLAAC. To ale neznamena ze adresy ktore sa pridelia musia byt nutne podmaskou /64. Nepomoze ani to ze zapnem stateful konfiguraciu, pretoze DHCPv6 nevie oznamit klientovi adresu brany, tu sa dozvie len cez NDP, takze zase SLAAC.
To vsetko ale neznamena ze L2 segment musi mat prideleny prefix s maskou /64. Link-local adresa bude mat vzdy masku /64. Takze to znamena, ze pre jeden L2 segment je pouzitelna siet s maskou najvic /64, nie prave. Ak budem mat na linke router s prefixom 2001:db8::/96 tak ho tak klient pri prefix discovery dostane a nastavi adresu z rozsahu 2001:db8::0 az 2001:db8::ffff:ffff.
Cize nakoniec budem mat L2 segmente minimalne 2 podsiete:
jednu s prefixom fe80:: a maskou prave /64
druhu s prefixom 2001:db8:: a maskou /96
V konecnom dosledku to znamena ze na jeden L2 segment mozete pridelit aj prefix 2001:db8:: s maskou /32 ale maximum adries v tom L2 segmente nepresiahne 2^64 pretoze link-local ma masku prave /64.
Takze ak vam poskytovatel da prefix 2001:db8:: s maskou /64 tak si ho kludne mozete rozdelit na 2 siete s prefixmi 2001:db8::/65 a 2001:0db8:0:0:8::/65 len pre to aby to fungovalo tak potrebujete dva L2 segmenty. Alebo link-local adresy rucne konfigurovat tak aby boli rozdelene do 2 subnetov. Pretoze SLAAC.
Tak přiznám se, že jsem v původním příspěvku měl na mysli autokonfiguraci (SLAAC) s prefixem /64.
SLAAC nemá na link-local adresy žádný dopad, ty jsou vždy s maskou /64. Bavíme se o globálně routova(tel)ných adresách z prefixu 2000::/3, tedy např. 2001:db8::/64.
SLAAC démon (třeba radvd) často technicky umožňuje nastavit i jinou masku než /64, klidně /65. Pak by se z jednoho přiděleného bloku o velikosti /64 daly udělat dvě podsítě o velikosti /65, tj.:
- 2001:db8:0:0:0000::/65
- 2001:db8:0:0:8000::/65 (Vám asi vypadlo pár nul)
Klidně můžete mít i SLAAC s prefixem /56 i větším, a např. v OVH to tak jeden čas dělali (nevím, jestli to takhle prasí pořád). Ale není to standardní a není garantovná funkčnost.
Problém je v tom, že u takhle ohnuté konfigurace nemáte garanci, že jí bude rozumět každé zařízení v síti, a že ji přijme. Existuje sice RFC draft, který by umožnil proměnnou délku prefixu, ale zatím je to stále jen draft - a i kdyby vyšel jako RFC, tak potrvá roky, než taková funkcionalita bude možná.
(I když to RFC draft v sekci 8 explicitně zakazuje, nakonec by jeho schválení nejspíš stejně vedlo k prasení, kdy operátoři budou přidělovat /120 na domácí síť, protože k čemu /64, když 256 adres musí stačit každému...)
https://datatracker.ietf.org/doc/draft-mishra-6man-variable-slaac/
(Kde se nepoužívá SLAAC, ale nějaká jiná forma provisioningu/konfigurace adres, tam můžete mít prakticky libovolnou masku sítě, klidně /126 nebo i /32. To samozřejmě neznamená, že do jedné L2 sítě připojíte 2^96 strojů a všechno bude fungovat.)
Mate svym zpusobem pravdu. Nejsem si ale jisty, jestli v drivejsich RFC nebylo, ze se bude /64 pridelovat a pak se to nemenilo.
Ja se spis pozastavuji nad tim, proc je proste podle toho RFC 18,446,744,073,709,551,616 adres vice nedelitelnych pomoci autokonfigurace. Je to az za mym routerem, nikoho tim neobtezuju, navenek mam porad /64. Mam takovehle mnozstvi adres, ale pouze pro jednu podsit (stale mluvime o SLAAC). Nerikam, ze by se nutne melo adresovat az nekam /127, ale proste /64 je docela extrem.