Pragmatic General Multicast

Pragmatic General Multicast (PGM) — сетевой протокол надёжной многоадресной передачи данных, относящийся к транспортному уровню модели OSI. PGM обеспечивает одновременную доставку множеству получателей сетевых пакетов с гарантией сохранения их исходной последовательности.

Обзор

Многоадресная передача данных — это метод параллельной доставки информации по сети группе адресатов. При этом используется наиболее эффективная стратегия однократной передачи сообщений по каждому сетевому пути, а копии сообщений создаются только в местах разветвлений (обычно на сетевых коммутаторах и маршрутизаторах). Тем не менее, как и UDP, многоадресная передача не гарантирует целостную доставку потока сообщений. Сообщения могут теряться, доставляться по нескольку раз или приходить в порядке отличном от исходного. Надёжный протокол многоадресной передачи, такой как PGM, даёт возможность получателям обнаруживать потери и/или нарушение порядка и принимать меры по восстановлению информации (эти же функции реализованы в протоколе TCP), получая целостный поток сообщений в нужном порядке.

В то время как TCP посылает ACK-подтверждения доставки групп пакетов, что расточительно, PGM использует концепцию посылки ответов отрицательного квитирования (Negative Acknowledgements, NAK). NAK-ответ отсылается хосту индивидуальной посылкой посредством определённой процедуры последовательной доставки, реализованной в протоколе сетевого уровня, применяемой каждый раз, когда будет обнаружена потеря данных в некоторой последовательности сообщений. Поскольку работа PGM по обеспечению целостности данных во многом зависит от NAK-ответов, на каждый такой ответ обратно отсылается подтверждение о получении NAK (NAK Confirmation, NCF). Затем в обратную сторону посылаются данные для восстановления (RDATA) хостом-источником или локальным узлом, выделенным для процедур восстановления (Designated Local Repairer, DLR) и расположенным ближе к хосту-назначению.

PGM — экспериментальный протокол IETF и ещё не утверждён в качестве стандарта, но был реализован в некоторых сетевых устройствах и операционных системах, включая Windows XP и выше, а также в библиотеках сторонних разработчиков для Linux, Windows и Solaris.

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.