Принципы маршрутизации
Важнейшей задачей сетевого уровня является маршрутизация — передача пакетов между двумя конечными узлами в составной сети.
Рассмотрим принципы маршрутизации на примере составной сети, изображенной на рис. 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
Сетевой адрес следующего маршрутизатора
Сетевой адрес выходного порта
Расстояние до сети назначения
ПРИМЕЧАНИЕ Таблица 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. Таблица маршрутизации конечного узла В
Сетевой адрес следующего маршрутизатора
Сетевой адрес выходного порта
Расстояние до сети назначения
27. Принципы маршрутизации. Маршрутизаторы.
Устройства для прокладки маршрутов называют маршрутизаторами. Маршрутизатор имеет несколько портов, к которым подключаются сети. Маршрутизатор можно рассматривать как совокупность узлов, каждый из которых входит в свою сеть. Как устройства маршрутизаторы не имеют локального адреса. Маршрут представляет собой последовательность маршрутов, которые должен пройти пакет от станции назначения к станции получателю. Задачу выбора маршрута решает маршрутизатор. Маршрут выбирается по критериям на основании информации, которая имеется у маршрутизатора. Эта информация – таблицы маршрутизации. Они расположены также и в конечных узлах сети. Основная работа по созданию таблиц маршрутизации выполняется автоматически – маршрутизаторы обмениваются информацией о топологии составной сети в соответствии со стандартами специального служебного протокола. Протокол этого типа называется протоколом маршрутизации. Он передает только служебную информацию, передачу которой инициирует маршрутизатор. Обычно кроме служебной информации сообщаются и данные о пропускной способности сети и ее состоянии. Такой набор данных позволяет маршрутизатору быстро адаптироваться к изменениям конфигурации сети.
Протоколы маршрутизации могут быть построены на основании разных алгоритмы, отличающихся: способом построения таблиц маршрутизации и способом выбора рационального пути.
Существует 2 подхода к выбору рационального пути:
- выбирается только ближайший Маршрутизатор (м-р отвечает только за 1 шаг) – одношаговый подход
- многошаговый подход – маршрутизация от источника.
В этом случае задается полный маршрут пакета включая промежуточные маршрутизаторы. Т.о. отпадает необходимость построения и анализа таблиц маршрутизации. Но гораздо возрастает нагрузка на конечные узлы. Маршрутизация от источника встречается редко. В протоколе IP она разрешена. Одношаговые алгоритмы делят на 3 класса: 1)Алгоритм статической маршрутизации. Все записи в таблице маршрутизации являются статическими. Администратор сети сам решает куда передавать пакеты с теми или иными адресами. (для простых топологий) 2)Алгоритм простой маршрутизации. Таблица маршрутизации либо вовсе не используется, либо строится без участия протоколов маршрутизации.. Используют 3 типа простой маршрутизации: — Случайная (прибывший пакет посылается в первое случайное направление) — Лавинная (пакет широковещательно распространяется во все каналы кроме исходящего) — По предыдущему опыту(выбор маршрута по табл маршрутизации, кот строится по принципу моста, путем анадиза адресных полей пакета появляющихся на входных портах) 3)Алгоритм адаптивной маршрутизации. Таблицы постоянно меняются маршрутизаторами, которые отслеживают конфигурацию сети. Основные функции маршрутизаторов: 1)Чтение заголовков из пакетов сетевых протоколов, принимаемых и буферизируемых на всех портах 2)Принятие решения о дальнейшем маршруте На маршрутизатор можно возложить и другие функции – к примеру – фрагментация пакетов. Типичный маршрутизатор – внешнее устройство с 1 или более процессорами со сложным программным обеспечением. Скорость работы – 600-2000Мбит/с. Маршрутизатор управляется специализированной сложной ОС. Чем больше протоколов сетевого уровня поддерживает маршрутизатор тем больше он подходит для магистральных сетей. В зависимости от области применения и возможности различают маршрутизаторы — магистральные (для построения центральной сети корпорации, способны обрабатывать неск миллионов пакетов в секунду), — региональные (соединяют центральную сеть с региональными соединениями м/у регион соед), — удаленных офисов (соединяют единственную удаленную локальную сеть с центральной или региональной сетью), — локальных сетей (высокая скорость маршрутизации). Дополнительные функции маршрутизаторов:
- Поддержка одновременно нескольких протоколов маршрутизации
- Работа с приоритетами сетевых протоколов
- Поддержка политики маршрутных обмениваний
- Защита от широковещательных штормов
- Поддержка не маршрутизируемых протоколов
- Разделение функций составления и использования таблиц маршрутизации
- Усечение собственных функций
Номер сети назначения | Сетевой адрес следующего маршрутизатора | Сетевой адрес выходного порта | Расстояние до сети назначения |
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) | — |
Таблица маршрутизации маршрутизатора 4