- •А. М. Шабалин
- •Предисловие
- •Введение
- •1 Современные классификации операционных систем
- •1.1 Основные аспекты изучения современных операционных систем
- •1.2 Определение сетевых операционных систем
- •1.3 Характеристика популярных операционных систем по различным классификационным критериям
- •1.3.1 Операционные системы компании Microsoft
- •1.3.2 Альтернативные операционные системы
- •2 Современные сетевые протоколы
- •2.1 Стандартная семиуровневая эталонная модель взаимодействия открытых систем и стек протоколов tcp/ip
- •2.2 Протоколы межсетевого взаимодействия семейства ip
- •2.2.1 Протокол iPv4
- •2.2.2 Протокол iPv6
- •2.3 Основы адресации в ip-сетях
- •2.3.1 Адресация iPv4
- •2.3.2 Адресация iPv6
- •2.4 Проблема установления соответствия между адресами различных типов
- •00-18-F3-4a-a1-55
- •192.168.200.199
- •194.85.135.75 – 008048Ев7е60.
- •2.5 Протоколы транспортного уровня стека tcp/ip
- •2.5.1 Протокол udp
- •2.5.2 Протокол tcp
- •2.6 Протоколы маршрутизации
- •2.6.1 Классификации протоколов маршрутизации
- •2.6.2 Внутренние протоколы маршрутизации rip и ospf
- •2.6.3 Внешний шлюзовый протокол bgp
- •2.6.4 Дополнительные протоколы маршрутизации icmp и igmp
- •Заключение
- •Библиографический список
- •Приложение а
- •Синтаксис:
- •Приложение б Настройка iPv6 в операционной системе ms WindowsXp
- •Приложение в Контрольно-измерительные материалы
- •Словарь терминов и определений
- •Часть ip-адреса, соответствующая сетевой части адреса.
- •Алфавитно-предметный указатель
- •Часть 71
- •Список сокращений
- •Учебное издание
2.6 Протоколы маршрутизации
2.6.1 Классификации протоколов маршрутизации
Основой классификации протоколов маршрутизации являются два основных способа продвижения пакетов в составных сетях: бестабличная и табличная маршрутизации (рис. 2.13) [18].
Протоколы маршрутизации | |||||||
1. Бестабличная маршрутизация |
2. Табличная маршрутизация | ||||||
1.1 лавинная |
1.2 управляемая событиями |
1.3 от источника |
2.1 классификация протоколов по типу управления маршрутизацией |
2.2 классификация по типу формирования таблицы | |||
2.1.1 централизованный подход |
2.1.2 распределенный подход |
2.2.1 адаптивная маршрутизация |
2.2.2 статическая маршрутизация | ||||
Адаптивные распределенные протоколы | |||||||
внешние протоколы |
внутренние протоколы | ||||||
BGPv4 |
DVA |
LSA | |||||
RIP-2 |
OSPF |
Рис. 2.13 – Классификация современных протоколов маршрутизации
При бестабличной маршрутизации наиболее простым способом передачи пакетов по сети является так называемая лавинная маршрутизация, когда каждый маршрутизатор передает пакет всем своим непосредственным соседям, кроме того, от которого его получил. Понятно, что это не самый рациональный способ, так как пропускная способность сети используется крайне расточительно, но он довольно распространен (именно так мосты и коммутаторы локальных сетей поступают с кадрами, имеющими неизвестные адреса).
Другой вариант маршрутизации без таблиц – это маршрутизация, управляемая событиями (Event dependent routing), когда пакет к определенной сети назначения посылается по маршруту, уже приводившему ранее к успеху (для данного адреса назначения). Подобный метод маршрутизации использовался на этапе становления Интернета, когда перед отправкой пакета данных всем или нескольким соседям посылались эхо-запросы протокола ICMP, а затем на основании времени пришедших эхо-ответов выбирался сосед с минимальным временем отклика. Данный способ хорош для сетей, работающих по протоколам с предварительным установлением соединения. Запрос на установление соединения может посылаться нескольким соседям, а подтверждение установления соединения посылается тому соседу, который первым пришлет ответ.
Еще одним видом маршрутизации, не требующим наличия таблиц маршрутизации, является маршрутизация от источника (source routing). В этом случае отправитель помещает в пакет информацию о том, какие промежуточные маршрутизаторы должны участвовать в передаче пакета к сети назначения. На основе этой информации каждый маршрутизатор считывает адрес следующего маршрутизатора и, если он действительно является адресом его непосредственного соседа, передает ему пакет для дальнейшей обработки. Маршрут может задавать либо вручную администратор, либо автоматически узел-отправитель, но в этом случае ему нужно поддерживать какой-либо протокол маршрутизации, который сообщит ему о топологии и состоянии сети.
Маршрутизация от источника опробовалась на этапе зарождения Интернета и сохранилась как практически не используемая возможность протокола IPv4. В IPv6 маршрутизация от источника является одним из стандартных режимов продвижения пакетов (существует даже специальный заголовок для реализации этого режима).
В тех случаях, когда маршрутизация осуществляется на основании таблиц, различают статическую и адаптивную (динамическую) маршрутизацию.
При статической маршрутизации таблицы вручную составляются и вводятся в память каждого маршрутизатора администратором сети. Все записи в таблице имеют статус статических, что подразумевает бесконечный срок их жизни. При существенном изменении состояния сети администратору необходимо срочно внести изменения в соответствующие таблицы маршрутизации, иначе сеть будет работать некорректно.
При адаптивной маршрутизации все изменения конфигурации сети автоматически отображаются в таблицах маршрутизации протоколами маршрутизации. Эти протоколы основаны на сборе информации о топологии связей в сети, что позволяет им оперативно отрабатывать все текущие изменения. В таблицах маршрутизации при адаптивной маршрутизации обычно имеется информация об интервале времени, в течение которого данный маршрут будет оставаться действительным. Это время называют временем жизни (TTL) маршрута. Если по истечении времени жизни существование маршрута не подтверждается протоколом маршрутизации, то он считается нерабочим, пакеты по нему больше не посылаются.
Протоколы маршрутизации также могут быть распределенными и централизованными.
При распределенном подходе в сети отсутствуют какие-либо выделенные маршрутизаторы, которые собирали бы и обобщали топологическую информацию: эта работа распределяется между всеми маршрутизаторами сети. Каждый маршрутизатор строит собственную таблицу маршрутизации, основываясь на данных, получаемых по протоколу маршрутизации от остальных маршрутизаторов сети.
При централизованном подходе в сети существует один маршрутизатор, который собирает всю информацию о топологии и состоянии сети от других маршрутизаторов. Затем этот выделенный маршрутизатор (который иногда называют сервером маршрутов) может построить таблицы маршрутизации для всех остальных маршрутизаторов сети, а затем распространить их по сети, чтобы каждый маршрутизатор получил собственную таблицу и в дальнейшем самостоятельно принимал решение о продвижении каждого пакета.
Применяемые сегодня в IP-сетях протоколы маршрутизации относятся к адаптивным распределенным протоколам.
Адаптивные алгоритмы маршрутизации должны отвечать нескольким важным требованиям. Во-первых, они должны обеспечивать рациональность маршрута. Во-вторых, алгоритмы должны быть достаточно простыми: им не нужно требовать слишком большого объема вычислений или порождать интенсивный служебный трафик. И наконец, алгоритмы маршрутизации должны обладать свойством сходимости, то есть всегда приводить к согласованному построению таблиц маршрутизации на всех маршрутизаторах сети за приемлемое время.
Еще одной классификацией является выделение внутренних и внешних протоколов маршрутизации Интернет. Для того чтобы выявить особенности этой классификации, нужно сначала изучить в общих чертах структуру сети Интернет [13].
Интернет изначально строился как сеть, объединяющая большое количество существующих систем. С самого начала в ее структуре выделяли магистральную сеть (core backbone network), а сети, присоединенные к магистрали, рассматривались как автономные системы (autonomous systems). Магистральная сеть и каждая из автономных систем имели свое административное управление и собственные протоколы маршрутизации (в данной классификации маршрутизаторы называются шлюзами для следования традиционной терминологии Интернет).
Шлюзы, которые используются для образования подсетей внутри автономной системы, называются внутренними шлюзами (interior gateways), а шлюзы, с помощью которых автономные системы присоединяются к магистрали сети, называются внешними шлюзами (exterior gateways). Непосредственно друг с другом автономные системы не соединяются. Соответственно, протоколы маршрутизации, используемые внутри автономных систем, называются протоколами внутренних шлюзов (interior gateway protocol, IGP), а протоколы, определяющие обмен маршрутной информацией между внешними шлюзами и шлюзами магистральной сети, – протоколами внешних шлюзов (exterior gateway protocol, EGP). Внутри магистральной сети также может использоваться любой собственный внутренний протокол IGP. Примерами внутренних протоколов являются протоколы RIP и OSPF, а внешнего протокола – BGP.
Смысл разделения всей сети Интернет на автономные системы заключается в ее многоуровневом представлении, что необходимо для любой крупной системы, способной к расширению в больших масштабах. Внутренние шлюзы могут использовать для внутренней маршрутизации достаточно подробные графы связей между собой с целью выбора наиболее рационального маршрута. Однако, если информация такой степени детализации будет храниться во всех маршрутизаторах сети, то топологические базы данных так разрастутся, что потребуют наличия памяти гигантских размеров, а время принятия решений о маршрутизации непременно возрастет. Поэтому детальная топологическая информация остается внутри автономной системы, а автономную систему как единое целое для остальной части Интернета представляют внешние шлюзы, которые сообщают о внутреннем составе автономной системы минимально необходимые сведения – количество IP-сетей, их адреса и внутреннее расстояние до этих сетей от данного внешнего шлюза.
Адаптивные внутренние протоколы обмена маршрутной информацией, применяемые в настоящее время в вычислительных сетях (автономных системах), построены на основе следующих алгоритмов [29]:
1) дистанционно-векторный алгоритм DVA (Distance Vector Algorithms);
2) алгоритм состояния связей LSA (Link State Algorithms).
В алгоритмах дистанционно-векторного типа каждый маршрутизатор периодически и широковещательно рассылает по сети вектор расстояний от себя до всех известных ему сетей. Под расстоянием обычно понимается число промежуточных маршрутизаторов, через которые пакет должен пройти прежде, чем попадет в соответствующую сеть. Может использоваться и другая метрика, учитывающая не только число перевалочных пунктов, но и время прохождения пакетов по связи между соседними маршрутизаторами. Получив вектор от соседнего маршрутизатора, каждый маршрутизатор добавляет к нему информацию об известных ему других сетях, о которых он узнал непосредственно (если они подключены к его портам) или из аналогичных объявлений других маршрутизаторов, а затем снова рассылает новое значение вектора по сети. В результате, каждый маршрутизатор узнает информацию об имеющихся в составной сети подсетях и о расстоянии до них через соседние маршрутизаторы.
Дистанционно-векторные алгоритмы хорошо работают только в небольших сетях. В больших сетях они засоряют линии связи интенсивным широковещательным трафиком, к тому же изменения конфигурации могут отрабатываться по этому алгоритму не всегда корректно, так как маршрутизаторы не имеют точного представления о топологии связей в сети, а располагают только обобщенной информацией (вектором дистанций), к тому же полученной через посредников. Работа маршрутизатора в соответствии с дистанционно-векторным протоколом напоминает работу моста, так как точной топологической картины сети такой маршрутизатор не имеет.
Наиболее распространенным протоколом, основанным на дистанционно-векторном алгоритме, является протокол RIP.
Алгоритмы состояния связей обеспечивают каждый маршрутизатор информацией, достаточной для построения точного графа связей сети. Все маршрутизаторы работают на основании одинаковых графов, что делает процесс маршрутизации более устойчивым к изменениям конфигурации. Широковещательная рассылка используется здесь только при изменениях состояния связей, что происходит в надежных сетях не так часто.
Для того чтобы понять, в каком состоянии находятся линии связи, подключенные к его портам, маршрутизатор периодически обменивается короткими пакетами со своими ближайшими соседями. Этот трафик также широковещательный, но он циркулирует только между соседями и поэтому не так засоряет сеть.
Наиболее распространенным протоколом, основанным на алгоритме состояния связи, является протокол OSPF.
Итак, в данном параграфе в общих чертах рассматриваются наиболее популярные протоколы маршрутизации:
1) внутренние (дистанционно-векторный протокол RIP и протокол состояния связей OSPF);
2) внешний шлюзовый – BGP;
3) дополнительные (протокол обмена управляющими сообщениями ICMP и протокол групповой рассылки IGMP).