Indirizzo link local
# Indirizzo link local

Un indirizzo link local, in informatica e nelle telecomunicazioni, è un indirizzo di rete che è valido solo per la comunicazione all'interno di un segmento di rete (link) o per il dominio di broadcast al quale l'host è connesso.

In generale, non vi è garanzia che un indirizzo link local sia univoco. I router non instradano pacchetti con indirizzi link local.

In protocolli che utilizzano solo indirizzi link local, come il protocollo ethernet, sono i produttori di hardware ad assicurare che gli indirizzi fisici siano univoci.

Il protocollo IPv4 riserva gli indirizzi 169.254.0.0/16, nella definizione CIDR, agli indirizzi link local. Il protocollo IPv6 assegna il prefisso FE80::/10 a questi indirizzi.

## Assegnazione degli indirizzi

L'assegnazione degli indirizzi può essere automatica (impostata dal sistema operativo), manuale (impostata da un amministratore) o come impostazione di fabbrica. Nell'Internet Protocol l'assegnazione di solito è automatica e senza stato. In IPv4 l'assegnazione di indirizzi link local avviene solitamente come processo automatico quando falliscono i tentativi di assegnare un indirizzo in altri modi, ad esempio quando fallisce la negoziazione DHCP, e/o quando si ricorre a Zeroconf. In IPv6 l'assegnazione di indirizzi link local ad ogni interfaccia è un prerequisito richiesto dal protocollo. Normalmente l'assegnazione automatica degli indirizzi link local è non deterministica quindi non può essere nota a priori. In IPv6, invece, l'assegnazione è automatica e basata sull'indirizzo MAC.

## IPv4

Con RFC 3927 l'Internet Engineering Task Force ha riservato agli indirizzi link local l'intervallo da 169.254.1.0 a 169.254.254.255 mantenendo riservati per scopi futuri i primi e gli ultimi 256 indirizzi dell'intervallo 169.254.0.0/16 e ha stabilito che l'assegnazione dovrà essere gestita da un meccanismo pseudo-casuale con una distribuzione uniforme su questo intervallo. Sempre nella stessa RFC, si precisa che non devono essere utilizzati indirizzi link local se sono disponibili indirizzi di altre classi, ad esempio è necessario che termini negativamente il discovery DHCP, prima di attivare un indirizzo link local.

Prima di utilizzare l'indirizzo IP generato dal meccanismo pseudo-casuale, è necessario che il client faccia una richiesta ARP per determinare se esiste già sulla rete un indirizzo con quell'IP. Se si rileva una risposta alla richiesta ARP è necessario generare un nuovo indirizzo e procedere con questo meccanismo fino a quando non venga trovato un indirizzo libero. L'implementazione Microsoft di questo meccanismo si chiama Automatic Private IP Addressing (APIPA).

## IPv6

L'RFC 4291 riserva agli indirizzi link local il prefisso FE80::/10 ma impone che i successivi 54 bit siano impostati a 0 così il prefisso effettivamente utilizzabile è FE80::/64. L'assegnazione di questi indirizzi può avvenire in automatico o in manuale (es configurazione statica). Un esempio di indirizzo IP così formulato è fe80::284:edff:febe:f528 (le lettere si possono scrivere indifferentemente in carattere maiuscolo o minuscolo).

A differenza di IPv4, tutte le interfacce di rete IPv6 dovranno avere un indirizzo link local che è necessario per il funzionamento interno del protocollo. La configurazione automatica degli indirizzi link local è gestita da Neighbor Discovery Protocol secondo quanto definito dall'RFC 4862 derivandolo dall'indirizzo MAC.

## Indirizzo MAC

L'indirizzo MAC che i fornitori di hardware codificano nelle schede di rete ethernet è un indirizzo link local.

