ПредишенСледващото

Въпреки това, макар P2P технология се използва в приложения за споделяне на файлове, това не означава, че не може да се използва и в други приложения. В действителност, тази технология може да се прилага в редица други приложения, и става все по-голямо значение в днешния свят на вездесъщите комуникации.

В Microsoft, също не е пощадена появата на P2P технология и са започнали да развиват собствени средства и средства за неговото прилагане. Това е начина, платформата е Microsoft Windows Peer-да-Peer мрежи. изпълнение на ролята на един вид рамка за комуникации в P2P приложения. Структурата на тази платформа включва такива важни компоненти като PNRP (Peer Наименование Резолюция протокол - превръщането на имената на членовете на протокола) и PNM (Хората около мен - съседните ползватели).

В допълнение, версия .NET Framework 3.5, включени нови имена пространство System.Net.PeerToPeer и няколко нови видове и инструменти за създаване на P2P приложения с минимални усилия.

Преглед на P2P технология

P2P технология е алтернативен подход за мрежови комуникации. За да разберем това, което P2P е различно от "стандартен" подход към комуникациите, не е лошо да се върнем назад и не забравяйте, че една връзка е като "клиент-сървър". Съобщение от този тип често се използват в днешните мрежови приложения.

"Клиент-сървър" тип архитектура

По същия начин, десктоп приложение има възможност за свързване към локална или глобална мрежа, обикновено се установи връзка с всеки един сървър, например, сървър за бази данни или сървъра предоставяне на пакет от услуги.

Фигурата по-долу показва прост вариант на архитектурата "клиент-сървър" тип:

Net и C #, p2p мрежа 1

Нищо по своята същност не е наред с тази архитектура не е, и в действителност, в много случаи тя ще има точно това, което ви трябва. Въпреки това, той е присъщо на проблема с мащабируемост. Следващата фигура показва как тя ще бъде намалена чрез добавяне на допълнителни клиенти:

Net и C #, p2p мрежа 1

С добавянето на всеки товар клиент-сървър, който трябва да си взаимодействат с всеки клиент, ще се увеличи. Ако вземем за пример отново на уеб сайт, то това увеличение на натоварване може да доведе до сайта на провал. С твърде много трафик на сървъра, просто ще спре да отговаря.

Разбира се, има възможности за мащабиране можете да използвате, за да се облекчи това положение. Една от тях предвижда мащабирането "нагоре" чрез увеличаване на силата и ресурсите на сървъра, и от друга - увеличение "широчината" чрез добавяне на допълнителни сървъри. Първият начин, разбира се, се ограничава до наличната технология и цената на по-мощна техника. Вторият метод е потенциално по-гъвкави, но изисква добавянето на допълнително ниво на инфраструктура, която да предоставя на своите клиенти възможност да взаимодействат с или отделни сървъри или поддържа от състоянието на сесията независимо от сървъра, с който взаимодействието. За тази маса от наличните решения, като например продукти, които ви позволяват да се създаде уеб ферма или сървърна група.

P2P тип архитектура

Временна анкетна (партньорска към партньорската) подход е напълно различен от подхода на мащабиране "нагоре" или "ширина". В случай на P2P, вместо се фокусира върху опита си да подобри комуникацията между сървъра и неговите клиенти, всички внимание се отделя на намиране на начини, които клиентите могат да си взаимодействат един с друг.

Да вземем за пример, да предположим, че един сайт, с който клиентите взаимодействат е www.williamspublishing.com, и публикуване на Уилямс обяви пускането на нова книга на този сайт и да го предоставя за безплатно изтегляне за всички желаещи, но само за един ден. Не е трудно да се отгатне, че в такава ситуация в навечерието на появата на интернет страницата на книгата започва да видите много хора, които постоянно ще се актуализира съдържанието му в браузърите си и се очаква да се запознае с преписката. След като файлът е на разположение, всички от тях в същото време ще се опитам да го заредите, и, най-вероятно, уеб сървър, който служи на сайта, не може да издържи такава атака и се провалят.

За да се предотврати изхода на уеб сървъра се провали, можете да използвате P2P технология. Вместо да се изпрати файла директно от сървъра на всички клиенти наведнъж, може да се изпраща само на определен брой клиенти. Няколко други клиенти след това да го качите в тези клиенти, които вече са го имат. След това, на няколко клиенти да го изтеглите от клиентите, които са получили своя втори и т.н. В действителност, този процес може да бъде дори по-бързо чрез разделяне на файла на парчета и разпространение на тези парчета, сред клиентите, някои от които ще бъде да ги свалите директно от сървъра, а другият - от други клиенти. Ето как технологията работи системите за споделяне на файлове като BitTorrent, както е показано по-долу:

Net и C #, p2p мрежа 1

Характеристики на P2P архитектурата

Въпреки това, в споделяне на файлове архитектура описани тук, все още остават някои проблеми да бъдат решени. За начало, как клиентите научат, че има и други клиенти, и как те ще се открие файлови фрагменти, които могат да бъдат на разположение на други клиенти? Освен това, как да се осигури оптимално взаимодействие между клиенти, ако те могат да бъдат отделени от другите континенти?

Всеки клиент, участващи в прилагането на P2P мрежа, за да се преодолеят тези проблеми трябва да бъде в състояние да изпълнява следните действия:

разкриване на други клиенти;

се свържете с други клиенти;

взаимодейства с други клиенти.

По отношение на възможността за откриване на други клиенти, има два очевидни решения: подкрепа за списък на клиенти на сървъра, така че клиентите да могат да го получат, и да общуват с други клиенти (наречена peers- равни участници), или използването на инфраструктура (например, на PNRP), което позволява клиентите откриват пряко помежду си. Повечето системи за споделяне на файлове прилагат разтвора със списъка с поддръжка на сървъра и използва сървъра, наречена "тракер" (тракери).

Системите за споделяне на файлове, както и всеки клиент може също да действа като сървър, както е показано по-горе, като обяви, че той разполага с файл и да го регистрирате на тракера на сървъра. В действителност, в чисто P2P мрежа не изисква сървъри, но само равностойни участници.

Проблемът за свързване с останалите клиенти е по-тънка и се разпространява по цялата структура на P2P мрежа, използвана от приложението. Ако има една група от клиенти, които всички трябва да са в състояние да си взаимодействат един с друг, топологията на връзките между клиента може да придобие изключително сложно. Често не успява да подобри производителността чрез създаване на няколко групи клиенти с възможността да се установи връзка между клиентите във всеки един от тях, но не и с клиенти в други групи.

В случай на създаване на тези групи в съответствие с принципа на място е възможно да се постигне допълнително подобряване на производителността, тъй като в този случай, клиентите могат да взаимодействат един с друг на малко (с по-малък брой на хмел) маршрути между мрежовите машини.

Даде възможност на клиентите да открият, се свързват и взаимодействат помежду си играе централна роля във всяко изпълнение P2P.

Р2 терминология

В предишните раздели вече са представени на концепцията за партньорска (партньорска) - това е името на клиенти в P2P мрежа. Думата "клиент" в P2P мрежата няма смисъл, защото няма задължителна сървъра, че клиентът трябва да бъде.

Група на колеги, които са свързани един с друг, наречен клетки (меша). облаци (облаци) и графики (графики). Всяка отделна група се счита за добре свързан, ако се наблюдава поне някой от следните условия:

Между всяка двойка връстници има връзка път, което позволява на всеки участник да се свържете с други равни участниците, както се изисква.

Между всяка двойка колеги има относително малък брой съединения, които могат да се свързват.

Премахването на един от групата на връстниците не лишава други пиъри възможността за взаимодействие един с друг.

Имайте предвид, че това не означава, че всеки партньорска състезател трябва да бъде в състояние да се свърже с всяка друга страна в партньорската директно. В действителност, ако се анализират мрежата от математическа гледна точка, а след това може да откриете, че вашите колеги, за да отговарят на горните условия трябва да са в състояние да се свърже с относително малък брой други колеги.

Друга концепция в P2P технология, която трябва да знаете, е вълната (наводнения). При разпространението на вълната се има предвид начина, по който една част от данните могат да се предават по мрежата до всички участници са равни и че може да произвежда проучване на други възли в мрежата, за да се открие конкретна част от данните. В неструктурирани P2P мрежи, този процес е по-скоро произволно; когато за първи път установява връзка с най-близките съседи равни участниците, които след това, от своя страна, да общуват със своите непосредствени съседи и т.н. толкова дълго, колкото всяка партньорска в мрежата ще бъдат покрити.

Също така е разрешено да създавате и структурирана P2P мрежа с добре определени начини, които трябва да са най-честите запитвания и данни между връстници.

P2P решения

При наличие на подходяща инфраструктура за P2P може да започне да се развива не само подобрена версия на приложенията за клиент-сървър, но и напълно нови приложения. P2P технологията особено подходяща за прилагане на следните класове:

приложения, предназначени за разпространение на съдържание, включително прилагането на споменатите по-горе споделяне на файлове;

приложения, предназначени да работят заедно, като например приложения, които ви позволяват да споделяте настолни и "бяла дъска" (бяла дъска);

приложения, предназначени за много потребители комуникация и позволява на потребителите да общуват и да обменят данни директно, а не чрез сървъра;

приложения, предназначени за разпределена обработка, като алтернатива за суперкомпютърни приложения, които обработват големи обеми от данни;

Web 2.0 приложения, които съчетават всички или някои от приложенията, посочени по-горе и да ги превърнат в следващото поколение на динамични уеб приложения.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!