Udostępnij za pośrednictwem


Siatki równorzędne

Siatka to nazwana kolekcja (wzajemnie połączony graf) węzłów równorzędnych, które mogą komunikować się między sobą i które są identyfikowane przez unikatowy identyfikator siatki. Każdy węzeł jest połączony z wieloma innymi węzłami. W dobrze połączonej siatce istnieje ścieżka między dowolnymi dwoma węzłami, z stosunkowo niewielką liczbą przeskoków między węzłami na najbardziej oddalonych krawędziach siatki, a siatka pozostanie połączona nawet na wypadek utraty niektórych węzłów lub połączeń. Aktywne węzły w siatce publikują swoje informacje o punktach końcowych przy użyciu odpowiedniego identyfikatora siatki, aby inne węzły mogły je znaleźć.

Cechy sieci utworzonej przy użyciu kanału peer-to-peer

Jednoznacznie zidentyfikowane

  • Unikatowy identyfikator identyfikuje każdą siatkę. Nazwa siatki (lub identyfikator siatki) ma taki sam format jak nazwa hosta systemu nazw domen (DNS). W związku z tym ten identyfikator siatki musi być unikatowy dla zamierzonego klienta aplikacji w zakresie używanego rozpoznawania nazw. Nazwa pospolita, taka jak "MyFamilysPeers" lub "KevinsPokerTable", może łatwo zderzać się z innymi nazwami użytkowników i może zwracać niezamierzone informacje o punkcie końcowym elementu równorzędnego, co może spowodować problemy z prywatnością lub zwiększyć opóźnienie połączenia. Jednym ze sposobów uniknięcia tych problemów może być dodanie unikatowego identyfikatora jako postfiksu do pseudonimu siatki (na przykład "KevinsPokerTable90210").

Zalewanie wiadomościami

  • Siatka umożliwia propagację komunikatów z co najmniej jednego nadawcy do wszystkich innych węzłów równorzędnych w tej samej siatki. Komunikaty przesyłane przez węzły równorzędne używają nagłówków określonych w przestrzeni nazw http://schemas.microsoft.com/net/2006/05/peer.

Zoptymalizowane połączenia

  • Siatka typu Peer Channel automatycznie dostosowuje się, gdy węzły dołączają i opuszczają, zapewniając, że wszystkie węzły mają dobrą łączność z minimalnym ryzykiem utworzenia partycji (grupy węzłów odizolowane od siebie). Połączenia w siatce są również dynamicznie optymalizowane na podstawie bieżących wzorców ruchu, dzięki czemu opóźnienie komunikatów od nadawcy do odbiorcy jest możliwie najmniejsze.

Ważne jest, aby pamiętać o popularnych funkcjach sieciowych, których Kanał Równorzędny nie zapewnia. Te funkcje, które mogą być oparte na kanale równorzędnym, obejmują następujące elementy:

  • Kolejność komunikatów: Wiadomości pochodzące z jednego źródła mogą nie docierać do wszystkich innych stron w tej samej kolejności lub w kolejności, w jaką źródło wysłało. Aplikacje, które wymagają dostarczenia komunikatów w określonej kolejności, muszą to zaimplementować w swoich aplikacjach (na przykład przez dołączenie monotonicznie rosnącego identyfikatora do wszystkich komunikatów).

  • Niezawodna obsługa komunikatów: Kanał równorzędny nie zawiera mechanizmu zapewniającego odbieranie komunikatów przez wszystkie elementy równorzędne. Aby zagwarantować dostarczanie wiadomości, musisz napisać warstwę zapewniającą niezawodność na wierzchu kanału równorzędnego.