Протокол резервирования пропускной способности сети Resource Reservation Protocol (RSVP) был разработан специально для того, чтобы обеспечивать гарантированное качество обслуживания потоков данных в Internet между конечными точками.

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

RSVP является протоколом сигнализации и управления, который не оперирует прикладными данными. Он действует на транспортном уровне поверх стека IP в эталонной архитектуре взаимодействия открытых систем OSI. Прикладные программы используют RSVP, чтобы запросить для отдельных потоков данных необходимые им параметры сетевого обслуживания, в частности гарантированную пропускную способность. Запрос качества обслуживания (QoS) пересылается маршрутизаторам, расположенным в узлах ретрансляционных участков по всему пути следования потока данных. И в каждом устройстве процесс RSVP стремится установить и сохранить статус резервирования, необходимый для обеспечения запрошенных параметров.

Сообщения со свежей сигнальной информацией периодически отправляются хост-узлами на маршрутизаторы, чтобы последние сохраняли нужный статус в течение всего времени передачи данных. Установленный статус снимается, когда оконечный узел присылает сообщение «отбой» по окончании принятия всех данных. Протокол RSVP учитывает также топологию маршрутизации и изменение состава группы получателей при многоадресной рассылке.

В то время как RSVP обеспечивает качество обслуживания QoS для различных приложений, он не меняет существующие протоколы маршрутизации, которые определяют, куда следует направлять те или иные пакеты. Для получения информации о маршрутах RSVP обращается к базе данных существующих маршрутов IP.

При обработке двунаправленных потоков данных протокол рассматривает каждый поток независимо и проводит резервирование пропускной способности в каждом направлении. За инициацию и сохранение статуса резервирования для потока несет ответственность хост-узел получателя. Подход, при котором внимание фокусируется на получателе, отвечает требованиям динамического членства в группе, предъявляемым приложениями с многоадресной IP-рассылкой. Он также удовлетворяет требованиям со стороны получателей, располагающих несколькими адресами.

Как работает этот протокол

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

  1. Программа RSVP, установленная на хост-узле A, получает запрос на желаемое качество QoS от мультимедийного приложения и посылает соответствующее сигнальное сообщение хост-узлу B.
  2. сообщение следует в точности тем маршрутом, по которому будет передаваться мультимедийный трафик. Оно формирует "состояние пути" (path state) через все узлы в направлении движения трафика. Сигнальное сообщение содержит IP-адрес отправителя, сведения о формате пакетов данных и характеристику трафика.
  3. По получении сообщения с узла отправителя хост-узел B формирует сообщение RSVP с запросом на резервирование. Каждый следующий узел, куда передается этот запрос, определяется из сформированной ранее записи состояния пути. При этом продвижение запроса на резервирование происходит в противоположном направлении по отношению к начальному сообщению. Запрос содержит информацию о затребованном качестве обслуживания QoS (в рассматриваемом примере - это необходимая пропускная способность). Кроме того, в нем записаны условия для фильтра, предназначенного для идентификации подмножества пакетов, которым следует предоставлять параметры обслуживания.
  4. Получив запрос на резервирование, программа RSVP в маршрутизаторе передает его двум локальным модулям для принятия решений. Модуль административного управления выясняет, имеются ли на данном узле доступные ресурсы в том количестве, которое необходимо для обеспечения затребованного качества. А модуль управления стратегией проверяет, обладает ли запрашивающий административными привилегиями для такого резервирования. Если в ходе какой-либо из этих проверок будет получен хотя бы один отрицательный результат, то приложению, сделавшему запрос, возвращается сообщение об ошибке. Если же обе проверки завершились успешно, программа RSVP настраивает классификатор пакетов в маршрутизаторе таким образом, чтобы он смог определять те пакеты данных, которым следует выделить указанные ресурсы пропускной способности. Программа RSVP также формирует конфигурацию планировщика пакетов, которая позволит обеспечить требуемое QoS в исходящем канале связи.
  5. После проведения локального резервирования маршрутизатор передает запрос на резервирование следующему узлу в направлении к отправителю. Процесс продолжается от узла к узлу, и каждый раз программа RSVP стремится установить и сохранить состояние резервирования для обеспечения нужного качества обслуживания. Наконец, запрос на резервирование достигает узла-отправителя, в котором также проводится локальное резервирование. С этого момента поток мультимедийного трафика, берущий начало на сервере отправителя, сможет получить от сети требуемую пропускную способность.
  6. После успешного завершения резервирования пропускной способности сквозного пути хост-узел А направляет мультимедийный трафик хост-узлу B.