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

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

Виды маршрутизации. Группы протоколов.

Реализуется на сетевом уровне сети. За нее отвечает протокол маршрутизации. При выборе стратегии маршрутизации могут быть поставлены разные цели, например:

Минимизация времени доставки пакетов;

Минимизации стоимости доставки пакетов;

Обеспечение максимальной пропускной способности сети и т.д.

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

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

Статическими или динамическими;

Одномаршрутными или многомаршрутными;

Одноуровневыми или иерархическими;

Внутридоменными или междоменными;

Одноадресными или групповыми.

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

В динамических протоколах таблица маршрутизации обновляется автоматически при изменении топологии сети или графика в ней.

Одномаршрутные протоколы предлагают только один маршрут для передачи пакета (который не всегда является оптимальным).

Многомаршрутные алгоритмы предлагают несколько маршрутов. Это позволяет передавать информацию получателю по нескольким маршрутам одновременно.

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

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

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

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

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

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

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

Протоколывектора расстояния – самые простые и распространенные. Это, например, RIP, RTMP, IGRP.

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

Протоколысостояния канала были впервые предложены в 1970 году Эдсгером Дейкстрой. Здесь вместо рассылки содержимого таблиц маршрутизации, каждый маршрутизатор производит широковещательную рассылку списка маршрутизаторов, с которыми он имеет непосредственную связь, и списка напрямую подключенных к нему локальных сетей. Такая рассылка может производиться либо при изменении состояния каналов, либо периодически. Примеры протоколов: OSPF, IS-IS, Novell NLSP.

Протоколыполитики (правил)маршрутизации наиболее часто используются в сети Интернет. Они опираются на алгоритмы вектора расстояния. Информация о маршрутизации получается от соседних операторов на основании специальных критериев. На основе такого обмена вырабатывается список разрешенных маршрутов. Примеры: протоколы BGP и EGP.

Маршрутизаторы. Автономные системы.

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

При их создании используются 3 основные архитектуры.

1)Однопроцессорная. Здесь на процессор возлагается весь комплекс задач, включающий: фильтрацию и передачу пакетов; модификацию заголовков пакетов; обновление таблиц маршрутизации; выделение служебных пакетов; формирование управляющих пакетов; работа с протоколом управления сетью SNMP и т.д.

Однако даже мощные RISC-процессоры не справляются с обработкой при большой загрузке.

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

3)Симметричная многопроцессорная архитектура. Здесь происходит равномерное распределение нагрузки на все процессорные модули. Каждый из модулей выполняет все задачи маршрутизации и имеет свою собственную копию таблицы маршрутизации. Это наиболее прогрессивная для маршрутизаторов архитектура.

IP-маршрутизаторы

IP (Internet Protocol) является в настоящее время наиболее распространенным (в сети Интернет). Протокол работает на сетевом уровне и именно на этом уровне принимается решение о маршрутизации.

Существует 2 подхода к выбору маршрута:

Одношаговый подход;

Маршрутизация от источника.

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

Алгоритмы построения таблиц при одношаговой маршрутизации могут быть следующими:

Фиксированная маршрутизация (таблица составляется «вручную» администратором);

Случайная маршрутизация (пакет передается в любом случайном!, направлении кроме исходного);

Лавинная маршрутизация (дейтаграмма передается во все направления, кроме исходного);

Адаптивная маршрутизация (таблица маршрутизации периодически корректируется на основании сведений о сетевой топологии от других маршрутизаторов).

Протоколы адаптивной маршрутизации получили наибольшее распространение в IP-сетях. Это протоколы: RIP, OSPF, IS-IS, EGP, BGP и т.д. Примаршрутизации от источника выбор маршрута производится конечным узлом или первым маршрутизатором на пути следования дейтаграммы. В IP-сетях этот метод не нашел распространения, зато широко применяется в АТМ-сетях (например, протокол PNNI).

Автономные системы

В связи с ростом сети Интернет производительность маршрутизаторов значительно снизилась. Неимоверно возрос объем трафика для поддержания маршрутизации и выросли в объеме маршрутные таблицы. В связи с этим Интернет была разделена на ряд Автономных систем (AC) (Autonomous System) (рис.7.1.). Каждая такая система представляет собой группу сетей и маршрутизаторов, управляемую уполномоченным. Это позволяет маршрутизатору внутри каждой АС использовать различные протоколы маршрутизации. Здесь используются динамические протоколы маршрутизации, определяемые как класс ЮР-протоколов (IGP – Interior Gateway Protocol – внутренний шлюзовой протокол). К этому классу относятся протоколы RIP, IS-IS и т.д.

Для взаимодействия маршрутизаторов, принадлежащих к разным АС, используется дополнительный протокол, называемый EGP–внешний шлюзовой протокол).

Протокол RIP

Протокол RIP относится к классу IGP. Появился протокол в 1982 году как часть стека протоколов TCP/IP. Стал стандартным протоколом маршрутизации внутри автономной системы. Ограничение – протокол не поддерживает длинные пути, содержащие более15 переходов.

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

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

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

a) Если новое количество переходов меньше старого (для адреса конкретной сети) – эта запись вносится в таблицу маршрутизации.

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

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


Протокол OSPF

Протокол OSPF (Open Shortest Path First) принят в 1991 году. Он ориентирован на применение в больших распределенных сетях. Основан на алгоритме состояния канала. Суть этог1 алгоритма состоит в том, что он должен вычислить кратчайший путь. Под «кратчайшим» имеется в виду не физическая длина, а время передачи информации. Маршрутизатор отправляет запросы своим соседям, находящимся в одном мене маршрутизации, для выявления состояния каналов до них и далее от них. Состояние канала при этом характеризуется несколькими параметрами, называемыми «метрикой». Это может быть:

Пропускная способность канала;

Задержка информации при прохождении по этому каналу и т.д. Обобщив полученные сведения, маршрутизатор сообщает их всем соседям. после этого им строится ориентированный граф топологии домена маршрутизации. Каждому ребру графа назначается оценочный параметр (метрика)(рис.7.3.).

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

Протокол OSPF относится к классу ЮР-протоколов и заменяет протокол RIР в больших и сложных сетях. Рассылка информации о состоянии каналов производится каждые 30 минут. На основе этих сообщений на каждом из маршрутизаторов создается база данных состояния каналов (Link-State 1 Datadase). Эта база одинакова на всех маршрутизаторах домена.

На основе этой базы данных маршрутизатор формирует карту сетевой топологии и дерево кратчайших путей ко всем возможным получателям (см. рис.). Затем формируется таблица маршрутизации (табл.7.1.). Для сетей, подключенных к маршрутизатору напрямую указывается метрика, равная нулю.

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

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

Модели OSI является маршрутизация. Устройства, которые связывают подсети между собой в единую составную сеть, называются маршрутизаторами. Внутри сети сегменты не разделяются маршрутизаторами, иначе это была бы не одна сеть, а несколько сетей. Маршрутизатор соединят несколько сетей в интерсеть (internetwork или internet).

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

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

Резюмируем .

    построение неоднородных сетей реализуют с помощью сетевого уровня.

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

    поиск наилучшего пути следования пакетов в сети - маршрутизация - это основная задача сетевого уровня.

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

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

Маршрутизация статическая

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

Создание собственных таблиц и правил маршрутизации это и есть Policy-Routing , он же PBR (Policy-based Routing) . SBR (Source-based Routing) или Source-Routing в Linux является частным случаем Policy-Routing , в случае использования условия from в правиле маршрутизации.

iproute

iproute также известна как iproute2.

Пакет iproute состоит из нескольких утилит управления трафиком:

    ip – управление собственно маршрутизацией;

    tc – управление очередями маршрутизации;

Доступ ко всем возможностям дает только ip , использование утилиты route устарело (вы не сможете настроить например политики маршрутизации и не увидите их существование в выводе команды просмотра, если они уже настроены в системе).

    Поиск маршрута для удаленного ip ip route get 192.168.35.55 192.168.35.55 via 192.168.35.254 dev tun1 src 10.26.95.254 cache ipid 0xf0ea

    Для все MAC задает состояние failed, в дальнейшем ядро Ос удалит помеченные так MAC записи из arp таблицы. # ip neigh flush all

    Вывести запись о маршруте по умолчанию: # ip r | grep default

    Просмотр сетевых карт # ip link list

    Сбросить кеш маршрутизатора # ip route flush cache

    blackhole . Добавить «зануленный» маршрут (аналог «ip route … null0» в Cisco). Пакеты в сеть с таким маршрутом будут удалены с причиной «No route to host». Может быть полезно для подавление DoS-атака -атаки с хоста # ip route add blackhole 10.56.50.0/27

    C помощью команды ip addr add можно установить на сетевом интерфейсе как основной IP адрес, так и несколько дополнительных адресов. Удалить IP адрес ip addr del 10.90.91.254 dev eth4 или удалить все с интерфейса wlan1 ip addr flush wlan1

Таблицы маршрутизации

Вывести таблицы маршрутизации. Ядро принимает решение о применении той или иной таблицы на основании адреса источника пакета. Эти таблицы применимы для всех пакетов.

# ip rule list 0: from all lookup local 32766: from all lookup main 32767: from all lookup default

Вывести содержимое таблицы local.

# ip route show table local

    Таблица local . Пакет при выборе пути к месту назначения проверяется правилом с наименьшим приоритетом. Правило 0 отправит поиск маршрута в таблицу "local".

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

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

    Таблица default изначально пуста.

    Модификация таблицы маршрутизации : Добавление маршрута через шлюз: ip route add 172.16.10.0/24 via 192.168.1.1 Добавление маршрута через интерфейс: ip route add 172.16.10.0/24 dev eth0 Маршрут с метрикой: ip route add 172.16.10.0/24 dev eth0 metric 100

    Кроме add также поддерживаются и другие действия: del - удалить маршрут; replace - заменить маршрут другим; change - изменить параметры маршрута.

Policy-Routing. Маршрутизация для двух ISP

Пример 1. Создание таблицы для маршрутизации пакетов с определенного IP- адреса. Локальная сеть 10.26.95.0/24 имеет выход в Интернет с двух разных провайдеров – основной ISP1 (статика) и резервный ISP2 (Настройка DHCP сервера Linux, FreeBSD).

    В файле /etc/iproute2/rt_tables для удобства задаются символьные имена таблиц, это не обязательно так как все таблицы имеют цифровые идентификаторы. Например echo "82 velton" >> / etc/ iproute2/ rt_tables

    Маршрут по умолчанию для таблицы "82 velton" ip route add default via 82.117.232.1 table 82

    Внесем правила маршрутизация для пользователя с IP 10.26.95.5, после чего эта таблица станет доступна в выводе команды ip rule list. Теперь все пользователи шлют пакеты через ISP1, кроме пользователя с IP 10.26.95.251 ip rule add from 10.26.95.251/ 32 table 82

Пример 2. Создание таблицы для маршрутизации, когда часть сетей (AS) нужно маршрутизировать через резервного провайдер ISP2. Например, это может быть дешевая точка обменом трафика или ресурсы провайдера. whois - найти все IPs вашего провайдера

    Создаем как в предыдущем примере маршрут по умолчанию для таблицы "82 velton" ip route add default via 82.117.232.1 table 82

    Прописываем статические маршруты на сети ISP2 ip route add 82.117.224.0/ 19 via 82.117.234.15 ip route add 85.90.192.0/ 19 via 82.117.234.15

    Добавим rule для всех сетей ip rule add to 82.117.224.0/ 19 table 82 ip rule add to 85.90.192.0/ 19 table 82

    Очистить кеш маршрутизатора для вступления в силу сделанных изменений ip route flush cache

IP-адреса для локальных сетей

Все используемые в Интернете адреса, как мы уже говорили, должны регистрироваться в IANA, что гарантирует их уникальность в масштабе всей планеты. Такие адреса называют реальными, или публичными (public) IP-адресами.

Для локальных сетей, не подключенных к Интернету, регистрация IP-адресов, естественно, не требуется, так что, в принципе, здесь можно использовать любые возможные адреса. Однако, чтобы не допускать возможных конфликтов при последующем подключении такой сети к Интернету, RFC 1918 рекомендует применять в локальных сетях только следующие диапазоны так называемых частных (private) IP-адресов (в Интернете эти адреса не существуют и использовать их там нет возможности):

□ 10.0.0.0–10.255.255.255;

□ 172.16.0.0–172.31.255.255;

□ 192.168.0.0–192.168.255.255.

Как уже говорилось, чтобы правильно взаимодействовать с другими компьютерами и сетями, каждый компьютер определяет, какие IP-адреса принадлежат его локальной сети, а какие – удаленным сетям. Если выясняется, что IP-адрес компьютера назначения принадлежит локальной сети, пакет посылается непосредственно компьютеру назначения, если же это адрес удаленной сети, то пакет посылается по адресу основного шлюза.

Рассмотрим этот процесс подробнее. Возьмем компьютер со следующими параметрами протокола IP:

□ IP-адрес – 192.168.5.200;

□ маска подсети – 255.255.255.0;

□ основной шлюз – 192.168.5.1.

При запуске протокола IP на компьютере выполняется операция логического «И» между его собственными IP-адресом и маской подсети, в результате которой все биты IP-адреса, соответствующие нулевым битам маски подсети, также становятся нулевыми:

□ IP-адрес в 32-разрядном виде –

11000000 10101000 00000101 11001000;

□ маска подсети –

11111111 11111111 11111111 00000000;

□ идентификатор сети –

11000000 10101000 00000101 00000000.

Эта простая операция позволяет компьютеру определить идентификатор собственной сети (в нашем примере – 192.168.5.0).

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

□ с помощью протокола ARP будет определен физический MAC-адрес, соответствующий IP-адресу компьютера назначения;



□ с помощью протоколов канального и физического уровня по этому MAC-адресу будет послана нужная информация.

Теперь посмотрим, что изменится, если пакет надо отправить по адресу 192.168.10.20. Компьютер выполнит аналогичную процедуру определения идентификатора сети назначения. В результате будет получен адрес 192.168.10.0, не совпадающий с идентификатором сети компьютера-отправителя. Так будет установлено, что компьютер назначения находится в удаленной сети, и алгоритм действий компьютера-отправителя изменится:

□ будет определен MAC-адрес не компьютера назначения, а маршрутизатора;

□ с помощью протоколов канального и физического уровня по этому MAC-адресу на маршрутизатор будет послана нужная информация.

Несмотря на то, что IP-пакет в этом случае не доставляется непосредственно по назначению, протокол IP на компьютере-отправителе считает свою задачу выполненной (вспомните, что и мы при отправке письма всего лишь бросаем его в почтовый ящик). Дальнейшая судьба IP-пакета зависит от правильной настройки маршрутизаторов, объединяющих сети 192.168.5.0 и 192.168.10.0.

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

В итоге этот пакет не попадет в маршрутизатор и не будет доставлен по назначению.

Чтобы понять, как работают маршрутизаторы, давайте сначала проанализируем таблицу маршрутов, которую выстраивает при загрузке протокола IP обычный компьютер, например, с операционной системой Windows XP (рис. 8.1).

Рис. 8.1. Таблица маршрутов в ОС Windows XP

Как нетрудно видеть, в таблице определено несколько маршрутов с разными параметрами. Читать каждую такую запись в таблице маршрутизации нужно следующим образом:

Чтобы доставить пакет в сеть с адресом из поля Сетевой адрес и маской из поля Маска сети, нужно с интерфейса с IP-адресом из поля Интерфейс послать пакет по IP-адресу из поля Адрес шлюза , а «стоимость» такой доставки будет равна числу из поля Метрика.

Отметим, что параметры Сетевой адрес и Маска сети вместе задают диапазон всех разрешенных в данной сети IP-адресов. Например, 127.0.0.0 и 255.0.0.0, как мы уже говорили, означают любой IP-адрес от 127.0.0.1 до 127.255.255.254. Вспомним также, что IP-адрес 127.0.0.1 называется «адресом заглушки» – посланные по этому адресу пакеты должны обрабатываться самим компьютером. Кроме того, маска 255.255.255.255 означает сеть из одного IP-адреса, а комбинация 0.0.0.0– любой неопределенный адрес или маску подсети.

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

Вторая строка таблицы заставляет компьютер посылать самому себе (и отвечать на них) все пакеты, отправленные по любому IP-адресу из диапазона 127.0.0.1 – 127.255.255.254.

В третьей строке определено, как посылать пакеты компьютерам локальной сети (по адресам из диапазона 192.168.5.1 – 192.168.5.254). Здесь четко видно, что делать это должен сам компьютер – адресом шлюза является его собственный IP-адрес 192.168.5.200.

Аналогично (пятая, шестая и седьмая строки таблицы) нужно поступать и в случае, когда пакеты направляются по адресу рассылки подсети (192.168.5.255), по адресам многоадресной рассылки (224.0.0.0) или по адресу локальной широковещательной рассылки (255.255.255.255).

Четвертая же строка означает, что пакеты, посланные по IP-адресу 192.168.5.200 (обратите внимание на маску!), должны обрабатываться самим компьютером.

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

Рис. 8.2. Объединение сети с помощью маршрутизатора (а) и таблица маршрутизации компьютера R 1 (б)

В этой таблице появилось несколько дополнительных строк, обозначающих маршруты в обе сети – 192.168.5.0 и 192.168.10.0. Заметим, что все такие маршруты будут выстроены компьютером автоматически.

Чтобы после этого наладить обмен IP-пакетами между сетями, нужно выполнить следующие действия:

□ включить маршрутизацию на компьютере R 1 – это можно сделать, например, настроив службу маршрутизации и удаленного доступа, входящую в состав операционной системы Windows Server 2003;

□ на всех компьютерах в сети N 1 параметр Основной шлюз нужно установить равным IP-адресу интерфейса маршрутизатора, подключенного к этой сети, т.е. равным 192.168.5.1, а на компьютерах в сети N 2 – равным 192.168.10.1.

Таким образом, маршрутизатор – это программно-аппаратное устройство с несколькими сетевыми интерфейсами, на котором работает служба маршрутизации.

Усложним нашу сеть, добавив в нее второй маршрутизатор и сеть N 3 с адресом 192.168.15.0 (рис. 8.3).

В такой сети настройка маршрутизации усложняется. Проблема в том, что, хотя маршрутизатор R 1 «знает», как посылать пакеты в сети N 1 и N 2 , маршрута в сеть N 3 у него нет. В свою очередь, у маршрутизатора R 2 отсутствует маршрут в сеть N 1 . Значит, обмен IP-пакетами между сетями N 1 и N 3 будет невозможен.

Решить эту проблему в такой небольшой сети довольно просто – надо добавить нужные записи в таблицы маршрутизаторов R 1 и R 2 . Для этого на маршрутизаторе R 1 достаточно выполнить команду, предписывающую направлять все пакеты, предназначенные для сети 192.168.15.0, по адресу 192.168.10.254 (т.е. второму маршрутизатору, который уже сможет доставить эти пакеты по назначению; ключ P здесь используется, чтобы сделать этот маршрут постоянным):

ROUTE -P ADD 192.168.15.0

MASK 255.255.255.0 192.168.10.254

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

Аналогичная команда на маршрутизаторе R 2 должна выглядеть так:

ROUTE -P ADD 192.168.5.0

MASK 255.255.255.0 192.168.10.1 После этого взаимодействие в нашей сети будет налажено.

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

Чтобы избежать этого, достаточно настроить маршрутизаторы так, чтобы они обменивались друг с другом информацией о маршрутах. Для этого в локальных сетях используют такие протоколы, как RIP (Routing Information Protocol) и OSPF (Open Shortest Path First). Протокол RIP проще в настройке, чем OSPF, однако для обмена информацией в нем применяются широковещательные сообщения, заметно нагружающие сеть. Поэтому RIP обычно используют в относительно небольших сетях. Протокол OSPF работает эффективнее, но сложнее настраивается, поэтому его использование рекомендуется для крупных корпоративных сетей.

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

В процессе маршрутизации выделяют две смысловые части: определение дальнейшего пути пакета и непосредственно его пересылка по этому путь.

В соответствии с этими смысловыми частями процесс маршрутизации можно разделить на два иерархически связанных уровня.

Уровни работы маршрутизации

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

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

В связи с этим можно провести следующую аналогию.

Интерпретация процесса маршрутизации Маршрутизация бывает

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

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

На рисунке, если узел 10.2.2.1 захочет послать пакет узлу в пределах сети 10, например, 10.2.2.2, то это будет прямая маршрутизация, а при отправке пределов в сеть, скажем, 192.168.1 – косвенная.

Прямая маршрутизация

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

Узлу 10.1.1.1 необходимо передать пакет узлу 10.2.2.2. Первое, что он делает - определяет, находится ли IP-адрес получателя в одной с ним сети. Для этого сравнивает свой номер сети 10 с номером сети получателя 10. Делает вывод, что узел-получатель находится в одном с ним сегменте сети.

С помощью протокола APR определяет MAC-адрес узла-получателя и посылает пакет по этому адресу.

Косвенная маршрутизация

В следующем примере предполагается, что узел 10.1.1.1 имеет пакет, который нужно отправить узлу 172.16.0.1 .

    Изучение адреса показывает, что узел назначения находится не а одной с предающим узлом сети. Узел 10.1.1.1 сконфигурирован так, что любые пакеты, требующие косвенной маршрутизации, передаются его шлюзу по умолчанию - маршрутизатору 1.

    Чтобы доставить пакет маршрутизатору 1, узлу 10.1.1.1 необходим MAC-адрес маршрутизатора 10.3.3.3. Если МАС-адрес узлу 10.1.1.1 неизвестен, он отправляет ARP-запрос, чтобы его получить. Затем пакет, предназначенный для 172.16.0.1 отправляется маршрутизатору 1.

    Маршрутизатор 1 осознает, что он подсоединен к сети 172.16. и полагает, что узел 172.16.0.1 должен быть частью этой сети. Маршрутизатор 1 реализует свою собственную процедуру прямой маршрутизации и посылает ARP-запрос, ища узел назначения.

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

Если же узел 10.1.1.1 попытается отправить пакет узлу 192.164.1.1, то этот пакет будет перенаправлен маршрутизатору 1. Но так как он ничего не знает про сеть 192.164.1 , то будет выполнено одно из самых главных правил маршрутизации: если пакет получен, и таблица маршрутизации не содержит информации о его сети назначения, пакет следует отбросить.

Таблица маршрутизации для IP- сетей

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

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

В этой таблице в столбце

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

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

    Номер выходного порта – по которому следует отправить пакет

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

В таблице маршрутизации может содержаться несколько записей об одной и той же сети- получателя и запись о шлюзе по умолчанию.

Наименование параметра Значение
Тема статьи: Введение в IP-маршрутизацию
Рубрика (тематическая категория) Компьютеры

Стоит сказать, что для начала уточним некоторые понятия:

  • сетевой узел (node) - любое сетевое устройство с протоколом TCP/IP;
  • хост (host) - сетевой узел, не обладающий возможностями маршрутизации пакетов;
  • маршрутизатор (router) - сетевой узел, обладающий возможностями маршрутизации пакетов

IP-маршрутизация - это процесс пересылки unicast -трафика от узла-отправителя к узлу –получателю в IP-сети с произвольной топологией.

Когда один узел IP-сети отправляет пакет другому узлу, в заголовке IP-пакета указываются IP-адрес узла отправителя и IP-адрес узла-получателя. Отправка пакета происходит следующим образом:

  1. Узел-отправитель определяет, находится ли узел-получатель в той же самой IP-сети, что и отправитель (в локальной сети), или в другой IP-сети (в удаленной сети). Для этого узел-отправитель производит поразрядное логическое умножение своего IP-адреса на маску подсети, затем поразрядное логическое умножение IP-адреса узла получателя также на свою маску подсети. В случае если результаты совпадают, значит, оба узла находятся в одной подсети. В случае если результаты различны, то узлы находятся в разных подсетях.
  2. В случае если оба сетевых узла расположены в одной IP-сети, то узел-отправитель сначала проверяет ARP-кэш на наличие в ARP-таблице MAC-адреса узла-получателя. В случае если нужная запись в таблице имеется, то дальше отправка пакетов производится напрямую узлу-получателю на канальном уровне. В случае если же в ARP-таблице нужной записи нет, то узел-отправитель посылает ARP-запрос для IP-адреса узла-получателя, ответ помещает в ARP-таблицу и после этого передача пакета также производится на канальном уровне (между сетевыми адаптерами компьютеров).
  3. В случае если узел-отправитель и узел-получатель расположены в разных IP-сетях, то узел-отправитель посылает данный пакет сетевому узлу, который в конфигурации отправителя указан как "Основной шлюз" (default gateway ). Основной шлюз всœегда находится в той же IP-сети, что и узел-отправитель, в связи с этим взаимодействие происходит на канальном уровне (после выполнения ARP-запроса). Основной шлюз - это маршрутизатор, который отвечает за отправку пакетов в другие подсети (либо напрямую, либо через другие маршрутизаторы).

Рассмотрим пример, изображенный на рис. 4.5 .

Рис. 4.5.

В данном примере 2 подсети: 192.168.0.0/24 и 192.168.1.0/24. Подсети объединœены в одну сеть маршрутизатором. Интерфейс маршрутизатора в первой подсети имеет IP-адрес 192.168.0.1, во второй подсети - 192.168.1.1. В первой подсети имеются 2 узла: узел A (192.168.0.5) и узел B (192.168.0.7). Во второй подсети имеется узел C с IP-адресом 192.168.1.10.

В случае если узел A будет отправлять пакет узлу B, то сначала он вычислит, что узел B находится в той же подсети, что и узел A (ᴛ.ᴇ. в локальной подсети), затем узел A выполнит ARP-запрос для IP-адреса 192.168.0.7. После этого содержимое IP-пакета будет передано на канальный уровень, и информация будет передана сетевым адаптером узла A сетевому адаптеру узла B. Это пример прямой доставки данных (или прямой маршрутизации, direct delivery).

В случае если узел A будет отправлять пакет узлу C, то сначала он вычислит, что узел C находится в другой подсети (ᴛ.ᴇ. в удаленной подсети). После этого узел A отправит пакет узлу, который в его конфигурации указан в качестве основного шлюза (в данном случае это интерфейс маршрутизатора с IP-адресом 192.168.0.1). Далее маршрутизатор с интерфейса 192.168.1.1 выполнит прямую доставку узлу C. Это пример непрямой доставки (или косвенной маршрутизации, indirect delivery) пакета от узла A узлу C. В данном случае процесс косвенной маршрутизации состоит из двух операций прямой маршрутизации.

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

Каждый сетевой узел принимает решение о маршрутизации пакета на базе таблицы маршрутизации, которая хранится в оперативной памяти данного узла. Таблицы маршрутизации существуют не только у маршрутизаторов с несколькими интерфейсами, но и у рабочих станций, подключаемых к сети через сетевой адаптер.
Размещено на реф.рф
Таблицу маршрутизации в системе Windows можно посмотреть по команде route print. Каждая таблица маршрутизации содержит набор записей. Записи могут формироваться различными способами:

  • записи, созданные автоматически системой на базе конфигурации протокола TCP/IP на каждом из сетевых адаптеров;
  • статические записи, созданные командой route add или в консоли службы Routing and Remote Access Service ;
  • динамические записи, созданные различными протоколами маршрутизации (RIP или OSPF).

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

Рабочая станция.

В данном примере имеется рабочая станция с системой Windows XP, с одним сетевым адаптером и такими настройками протокола TCP/IP: IP-адрес -192.168.1.10, маска подсети - 255.255.255.0, основной шлюз - 192.168.1.1.

Введем в командной строке системы Windows команду route print, результатом работы команды будет следующий экран (рис. 4.6 ; в скобках приведен текст для английской версии системы):

Рис. 4.6.

Список интерфейсов - список сетевых адаптеров, установленных в компьютере. Интерфейс MS TCP Loopback interface присутствует всœегда и предназначен для обращения узла к самому себе. Интерфейс Realtek RTL8139 Family PCI Fast Ethernet NIC - сетевая карта.

Сетевой адрес - диапазон IP-адресов, которые достижимы с помощью данного маршрута.

Маска сети - маска подсети, в которую отправляется пакет с помощью данного маршрута.

Адрес шлюза - IP-адрес узла, на который пересылаются пакеты, соответствующие данному маршруту.

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

Метрика - условная стоимость маршрута. В случае если для одной и той же сети есть несколько маршрутов, то выбирается маршрут с минимальной стоимостью. Как правило, метрика - это количество маршрутизаторов, которые должен пройти пакет, чтобы попасть в нужную сеть.

Проанализируем некоторые строки таблицы.

Первая строка таблицы соответствует значению основного шлюза в конфигурации TCP/IP данной станции. Сеть с адресом "0.0.0.0" обозначает "всœе остальные сети, не соответствующие другим строкам данной таблицы маршрутизации".

Вторая строка - маршрут для отправки пакетов от узла самому себе.

Третья строка (сеть 192.168.1.0 с маской 255.255.255.0) - маршрут для отправки пакетов в локальной IP-сети (ᴛ.ᴇ. той сети, в которой расположена данная рабочая станция).

Последняя строка - широковещательный адрес для всœех узлов локальной IP-сети.

Последняя строка на рис. 4.6 - список постоянных маршрутов рабочей станции. Это статические маршруты, которые созданы командой route add. В данном примере нет ни одного такого статического маршрута.

Теперь рассмотрим сервер с системой Windows 2003 Server, с тремя сетевыми адаптерами:

  • Адаптер 1 - расположен во внутренней сети компании (IP-адрес - 192.168.1.10, маска подсети - 255.255.255.0);
  • Адаптер 2 - расположен во внешней сети Интернет-провайдера ISP-1 (IP-адрес - 213.10.11.2, маска подсети - 255.255.255.248, ближайший интерфейс в сети провайдера - 213.10.11.1);
  • Адаптер 3 - расположен во внешней сети Интернет-провайдера ISP-2 (IP-адрес - 217.1.1.34, маска подсети - 255.255.255.248, ближайший интерфейс в сети провайдера - 217.1.1.33).

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

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

В данном случае команда route print выдаст таблицу маршрутизации, изображенную на рис. 4.7 .

Рис. 4.7.

В таблице в списке интерфейсов отображены три сетевых адаптера разных моделœей, адаптер обратной связи (MS TCP Loopback interface ) и WAN (PPP/SLIP) Interface - интерфейс для доступа в сеть через модемный пул.

Отметим особенности таблицы маршрутов сервера с несколькими сетевыми интерфейсами.

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

Как и в рабочей станции, для каждого интерфейса есть маршруты как для unicast -пакетов, так и для широковещательных (broadcast) для каждой подсети.

Во второй строке содержится статический маршрут, сконфигурированный в консоли , для пересылки пакетов в сеть196.15.20.16/24.

Поддержка таблиц маршрутизации.

Есть два способа поддержки актуального состояния таблиц маршрутизации: ручной и автоматический.

Ручной способ подходит для небольших сетей. В этом случае в таблицы маршрутизации вручную заносятся статические записи для маршрутов. Записи создаются либо командой route add, либо в консоли Службы маршрутизации и удаленного доступа .

В больших сетях ручной способ становится чересчур трудоемким и чреват ошибками. Автоматическое построение и модификация таблиц маршрутизации производится так называемыми "динамическими маршрутизаторами" . Динамические маршрутизаторы отслеживают изменения в топологии сети, вносят необходимые изменения в таблицы маршрутов и обмениваются данной информацией с другими маршрутизаторами, работающими по тем же протоколам маршрутизации. В Windows Server реализована динамическая маршрутизация в Службе маршрутизации и удаленного доступа . В данной службе реализованы наиболее распространенные протоколы маршрутизации - протокол RIP версий 1 и 2 и протокол OSPF.

Введение в IP-маршрутизацию - понятие и виды. Классификация и особенности категории "Введение в IP-маршрутизацию" 2017, 2018.

просмотров