8.2. Объединение сетей с помощью маршрутизаторов
Маршрутизатор обеспечивает объединение сетей на сетевом уровне эталонной модели OSI посредством передачи пакетов данных из одной сети в другую. Маршрутизаторы решают задачу выбора маршрута передачи пакета данных. Этот процесс называется маршрутизацией.
Маршрут выбирается из нескольких возможных на основании имеющейся у маршрутизаторов таблицы маршрутизации. Таблица маршрутизации (routing table) — это база данных, расположенная в памяти маршрутизатора. Записи этой базы данных называются маршрутами и состоят из адреса сети, адреса следующего маршрутизатора на пути в пункт назначения, а также разного рода метрик.
Таблица маршрутизации применяется следующим образом. Когда пакет прибывает, маршрутизатор, используя адрес назначения пакета, просматривает таблицу маршрутизации в поисках маршрута, по которому следует передать пакет. Если поиск не дал ни одного маршрута, пакет отбрасывается.
Таблица маршрутизации может заполняться вручную администратором сети или же автоматически за счет протокола маршрутизации (routing protocol). В первом случае речь идет о статической маршрутизации, а во втором — о динамической маршрутизации.
Важнейшее преимущество статической маршрутизации — это контроль. В отношении статических маршрутов администратор сети может определить точную, конфигурацию, которая не будет подвергаться изменениям. Недостатки такой маршрутизации становятся очевидными в крупной сети: во-первых, трудоемкость процесса ввода записей для каждого маршрутизатора, а во-вторых, при любой модификации сети нужно внести соответствующие изменения в каждый маршрутизатор сети.
Преимущества и недостатки динамической маршрутизации прямо противоположны характеристикам статической маршрутизации.
П рою кол ы марш руги за ц и и
Существуют два варианта классификации протоколов маршрутизации. Во-первых, они могут классифицироваться в зависимости от типа алгоритмов, на которых они основаны. Здесь есть две разновидности: протоколы, основанные на дистанционно-векторном алгоритме (Distance Vector Algorithm), и протоколы, основанные на алгоритме с учетом состояния канала (Link State Algorithm).
Второй вариант классификации связан с так называемыми автономными системами (Autonomous System, AS). Протокол маршрутизации, применяемый в пределах одной автономной системы, называется внутренним шлюзовым протоколом (Interior Gateway Protocol. IGP)., а протокол, предназначенный для соединения таких систем, называется внешним шлюзовым протоколом (Exterior Gateway Protocol, EGP).
Дистанционно-векторный алгоритм маршрутизации
В дистанционно-векторном алгоритме каждый маршрутизатор периодически отсылает своим соседним маршрутизаторам пакеты, содержащие вектор расстояний (дистанций) от данного маршрутизатора до всех известных ему сетей.
Когда маршрутизатор получает такой вектор от своего соседа, он наращивает компоненты вектора на величину расстояния от себя до данного соседа и записывает их в свою таблицу маршрутизации. Затем маршрутизатор обновляет значение полученного вектора, добавляя информацию об известных ему других сетях, и рассылает его своим соседям. В конце концов, каждый маршрутизатор будет владеть информацией обо всех имеющихся подсетях и о расстояниях до них.
Процесс обмена записей таблиц маршрутизации происходит в соответствии с показаниями таймеров — когда маршрутизатор получает вектор от своего соседа, он устанавливает таймер. Если таймер истекает до получения следующего вектора, то последние полученные маршруты удаляются из таблицы.
Алгоритм маршрутизации с учетом состояния капала
В алгоритм с учетом состояния канала святи каждый маршрутизатор отправляет всем маршрутизаторам сети информацию о непосредственно подсоединенных к нему подсетях, чтобы у них сформировалось идентичное представление о топологии сети. После этого в целях определения оптимальных маршрутов каждый маршрутизатор запускает алгоритм Дейкстры (Dijkstra algorithm), также известный как алгоритм нахождения кратчайшего пути. Результатом работы этого алгоритма будет дерево кратчайших путей. Затем каждый маршрутизатор строит таблицу маршрутизации из своего дерева кратчайших путей.
Таким образом, маршрутизаторам нет необходимости периодически обмениваться таблицами маршрутизации, как в дистанционно-векторном алгоритме. Вместо этого они периодически отсылают лишь сообщения об обновлении состояния канатов (к примеру, его включение или отключение).
Внешние шлюзовые протоколы
Особо крупные сети разделяют автономные системы. Маршрутизаторы, соединяющие автономные системы, называются маршрутизаторами границ автономных систем (Autonomous Systems Border Routers. ASBR). Обмен маршрутной информацией между автономными системами происходит посредством внешних шлюзовых протоколов.
Первым протоколом этого типа является протокол EGP (Exterior Gateway Protocol — внешний шлюзовой протокол). Спецификация протокола EGP содержится в документе RFC 9()4. На смену протоколу EGP пришел протокол BGP (Border Gateway Protocol — пограничный межсетевой протокол). В настоящее время наиболее используемым является протокол BGP версии 4, описанный в документе RFC 1772.
Протоколы EGP и BGP являются протоколами прикладного уровня стека протоколов TCP/IP и реализуются на базе протокола TCP [ 11.
Протокол RIP
RIP (Routing Information Protocol — протокол маршрутной информации) — внутренний шлюзовый протокол маршрутизации, основанный на дистанционно-векторном алгоритме. В работе маршрутизаторов, работающих по протоколу RIP, можно выделить несколько режимов работы:
□ Инициализация. В данном режиме происходит определение всех активных сетевых интерфейсов путем посылки на них запросов.
- Получение запроса.В данном режиме высылается таблица маршрутизации отправителю запроса.
- Получение ответа.В данном режиме выполняется коррекция таб-лицы маршрутизации.
- Регулярные коррекции.В данном режиме каждые 30 секунд таблица маршрутизации посылается всем соседним маршрутизаторам.
- Маршрутизаторы отправляют через все свои порты приветственные пакеты (Hello Packets) с целью определения своих соседей.
- После получения таких пакетов друг от друга маршрутизаторы формируют базу данных смежности (adjacencies database), которая содержит информацию только о подключенных к ним сетях и соседних маршрутизаторах.
- Каждый маршрутизатор посылает всем соседним маршрутизаторам объявление о состоянии канала (Link-State Advertisement, LSA), включая в него информацию о своих соседях и расстоянии до них.
- Каждый маршрутизатор, получивший объявление от соседнего маршрутизатора, записывает передаваемую в нем информацию в базу данных смежности маршрутизатора и рассылает копию объявления всем другим соседним с ним маршрутизаторам. Таким образом, все маршрутизаторы строят идентичную базу данных смежности.
- Когда база данных построена, каждый маршрутизатор использует алгоритм Дсйкстры для вычисления дерева кратчайших путей.
- Каждый маршрутизатор строит таблицу маршрутизации исходя из своего дерева кратчайших путей.
- Объявление о состоянии каналов маршрутизатора(Router LSA). Это сообщение распространяется в пределах области и содержит информацию о соседях маршрутизатора. Сообщения этого типа отсылаются всем маршрутизаторам.
- Объявление о состоянии каналов сети(Network LSA). Это сообщение распространяется в пределах области и содержит информацию обо всех маршрутизаторах, присутствующие в сети. Сообщения этого типа отсылаются только назначенным маршрутизаторам.
- Общее объявление о состоянии каналов сети(Network Summary LSA). Это сообщение распространяется маршрутизатором границ областей и указывает доступные сети вне области. Сообщения этого типа отсылается только маршрутизаторам границ областей.
- Общее объявление о состоянии каналов маршрутизатора границ автономных систем(ASBR Summary LSA). Это сообщение распространяется маршрутизаторами границ автономных систем и содержит информацию о маршрутизаторе границ автономных систем. Сообщения этого типа отсылается только маршрутизаторам границ областей.
- Объявление о состоянии внешних каналов автономной системы.(AS External LSA). Это сообщение распространяется всеми маршрутизаторами в пределах автономной системы и описывает маршруты внешние для автономной системы. Сообщения этого типа отсылаются только маршрутизаторам границ автономных систем.
- Приветственный пакет(Hello Packet). Применяется для определения местоположения соседних маршрутизаторов.
- Описание базы данных(Database Description). Применяется для передачи резюмирующей информации базы данных.
- Запрос состояния канала(Link-State Request). Применяется для осуществления запросов на резюмирующую информацию базы данных.
- Обновление состояния канала(Link-State Update). Применяется для распространения сообщений LSA в других сетях.
- Подтверждение состояния канала(Link-State Acknowledgment). Применяет для подтверждения приема информации о состоянии канала.