Главная | Контакты



Главная > Технологии > Сети > Маршрутизация

Маршрутизация в сетях Ethernet

Небольшой словарь

  • Хост - конечное устройство, которое выступает отправителем или получателем данных. Но не следует путать конечного получателя с промежуточными устройствами, которые тоже принимают данные для дальнейшей их транспортировки.
  • Маска сети - последовательность бит, показывающая часть адреса, являющегося адресом сети. Единицы в маске сети должны идти подряд и начинаться со старшего бита.
  • Метрика - качество маршрута. Меньшее значение является лучшим.
  • Административная дистанция - степень доверия источнику маршрута. Понятие используется компанией Cisco Systems.
  • Internetwork - объединение двух и более сетей с общими принципами маршрутизации. Самый яркий пример - Internet.
  • Автономная система (AS) - это сеть, под управлением одного оператора, обычно это провайдер вместе с принадлежащими ему сетями или сеть крупной компании. Каждая AS имеет уникальный номер.

Вступление

 Для чтения статьи необходимо иметь представление о сетевой модели OSI.

 Те из вас, кто не первый день находится в сети, наверное, уже знаете понятие "основной шлюз". А может даже слышали об маршрутах, которые часто упоминаются жаргоном "роуты" (от англ. route). И если уже на то пошло, то более правильное произношение слова "рут" или "раут". Эти понятия стали неотъемлемой частью нашего прибывания в Internet. А ведь Internet играет огромную роль в современном мире. А что на самом деле он собой представляет? Internet - это сеть мирового масштаба. Более примитивные его аналоги можно встретить в любой уважающей себя крупной компании, которые создают свои сети с множеством серверов, а они в свою очередь предоставляют пользователям доступ к разнообразным ресурсам. Таким образом создано огромное множество сетей.

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


Начальные и поверхностные сведения

 Итак, что же такое маршрутизация? Маршрутизация - это процесс выбора маршрута следования пакета. Устройство, совершающее этот выбор, называется маршрутизатором. Маршрутизаторы работают на третьем уровне модели OSI. Используя для выбора маршрута лишь адрес сети, а адрес хоста отбрасывает. Чтобы выделить из IP адреса адрес сети, применяется маска сети. Но одними лишь формальными формулировками сыт не будешь. Поэтому будем смотреть более глубже.

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

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

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

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

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

 Может случиться такая ситуация, что лучших маршрутов оказалось несколько в таблице маршрутизации. В таком случае нету четких указаний что делать. Аппаратные маршрутизаторы 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) и хотя такие пакеты выбросятся дальше, это займет ресурсы маршрутизатора, поэтому может является плохим подходом. Объединение маршрутов называется префиксной агрегацией или суммаризацией маршрутов.

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


Статическая маршрутизация

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

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

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

Динамическая маршрутизация

 Динамическая маршрутизация совершается за счет динамических протоколов маршрутизации. При их помощи маршрутизатор строит и обновляет свою таблицу маршрутизации.

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

 Динамические протоколы маршрутизации делятся на внешние и внутренние. А внутренние в свою очередь на дистанционно-векторные протоколы и протоколы link state (состояния канала).

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

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

 Дистанционно-векторные протоколы требуют правильной и совместной работы всех маршрутизаторов, так как они оперируют с направлением и метрикой, которую получают от соседних маршрутизаторов. Таким образом, получив маршрут, маршрутизатор увеличивает его метрику и отправляет его другим соседям. Из этого и следует название протоколов - дистанция (метрика) и вектор (направление). Среди представителей можно выделить протокол EIGRP, который имеет ряд преимуществ и некоторые сходства с протоколами состояния канала.

 Среди внешних протоколов маршрутизации можно отметить протокол BGP, на котором держится Internet. Он является протоколом path state (состояния пути). Это значит что он оперирует с лучшими путями, которые задаются списком автономных систем (AS), через которые должен пройти пакет. Как правило, количество AS в пути не велико и лучше считается тот путь, что содержит меньшее количество AS. Для гарантии того, чтобы какой-то маршрут был запасным, придаются хитрости и повторяют несколько раз номер своей AS в пути, увеличивая тем самым длину. Когда же пакет достигает нужной AS, вступает в силу внутренняя маршрутизация.

 На одном маршрутизаторе могут одновременно работать множество протоколов маршрутизации. Они также могут анонсировать одинаковые сети. Представим, что есть сеть, в которой каждый маршрутизатор соединен со всеми остальными (такая топология называется full mesh). Таким образом в одну сеть мы можем попасть разными способами. Но давайте запустим в такой сети разные протоколы маршрутизации, например RIP и EIGRP. Выберем для рассмотрения маршрутизатор, на котором работают оба эти протокола. Проблема состоит в том, что метрика в протоколе RIP может принимать значение от 1 до 15, в то время как в EIGRP она принимает довольно таки внушительные значения. Если сверять метрику, то сети анонсированные протоколом RIP, будут считаться более приоритетными. Выходит, что метрики разных протоколов нельзя сравнивать. И как известно, EIGRP строит более качественные маршруты, поэтому нужен какой-то промежуточный шаг в сравнении маршрутов. Компания Cisco использует для этого понятие административной дистанции. Каждому протоколу присвоено уникальное значение, которое задает степень доверия, и чем оно ниже, тем протокол считается предпочтительней. Поэтому перед сравнением метрики, мы выбираем только один протокол для каждой сети. Но значение административной дистанции для протокола можно и менять на маршрутизаторах Cisco, но это изменение остается в силах только в пределах маршрутизатора.

Заключение

 Маршрутизаторы являются ключевым звеном любой сети internetwork. Можно заключить об двух основных задачах, которые решают маршрутизаторы:

  1. Нахождение наилучшего маршрута
  2. Отправка пакета по этому маршруту

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

  1. Каждый маршрутизатор принимает решение сам. При этом не оговаривается откуда получена информация о маршрутах.
  2. Если один маршрутизатор имеет полную таблицу маршрутизации, то это не значит, что и у остальных она тоже полная. Можно привести много причин и примеров когда сеть не сходится. В некоторых случаях это может привести к потере данных, а в некоторых и к циклам маршрутизации. Именно поэтому важно правильно и полно настроить статические маршруты на маршрутизаторах и/или правильно подобрать и настроить динамический протокол маршрутизации.
  3. Существование маршрута в одну сторону не гарантирует существование обратного маршрута. Простыми словами, пакет может достигнуть получателя, но обратного пути для ответного пакета может не быть. К этому приводит неполнота таблицы маршрутизации на каком-нибудь маршрутизаторе по пути.


-----
Специально для quizful.net
Копирование материала только с разрешения автора
(c) 2009 pasis

Материал взят с сайта: http://www.quizful.net/post/ethernet-routing

Главная > Технологии > Сети > Маршрутизация