Многоадресатные расширения протокола OSPF (MOSPF) Часть вторая

Под термином система с надежной многоадресатной передачей будем понимать систему, в которой используется принцип многоадресатной доставки пакетов и гарантируется, что все члены группы будут получать данные упорядоченно, без потерь, дублирования или искажений. Теоретически в такой системе должны использоваться преимущества метода пересылки пакетов, который является более эффективным, чем обычное широковещание, а также обеспечиваться сохранность доставляемых получателю данных. Таким образом, системы с надежной многоадресатной передачей имеют большое потенциальное преимущество и применимость (например, такая система может использоваться на фондовой бирже для сообщения большому количеству получателей цен на акции). Стильные колье для тебя: колье из жемчуга. Город жемчуга и драгоценностей.

На практике, реализовать систему с надежной многоадресатной передачей не так-то просто и понятно, как это может показаться на первый взгляд. Во-первых, если в многоадресатной группе имеется несколько отправителей, понятие упорядоченной доставки дейтаграмм теряет смысл. Во-вторых, мы убедились, что в широко используемых системах многоадресатной пересылки (например, на основе протокола RPF) могут возникнуть дубли дейтаграмм даже в небольших объединенных сетях. В-третьих, помимо того, что надежная система многоадресатной пересылки должна гарантировать, что все данные в конечном счете достигнут своих получателей, она также должна обеспечивать для прикладных программ, пересылающих большие потоки данных (например, аудио или видео), небольшое время задержки и устойчивую синхронизацию. В-четвертых, поскольку для обеспечения надежной передачи получатель должен периодически посылать отправителю сигналы подтверждения приема, а многоадресатная группа может состоят из произвольного количества членов, при использовании традиционных надежных протоколов отправитель должен обрабатывать неограниченно большое количество уведомлений. К сожалению, ни один компьютер пока не может справиться с этой задачей, поскольку его вычислительные мощности ограничены. Эта проблема, называемая перегрузкой уведомлениями (АСК implosion), была предметом многочисленных исследований.

Для решения проблемы перегрузки уведомлениями в надежных протоколах многоадресатной передачи применяют иерархический подход, при котором многоадресатная передача ограничивается одним отправителем11. Прежде чем будут отосланы данные, от отправителя ко всем членам группы необходимо создать дерево пересылки и определить точки уведомления (acknowledgement points).

Точку уведомления называют также сборным пунктом уведомлений (acknowledgement aggregator), или отмеченным маршрутизатором (designated router, DID. В ней находится маршрутизатор, обслуживающий дерево пересылки, который кэширует пересылаемые данные и обрабатывает уведомления, поступающие от узлов и маршрутизаторов, расположенных внизу дерева. Если возникает необходимость повторной передачи, точка уведомления посылает копию утерянных данных из своего кэша.

В большинстве систем надежной многоадресатной передачи используются отрицательные, а не положительные сигналы подтверждения приема. Другими словами, узел сети не посылает уведомлений до тех пор, пока дейтаграмма не будет утеряна. Чтобы узел смог обнаружить потерю дейтаграммы, ей присваивается уникальный порядковый номер. Обнаружив потерю, узел сети отсылает отрицательное уведомление (сигнал NACK), в ответ на которое выполняется повторная передача данных. Отрицательное уведомление распространяется вверх по дереву пересылки в направлении отправителя до тех пор, пока не будет достигнута точка уведомления. Сигнал NACK обрабатывается маршрутизатором в точке уведомления, после чего он повторно отправляет копию утерянной дейтаграммы вниз по дереву пересылки.

Каким же образом маршрутизатор, находящийся в точке уведомления, может удостоверится, что у него имеются копии всех дейтаграмм данной последовательности? Он руководствуется тем же принципом, что и узел сети. Когда в точку уведомления поступает дейтаграмма, маршрутизатор проверяет ее порядковый номер, помещает копию дейтаграммы в свою память и затем распространяет дейтаграмму вниз по дереву пересылки. Если в точке уведомления обнаруживается, что дейтаграмма утеряна, маршрутизатор отсылает сигнал NACK в направлении отправителя вверх по дереву. При этом сигнал NACK либо достигает другой точки уведомления, в которой имеется копия дейтаграммы (в этом случае повторно посылается копия дейтаграммы, находящаяся в точке уведомления), либо самого отправителя дейтаграммы, который повторно высылает утерянную дейтаграмму.

Похожие статьи Меню Опрос Фото Популярное