Открыть сервисСервис

Routing Table Maintenance Protocol

Routing Table Maintenance Protocol (RTMP) — это протокол маршрутизации, используемый в сетях AppleTalk для динамического обмена информацией о маршрутах между маршрутизаторами. RTMP относится к классу дистанционно-векторных протоколов (distance-vector), аналогичных протоколу RIP (Routing Information Protocol) в стеке TCP/IP, и предназначен для автоматического построения и поддержания таблиц маршрутизации в локальных и глобальных сетях AppleTalk.

История и назначение

Протокол RTMP был разработан компанией Apple в середине 1980-х годов как часть стека протоколов AppleTalk, предназначенного для объединения компьютеров Macintosh и периферийных устройств в локальные сети. Основной задачей RTMP стало обеспечение автоматического обнаружения сетевых топологий и динамического обновления маршрутной информации без необходимости ручной настройки администратором. Протокол был реализован на сетевом уровне (уровень 3 модели OSI) и работал поверх протокола DDP (Datagram Delivery Protocol), который обеспечивал негарантированную доставку дейтаграмм в сетях AppleTalk.

С развитием сетевых технологий и переходом на стек TCP/IP в качестве основного протокола для интернета, использование AppleTalk и RTMP значительно сократилось. К началу 2000-х годов Apple прекратила поддержку AppleTalk в своих операционных системах, и RTMP уступил место более современным протоколам маршрутизации, таким как OSPF и EIGRP.

Принцип работы

RTMP, как и другие дистанционно-векторные протоколы, использует алгоритм Беллмана-Форда для вычисления кратчайших путей к удалённым сетям. Каждый маршрутизатор, поддерживающий RTMP, периодически (каждые 10 секунд) рассылает широковещательные сообщения, содержащие полную копию своей таблицы маршрутизации, всем соседним маршрутизаторам в сети.

Метрика маршрутизации

В качестве метрики RTMP использует количество хопов (переходов) до целевой сети. Максимально допустимое значение метрики составляет 15 хопов, что ограничивает размер сети AppleTalk, в которой может применяться RTMP. При достижении значения 16 сеть считается недоступной (аналогично протоколу RIP). Это ограничение делает RTMP непригодным для использования в очень крупных или глобальных сетях.

Типы сообщений

RTMP использует два основных типа сообщений:

  • Запрос (RTMP Request) — отправляется маршрутизатором при инициализации или после обнаружения нового соседа для получения полной таблицы маршрутизации.
  • Ответ (RTMP Response) — содержит полную таблицу маршрутизации отправителя и отправляется либо в ответ на запрос, либо периодически (каждые 10 секунд) в виде широковещательной рассылки.

Обработка маршрутной информации

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

Формат пакета RTMP

Пакет RTMP инкапсулируется в дейтаграмму DDP. Структура пакета включает следующие поля:

  • Версия (Version) — 4 бита, указывает версию протокола (обычно 1).
  • Команда (Command) — 4 бита, определяет тип сообщения: 1 — запрос, 2 — ответ.
  • Количество записей (TupleCount) — 8 бит, указывает количество маршрутных записей в пакете.
  • Данные маршрутов (Routing Tuples)переменная длина, содержит последовательность записей, каждая из которых включает:
  • Сетевой номер (Network Number) — 16 бит, идентификатор сети AppleTalk.
  • Метрика (Distance) — 8 бит, количество хопов до целевой сети (значение от 0 до 15).

Каждый пакет RTMP может содержать до 100 маршрутных записей, что ограничивает размер таблицы маршрутизации, передаваемой за один раз.

Механизмы предотвращения петель

Как и другие дистанционно-векторные протоколы, RTMP подвержен проблеме образования маршрутных петель. Для их предотвращения используются следующие механизмы:

Расщеплённый горизонт (Split Horizon)

Маршрутизатор не отправляет информацию о маршруте обратно тому соседу, от которого этот маршрут был получен. Это предотвращает ситуацию, когда маршрутизатор получает от соседа маршрут, который сам же ему и отправил, что могло бы привести к зацикливанию.

Отравление маршрута (Route Poisoning)

При обнаружении недоступности сети (например, при обрыве связи) маршрутизатор устанавливает метрику для этой сети в значение 16 (бесконечность) и немедленно рассылает обновление соседям. Это позволяет быстрее распространить информацию о недоступности и предотвратить образование петель.

Таймеры удержания (Hold-Down Timers)

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

Ограничения и недостатки

RTMP имеет ряд существенных ограничений, которые привели к его вытеснению более современными протоколами:

  • Медленная сходимость — из-за периодической рассылки полных таблиц (каждые 10 секунд) и использования таймеров удержания, время восстановления после изменения топологии может достигать нескольких минут.
  • Ограничение на размер сети — максимальное количество хопов (15) делает RTMP непригодным для крупных сетей.
  • Высокий трафик — широковещательная рассылка полных таблиц маршрутизации каждые 10 секунд создаёт значительную нагрузку на сеть, особенно в больших сегментах.
  • Отсутствие поддержки VLSM и CIDR — RTMP работает только с классовой адресацией AppleTalk, что ограничивает гибкость распределения адресного пространства.
  • Отсутствие аутентификации — протокол не имеет встроенных механизмов проверки подлинности сообщений, что делает его уязвимым для атак типа «отравление маршрута».

Применение

RTMP использовался преимущественно в локальных сетях AppleTalk, объединяющих компьютеры Macintosh, принтеры LaserWriter и другие устройства Apple. В таких сетях RTMP автоматически настраивал маршрутизацию между различными сетевыми сегментами, обеспечивая связность и доступ к общим ресурсам (файловым серверам, принтерам). С появлением операционной системы Mac OS X (2001 год) и отказом от поддержки AppleTalk, RTMP перестал применяться в новых сетях. В настоящее время протокол представляет лишь исторический интерес и используется только в устаревших или специализированных системах.

Источники

  • Apple Computer, Inc. «Inside AppleTalk, 2nd Edition». Addison-Wesley, 1989.
  • Sidhu, Gursharan; Andrews, Richard; Oppenheimer, Alan. «Inside AppleTalk». Addison-Wesley, 1990.
  • RFC 1240 — «OSI Connectionless Transport Services on top of UDP» (упоминание AppleTalk и RTMP).
  • Stallings, William. «Data and Computer Communications, 10th Edition». Pearson, 2013 (раздел о протоколах маршрутизации).
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru