logo
реф2

Маршрутизация в компьютерных сетях

М

Рисунок 1. Виды маршрутизации

аршрутизация (англ. Routing) — процесс определения маршрута следования информации в сетях связи.

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

Статическими маршрутами могут быть:

  1. маршруты, не изменяющиеся во времени;

  2. маршруты, изменяющиеся по расписанию;

  3. маршруты, изменяющиеся по ситуации — административно в момент возникновения определённой стандартной ситуации.

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

На рис.1 изображены основные виды маршрутизации.

Для начала разберем, что такое маршрут. Маршрут - это направление. Хотя многие привыкли представлять себе сразу весь пройденный путь пакетом, изображая его как последовательность ребер графа (представляющего сеть логически), но с точки зрения отдельного маршрутизатора это немного не так. Каждый маршрутизатор может определить, на какой интерфейс или какому следующему маршрутизатору отправить пакет, таким образом задав направление движения. Собрав последовательно эти направления, мы получим весь путь следования.

Решение о выборе маршрута маршрутизаторы принимают согласно их таблице маршрутизации. Это таблица, содержащая соответствие адреса сети маршруту.

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

Как клиентская машина отправляет пакеты маршрутизатору и как тот понимает, что пакет предназначен для маршрутизации? Для этого пакеты отправляются с физическим адресом маршрутизатора (точнее говоря, на втором, канальном уровне модели OSI они предназначены для маршрутизатора), но сетевым адресом получателя. Таким образом сетевой кадр предназначается маршрутизатору, потому он принимается и декапсулируется до пакета. Но на сетевом уровне, пакет не предназначается ему. На этом этапе и начинается маршрутизация. Как было упомянуто выше, она проходит на сетевом уровне и не выходит за его рамки.

Следующее действие, которое нас интересует - это процесс сравнения адреса сети. Итак, имея таблицу маршрутизации, нам нужно выбрать наилучший маршрут. Для этого существует от двух до трех этапов. Сначала сравнивается адрес сети на наибольшее сходство. Если таких маршрутов несколько, то выбираются маршруты с наименьшей административной дистанцией. И наконец, среди оставшихся выбирается маршрут с наименьшей метрикой. Административная дистанция - это степень доверия источнику. Это понятие используется компанией Cisco Systems и о нем мы вспомним при рассмотрении динамической маршрутизации. Маршрутизаторы, имеющие один источник динамических маршрутов или производящие лишь статическую маршрутизацию, сравнивают только адреса сетей и метрики. К слову, на каждом компьютере тоже имеется таблица маршрутизации и когда вы, например, хотите открыть страницу из Интернета, компьютер совершает аналогичные действия по выбору маршрута.

Может случиться такая ситуация, что лучших маршрутов оказалось несколько в таблице маршрутизации. В таком случае нет чётких указаний, что делать. Аппаратные маршрутизаторы Cisco производят распределение нагрузки между этими маршрутами, чередуя пакеты.

Довольно часто можно встретить отсутствие сети назначения в таблице, но зато присутствует сеть, покрывающая её (другими словами, является надсетью). Но если сеть содержит в себе диапазон адресов нужной сети, то там же находится и получатель. По этому принципу можно заменить несколько подсетей одной их надсетью, но лишь в том случае, когда у них одинаковые маршруты. При этом сравнение адреса сети на наибольшее сходство означает, что лучшим будет считаться тот маршрут, адрес сети которого имеет большее совпадение бит с адресом сети назначения. Как пользоваться этим, можно рассмотреть на примере:

Пусть имеется три маршрута на сети 10.0.1.0/24, 10.0.2.0/24 и 10.0.3.0/24, причем маршруты на первую и третью сети одинаковы. В этом случае можно уменьшить количество записей таблицы маршрутизации, ускорив этим процесс поиска наилучшего маршрута. Для этого объединим первый и третий маршруты, после чего остаются только два маршрута. Причём объединить можно любой покрывающей сетью, например, 10.0.0.0/8. Маршрутизация будет продолжать правильно работать, так как для сети 10.0.2.0/24 будет выбран маршрут с наибольшим совпадением (точнее полным) адреса сети, а для остальных адресов из 10.0.0.0/8 будет выбран обобщенный маршрут. Маршрутизатор начинает отправлять пакеты на несуществующие сети (из-за сети 10.0.0.0/8) и, хотя такие пакеты отбросятся дальше, это займет ресурсы маршрутизатора, поэтому может является плохим подходом. Объединение маршрутов называется префиксной агрегацией или суммаризацией маршрутов.

Различается всего два вида маршрутизации: статическая и динамическая.