Кіріспе

Peer to peer желілік протоколы Peer Name Resolution Protocol (PNRP) – Microsoft компаниясы әзірлеген бір-бірімен байланыс протоколы. PNRP динамикалық атауларды жариялау және анықтау мүмкіндігін қамтамасыз етеді және IPv6 талап етеді. PNRP алғаш рет 2001 жылдың қараша айында өткен P2P конференциясындағы баяндамада таныстырылды. Ол 2003 жылдың шілдесінде Windows XP үшін Advanced Networking Pack жинағында пайда болды, ал кейіннен Windows XP үшін Service Pack 2-ге қосылды. PNRP 2.0 Windows Vista жүйесімен бірге енгізілді және Windows XP Service Pack 2 пайдаланушылары үшін жүктеуге қолжетімді болды. PNRP 2.1 Windows Vista SP1, Windows Server 2008 және Windows XP SP3 жүйелеріне енгізілді. PNRP v2 Windows XP Professional x64 Edition немесе Windows Server 2003 кез келген нұсқасында қолжетімді емес. Windows 7 жүйесіндегі қашықтан көмек көрсету мүмкіндігі Easy Connect опциясын пайдаланып қосылғанда PNRP, Teredo және IPv6 қолданады. PNRP дизайны 2006 жылдың 20 маусымында шығарылған No 7,065,587 АҚШ патентімен қорғалған. Windows 10-ның 1909 нұсқасында PNRP қолдауы тоқтатылды.

PNRP қызметтері

PNRP – интернет-хосттарына «теңдес атауларын» және тиісті IPv6-адрестерін, сондай-ақ басқа да ақпаратты жариялауға мүмкіндік беретін таратылған атауларды шешу протоколы. Басқа хосттар теңдес атауын шеше алады, тиісті адрестер мен басқа ақпаратты алады және теңдес-теңдес байланыстарды орната алады. PNRP-де теңдес атаулары «авторитет» және «квалификатор» деп аталады. Авторитет онымен байланысты ашық кілтінің қауіпсіз хэшімен немесе теңдес атауы «қорғалмаған» болса, орын басушымен (нөл санымен) анықталады. Квалификатор – бұл жол, ол авторитетке әртүрлі қызметтер үшін әртүрлі теңдес атауларын иеленуге мүмкіндік береді. Егер теңдес атауы қорғалған болса, PNRP атау жазбаларына жариялаған авторитет қол қояды және оны оның ашық кілті арқылы тексеруге болады. Қорғалмаған теңдес атауларын кез келген адам, тексеру мүмкіндігі болмаса, жариялай алады. Бірнеше тұлға бірдей теңдес атауын жариялай алады. Мысалы, егер теңдес атауы топпен байланысты болса, топтың кез келген мүшесі теңдес атауының адресін жариялай алады. Теңдес атаулары белгілі бір ауқымда жарияланады және шешіледі. Ауқым жергілікті желі, сайт (мысалы, кампус) немесе бүкіл интернет болуы мүмкін.

PNRP және үлестірілген хэш-кестелер

PNRP ішкі жағынан Chord немесе Pastry сияқты таратылған хэш-кесте жүйелеріне ұқсас архитектура қолданады. Пір атауы 128 биттік пір идентификаторын алу үшін хэштелді, ал DHT сияқты алгоритм осы идентификаторды жариялаған хосттың орналасқан жерін табу үшін қолданылады. Дегенмен, маңызды айырмашылықтар бар. Chord немесе Pastry сияқты DHT жүйелері объектілердің индекстерін (хэштерді) идентификаторы хэшке ең жақын түйінде сақтайды, ал маршруттау алгоритмі осы түйіннің орнын табуға арналған. PNRP болса, идентификаторды жариялаған түйіннің хэшін әрқашан сақтайды. Сондықтан түйіннің маршруттау жүйесінде ол жариялаған идентификаторлар санына тең жазбалар болады. PNRP дизайны, жоғары маршруттау құнының есебінен, қауіпсіздік пен сенімділікті арттыруға бағытталған. Көптеген DHT жүйелері тек бір түйін белгілі бір индексті жариялайды деп есептейді. PNRP-де бірнеше хосттың бірдей атауды жариялауына рұқсат етіледі. Ішкі индекс, шындығында, пір атауының 128 биттік хэшінен және түйіннің IPv6 мекенжайынан алынған 128 биттік орналасқан жер идентификаторынан тұрады. PNRP маршруттау кестесін пайдаланбайды, керісінше PNRP жазбаларының кэшін қолданады. Жаңа кэш жазбалары, ағымдағы трафик нәтижесінде алынады. Кэшті күтіп ұстау алгоритмі, әрбір түйіннің «бұлт» туралы жеткілікті мәліметке ие екенін қамтамасыз етеді. Бұл сұранысты шешу уақыты бұлттың көлемінің логарифміне пропорционалды болады деп жоспарланған.