Freigeben über


Windows Client & Server - Come modificare l’ordine di utilizzo delle schede di rete in Windows

Ciao a tutti! Spesso ci arrivano richieste del tipo “perché se ho la scheda wireless attiva sul mio PC, il computer usa il Wifi invece di usare la connessione via cavo, più affidabile?”

Esiste un algoritmo particolare, introdotto a partire da Windows XP e presente nelle versioni successive, che in caso di due o più reti disponibili (quali ad esempio wired e wireless) decide quale utilizzare (a livello di default gateway). 

Esso si basa su un valore definito “metric” che viene assegnato ad ognuna delle schede di rete. Semplicemente, il sistema operativo utilizzerà la scheda con valore di metrica più bassa.

In condizioni di default, questo valore è calcolato automaticamente per ogni NIC in base alla velocità del link secondo la seguente tabella:

Link Speed

Metric

Greater than 200 Mb

10

Greater than 20 Mb, and less than or equal to 200 Mb

20

Greater than 4 Mb, and less than or equal to 20 Mb

30

Greater than 500 kilobits (Kb), and less than or equal to 4 Mb

40

Less than or equal to 500 Kb

50

(ulteriori dettagli qui http://support.microsoft.com/kb/299540/en-us ).

Il calcolo viene fatto in fase di boot e il valore non viene modificato fino al successivo riavvio. Ogni modifica manuale da parte dell’utente a questi settings, dovrà necessariamente essere seguita da un riavvio del sistema!

Siccome questo valore di velocità è teorico, capita spesso che la Scheda Wireless “N” (velocità nominale 300 Mbps – metrica 10) sia considerata più veloce della scheda ethernet (100 Mbps – metrica 20) e venga quindi utilizzata come preferita. Questo capita, ad esempio, sul notebook che sto utilizzando per scrivere questo post :)

Per visualizzare i valori della metric per tutte le schede di rete è necessario eseguire il comando:

netsh interface ip show config su Windows XP, 2003

netsh interface ipv4 show config su Vista, 7, 2008 (e R2)

È possibile però assegnare dei valori manualmente alle varie schede di rete, in modo da forzare il proprio ordine preferito. È importante che il numero scelto sia uno di quelli nella tabella precedente (da 10 a 50). Questo si può fare sia via interfaccia grafica che da command line. Infine, nel caso in cui il valore di metric sia lo stesso per più di una scheda, l’ordine preferenziale sarà quello specificato nel “binding order”.

Come modificare la Metric da interfaccia grafica

1) Dallo start menu, selezionare “Run” e digitare “ncpa.cpl” per accedere alla pagina di configurazione delle schede di rete

2) Selezionare la scheda di rete, e visualizzarne le proprietà tramite un click con tasto destro.

3) Nelle proprietà selezionare TCP-IP (v4) / Proprietà / General / Advanced

3) Rimuovere il checkbox da Automatic metric e inserire manualmente il numero desiderato nella apposita casella

clip_image002

Come modificare la Metric da command line

Aprire un prompt dei comandi e digitare il comando:

netsh interface ipv4 set interface “nome_interfaccia” metric=<value>

(esempio: netsh interface ipv4 set interface “Local Area Connection” metric=10)

Come visualizzare o modificare il Binding Order delle schede di rete

1) Dallo start menu, selezionare “Run” e digitare “ncpa.cpl” per accedere alla pagina di configurazione delle schede di rete

2) digitare il tasto “Alt” per rendere visibile la barra del menu (su client Vista e 7)

3) Dal menu, cliccare Advanced / Advanced Settings /Adapters and Bindings

4) Selezionare l’ordine preferito delle reti tramite le frecce direzionali

image

Infine, è bene segnalare che in Windows 7, se abbiamo due diverse connessioni (wifi ed ethernet) contemporaneamente attive, nella barra di sistema sarà sempre presente l’icona del Wireless imagein sostituzione di quella della rete cablata image.

Non dobbiamo comunque preoccuparci: se abbiamo correttamente impostato tutti i settings discussi in questo articolo, il sistema sta utilizzando di default la scheda Ethernet per il traffico in uscita.

Ciao a tutti e alla prossima!

Stefano Gagliardi
Support Engineer
Microsoft Enterprise Platform Support

Comments

  • Anonymous
    January 01, 2003
    Ciao e grazie dei complimenti :-) In questo contesto modificare il binding order serve solo a determinare la priorità delle reti nel caso in cui la Metric sia identica. È possibile cambiare la metric tramite il seguente comando:   netsh interface ipv4 set interface “nome_interfaccia” metric=<value> Purtroppo non esiste un comando per cambiare il Binding order. Se non è possibile farlo via grafica, si può procedere a creare uno script che editi la segeunte chiave di registro   HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesTcpipLinkageBind “Bind” è un multi-string value che indica, nell’ordine, i GUID delle diverse interfacce di rete (recuperabili dalle sottochiavi di HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesTcpipParametersInterfaces) Spero di aver risposto alle tue domande. Grazie e Buona giornata. Stefano

  • Anonymous
    April 20, 2011
    Bell'articolo. La modifica del binding serve a velocizzare i tempi di risposta del protocollo in caso attraverso metric l'ordine di utilizzo delle interfacce da parte dell'SO sia differente da quello di binding? Via commandline, magari powershell, è possibile variare la metric e l'ordine di binding? Grazie per la risposta.