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

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

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

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

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

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

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

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

Важно понимать, что протокол маршрутизации это не тоже самое, что маршрутизируемый протокол.

Протокол маршрутизации может работать только с пакетами, принадлежащими к одному из маршрутизируемых протоколов, – например, IP, IPX или Xerox Network System, AppleTalk.
Маршрутизируемые протоколы определяют формат пакетов (заголовков), важнейшей информацией из которых для маршрутизации является адрес назначения. Протоколы, не поддерживающие маршрутизацию, могут передаваться между сетями с помощью туннелей. Подобные возможности обычно предоставляют программные маршрутизаторы и некоторые модели аппаратных маршрутизаторов.

Первые маршрутизаторы представляли собой специализированное ПО, обрабатывающее приходящие IP-пакеты специфичным образом. Это ПО работало на компьютерах, у которых было несколько сетевых интерфейсов, входящих в состав различных сетей (между которыми осуществляется маршрутизация). В дальнейшем появились маршрутизаторы в форме специализированных устройств. Компьютеры с маршрутизирующим ПО называют программными маршрутизаторами, оборудование – аппаратными маршрутизаторами.

В современных аппаратных маршрутизаторах для построения таблиц маршрутизации используется специализированное ПО («прошивка»), для обработки же IP-пакетов используется коммутационная матрица (или другая технология аппаратной коммутации), расширенная фильтрами адресов в заголовке IP-пакета.

Маршрутизация в сети Интернет основана на протоколах TCP/IP.

Передача информации осуществляется с помощью IP-пакетов, заголовок каждого IP-пакета содержит IP-адреса получателя и отправителя пакета. Каждый пакет обрабатывается маршрутизатором в соответствии с его таблицей маршрутизации. Таблица, в свою очередь, содержит информацию, компьютеру с каким адресом направлять пакеты с тем или иным диапазоном адресов. Например, все пакеты определенного диапазона могут направляться другому маршрутизатору, который «отвечает» за этот сегмент.

В ряде случаев маршрутизатор может преобразовывать заголовок пакета, заменяя адреса отправителя и/или получателя пакета. В частности, это происходит при взаимодействии локальной сети (имеющей свои адреса) с глобальной сетью Интернет. В этом случае локальная сеть может быть видна извне по одному глобальному IP-адресу. Для того чтобы маршрутизатор мог направлять пакеты с одним глобальным адресом тем или иным получателям в локальной сети, используется таблица NAT, где помимо IP-адресов указываются порты, идентифицирующие приложения, устанавливающие соединение. При этом номера портов указаны не в заголовке IP-пакета, а в заголовке сегмента TCP либо UDP (сегменты инкапсулируются в поле данных IP-пакетов). Это позволяет осуществлять взаимно-однозначную идентификацию получателя и отправителя в тех случаях, когда за одним глобальным адресом находится множество компьютеров локальных сетей.

Протоколы маршрутизации

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

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

Дистанционно-векторная маршрутизация

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

Получив от некоторого соседа вектор расстояний (дистанций) до известных тому сетей, маршрутизатор наращивает компоненты вектора на величину расстояния от себя до данного соседа. Кроме того, он дополняет вектор информацией об известных ему самому других сетях, о которых он узнал непосредственно (если они подключены к его портам) или из аналогичных объявлений других маршрутизаторов. Обновленное значение вектора маршрутизатор рассылает своим соседям. В конце концов каждый маршрутизатор узнает через соседние маршрутизаторы информацию обо всех имеющихся в составной сети сетях и о расстояниях до них. Затем он выбирает из нескольких альтернативных маршрутов к каждой сети тот маршрут, который обладает наименьшим значением метрики. Маршрутизатор, передавший информацию о данном маршруте, отмечается в таблице маршрутизации как следующий (next hop).

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

Наиболее распространенным протоколом, основанным на дистанционно-векторном алгоритме, является протокол RIP.

Протоколы состояния каналов связи

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

Классификация

В зависимости от алгоритма маршрутизации протоколы делятся на два вида:

  • дистанционно-векторные протоколы (основаны на алгоритме DVA – англ. distance vector algorithm);
  • протоколы состояния каналов связи (основаны на алгоритме LSA – англ. link state algorithm).

По области применения выделяют протоколы:

  • для междоменной маршрутизации;
  • для внутридоменной маршрутизации.

Дистанционно-векторные протоколы:

  • RIP;
  • IGRP (лицензированный протокол фирмы Cisco Systems);
  • BGP;
  • EIGRP (на самом деле этот протокол гибридный – объединяет свойства дистанционно-векторных протоколов и протоколов по состоянию канала); лицензированный протокол фирмы Cisco Systems;
  • AODV.

Протоколы состояния каналов связи:

  • IS-IS (стек OSI)
  • OSPF;
  • NLSP (стек Novell);
  • HSRP (протокол резервирования шлюза в сетях Ethernet);
  • CARP (протокол резервирования шлюза в сетях Ethernet);
  • OLSR;
  • TBRPF.

Протоколы междоменной маршрутизации:

  • EGP;
  • BGP;
  • IDRP;
  • IS-IS level 3.

Протоколы внутридоменной маршрутизации:

  • RIP;
  • IS-IS level 1–2;
  • OSPF;
  • IGRP;
  • EIGRP.

Популярные протоколы

RIP

Протокол маршрутной информации (англ. Routing Information Protocol) – один из самых простых протоколов маршрутизации. Применяется в небольших компьютерных сетях, позволяет маршрутизаторам динамически обновлять маршрутную информацию (направление и дальность в хопах), получая ее от соседних маршрутизаторов.

Алгоритм маршрутизации RIP (алгоритм Беллмана – Форда) был впервые разработан в 1969 году как основной для сети ARPANET.

Прототип протокола RIP – Gateway Information Protocol, часть пакета PARC Universal Packet. Протокол был унифицирован в документе RFC 1058.

В 1994 году был разработан протокол RIP-2 (RFC 2453), который является расширением протокола RIP, обеспечивающим передачу дополнительной маршрутной информации в сообщениях RIP и повышающим уровень безопасности.

Для работы в среде IPv6 была разработана версия RIPng.

RIP – так называемый протокол дистанционно-векторной маршрутизации, который оперирует транзитными участками в качестве метрики маршрутизации. Максимальное количество хопов, разрешенное в RIP, – 15 (метрика 16 означает «бесконечно большую метрику»). Каждый RIP-маршрутизатор по умолчанию вещает в сеть свою полную таблицу маршрутизации раз в 30 секунд, довольно сильно нагружая низкоскоростные линии связи. RIP работает на 3 (сетевом) уровне стека TCP/IP, используя UDP-порт 520.

В современных сетевых средах RIP – не самое лучшее решение для выбора в качестве протокола маршрутизации, так как его возможности уступают более современным протоколам, таким как EIGRP, OSPF. Ограничение на 15 хопов не дает применять его в больших сетях. Преимущество этого протокола – простота конфигурирования.

OSPF

OSPF (англ. Open Shortest Path First) – протокол динамической маршрутизации, основанный на технологии отслеживания состояния канала (link-state technology) и использующий для нахождения кратчайшего пути алгоритм Дейкстры.

Протокол OSPF был разработан IETF в 1988 году. Последняя версия протокола представлена в RFC 2328 (1998 год). Протокол OSPF представляет собой протокол внутреннего шлюза (Interior Gateway Protocol, IGP). Протокол OSPF распространяет информацию о доступных маршрутах между маршрутизаторами одной автономной системы.

OSPF имеет следующие преимущества:

  • высокая скорость сходимости по сравнению с дистанционно-векторными протоколами маршрутизации;
  • поддержка сетевых масок переменной длины (VLSM);
  • оптимальное использование пропускной способности с построением дерева кратчайших путей.

OSPF делит сеть на зоны. Маршрутизаторы, принадлежащие одной зоне, не знают информацию о детальной топологии других зон. Каждой зоне присваивается идентификатор зоны (area ID).

Распределение в OSPF на зоны помогает:

  • снизить нагрузку на ЦП маршрутизаторов за счет уменьшения количества перерасчетов по алгоритму OSPF;
  • уменьшить размер таблиц маршрутизации;
  • уменьшить количество пакетов обновлений состояния канала.

BGP

BGP (англ. Border Gateway Protocol «протокол граничного шлюза») – динамический протокол маршрутизации.

Относится к классу протоколов маршрутизации внешнего шлюза (англ. EGP – External Gateway Protocol).

На текущий момент является основным протоколом динамической маршрутизации в сети Интернет.

Протокол BGP предназначен для обмена информацией о достижимости подсетей между автономными системами (АС, англ. AS – autonomous system), то есть группами маршрутизаторов под единым техническим и административным управлением, использующими протокол внутридоменной маршрутизации для определения маршрутов внутри себя и протокол междоменной маршрутизации для определения маршрутов доставки пакетов в другие АС. Передаваемая информация включает в себя список АС, к которым имеется доступ через данную систему. Выбор наилучших маршрутов осуществляется исходя из правил, принятых в сети.

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

BGP, наряду с DNS, является одним из главных механизмов, обеспечивающих функционирование Интернета.

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

Оцените статью
Smartadm.ru
Добавить комментарий