Peer Name Resolution Protocol ( PNRP ) este un protocol dezvoltat de Microsoft care este utilizat într-o rețea de computere peer-to-peer pentru a adresa nodurilor de rețea printr-un nume de gazdă care este asociat cu o adresă IPv6 . Protocolul nu presupune utilizarea unui server, lista de nume este actualizată dinamic. Numele nodurilor (peers) din rețelele care utilizează protocolul PNPR constau din două părți: autoritatea (Autoritatea) și clasificatorul (Clasificatorul). Partea „Permisiuni” este destinată clienților de rețea securizat și este identificată printr-un hash SHA-1 și cheia publică asociată acesteia, în timp ce pentru clienții nesiguri această parte are valoarea zero. Partea „Clasificator” – este un șir care identifică serviciul oferit de gazdă.
2001 - PNRP versiunea 1 a fost introdusă pentru prima dată la conferința P2P.
2003 - PNRP versiunea 1, inclusă cu Windows XP și apoi portată pe Windows Vista sub versiunea 2.0.
Asistența la distanță Windows pe Windows 7 utilizează PNRP, Teredo și IPv6 când este selectată opțiunea Conectare ușoară .
Drepturile asupra protocolului PNRP sunt protejate de brevetul american 7.065.587, emis pe 20 iunie 2006.
Structural, PNPR este format din două componente [1] :
Pentru funcționare sunt necesare IPv6 și două nori globale, dintre care unul corespunde tuturor adreselor IPv6, iar celălalt servește pentru comunicația locală, care este analogă cu IPv4.
Crearea unui identificator are loc în trei etape:
Numele colegilor nesiguri sunt publicate fără semnătură, ceea ce face imposibilă verificarea.
Mai multe obiecte pot folosi același nume. De exemplu, dacă un nume de peer este asociat unui grup, orice membru al grupului poate publica adrese pentru numele de peer.
Numele unui peer poate fi fie o adresă într-o rețea locală, fie pe Internet.
Rezolvarea numelui se face în doi pași:
Pe plan intern, PNRP utilizează o arhitectură similară cu sistemele de tabele hash distribuite , cum ar fi Chord sau Pastry . Numele de peer este indexat pentru a crea un ID pe 128 de biți , iar un algoritm asemănător DHT este utilizat pentru a obține locația gazdei care publică acel ID. Dar cu toate asemănările, există unele diferențe.
Sistemele DHT precum Chord sau Pastry stochează hashuri în noduri cât mai aproape de gazdă, iar algoritmul de rutare este conceput pentru a se asigura că nodul este găsit. PNRP, pe de altă parte, stochează întotdeauna hash-ul pe nodul care publică identificatorul. Astfel, un nod va avea atâtea intrări în sistemul de rutare câte identificatori îi utilizează. Rezultatul este că PNRP trebuie să sacrifice viteza de rutare pentru a spori securitatea și fiabilitatea.
Spre deosebire de sistemele DHT, PRNP permite mai multor gazde (de exemplu, același grup) să folosească același nume. DHT presupune că numele sunt unice. Indexul intern constă de fapt dintr-un hash de 128 de biți al numelui peer-ului și un identificator de locație de 128 de biți derivat din adresa IPv6 a peer-ului.
În loc de o tabelă de rutare, PNRP utilizează un cache de intrare. Fiecare înregistrare nouă apare datorită traficului care trece prin rețea. Acest lucru asigură că informațiile despre rețea sunt actualizate.
Windows XP - PNPR versiunea 1, versiunea 2.0 într-un pachet de descărcare;
Windows Vista - PNPR versiunea 2.0
Windows Vista SP1, Windows Server 2008 și Windows XP SP3 au adăugat versiunea PNRP 2.1.
Versiunea 2.0 nu este disponibilă pentru utilizatorii Windows XP Professional x64 Edition și toate edițiile Windows Server 2003 [2] .