IP-МАРШРУТИЗАЦИЯ

 

Понятие маршрутизации относится к функционированию СПД.

Рисунок -- Маршрутизация в СПД

Канал (channel, physical link) представляет собой среду, через которую передаются пакеты. Узел (также как и станция, node) представляет собой некоторое оборудование, выполняющее ретрансляцию пакетов. Все узлы делятся на два типа:
1. Пассивные (passive).
2. Активные (active).

Пассивность узла означает, что он не выполняет анализ или обработку пакетов. Активность подразумевает, что пакеты анализируются или обрабатываются.

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

Как правило, узлы (станции), функционирующие на аппаратном уровне называют мостами (bridges), а на программном – шлюзами (gateways).

Два узла, подключенные к одному и тому же каналу называются соседними (neighbor).

Маршрутизацией занимается ядро сетевой ОС, возможно встроенной (например, Cisco IOS).

Маршрут (route) – это путь, по которому пакет передается от станции-отправителя к станции-получателю или составная часть этого пути. Выделяются три вида маршрутов:
1. Маршрут до станции (сетевого интерфейса).
2. Маршрут до подсети.
3. Маршрут по умолчанию.

Маршруты хранятся в специальной таблице, называемой таблицей маршрутизации (routing table). В обобщенном случае, с теми или иными вариациями, элементы таблицы можно представить следующим образом.

Рисунок -- Поля таблицы маршрутизации

Назначение полей:
1. Destination (адрес назначения) – IP-адрес, определяющий вид маршрута.
2. Netmask (маска подсети) – дополняет адрес назначения с целью его правильной интерпретации (если не указана, то подставляется стандартная).
3. Gateway (шлюз) – IP-адрес шлюза-соседа, которому нужно передать пакет (если пакет не покидает пределы подсети, то шлюз не нужен).
4. Interface (интерфейс) – IP-адрес или другой параметр, однозначно определяющий сетевой интерфейс, который должен физически «выдать» пакет в среду передачи данных.
5. Metric (мера) – определяет приоритетность маршрута (основное назначение), часто рассматривается в совокупности с так называемой административной дистанцией (administrative distance).
6. Options (опции) – специфические опции данной реализации.

Таблица маршрутизации определяет, что делать с уже принятым или имеющимся пакетом.

Специальные соглашения в области IP-маршрутизации:
1. Адрес назначения 0.0.0.0 – маршрут по умолчанию.
2. Mаска подсети 255.255.255.255 – маршрут к одному сетевому интерфейсу.

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

В IP-сетях реализованы два типа маршрутизации:
1. Статическая (static).
2. Динамическая (dynamic).

При статической маршрутизации таблицы формируются «вручную» или автоматически на основе указанных IP-параметров и хранятся до их «ручной» модификации.

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

Пассивность маршрута (passive route) означает, что он не может использоваться протоколами маршрутизации.

С точки зрения строгости соответствия стандартным классам, все IP-реализации принято разделять на:
1. Классовые (classful).
2. Безклассовые (classless).

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

Чтобы обозначить «место» протоколов маршрутизации, необходимо рассмотреть структуру сети Internet.

Рисунок -- Структура Internet

В сети Internet выделяются так называемые базовые магистрали (backbones) и автономные системы – Autonomous Systems (AS), внутри которых работают провайдеры – Internet Service Providers (ISP).

Автономные системы, имеющие свою собственную (возможно оригинальную) маршрутизацию, связаны между собой посредством базовых магистралей. Все автономные системы имеют уникальные номера. На уровне базовых магистралей возможно применение нескольких протоколов маршрутизации. Соответственно, шлюзы в пределах автономных систем называются внутренними (interior), а шлюзы, через которые автономные системы подключены к базовым магистралям – внешними (exterior). Различные протоколы маршрутизации нашли применение на разных уровнях иерархии Internet.

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

Практически все реально эксплуатируемые в IP-сетях протоколы маршрутизации относятся к группе адаптивных, причем двух типов:
1. Distance Vector Algorithms (DVA) – алгоритмы, основанные на анализе векторов расстояний.
2. Link State Algorithms (LSA) – алгоритмы, основанные на анализе состояния связей.

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

Согласно принципам LSA, каждый узел строит граф связей между подсетями на основе получаемой информации. Узлы работают базируясь на одинаковых графах. Широковещательная рассылка используется только при изменении состояний подсетей. Чтобы формировать графы и отслеживать состояния, узлы периодически обмениваются информацией. Алгоритмы LSA хорошо работают в более стабильных, то есть относительно больших подсетях.

Основные протоколы:
1. Routing Information Protocol (RIP) version 2 – один из основных протоколов для внутренних шлюзов, относящийся к DVA и реализующий эвристический алгоритм Беллмана-Форда (Bellman-Ford). RIPv2 отличается от RIPv1 в основном тем, что является безклассовым.
2. Exterior Gateway Protocol (EGP) – собственно основной протокол для внешних шлюзов, относящийся к LSA и являющийся классовым. В настоящее время не используется.
3. Open Shortest Path First (OSPF) version 2 – относится к LSA, безклассовый, является лучше приспособленной к сложным связям между подсетями альтернативой RIP, реализующей алгоритм поиска кратчайших путей Дикстры (Dijkstra).
4. Border Gateway Protocol (BGP) version 4 – безклассовая альтернатива EGP для внешних шлюзов, относящаяся к DVA и позволяющая многокритериально оценивать маршруты при их выборе.
5. Enhanced Interior Gateway Routing Protocol (EIGRP) – являющийся собственностью фирмы Cisco протокол, сочетающий в себе возможности как DVA, так и LSA. От IGRP отличается безклассовостью.
6. Intermediate System to Intermediate System routing protocol (IS–IS) – еще один относящийся к LSA безклассовый протокол автономных систем.
7. HELLO – пример вспомогательного протокола, позволяющего устанавливать соседские отношения.

Здесь же следует упомянуть еще два широко эксплуатируемых протокола, формально не являющиеся протоколами маршрутизации, но связанные с маршрутизацией:
9. Internet Control Message Protocol (ICMP) version 4 – вспомогательный протокол для обмена управляющими сообщениями, также позволяющий узлам отслеживать, но не корректировать ошибки.
10. Simple Network Management Protocol (SNMP) version 3 – вспомогательный протокол для сбора информации в сетях, использующий специальную базу MIB (Management Information Base).

Последовательность действий при передаче пакета в некоторой подсети (опустим коллизии, оконный механизм, DNS и т.д.) заключается в следующем.

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

Ядро сетевой ОС хранит таблицу соответствия MAC и IP-адресов. Если MAC-адрес станции-абонента либо шлюза неизвестен, то для его восстановления используется протокол ARP (Address Resolution Protocol). Обратное преобразование выполняется по протоколу RARP (Reverse ARP).

Если по каким-либо причинам необходимо принимать и обрабатывать все MAC-пакеты, то включается специальный режим работы сетевого интерфейса - PROMISC.

Для того, чтобы обеспечить передачу пакетов между подсетями через шлюз на нем должен быть разрешен IP Forwarding.

Рисунок -- IP Forwarding

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