Класс router: аспекты реализации - Адаптивная система управления потоком для транспортного протокола в сетях с коммутацией пакетов

Структура класса router является сложной. В его состав входят несколько экземпляров класса interface. При инициализации класса router ему передаются два параметра: количество интерфейсов и объем буферного пространства (максимальная длина очереди), одинаковый для всех интерфейсов. Объект маршрутизатора создает заданное количество экземпляров класса interface. Указатели на каждый интерфейс располагаются в специальном массиве, проиндексированном по порядку создания интерфейсов. После этого на конкретный интерфейс можно ссылаться как router. interface(Х), где Х - номер нужного интерфейса. Каждый интерфейс при инициализации получает указатель на создавший его объект класса router, по которому он может ссылаться на методы класса router для передачи сегментов в матрицу коммутации (обозначена в схемах как "поле коммутации").

После этого сопоставление адреса назначения сегмента со вторым полем таблицы маршрутизации дает номер выходного интерфейса для данного сегмента. При отсутствии совпадения с записями таблицы маршрутизации, сегмент передается для рассылки всем интерфейсам маршрутизатора, кроме того, с которого он был получен. Полученный от коммутирующей матрицы, сегмент помещается в выходную очередь интерфейса, если свободное пространство в ней QMax ? Q ? S , в противном случае сегмент отбрасывается. Очередь моделируется списком двойной связности, динамически выстраиваемом в памяти [63].

Очередь обслуживается со скоростью канала, к которому подключен интерфейс.

Метод обработки прерывания каждого из интерфейсов вызывается методом обработки прерывания объекта маршрутизатора. Также объекты маршрутизатора и интерфейса снабжены методами для выдачи отчета по текущим параметрам трафика: средняя скорость, счетчики пропущенных/отброшенных сегментов, таблица маршрутизации, средняя длина очереди. Таким образом, объект маршрутизатора моделирует современное межсетевое устройство с не блокирующей коммутационной матрицей и буферизацией на выходе [67]. Возможно также расширение класса маршрутизатора алгоритмами RED и WFQ или CBQ [65, 66].

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

Похожие статьи




Класс router: аспекты реализации - Адаптивная система управления потоком для транспортного протокола в сетях с коммутацией пакетов

Предыдущая | Следующая