logo
04-09-2015_19-17-13 (1) / Конспект лекций lll

Принципы маршрутизации

Важнейшей задачей сетевого уровня является маршрутизация — передача пакетов между двумя конечными узлами в составной сети.

Рассмотрим принципы маршрутизации на примере составной сети, изображен­ной на рис. 5.2. В этой сети 20 маршрутизаторов объединяют 18 сетей в общую сеть; SI, S2, ... , S20 — это номера сетей. Маршрутизаторы имеют по нескольку портов (по крайней мере, по два), к которым присоединяются сети. Каждый порт маршрутизатора можно рассматривать как отдельный узел сети: он имеет собствен­ный сетевой адрес и собственный локальный адрес в той подсети, которая к нему подключена. Например, маршрутизатор под номером 1 имеет три порта, к кото­рым подключены сети SI, S2, S3. На рисунке сетевые адреса этих портов обозначе-нь1 как М1(1), Ml (2) и М1(3). Порт М1(1) имеет локальный адрес в сети с номером S1, порт Ml (2) — в сети S2, а порт М 1(3) — в сети S3. Таким образом, маршрутизатор можно рассматривать как совокупность нескольких узлов, каждый из которых входит в свою сеть. Как единое устройство маршрутизатор не имеет ни отдельного сетевого адреса, ни какого-либо локального адреса.

ПРИМЕЧАНИЕ Если маршрутизатор имеет блок управления (например, SNMP-управления), то этот блок имеет собствен­ные локальный и сетевой адреса, по которым к нему обращается центральная станция управления, находящаяся где-то в составной сети.

В сложных составных сетях почти всегда существует несколько альтернатив­ных маршрутов для передачи пакетов между двумя конечными узлами. Маршрут — это последовательность маршрутизаторов, которые должен пройти пакет от отправителя до пункта назначения. Так, пакет, отправленный из узла А в узел В, может пройти через маршрутизаторы 17,12, 5,4 и 1 или маршрутизаторы 17,13,7, 6 и З. Нетрудно найти еще несколько маршрутов между узлами А и В.

Задачу выбора маршрута из нескольких возможных решают маршрутизаторы, а также конечные узлы. Маршрут выбирается на основании имеющейся у этих устройств информации о текущей конфигурации сети, а также на основании ука­занного критерия выбора маршрута. Обычно в качестве критерия выступает задерж­ка прохождения маршрута отдельным пакетом или средняя пропускная способность маршрута для последовательности пакетов. Часто также используется весьма про­стои критерий, учитывающий только количество пройденных в маршруте проме­жуточных маршрутизаторов (хопов).

Чтобы по адресу сети назначения можно было бы выбрать рациональный мар­шрут дальнейшего следования пакета, каждый конечный узел и маршрутизатор анализируют специальную информационную структуру, которая называется таб­лицей маршрутизации. Используя условные обозначения для сетевых адресов мар­шрутизаторов и номеров сетей в том виде, как они приведены на рис. 5.2, посмотрим, как могла бы выглядеть таблица маршрутизации, например, в маршрутизаторе 4 (табл. 5.1).

Таблица 5.1. Таблица маршрутизации маршрутизатора 4

Номер сети назначения

Сетевой адрес следующего маршрутизатора

Сетевой адрес выходного порта

Расстояние до сети назначения

S1

М1(2)

М4(1)

1

S2

М4(1)

0 (подсоединена)

S3

М1(2)

М4(1)

1

S4

М2(1)

М4(1)

1

S5

М4(2)

0 (подсоединена)

S6

М2(1)

М4(1)

2

Default

М5(1)

М4(2)

ПРИМЕЧАНИЕ Таблица 5.1 значительно упрощена по сравнению с реальными таблицами, например, отсутствуют столбцы с масками, признаками состояния маршрута, временем, в течение которого действительны записи данной таблицы (их применение будет рассмотрено позже). Кроме того, как уже было сказано, здесь указаны адреса сетей условного формата, не соответствующие какому-либо определенному сетевому протоколу. Тем не менее, эта таблица содержит основные поля, имеющиеся в реальных таблицах при использовании конкретных сетевых протоколов, таких как IP, IPX или Х.25.

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

Когда на маршрутизатор поступает новый пакет, номер сети назначения, извле­ченный из поступившего кадра, последовательно сравнивается с номерами сетей из каждой строки таблицы. Строка с совпавшим номером сети указывает, на какой ближайший маршрутизатор следует направить пакет. Например, если на какой-либо порт маршрутизатора 4 поступает пакет, адресованный в сеть S6, то из табли­цы маршрутизации следует, что адрес следующего маршрутизатора — М2(1), то есть очередным этапом движения данного пакета будет движение к порту 1 марш­рутизатора 2.

Поскольку пакет может быть адресован в любую сеть составной сети, может показаться, что каждая таблица маршрутизации должна иметь записи обо всех сетях, входящих в составную сеть. Но при таком подходе в случае крупной сети объем таблиц маршрутизации может оказаться очень большим, что повлияет на время ее просмотра, потребует много места для хранения и т. п. Поэтому на прак­тике число записей в таблице маршрутизации стараются уменьшить за счет использования специальной записи — «маршрутизатор по умолчанию» (default). Дей­ствительно, если принять во внимание топологию составной сети, то в таблицах маршрутизаторов, находящихся на периферии составной сети, достаточно запи­сать номера сетей, непосредственно подсоединенных к данному маршрутизатору или расположенных поблизости, на тупиковых маршрутах. Обо всех же остальных сетях можно сделать в таблице единственную запись, указывающую на маршрути­затор, через который пролегает путь ко всем этим сетям. Такой маршрутизатор называется маршрутизатором по умолчанию, а вместо номера сети в соответствую­щей строке помещается особая запись, например default. В нашем примере таким маршрутизатором по умолчанию для сети S5 является маршрутизатор 5, точнее его порт М5(1). Это означает, что путь из сети S5 почти ко всем сетям большой составной сети пролегает через этот порт маршрутизатора.

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

Некоторые реализации сетевых протоколов допускают наличие в таблице марш­рутизации сразу нескольких строк, соответствующих одному и тому же адресу сети назначения. В этом случае при выборе маршрута принимается во внимание столбец «Расстояние до сети назначения». При этом под расстоянием понимается любая метрика, используемая в соответствии с заданным в сетевом пакете критерием (час­то называемым классом сервиса). Расстояние может измеряться хопами, временем прохождения пакета по линиям связи, какой-либо характеристикой надежности ли­ний связи на данном маршруте или другой величиной, отражающей качество данно­го маршрута по отношению к заданному критерию. Если маршрутизатор поддерживает несколько классов сервиса пакетов, то таблица маршрутов составляется и применя­ется отдельно для каждого вида сервиса (критерия выбора маршрута).

В табл. 5.1 расстояние между сетями измерялось хопами. Расстояние для сетей, непосредственно подключенных к портам маршрутизатора, здесь принимается рав­ным 0, однако в некоторых реализациях отсчет расстояний начинается с 1.

Наличие нескольких маршрутов к одному узлу делают возможным передачу графика к этому узлу параллельно по нескольким каналам связи, это повышает пропускную способность и надежность сети.

Задачу маршрутизации решают не только промежуточные узлы-маршрутиза­торы, но и конечные узлы — компьютеры. Средства сетевого уровня, установлен­ные на конечном узле, при обработке пакета должны, прежде всего, определить, направляется ли он в другую сеть или адресован какому-нибудь узлу данной сети. Если номер сети назначения совпадает с номером данной сети, то для данного пакета не требуется решать задачу маршрутизации. Если же номера сетей отправле­ния и назначения не совпадают, то маршрутизация нужна. Таблицы маршрутиза­ции конечных узлов полностью аналогичны таблицам маршрутизации, хранящимся на маршрутизаторах.

Обратимся снова к сети, изображенной на рис. 5.2. Таблица, маршрутизации для конечного узла В могла бы выглядеть следующим образом (табл. 5.2). Здесь MB — сетевой адрес порта компьютера В. На основании этой таблицы конечный узел В выбирает, на какой из двух имеющихся в локальной сети S3 маршрутизато­ров следует посылать тот или иной пакет.

Таблица 5.2. Таблица маршрутизации конечного узла В

Номер сети назначения

Сетевой адрес следующего маршрутизатора

Сетевой адрес выходного порта

Расстояние до сети назначения

S1

М1(3)

MB

1

S2

М1(3)

MB

1

S3

MB

0

S4

М3(1)

MB

1

S5

М1(3)

MB

2

S6

М3(1)

MB

2

Default

М3(1)

MB

Конечные узлы в еще большей степени, чем маршрутизаторы, пользуются при­емом маршрутизации по умолчанию. Хотя они также в общем случае имеют в своем распоряжении таблицу маршрутизации, ее объем обычно незначителен, что объясняется периферийным расположением всех конечных узлов. Конечный узел часто вообще работает без таблицы маршрутизации, имея только сведения об адре­се маршрутизатора по умолчанию. При наличии одного маршрутизатора в локаль­ной сети этот вариант — единственно возможный для всех конечных узлов. Но даже при наличии нескольких маршрутизаторов в локальной сети, когда перед конечным узлом стоит проблема их выбора, задание маршрута по умолчанию час­то используется в компьютерах для сокращения объема их таблицы маршрутизации.

Ниже помещена таблица маршрутизации другого конечного узла составной сети — узла А (табл. 5.3). Компактный вид таблицы маршрутизации отражает тот факт, что все пакеты, направляемые из узла А, либо не выходят за пределы сети S12, либо непременно проходят через порт 1 маршрутизатора 17. Этот маршрутизатор и определен в таблице маршрутизации в качестве маршрутизатора по умолчанию.

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