- •Компьютерные сети и телекоммуникации
- •Часть 2. Технологии локальных и глобальных сетей Таганрог
- •Введение
- •3. Локальные сети
- •3.1. Среды и стандарты локальных сетей, понятие доступа
- •3.2. Технология Ethernet (802.3)
- •3.3. Технология Token Ring (802.5)
- •3.4. Технология fddi
- •3.5. Технология Fast Ethernet (802.3u)
- •3.6. Технология 100vg-AnyLan
- •3.7. Высокоскоростная технология Gigabit Ethernet
- •3.8. Коммутируемые локальные сети и дуплексные протоколы
- •3.9. Технология 10 Gigabit Ethernet (802.3ae)
- •3.10. Контрольные вопросы
- •4. Сети tcp/ip
- •4.1. Объединение сетей на основе протоколов сетевого уровня
- •4.1.1. Ограничения мостов и коммутаторов
- •4.1.2. Понятие internetworking
- •4.1.3. Принципы маршрутизации
- •4.1.4. Протоколы и алгоритмы маршрутизации
- •4.1.5. Реализация межсетевого взаимодействия средствами tcp/ip
- •4.2. Адресация в ip-сетях
- •4.2.1. Типы адресов стека tcp/ip
- •4.2.2. Классы ip-адресов
- •4.2.3. Отображение ip-адресов на локальные адреса
- •4.2.4. Отображение доменных имен на ip-адреса
- •4.3. Фрагментация ip-пакетов
- •4.4. Протокол надежной доставки сообщений tcp
- •4.5. Классификация маршрутизаторов сетей tcp/ip
- •4.6. Контрольные вопросы
- •5. Технологии глобальных сетей
- •5.1. Функции, структура и типы глобальных сетей
- •5.2. Глобальные связи на основе выделенных каналов
- •5.3. Глобальные связи на основе сетей с коммутацией каналов
- •5.4. Глобальные сети с коммутацией пакетов
- •5.5. Глобальные ip-сети
- •5.5.1. Структура глобальной ip-сети
- •5.5.2. «Чистые» ip-сети
- •5.5.3. Протокол slip
- •5.5.4. Протоколы семейства hdlc
- •5.5.5. Протокол ppp
- •5.5.6. Использование выделенных линий ip-маршрутизаторами
- •5.6. Функционирование ip-сети поверх сетей atm/fr
- •5.7. Удаленный доступ
- •5.7.1. Основные схемы глобальных связей при удаленном доступе
- •5.7.2. Доступ компьютер – сеть
- •5.7.3. Удаленный доступ через промежуточную сеть
- •5.8. Контрольные вопросы
- •6. Сетевые программные системы
- •6.1. Сетевые операционные системы
- •6.1.1. Понятия и виды сетевых ос
- •6.1.2. Концепция специальной сетевой ос
- •6.1.3. Функциональные компоненты сетевой ос
- •6.2. Программные средства поддержки распределенных вычислений
- •6.3. Контрольные вопросы
- •Заключение
- •Список сокращений
- •Список использованной и рекомендуемой литературы
- •Содержание
- •Часть 2. Технологии локальных и глобальных сетей
4.1.4. Протоколы и алгоритмы маршрутизации
Для автоматического построения таблиц маршрутизации маршрутизаторы по своей инициативе обмениваются служебной информацией о топологии составной сети в соответствии со специальным служебным протоколом маршрутизации. Протоколы маршрутизации, например,
протокол информации о трассировке (Routing Information Protocol, RIP),
«открытия кратчайшего пути первым» (Open Shortest Path First, OSPF),
протокол коммуникации услуг в среде NetWare (NetWare Link Services Protocol, NLSP),
следует отличать от собственно сетевых протоколов, например, протокола IP или IPX. Те и другие выполняют функции сетевого уровня – участвуют в доставке каких-то пакетов адресату через разнородную составную сеть. Но первые собирают и передают по сети чисто служебную информацию, вторые – пользовательские данные. Протоколы маршрутизации используют сетевые протоколы как транспортное средство. При обмене маршрутной информацией пакеты протокола маршрутизации помещаются в поле данных пакетов сетевого или даже транспортного уровня.
Маршрутизаторы сообщают соседям об известных им сетях в интерсети, маршрутизаторах и связях этих сетей с маршрутизаторами. Учитывается не только топология связей, но и их пропускная способность, и состояние. Это позволяет маршрутизаторам быстрее адаптироваться к изменениям конфигурации сети (обновляя таблицы маршрутизации), а также правильно передавать пакеты в сетях с произвольной топологией, допускающей наличие замкнутых контуров.
Протоколы маршрутизации могут быть построены на основе разных алгоритмов, различающихся способами построения таблиц маршрутизации, выбора маршрута и другими особенностями работы. Выделяют одношаговые и многошаговые алгоритмы маршрутизации.
Одношаговые алгоритмы (распределенная схема). При выборе маршрута каждый выбранный маршрутизатор отвечает за выбор только одного очередного шага маршрута (следующего маршрутизатора), а окончательный маршрут складывается в результате работы всех маршрутизаторов, через которые проходит данный пакет. Одношаговые алгоритмы в зависимости от способа формирования таблиц маршрутизации делятся на 3 следующих класса.
Алгоритмы фиксированной (статической) маршрутизации. Все записи в таблице маршрутизации являются статическими, они создаются и редактируются администратором сети вручную. Таблицы бывают одно- и многомаршрутные. Многомаршрутные таблицы определяют несколько альтернативных путей для каждого адресата (основной и резервные) и правило выбора лучшего из них. Эти алгоритмы приемлемы для небольших сетей с простой топологией или для магистралей крупных сетей (простая структура с очевидными лучшими путями следования пакетов в присоединенные подсети).
Алгоритмы простой маршрутизации. Таблица маршрутизации не используется, либо строится без участия протоколов маршрутизации. Выделяются 3 типа простой маршрутизации:
случайная, когда прибывший пакет посылается в случайном направлении, кроме исходного;
лавинная, когда пакет посылается по всем направлениям, кроме исходного;
по предыдущему опыту, когда выбор маршрута осуществляется по таблице, но она строится (как у моста) в результате анализа адресных полей пакетов, появляющихся на входных портах. Каждый конкретный отправитель «связывается» с определенным портом маршрутизатора, и в дальнейшем все пакеты, адресованные ему, посылаются на этот порт.
Алгоритмы адаптивной (динамической) маршрутизации. Они наиболее распространены и обеспечивают автоматическое обновление таблиц маршрутизации после изменений конфигурации сети. Протоколы, построенные на основе этих алгоритмов, позволяют всем маршрутизаторам собирать информацию о топологии связей в сети и ее изменениях. В таких таблицах имеется информация о «времени жизни маршрута». Эти алгоритмы имеют распределенный характер, так как работают все маршрутизаторы, а не только специально выделенные (запрашиваемые) серверы маршрутов. Алгоритмы должны: обеспечивать рациональность маршрута, быть несложными и не порождать интенсивный служебный трафик, обладать сходимостью за приемлемое время.
Адаптивные протоколы обмена маршрутной информацией делятся на две группы, основу которых составляют:
дистанционно-векторные алгоритмы. При их использовании каждый маршрутизатор периодически рассылает всем по сети вектор с расстояниями (в хопах или по времени прохождения) до всех известных ему сетей. Получив вектор от соседа, каждый маршрутизатор корректирует расстояния с учетом расстояния до этого соседа и добавляет информацию об известных ему сетях, затем сам рассылает новый вектор всем. Эти алгоритмы хорошо работают только в небольших сетях. В больших сетях они «засоряют» линии широковещательным трафиком, либо могут не всегда корректно отрабатывать изменения конфигурации, полученные извне. Например, протоколы RIP: RIP IP (работающий с IP) и RIP IPX;
алгоритмы состояния связей. Они обеспечивают каждый маршрутизатор информацией, достаточной для построения точного графа связей сети, одинакового для всех маршрутизаторов. Широковещательная рассылка соседям производится только в случае изменения состояния связей (редко для надежных сетей). Вершинами графа являются маршрутизаторы и объединяемые ими сети, ребрами – связи вида «маршрутизатор-маршрутизатор» и «маршрутизатор-сеть». Для проверки состояния «своих» линий связи маршрутизаторы периодически обмениваются короткими пакетами HELLO с соседями. Объем пакетов HELLO намного меньше, чем объем RIP-пакетов. На алгоритме состояния связей основаны протоколы: «промежуточная система – промежуточной системе» (Intermediate System to Intermediate System, IS-IS) стека OSI; OSPF стека TCP/IP; NLSP стека Novell.
Многошаговые алгоритмы (маршрутизация от источника). Узел-источник задает в пакете весь маршрут его следования, и нет необходимости строить и анализировать таблицы маршрутизации. Это ускоряет прохождение пакета, разгружает маршрутизаторы, но загружает узлы-источники. Поэтому многошаговые алгоритмы применяются реже.
Таким образом, маршрутизатор представляет собой сложное многофункциональное устройство, в задачи которого входят: построение таблицы маршрутизации, определение маршрута на ее основе, буферизация, фрагментация и фильтрация поступающих пакетов, поддержка сетевых интерфейсов [1, 5].