Многоадресатные транспортные службы SMRP

Протокол SMRP предназначен для того, чтобы маршрутизаторы и конечные станции могли передавать многоадресатные пакеты по стандартным сетевым протоколам. SMRP управляет назначением групповых адресов и позволяет отправлять данные из одного источника по уникальному групповому адресу. Получатели могут присоединяться к этой группе, если они заинтересованы в получении предназначенных для нее данных. Для поддержки этих функций SMRP использует ряд служб. Ниже будут рассмотрены ключевые процессы и технологии, лежащие в основе служб SMRP, такие как протокол многоадресатный протокол передачи (Multicast Transaction Protocol — МТР), управление узлами, управление многоадресатной маршрутизацией, передача данных и управление топологией.

Управление групповыми SMRP-адресами

SMRP-адресация основана на локальной сети исходных конечных точек. SMRP-адрес состоит из двух частей: трехбайтного номера сети и однобайтового номера еокета. Каждая локальная сеть представлена диапазоном уникальных сетевых номеров.

Сетевые номера, назначаемые локальным сетям, должны быть уникальными во всей объединенной сети. Каждой локальной сети может быть присвоен любой непрерывный диапазон трехбайтовых номеров. Количество адресных групп, доступных в локальной сети, равно количеству ее сетевых номеров, умноженному на 254. Сетевые номера могут быть сконфигурированы или преобразованы из сетевого номера базовых протоколов сетевого уровня. Диапазоны уникальных сетевых номеров могут быть зарезервированы для поддерживаемых сетевых протоколов.

При преобразовании групповых адресов SMRP-адреса трансформируются в адреса сетевого уровня, а последние, в свою очередь, в адреса канального уровня. Каждому типу сетевого уровня должен соответствовать блок групповых адресов SMRP. В лучшем случае эти адреса преобразуются однозначно. Обычно взаимно-однозначное преобразование невозможно, и в результате трансформирования разных групповых SMRP-адресов получается один и тот же групповой адрес сетевого уровня.

Принцип преобразования групповых адресов в адреса сетевого уровня зависит от сетевого уровня. Если групповые SMRP-адреса транспортного уровня не преобразуются однозначно в групповые адреса сетевого уровня, то необходима фильтрация групповых SMRP-адресов. Если групповые адреса сетевого уровня не трансформируются однозначно в групповые адреса канального уровня, то необходима фильтрация незарегистрированных групповых адресов на сетевом уровне.

Групповые адреса сетевого уровня предварительно заданы для адресов AllEndpoints, AllNodes и AllEntities. Сообщения AllEndpoints, отправленные по этому групповому адресу, ретранслируются во все конечные точки сети; AllNodes — во все маршрутные SMRP-узлы, a AllEntities — во все конечные точки и во все маршрутные SMRP-узлы.

Протокол многоадресатной передачи SMRP

SMRP использует протокол многоадресатной передачи (Multicast Transaction Protocol — МТР), который обеспечивает три типа передачи данных: узел, конечная точка и одновременная передача в узел и конечную точку. Обмен данными между смежными узлами и между узлами и конечными точками происходит путем обмена данными типа "запрос-ответ".

Ответы всегда являются одноадресатными. В случае ошибок МТР предусматривает повторную передачу запросов или ответов. В виде многоадресатных сообщения посылаются только пакеты приветствия и запросы назначенных узлов. Остальные сообщения являются одноадресатными. Запросы из конечной точки в узел отправляются как многоадресатные, а запросы из узла в конечную точку могут быть как одно-, так и многоадресатными.

Простейшая структура МТР реализована в маршрутизаторах SMRP в виде двух очередей, через которые передаются все данные — очереди запросов и очереди ответов. Элементы очереди запросов удаляются после того, как маршрутизатор обработает полученный ответ. Ответ является обработанным, если он удовлетворяет запросу. Последнее определяется при помощи обратного вызова, определенного в элементе очереди.

После обработки ответа запрос отбрасывается. Если запрос остался без ответа, то в ответ на запрос посылается генерируемый маршрутизатором отказ с указанием ошибки MCNoResponse. Запросы могут отправляться по одиночному адресу или по групповым адресам AllNodes или AllEndpoints, в зависимости от контекста. При отсутствии явного перенаправления запросы направляются по групповому адресу AllNodes.

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

Управление SMRP-узлами

При передаче многоадресатных дейтаграмм SMRP опирается на взаимосвязи между узлами, включая назначенные, смежные и туннельные узлы.

Назначенные узлы представляет собой SMRP-маршрутизаторы, назначенные первичными или вторичными узлами. Назначенный первичный узел распределяет групповые адреса. В любой локальной сети с SMRP-узлами обязательно должен быть первичный узел. Назначенный вторичный узел необходим при наличии в локальной сети нескольких узлов. Вторичный узел необходим для хранения копии таблицы создания групп и выполняет функции первичного узла в случае его сбоя.

Основной процесс определения первичного и вторичного узлов начинается при запуске. Сначала новый узел пытается стать назначенным вторичным узлом в каждой локальной сети по очереди. Если это удается, то он пытается стать назначенным первичным узлом. Передача данных начинается по запросу первичного или вторичного узла. Отсутствие ответа на запрос говорит об успешном, а положительный ответ — о неудачном согласовании. Если сразу два узла пытаются стать назначенным первичным или вторичным узлом, то назначенным узлом становится тот из них, чей одиночный адрес принадлежит к более низкому сетевому уровню. Затем первичный узел посылает вторичному узлу локальной сети пакеты присоединения к группе и удаления из группы, чтобы сохранить идентичность таблицы создания групп.

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

Туннельные узлы представляет собой соединения "точка-точка" между узлами несмежных сетей через маршрутизаторы, не поддерживающие SMRP. Существует два вида туннельных узлов: туннели между узлами и туннели между узлом и конечной точкой.

В отношении использования пакетов приветствия и уведомлений туннельные узлы подобно другим смежным узлам рассматриваются как записи таблицы смежных узлов в каждом узле. Аналогичным образом SMRP позволяет включать туннельные узлы в состав групп и исключать их оттуда так же, как и другие смежные узлы.

Примечание

Cisco не поддерживает туннельные узлы. Однако протокол SMRP допускает туннелирование на сетевом уровне между несмежными узлами.

Многоадресатные маршруты протокола SMRP

При определении маршрутов многоадресатных данных протокол SMRP использует схему передачи по связующему дереву. Этот процесс основан на алгоритме маршрутизации по вектору расстояния. При запуске и изменении маршрута узел рассылает смежным узлам запросы векторов расстояния. Расстояние, заданное в векторе, представляет собой количество транзитных участков на пути к определенному диапазону сетевых адресов. Узлы содержат векторы всех записей таблицы маршрутизации и рассылают столько пакетов, сколько необходимо для рассылки всех векторов. При изменении маршрутов каждый узел рассылает запросы вектора расстояния всем смежным узлам.

Когда на порт поступает маршрут, всем портам должен быть присвоен адрес родительского порта для этого маршрута. Поскольку групповой адрес привязан к адресу сети, адрес родительского порта используется также при обработке узлом многоадре- сатного запроса. Если адрес родительского порта совпадает с собственным адресом узла, то обработку запроса выполняет этот узел. Из двух узлов с равными маршрутами за запрос отвечает узел со старшим сетевым адресом.

Когда узел получает запрос вектора расстояния с записями неизвестных локальных сетей, в таблицу маршрутизации узла добавляются сетевые диапазоны связанных локальных сетей, где полученное расстояние увеличивается на 1. Затем смежный узел, пославший пакет вектора расстояния, становится родительским узлом локальной сети. Запись в таблице обновляется, если получен пакет вектора расстояния для известных локальных сетей или если значение вектора расстояния, увеличенное на 1, меньше, чем значение записи в таблице маршрутизации узла. Если пакет вектора расстояния получен от смежного узла, находящегося на таком же расстоянии до локальной сети, то включается прерыватель связи. Прерыватель связи представляет собой смежный узел с более старшим одиночным адресом сетевого уровня. Такой узел идентифицируется как родительский узел для локальной сети

Управление многоадресатными группами SMRP

Членство в многоадресатных группах SMRP определяется процессом, при котором происходит согласование между конечными точками и узлами сети. Конечная точка пытается присоединиться к многоадресатной группе, обращаясь к узлу локальной сети. Узел, к которому она обращается, отвечает за присоединение к связному дереву группы, активизируя маршруты к существующему связному дереву. Узлы перемещаются из связного дерева в группы путем деактивации маршрутов, если в группе на этом маршруте не осталось ни одной конечной точки. Управление группами SMRP сводится к четырем основным процессам: созданию, присоединению, исключению и удалению.

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

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

Для того чтобы покинуть многоадресатную группу, конечные точки посылают по локальному каналу пакеты запросов на исключение из группы. Родительский узел, расположенный на локальном канале, возвращает конечной точке пакет подтверждения исключения из группы и отсылает дочернему порту пакет запросов на членство в группе. Если на дочерний порт родительского узла не поступит пакет подтверждения членства в группе от узла или конечной точки, то родительский узел удаляет этот порт из записи таблицы. Если в записи родительского узла не осталось дочерних портов, то он присваивает записи состояние исключения и посылает по связному дереву к своему родительскому узлу пакет запроса на исключение из группы. Каждый соответствующий родительский узел, получив пакет подтверждения исключения из группы, удаляет запись из многоадресатной таблицы передачи.

Если конечная точка желает прекратить передачу данных группе, то она посылает запрос на удаление этой группы. На такой запрос отвечает только назначенный первичный узел.

Передача многоадресатных дейтаграмм

Передача данных SMRP заключается в пересылке узлами многоадресатных дейтаграмм по активным маршрутам дерева источников данной группы. Подмножество активных маршрутов дерева источников называется деревом распространения группы. Передача данных SMRP требует серии согласований между конечными точками и узлами. Обычно узлы получают многоадресатные дейтаграммы, когда конечные точки посылают данные группе. Исходная конечная точка, получив от исходного узла запрос на присоединение, может отправить пакеты данных своей локальной сети по групповому адресу сетевого уровня. Родительские узлы локальной сети получают этот многоадресатный пакет и передают его всем дочерним портам в многоадресатной таблице передачи. Узел выполняет многоадресатную рассылку пакета по локальной сети только в том случае, если он является родительским узлом группы в этой локальной сети и если данные поступили на родительский порт данной группы. Узлы также передают данные смежным туннельным узлам, которые принадлежат этой группе. При передаче по SNMP-туннелю многоадресатные дейтаграммы инкапсулируются в одноадресат- ный пакет сетевого уровня.

Обработка изменений SNMP-топологии

Протокол SNMP поддерживает карты топологии для управления маршрутами и изменениями состава групп. В среде SNMP предусматриваются некоторые типичные топологические изменения и имеет специальные технологии для их обработки.

Исчезновение конечной точки-члена группы

Для обнаружения исчезновения конечных точек—членов группы узлы периодически посылают запросы членства в группе всем активным дочерним узлам. Если родительский узел не получает подтверждения членства в группе, то он посылает своему родительскому узлу запрос на исключение из группы, после чего удаляет соответствующую запись группы.

Группы с циклами

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

Литература:

Руководство по технологиям объединенных сетей, 4-е издание. : Пер. с англ. — М.: Издательский дом «Вильяме», 2005. — 1040 с.: ил. – Парал. тит. англ.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100