O cache do arp é apenas isso, um cache. Isso significa que ele armazenará alguns valores que provavelmente serão necessários em breve, mas que podem ser descartados para que sejam disponibilizados para outras pessoas.
A / 21 Network possui 2048 endereços, portanto, alguns deles são removidos do cache para liberar slots para outras entradas. Você provavelmente já usou isso em redes menores.
Você deve verificar a saída do nmap. Você precisa combinar informações de linhas diferentes, mas elas devem estar completas.
Editar
Cada entrada inicia (incomplete)
até que uma resposta seja recebida. Portanto, quando o cache está cheio, o kernel deve remover uma entrada completa mais antiga ou uma entrada mais nova que pode agora receber a resposta.
Para o tamanho, de aqui :
sysctl -w net.ipv4.neigh.default.gc_thresh1=<n>
: gc_thresh1 represents the minimum number of entries that may be in the ARP cache. Garbage collection will not be triggered if the number of entries is below this setting.
sysctl -w net.ipv4.neigh.default.gc_thresh2=<n>
: gc_thresh2 represents the soft maximum number of entries that may be in the ARP cache. This setting is arguably the most important, as ARP garbage collection will be triggered ~5s after reaching this soft maximum.
sysctl -w net.ipv4.neigh.default.gc_thresh3=<n>
: gc_thresh3 represents the hard maximum number of entries in the ARP cache.