Введение

Протокол маршрутизации для беспроводных сетей сетевого типа Dynamic Source Routing (DSR) — это протокол маршрутизации для беспроводных сетей сетевого типа. Он схож с AODV тем, что формирует маршрут по запросу, когда передающий узел нуждается в маршруте. Однако он использует маршрутизацию на основе исходного адреса вместо того, чтобы полагаться на таблицу маршрутизации каждого промежуточного устройства.

Предыстория

Для определения исходного маршрута требуется накопление адреса каждого устройства между источником и пунктом назначения в процессе обнаружения маршрута. Накопленная информация о маршруте кэшируется узлами, обрабатывающими пакеты обнаружения маршрута. Изученные маршруты используются для маршрутизации пакетов. Для реализации исходной маршрутизации, маршрутизируемые пакеты содержат адрес каждого устройства, через которое пакет будет проходить. Это может привести к значительным накладным расходам для длинных маршрутов или больших адресов, таких как IPv6. Чтобы избежать использования исходной маршрутизации, DSR опционально определяет опцию идентификатора потока, позволяющую пересылать пакеты по принципу «скачок за скачком». Этот протокол полностью основан на исходной маршрутизации, при которой вся информация о маршрутизации поддерживается (постоянно обновляется) на мобильных узлах. Он состоит из двух основных фаз: обнаружение маршрута и поддержание маршрута. Ответ маршрута генерируется только в том случае, если сообщение достигло целевого узла назначения (запись маршрута, первоначально содержащаяся в запросе маршрута, включается в ответ маршрута). Для возврата ответа маршрута у узла назначения должен быть маршрут к узлу-источнику. Если маршрут присутствует в кэше маршрутов узла назначения, он будет использован. В противном случае узел инвертирует маршрут на основе записи маршрута в заголовке сообщения «Запрос маршрута» (это требует симметричности всех каналов связи). В случае критической ошибки передачи инициируется фаза поддержания маршрута, в результате чего в узле генерируются пакеты ошибок маршрута. Неисправный скачок удаляется из кэша маршрутов узла; все маршруты, содержащие этот скачок, обрезаются в этой точке. Затем снова инициируется фаза обнаружения маршрута для определения наиболее подходящего маршрута. Информацию о других подобных протоколах можно найти в списке протоколов маршрутизации для ad hoc сетей.

Ограничение полосы пропускания

Протокол динамической маршрутизации источника (DSR) – это протокол, работающий по запросу, разработанный для ограничения пропускной способности, потребляемой управляющими пакетами в беспроводных ad hoc сетях, за счет исключения периодических сообщений об обновлении таблицы маршрутизации, необходимых при использовании подхода, основанного на таблицах. Основное отличие этого протокола от других протоколов маршрутизации по запросу заключается в том, что он не использует маячки (beaconless) и, следовательно, не требует периодической передачи пакетов "привет" (hello packets), которые узлы используют для уведомления своих соседей о своем присутствии. Базовый принцип работы этого протокола (и всех других протоколов маршрутизации по запросу) на этапе построения маршрута заключается в установлении маршрута путем рассылки (flooding) пакетов запроса маршрута (Route Request) по сети. Узел назначения, получив пакет запроса маршрута, отвечает отправкой пакета ответа маршрута (Route Reply) обратно источнику, который содержит маршрут, пройденный полученным пакетом запроса маршрута. Рассмотрим исходный узел, у которого нет маршрута к узлу назначения. Когда у него появляются пакеты данных для отправки в пункт назначения, он инициирует пакет запроса маршрута (RouteRequest). Этот запрос маршрута рассылается по всей сети. Каждый узел, получив пакет запроса маршрута, пересылает его своим соседям, если он еще не пересылал его, при условии, что узел не является узлом назначения и что счетчик времени жизни (TTL) пакета не был превышен. Каждый запрос маршрута содержит порядковый номер, сгенерированный исходным узлом, и путь, который он прошел. Узел, получив пакет запроса маршрута, проверяет порядковый номер в пакете перед его пересылкой. Пакет пересылается только в том случае, если это не дублирующий запрос маршрута. Порядковый номер в пакете используется для предотвращения образования петель и избежания многократной передачи одного и того же запроса маршрута промежуточным узлом, который получает его по нескольким путям. Таким образом, все узлы, кроме узла назначения, пересылают пакет запроса маршрута во время фазы построения маршрута. Узел назначения, после получения первого пакета запроса маршрута, отвечает исходному узлу по обратному пути, пройденному пакетом запроса маршрута. Узлы также могут узнавать о соседних маршрутах, по которым передаются пакеты данных, если они работают в режиме прослушивания (promiscuous mode) – режиме работы, в котором узел может принимать пакеты, которые не предназначены для широковещательной рассылки и не адресованы ему. Этот кэш маршрутов также используется на этапе построения маршрута.

Преимущества

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

Недостатки

Недостатком этого протокола является то, что механизм поддержания маршрута не восстанавливает разорванную связь локально. Устаревшая информация в кэше маршрутов также может приводить к несогласованности на этапе восстановления маршрута. Задержка установления соединения выше, чем в протоколах с таблицами маршрутизации. Хотя протокол хорошо работает в статических средах и средах с низкой подвижностью, его производительность быстро ухудшается при увеличении подвижности. Кроме того, механизм маршрутизации с исходным адресом, используемый в DSR, влечет за собой значительные накладные расходы на маршрутизацию. Эти накладные расходы на маршрутизацию напрямую пропорциональны длине пути.