Condividi tramite


Indirizzi locali e locali del sito IPv6

Gli indirizzi IPv6 locali e locali del sito sono denominati indirizzi con ambito. L'API Windows Sockets (Winsock) supporta il membro sin6_scope_id nella struttura sockaddr_in6 per l'uso con indirizzi con ambito. Per gli indirizzi locali di collegamento IPv6 (prefisso fe80:::/10), il membro sin6_scope_id nella struttura sockaddr_in6 è il numero di interfaccia. Per gli indirizzi locali del sito IPv6 (prefisso fec0:::/10), il membro sin6_scope_idnella struttura sockaddr_in6 è un identificatore del sito.

Un esempio di indirizzo IPv6 locale di collegamento nell'interfaccia #5 è il seguente:

fe80::208:74ff:feda:625c%5

Il comando seguente è disponibile in Windows XP con Service Pack 1 (SP1) e versioni successive per eseguire query e configurare IPv6 in un computer locale:

Le modifiche di configurazione apportate usando i comandi Netsh.exe sono permanenti e non vengono perse quando il computer o il protocollo IPv6 viene riavviato.

Prima di Windows XP con Service Pack 1 (SP1), la configurazione e la gestione di IPv6 hanno usato diversi strumenti da riga di comando precedenti (Net.exe, Ipv6.exe e Ipsec6.exe) per configurare e gestire IPv6. Usando questi strumenti meno recenti, le modifiche IPv6 non sono permanenti e vengono perse quando il computer o il protocollo IPv6 è stato riavviato. Questi strumenti della riga di comando meno recenti sono supportati solo in Windows XP.

In Windows XP con SP1, il comando seguente visualizzerà l'elenco di interfacce IPv6 in un computer locale, tra cui l'indice dell'interfaccia, il nome dell'interfaccia e varie altre proprietà dell'interfaccia.

Interfaccia netsh ipv6 mostra interfaccia

In Windows XP con SP1 il comando seguente modifica l'identificatore del sito associato a un indice di interfaccia.

interfaccia netsh ipv6 set <InterfaceIndex o Name> siteid=value

In Windows XP, il comando precedente seguente modifica anche l'identificatore del sito associato a un indirizzo locale del sito a 3.

ipv6 rtu fec0::/10 3

Se si invia o si esegue la connessione a un indirizzo con ambito, il membro sin6_scope_id nella struttura sockaddr_in6 può essere lasciato non specificato (zero) che rappresenta un indirizzo con ambito ambiguo. Ad esempio, l'indirizzo locale di collegamento seguente è ambiguo:

fe80::10

Se si esegue l'associazione a un indirizzo con ambito, il membro sin6_scope_id nella struttura sockaddr_in6 deve contenere un valore diverso da zero che specifica un numero di interfaccia valido per un indirizzo locale di collegamento o un identificatore del sito per un indirizzo locale del sito.

Indirizzi con ambito ambiguo

Se si invia o si esegue la connessione a un indirizzo con ambito e non è stato specificato il membro sin6_scope_id nella struttura sockaddr_in6 , l'indirizzo con ambito è ambiguo. Per risolvere questo problema, il protocollo IPv6 determina innanzitutto se è stato associato il socket a un indirizzo di origine. In tal caso, l'indirizzo di origine associato risolve l'ambiguità fornendo un numero di interfaccia o un identificatore del sito.

Se si invia o si esegue la connessione a un indirizzo con ambito e non è stato specificato né il membro sin6_scope_id né un indirizzo di origine associato, il protocollo IPv6 controlla la tabella di routing. Ad esempio, il comando seguente visualizzerà la tabella di routing IPv6 in un computer locale:

netsh interface ipv6 show route

No   Manual   256  fe80::/64      13  Local Area Connection
No   Manual   256  fe80::/64      14  Wireless Network Connection

Ciò indica che gli indirizzi locali di collegamento vengono considerati come collegamento all'interfaccia #13 e #14 per impostazione predefinita.

L'ambiguità si verifica quando un computer locale ha più schede di rete. Ad esempio, il comando netsh precedente indica che sono presenti due interfacce di rete (Connessione all'area locale e connessione di rete wireless). Quando un'applicazione specifica un indirizzo locale del collegamento di destinazione (fe80::10, ad esempio) senza un ID ambito, non è chiaro quale adattatore usare per inviare il pacchetto. Solo un unicast locale di collegamento (fe80::/64) o un multicast con ambito di collegamento (ff00::/8) indirizzo di destinazione IPv6 può soffrire di non avere un ID ambito durante l'invio di un pacchetto.

Individuazione router adiacenti

Se non è stato specificato il membro sin6_scope_id nella struttura sockaddr_in6 , non è stato associato un indirizzo di origine e non è stata specificata una route per gli indirizzi locali di collegamento, il protocollo IPv6 tenterà di risolvere l'indirizzo locale del collegamento di destinazione. Per un determinato pacchetto inviato, viene provato un'interfaccia. Questa prima interfaccia provato è considerata l'interfaccia più preferita. Se l'individuazione vicina non riesce a risolvere l'indirizzo locale di collegamento in un'interfaccia, il pacchetto da inviare viene eliminato e il sistema ricorda che l'indirizzo locale del collegamento di destinazione non è raggiungibile tramite tale interfaccia. Nel pacchetto successivo da inviare in tutte le stesse condizioni viene provato un'interfaccia diversa per l'individuazione adiacente. Questo processo continua attraverso ognuna delle interfacce in un computer locale per ogni nuovo pacchetto fino a quando l'individuazione vicina risponde per l'indirizzo locale del collegamento di destinazione o tutte le interfacce possibili sono state tentate e non riuscite. Ogni volta che un tentativo di risoluzione del vicino ha esito negativo, un'interfaccia viene eliminata per tale vicino.

Se l'indirizzo locale del collegamento di destinazione viene risolto, tale interfaccia viene usata per inviare il pacchetto corrente. Questa interfaccia viene usata anche per tutti i pacchetti con ambito ambiguo successivi inviati allo stesso indirizzo di destinazione locale di collegamento.

Se l'individuazione vicina non riesce a risolvere l'indirizzo locale del collegamento di destinazione in tutte le interfacce, il sistema tenta di inviare il pacchetto nell'interfaccia più preferita (la prima interfaccia provata). Lo stack di rete continua a tentare di risolvere l'indirizzo locale del collegamento di destinazione nell'interfaccia più preferita. Dopo un periodo di tempo dopo che l'individuazione vicina non è riuscita in tutte le interfacce, lo stack di rete riavvierà il processo e tenterà di risolvere l'indirizzo locale del collegamento di destinazione in tutte le interfacce. Attualmente, questo intervallo di tempo quando l'individuazione vicina viene riprovata su tutte le interfacce è di 60 secondi. Tuttavia, questo intervallo di tempo può cambiare nelle versioni di Windows e non deve essere assunto da un'applicazione.

Nota

Se un'applicazione associa lo stesso indirizzo locale di collegamento a un'interfaccia diversa dopo che Neighbor Discovery ha risolto l'indirizzo locale del collegamento, che non eseguirà l'override dell'interfaccia con l'indirizzo di destinazione locale del collegamento restituito da Neighbor Discovery.

 

Per altre informazioni sull'individuazione adiacente per IP versione 6, vedere RFC4861 pubblicato da IETF.

Prefissi del sito IPv6

Ipv6.exe

Netsh.exe

Utilizzo di IPv6