Одноранговые сетки
Сетка — это именованная коллекция (взаимосвязанный граф) из одноранговых узлов, которые могут взаимодействовать между собой и которые идентифицируются по уникальному ИД сетки. Каждый узел соединен с несколькими другими узлами. В хорошо связанной сетке существует путь между любыми двумя узлами, расстояние между наиболее удаленными узлами относительно невелико, а сетка остается связанной, даже если некоторые узлы или связи выпадают. Активные узлы в сетке публикуют сведения о своих конечных точках, а также соответствующие идентификаторы сетки, чтобы другие одноранговые узлы могли находить их.
Характеристики сетки, созданной с помощью однорангового канала
Уникальный идентификатор
- Каждая сетка характеризуется уникальным идентификатором. Имя сетки (или ее идентификатор) имеет формат DNS-имени узла. Таким образом, идентификатор сетки должен быть уникальным для определенного клиента приложения в пределах области используемого распознавателя. Простые имена, такие как "MyFamilysPeers" или "KevinsPokerTable", могут совпасть с именами других пользователей и вернуть неверные сведения о конечной точке, в результате чего будет нарушена конфиденциальность или увеличится задержка подключений. Один из способов избежать таких проблем — добавить к псевдониму уникальный идентификатор (например, "KevinsPokerTable90210").
Распространение сообщений
- Сетка позволяет распространять сообщения от одного или нескольких отправителей среди всех остальных одноранговых узлов в рамках одной сетки. В сообщениях, отправляемых одноранговыми узлами, используются заголовки, заданные в пространстве имен, расположенном по адресу
https://schemas.microsoft.com/net/2006/05/peer
.
Оптимизированные подключения
- Сетка одноранговых каналов автоматически настраивается при подключении и отключении узлов, что гарантирует хорошую связь между узлами и низкую вероятность создания областей (изолированных друг от друга групп узлов). Кроме того, подключения в сетке динамически оптимизируются на основании действующих шаблонов трафика, чтобы задержка сообщения на пути от отправителя к получателю была минимальной.
Популярные сетевые функции, не реализуемые одноранговыми каналами
Важно знать о популярных сетевых функциях, которые не реализуются одноранговыми каналами. Список функций, которые можно реализовать поверх одноранговых каналов, включает следующие возможности:
упорядочение сообщений: сообщения из одного источника могут достигать получателей не в том порядке, в котором они были отправлены. Приложения, требующие доставки сообщений в определенном порядке, должны самостоятельно реализовывать такие функции (например, путем включения во все сообщения идентификаторов с возрастающими значениями);
надежный обмен сообщениями: одноранговые каналы не включают механизм для подтверждения получения всеми узлами. Чтобы гарантировать доставку сообщений, необходимо разработать уровень обеспечения надежности поверх одноранговых каналов.