Oi,
Máscara para IP de uma maneira geral é uma coisa complicada de se fazer, porque os grupos tem tamanho variável.
Dando um exemplo em IPV4, o usuário poderia digitar:
12345678
Esse valor poderia ser: 12.345.6.78 , 1.234.567.8, 123.4.5.678 , etc
E aí, em que lugares você colocaria a máscara?
A não ser que obrigue a digitar todos os grupos com 3 casas:
012345006078 -> 012.345.006.078 -> 12.345.6.78
O que ficaria muito estranho, não é prático para o usuário que está acostumado com endereços IP.
Coloquei o exemplo em IPV4 só para simplificar, mas o IPV6 permite o mesmo tipo de abreviações e até mais.
O endereço abaixo
fe80:0000:0000:0000:009b:eae0:059f:66db
também pode ser escrito das seguintes formas:
fe80:0:0:0:009b:eae0:059f:66db
ou
fe80:0:0:0:9b:eae0:059f:66db
ou
fe8::9b:eae0:059f:66db
O que torna a construção de uma máscara bem difícil.