Condividi tramite


Protocollo PNRP (Peer Name Resolution Protocol)

Negli ambienti peer-to-peer i peer usano sistemi di risoluzione dei nomi specifici per risolvere i percorsi di rete degli altri (indirizzi, protocolli e porte) da nomi o altri tipi di identificatori. In passato, la risoluzione dei nomi peer è stata complicata dalla connettività intrinsecamente temporanea e da altre carenze all'interno del Domain Name System (DNS).

La piattaforma di rete peer-to-peer di Microsoft® Windows® risolve questo problema con il protocollo PNRP (Peer Name Resolution Protocol), una registrazione sicura, scalabile e dinamica dei nomi e protocollo di risoluzione dei nomi sviluppato per Windows XP e quindi aggiornato in Windows Vista™. PNRP funziona in modo molto diverso dai tradizionali sistemi di risoluzione dei nomi, aprendo nuove interessanti possibilità per gli sviluppatori di applicazioni.

Con PNRP, i nomi peer possono essere applicati al computer o alle singole applicazioni o servizi nel computer. Una risoluzione dei nomi peer include un indirizzo, una porta ed eventualmente un payload esteso. I vantaggi di questo sistema includono la tolleranza di errore, l'assenza di colli di bottiglia e le risoluzioni dei nomi che non restituiscono mai indirizzi non aggiornati, che rendono il protocollo una soluzione eccellente per individuare gli utenti mobili.

In termini di sicurezza, i nomi peer possono essere pubblicati come protetti o non protetti. PNRP usa la crittografia a chiave pubblica per proteggere i nomi peer sicuri dallo spoofing; sia i computer che i servizi possono essere denominati con PNRP.

Il protocollo di risoluzione dei nomi peer illustra le proprietà seguenti:

  • Distribuito e quasi completamente serverless. I server sono necessari solo per il processo di bootstrap.

  • Pubblicazione di nomi sicuri senza il coinvolgimento di terze parti. A differenza della pubblicazione dei nomi DNS, la pubblicazione dei nomi PNRP è istantanea e senza costi finanziari.

  • Gli aggiornamenti PNRP in tempo reale impediscono la risoluzione degli indirizzi non aggiornati.

  • La risoluzione dei nomi tramite PNRP si estende oltre i computer consentendo anche la risoluzione dei nomi per i servizi.

Spazio dei nomi System.Net.PeerToPeer

  • La funzionalità PNRP è definita dal namespace System.Net.PeerToPeer all'interno di .NET Framework versione 3.5. Fornisce un set di tipi che possono essere usati per registrare e risolvere i nomi di peer con un servizio PNRP disponibile.

  • I resolver PNRP e peer personalizzati possono essere creati e istanziati usando i tipi forniti nello spazio dei nomi System.ServiceModel.PeerResolvers.

  • I tipi di base usati per registrare e risolvere i nomi con un servizio PNRP disponibile sono i seguenti:

  • Cloud: definisce le informazioni che descrivono un cloud PNRP disponibile, incluso il relativo ambito.

  • PeerName: definisce un nome peer che può essere usato per registrare e successivamente risolvere un peer all'interno di un cloud.

  • PeerNameRecord: definisce il record nel cloud PNRP che contiene le informazioni di registrazione per un peer, che include gli endpoint di rete in cui è possibile contattare il peer.

  • PeerNameRegistration: definisce il processo di registrazione di un nome peer, comprese le modalità per avviare e interrompere la registrazione del nome peer.

  • PeerNameResolver: definisce il processo per la risoluzione di un nome peer negli endpoint di rete, inclusi i metodi sincroni e asincroni per la risoluzione.

Vedere anche