Маршрутизатор — это устройство, распределяющее пакеты по
сети с помощью информации сетевого уровня. Маршрутизатор извлекает данные об
адресации сетевого уровня из пакета данных. В маршрутизаторе также имеются
алгоритмы, называемые протоколами маршрутизации, с помощью которых он строит
таблицы. В соответствии с этими таблицами и определяется тот маршрут, по
которому должен быть направлен пакет, чтобы достичь конечного пункта назначения.
Если маршрутизатор является многопротокольным, т.е. понимает несколькоформатов
адресов сетевого уровня и может работать с несколькими протоколами
маршрутизации, к каковым и относятся маршрутизаторы компании Cisco, то он хранит
отдельные таблицы маршрутизации для каждого из протоколов сетевого уровня,
маршрутизация которого осуществляется.
Оценивая возможные пути, протоколы
маршрутизации используют информацию о топологии сетей. Эта информация может
конфигурироваться сетевым администратором или собираться посредством
динамических процессов, исполняемых в сети.
Маршрутизируемый протокол
— любой сетевой протокол, который обеспечивает в адресе сетевого уровня
достаточно информации, чтобы позволить передать пакет от одной хост-машины к
другой на основе принятой схемы адресации. Маршрутизируемый протокол определяет
формат и назначение полей внутри пакета. В общем случае пакеты переносятся от
одной конечной системы к другой. Примером маршрутизируемого протокола является
межсетевой протокол IP.
Протокол маршрутизации — поддерживает
маршрутизируемый протокол за счет предоставления механизмов коллективного
использования маршрутной информации. Сообщения протокола маршрутизации
циркулируют между маршрутизатора ми. Протокол маршрутизации позволяет
маршрутизаторам обмениваться информацией с другими маршрутизаторами с целью
актуализации и ведения таблиц. При мерами протоколов маршрутизации являются
протокол маршрутной информации (RIP), протокол внутренней маршрутизации между
шлюзами (IGRP), усовершенствованный протокол внутренней маршрутизации между
шлюзами (EIGRP) и протокол маршрутизации с выбором кратчайшего пути (OSPF).
Статическая информация администрируется вручную. Сетевой
администратор вводит ее в конфигурацию маршрутизатора. Если изменение в
топологии сети требует актуализации статической информации, то администратор
сети должен вручную обновить соответствующую запись о статическом
маршруте.
Динамическая информация работает по-другому. После ввода
администратором сети команд, запускающих функцию динамической маршрутизации,
сведения о маршрутах обновляются процессом маршрутизации автоматически сразу
после поступления из сети новой информации. Изменения в динамически получаемой
информации распространяются между маршутизаторами как часть процесса
актуализации данных.
Маршрут по умолчанию— запись в таблице маршрутизации, которая
используется для направления кадров, которые не имеют в таблице маршрутизации
явно указанного следующего перехода. Маршруты по умолчанию могут устанавливаться
как результат статического конфигурирования, выполняемого
администратором.
Вообще говоря, содержание сведений обо всех других сетевых
комплексах, доступных через сеть Internet, излишне и неразумно, если не
невозможно.
Вместо сведений о каждой конкретной сети каждому маршрутизатору
компании X сообщается маршрут по умолчанию, с помощью которого он может
добраться до любого неизвестного пункта назначения, направляя пакет в сеть
Internet.
Рис. 4.6.1 Динамическая маршрутизация позволяет маршрутизаторам
автоматически использовать резервные маршруты
Сеть по-разному адаптируется к изменениям в топологии, в
зависимости от того, используется статическая или динамическая
информация.
Статическая маршрутизация позволяет маршрутизаторам правильно
направлять пакет от сети к сети. Маршрутизатор просматривает свою таблицу
маршрутизации и, следуя содержащимся там статическим данным, ретранслирует пакет
маршрутизатору D (Рис. 4.6.1). Маршрутизатор D делает то же самое и
ретранслирует пакет маршрутизатору С. Маршрутизатор С доставляет пакет
хост-машине получателя.
Но что произойдет, если путь между маршрутизаторами
А и D становится непроходимым? Ясно, что маршрутизатор А не сможет
ретранслировать пакет маршрутизатору D по статическому маршруту. Связь с сетью
пункта назначения будет невозможна до тех пор, пока маршрутизатор А не будет
реконфигурирован на ретрансляцию пакетов маршрутизатору В.
Динамическая
маршрутизация обеспечивает более гибкое и автоматическое поведение. В
соответствии с таблицей маршрутизации, генерируемой маршрутизатором А, пакет
может достичь своего пункта назначения по предпочтительному маршруту через
маршрутизатор D. Однако к пункту назначения возможен и другой путь через
маршрутизатор В. Когда маршрутизатор А узнает, что канал на маршрутизатор D
нарушен, он перестраивает свою таблицу маршрутизации, делая предпочтительным
путь к пункту назначения через маршрутизатор В, а маршрутизаторы продолжают
слать пакеты по этому каналу связи.
Когда путь между маршрутизаторами А и D
восстанавливается, маршрутизатор А может снова изменить свою таблицу
маршрутизации и указать предпочтительным путь к сети пункта назначения против
часовой стрелки через маршрутизаторы D и С. Протоколы динамической маршрутизации
могут также перенаправлять трафик между различными путями в сети.
Успех динамической маршрутизации зависит от двух основных функций маршрутизатора.
Рис. 4.6.2 Метрики маршрутизации
Когда алгоритм маршрутизации обновляет таблицу маршрутизации,
его главной целью является определение наилучшей информации для включения в
таблицу. Каждый алгоритм маршрутизации интерпретирует понятие наилучшая
по-своему. Для каждого пути в сети алгоритм генерирует число, называемое
метрикой. Как правило, чем меньше величина этого числа, тем лучше
путь.
Метрики могут рассчитываться на основе одной характеристики пути.
Объединяя несколько характеристик, можно рассчитывать и более сложные метрики.
Как показано на рис. 4.6.2, при вычислении значения метрики используется
несколько характеристик пути.
Наиболее общеупотребительными метриками,
используемыми маршрутизаторами, являются следующие.
Большинство алгоритмов маршрутизации можно свести к трем основным алгоритмам.
Рис. 4.6.3 Маршрутизации на основе вектора расстояния
Алгоритмы маршрутизации на основе вектора расстояния (также
известные под названием алгоритмы Беллмана—Форда (Bellman-Ford
algorithms)) предусматривают периодическую передачу копий таблицы маршрутизации
от одного маршрутизатора другому. Регулярно посылаемые между маршрутизаторами
пакеты актуализации сообщают обо всех изменениях топологии.
Каждый
маршрутизатор получает таблицу маршрутизации от своего соседа. Например, на
рис. 4.6.3 маршрутизатор В получает информацию от маршрутизатора А.
Маршрутизатор В добавляет величину, отражающую вектор расстояния (скажем,
количество переходов), которая увеличивает вектор расстояния, и затем передает
таблицу маршрутизации своему соседу — маршрутизатору С. Такой же процесс
пошагово выполняется между соседними маршрутизаторами во всех
направлениях.
Подобным образом алгоритм аккумулирует сетевые расстояния и
поэтому способен поддерживать базу данных информации о топологии сети. Однако
алгоритмы на основе вектора расстояния не позволяют маршрутизатору знать точную
топологию всего сетевого комплекса.
Рис. 4.6.4 Маршрутизация с учетом состояния канала связи
Вторым основным алгоритмом, используемым для маршрутизации,
является алгоритм с учетом состояния канала связи. Алгоритмы маршрутизации с
учетом состояния канала связи, также известные под названием алгоритмов
выбора первого кратчайшего пути (shortest path first (SPF) algorithms),
поддерживают сложную базу данных топологической информации. И если алгоритмы с
маршрутизацией по вектору расстояния работают с неконкретной информацией о
дальних сетях, то алгоритмы маршрутизации с учетом состояния канала собирают
полные данные о дальних маршрутизаторах и о том, как они соединены друг с
другом.
Для выполнения маршрутизации с учетом состояния канала связи
используются сообщения объявлений о состоянии канала (link-state advertisements,
LSA), база данных топологии, SPF-алгоритм, результирующее SPS-дерево и таблица
маршрутизации, содержащая пути и порты к каждой сети (рис. 4.6.4).
Сравнивать маршрутизацию по вектору расстояния и маршрутизацию с учетом стояния канала связи можно в нескольких ключевых областях:
Маршрутизация по вектору расстояния | Маршрутизация с учетом состояния канала связи |
Видит топологию сети глазами соседних маршрутизаторов | Получает общий вид топологии всей сети |
Суммирует вектор расстояния от одного маршрутизатора к другому | Вычисляет кратчайший путь до других маршрутизаторов |
Частые периодические обновления топологической информации, медленная сходимость | Обновления инициируются фактом изменения топологии; быстрая сходимость |
Передает копии таблицы маршрутизации только соседним маршрутизаторам | Передает пакеты с информацией об актуальном состоянии канала связи всем другим маршрутизаторам |