Сетевой протокол, в свою очередь, извлекает из пакета заголовок сетевого уровня и анализирует содержимое его полей. Прежде всего проверяется контрольная сумма, и если пакет пришёл повреждённым, то он отбрасывается. Выполняется проверка, не превысило ли время, которое провёл пакет в сети (время жизни пакета), допустимой величины. Если превысило – то пакет также отбрасывается. На этом этапе вносятся корректировки в содержимое полей, например, наращивается время жизни пакета, пересчитывается контрольная сумма.
На сетевом уровне также выполняется одна из важнейших функций маршрутизатора – фильтрация трафика. При использовании технологии ATM количество виртуальных каналов и виртуальных трактов огромно, что позволяет передачу сообщений сигнализации, пользователя и сообщений обмена информацией между маршрутизаторами производить по отдельно выделенным виртуальным каналам. Следовательно, в функции маршрутизатора входит просеивание входного потока ячеек (то есть выделение ячеек пользователя, сигнализации и управления).
К уровню сетевого протокола относится и другая функция маршрутизатора – определение маршрута пакета. Так как рассматривается сеть с технологией ATM, то прежде чем пакет будет передан через сеть устанавливается виртуальное соединение, смысл которого состоит в том, что маршрутизация пакетов между узлами сети на основании таблиц маршрутизации происходит только один раз – при создании виртуального соединения. В этом случае, протокол сетевого уровня по номеру сети, извлечённому из заголовка пакета, находит в таблице маршрутизации строку, содержащую сетевой адрес следующего маршрутизатора, и номер порта, на который нужно передать данный пакет, чтобы он двигался в правильном направлении. После создания виртуального соединения передача пакетов происходит на основании идентификаторов виртуальных путей и каналов, присвоенных каждому соединению на этапе создания. Кроме того, при создании виртуального соединения каждый маршрутизатор автоматически настраивает так называемые таблицы коммутации портов – эти таблицы описывают, на какой порт нужно передать пришедший пакет, если он имеет определённые значения идентификаторов. Таким образом, после прокладки виртуального соединения через сеть маршрутизаторы больше не используют для пакетов этого соединения таблицу маршрутизации, а продвигают пакет на основании таблицы коммутации, создание которой выполняют протоколы сетевого уровня. Сетевые протоколы активно используют в своей работе таблицу маршрутизации, но ни её построением, ни поддержанием её содержимого не занимаются. Эти функции выполняют протоколы маршрутизации. На основании этих протоколов маршрутизаторы обмениваются информацией о топологии сети, а затем анализируют полученные сведения.
3.2 Классификация методов маршрутизации
Спектр применяемых в настоящее время методов маршрутизации весьма широк. Степень сложности применяемых методов маршрутизации определяется размерами сети, характером входного потока, требованиям к вероятностно-временным характеристикам, передаваемой информации и функционирования сети. В сложных сетях почти всегда существуют несколько альтернативных маршрутов для передачи пакетов между двумя конечными узлами. Задачу выбора маршрута из нескольких возможных решают маршрутизаторы. Маршрут выбирается на основании имеющейся у маршрутизаторов информации о текущей конфигурации сети, а также на основании указанного критерия выбора маршрута(рисунок 3.2).
По способу формирования плана распределения информации алгоритмы маршрутизации можно разделить на две большие группы: статические (неадаптивные) и динамические (адаптивные)[5].
В случае использования статических алгоритмов, выбор маршрутов осуществляется заранее и прописывается вручную в таблицу маршрутизации, где хранится информация о том, на какой интерфейс отправить пакет с соответствующей адресной информацией. Статических таблиц маршрутизации не меняются, если только администратор сети не изменит его. Алгоритмы, использующие статические маршруты, просты для разработки и хорошо работают в окружении, где трафик сети относительно предсказуем, а схема сети относительно проста. Так как статические системы маршрутизации не могут реагировать на изменения в сети, они, как правило, считаются непригодными для современных крупных, постоянно изменяющихся сетей. К статическим алгоритмам можно отнести логический метод формирования ПРИ, который будет подробнее рассмотрен позднее.
Динамические алгоритмы отличаются по способу получения информации (например, от соседних маршрутизаторов, от всех маршрутизаторов в сети), моменту изменения маршрутов (через регулярные интервалы, при изменении топологии) и используемой метрике (расстояние, число транзитных узлов). То есть таблица маршрутизации меняется автоматически при изменении топологии сети или трафика в ней.
Динамические алгоритмы маршрутизации подстраиваются к изменяющимся обстоятельствам сети в масштабе реального времени. Они выполняют это путем анализа поступающих сообщений об обновлении маршрутизации. Если в сообщении указывается, что имело место изменение сети, маршрутизатор пересчитывает маршруты и рассылает новые сообщения о корректировке маршрутизации. Такие сообщения пронизывают сеть, стимулируя маршрутизатор заново прогонять свои алгоритмы и соответствующим образом изменять таблицы маршрутизации. Динамические алгоритмы маршрутизации могут дополнять статические маршруты там, где это уместно[8].
Среди динамических методов можно выделить два основных:
- метод рельефов;
- игровой метод.
При использовании метода рельефов сеть рассматривается как граф, вершины которого соответствуют центрам коммутации, а ребра - магистралям сети между двумя центрами комутации (ЦК). Характеристики магистралей (длина, пропускная способность, надежность) и центров (производительность, надежность) при этом являются весами графа и могут быть использованы для выбора критерия оптимального пути передачи информации.
Одним из основных показателей оптимальности пути передачи, на базе которого строятся современные устройства управления, являются число ЦК на выбранном направлении. Оптимальным считается путь с наименьшим числом ЦК (или ребер).
Поиск кратчайшего пути по рельефу из любого центра состоит в отыскании в каждом промежуточном ЦК ветви с наименьшим номером.
В период между коррекциями рельефа в сети может существовать неправильный рельеф. Поэтому те сообщения, которые в это время будут передаваться, могут проходить не по кратчайшим путям. Выбирая необходимую частоту обновления рельефа, можно добиться в среднем достаточно высокой степени оптимизации плана распределения информации[6]. То есть каждый маршрутизатор изучает топологию сети путем обмена специальными пакетами (информацией о маршрутах) с ближайшими соседними маршрутизаторами. Фактически, каждый маршрутизатор узнает о топологии сети из представлений соседних маршрутизаторов.
Используя эту информацию, маршрутизатор строит новое описание топологии сети и передает ее соседям. При необходимости данный процесс повторяется многократно, в итоге формируется окончательная картина сети: все маршрутизаторы имеют одинаковые описания сетевой топологии. Таблица содержит информацию обо всех маршрутизаторах в сети. Этот алгоритм прост и, на первый взгляд, надежен. Одним из основных недостатков этого алгоритма является медленное распространение информации о недоступности той или иной линии или выходе того или иного маршрутизатора из строя.
Использование игрового метода предусматривает формирование ПРИ по вероятности установления соединения между заданной парой узлов. В случае успешного соединения по первому выбору исходящего тракта передачи сообщений величина вероятности выбора увеличивается, а весь вектор вероятностей – нормируется. Если же соединение по пути первого выбора не установлено, то предпочтительность выбора данного исходящего тракта передачи сообщений уменьшается, а вектор вероятности заново нормируется.
Метод рельефов относительно прост для разработки и реализации. А алгоритм с использованием игрового метода более сложен и может требовать большей вычислительной мощности маршрутизатора. Однако этот алгоритм лучше масштабируется и может поддерживать большее количество сетей.[5]
Отличаясь более быстрой сходимостью, игровой метод несколько меньше склонен к образованию петель маршрутизации, чем метод рельефов. С другой стороны, игровой метод характеризуются более сложными расчетами в сравнении с методом рельефов, требуя большей процессорной мощности и памяти. Вследствие этого, реализация и поддержка игрового метода может быть более дорогостоящей. Несмотря на их различия, оба типа алгоритмов хорошо функционируют при самых различных обстоятельствах.
Ниже рассмотрим различные способы выбора исходящих трактов передачи сообщений (ТПС).
Последовательный выбор исходящих ТПС состоит в том, что, в каждом узле коммутации (УК) начиная от узла источника (УИ), осуществляется выбор только одного исходящего ТПС в результате на сети будет формироваться только один маршрут, состоящий из последовательного наращивания коммутационных участков из УИ к узлу получателя (УП). В зависимости от характера распространения на сети процесса поиска маршрута выделяют три основных класса выбора исходящих ТПС:
· градиентный;
· диффузный;
· градиентно – диффузный.
Градиентный метод состоит в том, что в каждом транзитном узле в процессе выбора исходящего ТПС участвуют не все исходящие тракты, а лишь наиболее предпочтительные. Если в одном из УК исходящие ТПС, участвующие в выборе не доступны раздельно, то данной заявки на формирование маршрута даётся отказ. В результате градиентного выбора маршрут будет формироваться вдоль геометрического направления.