Важнейшей задачей сетевого уровня является маршрутизация-передача пакетов между двумя конечными узлами в составной сети.
Принципы маршрутизации удобней рассмотреть на примере составной сети, представленной на рисунке.. В этой сети 6-маршрутизаторов, объединяющих 7 сетей 81, 82, …, 87. Маршрутизаторы имеют по несколько портов (как минимум 2), к которым присоединяются сети. Каждый порт маршрутизатора можно рассматривать как отдельный узел сетей: он имеет собственный сетевой адрес и локальный адрес в той подсети, которая к нему подключена. Маршрутизатор под номером 1 имеет три порта. Сетевые адреса этих портов обозначены как М1 (1), М1(2)и М1(3). Порт М1(1) имеет локальный адрес в сети с номером, порт М1(2) – в сети S2, а порт М(3) – в сети S3.
Задачу выбора маршрута из нескольких возможных решают маршрутизаторы, а также конечные узлы (узел А). Он выбирается на основании имеющихся у этих устройств информации о текущей конфигурации сети, а также на основании указанного критерия выбора маршрута. Обычно в качестве критерия выступает задержка прохождения маршрута отдельным пакетом или средняя пропускная способность для последовательности пакетов. Часто используется критерий, учитывающий количество пройденных в маршруте промежуточных маршрутизаторов (хопов).
Чтобы по адресу сети назначения можно было выбрать рациональный маршрут, каждый конечный узел и маршрутизатор анализируют таблицу маршрутизации.
В первом столбце таблицы перечисляются номера сетей, выходящих в интерсеть. Далее указывается сетевой адрес следующего маршрутизатора, на который надо направить пакет, чтобы тот продвигался по направлению сети с данным номером.
Строка с совпавшим номером сети указывает, на какой ближайший маршрутизатор следует направить пакет.
