Принципы маршрутизации
Важнейшей задачей сетевого уровня является маршрутизация — передача пакетов между двумя конечными узлами в составной сети.
Рассмотрим принципы маршрутизации на примере составной сети, изображенной на рис. В этой сети 20 маршрутизаторов объединяют 18 сетей в общую сеть; Sl, S2. ... , S20 - это номера сетей. Маршрутизаторы имеют по нескольку портов (по крайней мере, по два), к которым присоединяются сети. Каждый порт маршрутизатора можно рассматривать как отдельный узел сети: он имеет собственный сетевой адрес и собственный локальный адрес в той подсети, которая к нему подключена. Например, маршрутизатор под номером 1 имеет три порта, к которым подключены сети Sl, S2, S3. На рисунке сетевые адреса этих портов обозначены как М1(1), М1(2) и М1(3). Порт М1(1) имеет локальный адрес в сети с номером S1, порт М1(2) - в сети S2, а порт М1(3) - в сети S3. Таким образом, маршрутизатор можно рассматривать как совокупность нескольких узлов, каждый из которых входит в свою сеть. Как единое устройство маршрутизатор не имеет ни отдельного сетевого адреса, ни какого-либо локального адреса.
В сложных составных сетях почти всегда существует несколько альтернативных маршрутов для передачи пакетов между двумя конечными узлами. Маршрут — это последовательность маршрутизаторов, которые должен пройти пакет от отправителя до пункта назначения. Так, пакет, отправленный из узла А в узел В, может пройти через маршрутизаторы 17,12,5,4 и 1 или маршрутизаторы 17,13,7, 6 и З. Нетрудно найти еще несколько маршрутов между узлами А и В.
Чтобы по адресу сети назначения можно было бы выбрать рациональный маршрут дальнейшего следования пакета, каждый конечный узел и маршрутизатор анализируют специальную информационную структуру, которая называется таблицей маршрутизации. Например, для маршрутизатора М4 она может иметь следующий вид.
Номер сети назначения | Сетевой адрес следующего маршрутизатора | Сетевой адрес выходного порта | Расстояние до сети назначения | |
S1 S2 S3 S4 S5 S6 Default | М1(2) - М1(2) М2(1) - М2(1) М5(1) | М4(1) М4(1) М4(1) М4(1) М4(2) М4(1) М4(2) | - | (подсоединена) (подсоединена) |
В первом столбце таблицы перечисляются номера сетей, входящих в интерсеть. В каждой строке таблицы следом за номером сети указывается сетевой адрес следующего маршрутизатора (более точно, сетевой адрес соответствующего порта следующего маршрутизатора), на который надо направить пакет, чтобы тот передвигался по направлению к сети с данным номером по рациональному маршруту.
Когда на маршрутизатор поступает новый пакет, номер сети назначения, извлеченный из поступившего кадра, последовательно сравнивается с номерами сетей из каждой строки таблицы. Строка с совпавшим номером сети указывает, на какой ближайший маршрутизатор следует направить пакет. Например, если на какой-либо порт маршрутизатора 4 поступает пакет, адресованный в сеть S6, то из таблицы маршрутизации следует, что адрес следующего маршрутизатора — М2(1), то есть очередным этапом движения данного пакета будет движение к порту 1 маршрутизатора 2.
Задачу маршрутизации решают не только промежуточные узлы - маршрутизаторы, но и конечные узлы — компьютеры. Средства сетевого уровня, установленные на конечном узле, при обработке пакета должны, прежде всего, определить, направляется ли он в другую сеть или адресован какому-нибудь узлу данной сети. Если номер сети назначения совпадает с номером данной сети, то для данного пакета не требуется решать задачу маршрутизации. Если же номера сетей отправления и назначения не совпадают, то маршрутизация нужна. Таблицы маршрутизации конечных узлов полностью аналогичны таблицам маршрутизации, хранящимся на маршрутизаторах.