Примеры сетевых топологий

         

Манипуляции, зависящие от вида услуг


Flowspecs, Tspecs и Adspecs являются объектами, совершенно недоступными для RSVP; их содержимое определено в документах спецификации услуг. Для того чтобы манипулировать этими объектами процесс RSVP должен иметь в своем распоряжении следующие программы, зависящие от типа услуг.

  • Сравнение спецификаций потоков

Compare_Flowspecs( Flowspec_1, Flowspec_2 ) ->
result_code

Возможный результат операции result_codes указывает: flowspecs равны, Flowspec_1 меньше, Flowspec_2 больше, flowspecs совместимы и можно вычислить LUB, или flowspecs не совместимы. Заметим, что, сравнивая две спецификации, мы косвенно сопоставляем Tspecs, которые они содержат. Хотя процесс RSVP не может сам осуществить разбор flowspec с целью извлечения Tspec, он может использовать вызов процедуры Compare_Flowspecs для косвенного вычисления Resv_Te.

  • Сравнение LUB Flowspecs

LUB_of_Flowspecs( Flowspec_1, Flowspec_2 ) ->
Flowspec_LUB

  • Вычисление GLB Flowspecs

GLB_of_Flowspecs( Flowspec_1, Flowspec_2 ) ->
Flowspec_GLB

  • Сравнение Tspecs

Compare_Tspecs( Tspec_1, Tspec_2 ) -> result_code

Возможным результатом процедуры result_codes может быть: Tspecs равны или Tspecs не равны.

  • Сумма Tspecs

Sum_Tspecs( Tspec_1, Tspec_2 ) -> Tspec_sum

Этот вызов используется для вычисления Path_Te.

40. Приложение A. Определения объектов

C-типы определены для двух семейств адресов Интернет IPv4 и IPv6. Для работы с другими адресными семействами можно легко определить новый C-тип. Все неиспользуемые поля должны заполняться нулями и игнорироваться при получении .

Класс сессии
Класс сессии = 1.

  • Объект IPv4/UDP SESSION: Класс = 1, C-тип = 1

Объект IPv6/UDP SESSION: Класс = 1, C-тип = 2

DestAddress



Уникастный или мультикастный IP-адрес места назначения сессии. Это поле не должно быть равно нулю.

Протокол Id

Идентификатор IP-протокола для потока данных. Это поле не должно быть равно нулю.

Флаги

0x01 = E_Police flag

Флаг E_Police используется в сообщениях Path для определения эффективного “края” сети, с целью организации управления трафиком.
Если ЭВМ отправитель сама не способна осуществлять управление трафиком, она установит этот бит в сообщениях Path, которые посылает. Первый узел, где RSVP имеется возможность управления трафиком (если это требуется), установит этот флаг равным нулю.

UDP/TCP порт места назначения сессии. Допустимо значение нуль, означающее отсутствие порта.

Класс RSVP_HOP

RSVP_HOP класс = 3.



Объект IPv4 RSVP_HOP: Класс = 3, C-Тип = 1



Объект IPv6 RSVP_HOP: Класс = 3, C-Тип = 2

Этот объект несет в себе IP-адрес интерфейса, через который последний RSVP-узел переслал это сообщение. Дескриптор логического интерфейса LIH (Logical Interface Handle) используется, для того чтобы различать логические выходные интерфейсы. Узел, получая LIH в сообщении Path, запоминает его величину и возвращает его в объектах HOP последующих сообщений Resv, посланных узлу, который сформировал LIH. LIH должен быть тождественно равен нулю, если не существует дескриптора логического интерфейса.

Класс INTEGRITY

INTEGRITY класс = 4.

Класс TIME_VALUES

TIME_VALUES класс = 5.
  • Объект TIME_VALUES: Класс = 5, C-Тип = 1


Период обновления

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

Класс ERROR_SPEC

ERROR_SPEC класс = 6.
  • Объект IPv4 ERROR_SPEC: Класс = 6, C-тип = 1

  • Объект IPv6 ERROR_SPEC: Класс = 6, C-тип = 2




Поле адрес узла, где произошла ошибка является IP-адресом (IPv4 или Ipv6).

Флаги

0x01 = InPlace

Это значение поля флаги используется только для объектов ERROR_SPEC в сообщении ResvErr. Если флаг = 1, это указывает, что в узле, где произошла ошибка, установлено резервирование.

0x02 = NotGuilty

Это значение поля флаги используется только для объекта ERROR_SPEC в сообщении ResvErr. Это значение устанавливается для интерфейса в прикладной программе получателя. Если флаг имеет такой код, спецификация FLOWSPEC, которая вызвала ошибку, больше запрошенной получателем.

Код ошибки.Одно-октетное поле кода описания ошибки.

Значение ошибки

Двухоктетное поле, содержащее дополнительную информацию об ошибке.


Его содержимое зависит от типа ошибки. Значения поля код ошибки и значение ошибки приведены в приложении B (см. ниже).

Класс SCOPE = 7.



Этот объект содержит список IP-адресов, использованных для сообщений маршрутизации с произвольным выбором отправителей (wildcard) без петель. Адреса должны быть перечислены в возрастающем порядке.
  • Объект IPv4 SCOPE: Класс = 7, C-тип = 1


Объект Ipv6 SCOPE: Класс = 7, C-тип = 2

Объект имеет ту же структуру, что и предыдущий, только для каждого адреса выделяется 16 байт.

Класс STYLE = 8.



  • Объект STYLE: Класс = 8, C-тип = 1


Поле Флаги: 8 бит. (Пока не определены)

Вектор опций: 24 бита

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

19 бит: Зарезервировано
2 бита: контроль совместного использования
00b: Зарезервировано
01b: Явное резервирование
10b: Распределенное резервирование
11b: Зарезервировано

3 бита: Управление выбором отправителя
000b: Зарезервировано
001b: Произвольный выбор (Wildcard)
010b: Прямой выбор (Explicit)
011b - 111b: Зарезервировано

Младшие биты вектора опций определяются стилем:
WF 10001b
FF 01010b
SE 10010b

Класс FLOWSPEC

Класс FLOWSPEC = 9.
  • Зарезервировано (устарело) объект flowspec: Класс = 9, C-Тип = 1
  • Объект Inv-serv Flowspec: Класс = 9, C-тип = 2


Содержимое и правила кодирования этого объекта описаны в документах, подготовленных рабочей группой int-serv [RFC 2210].

Класс FILTER_SPEC = 10.



  • Объект IPv4 FILTER_SPEC: Класс = 10, C-тип = 1


Объект IPv6 FILTER_SPEC: Класс = 10, C-тип = 2

Объект имеет ту же структуру, что и предыдущий, только для каждого адреса выделяется 16 байт.
  • Объект IPv6 Flow-label FILTER_SPEC: Класс = 10, C-тип = 3




SrcAddress. Это поле характеризует IP-адрес источника для ЭВМ отправителя.


Его значение не должно быть равно нулю.

SrcPort. UDP/TCP номер порта отправителя, или нуль, указывающий на отсутствие порта.

Метка потока. 24-битовое поле метки потока, определенной в IPv6. Этот код может использоваться классификатором пакетов для эффективной идентификации кадров, принадлежащих определенному потоку данных (отправитель-> место назначения).

Класс SENDER_TEMPLATE = 11.
  • Объект IPv4 SENDER_TEMPLATE: Класс = 11, C-тип = 1


Определение то же, что и для объекта IPv4/UDP FILTER_SPEC.
  • Объект IPv6 SENDER_TEMPLATE: Класс = 11, C-тип = 2


Определение то же, что и для объекта IPv6/UDP FILTER_SPEC.
  • Объект метки потока IPv6 SENDER_TEMPLATE: Класс = 11, C-тип = 3


Класс SENDER_TSPEC = 12.
  • Объект Intserv SENDER_TSPEC: Класс = 12, C-тип = 2


Содержимое и правила кодирования для этого объекта специфицированы в документах, подготовленных рабочей группой int-serv.

Класс ADSPEC = 13.
  • Объект Intserv ADSPEC: Класс = 13, C-тип = 2


Содержимое и формат этого объекта специфицированы в документах, подготовленных рабочей группой int-serv.

Класс POLICY_DATA = 14.
  • Объект POLICY_DATA: Класс = 14, C-тип = 1


Содержимое этого объекта будет определено в будущем.

Класс Resv_CONFIRM = 15.
  • Объект IPv4 RESV_CONFIRM: Класс = 15, C-тип = 1


Объект характеризует 4-байтовый IP-адрес получателя (Ipv4).

  • Объект IPv6 RESV_CONFIRM: Класс = 15, C-тип = 2


Объект характеризует 15-байтовый IP-адрес получателя (Ipv6).


Содержание раздела