Введение в IP-маршрутизацию
Для начала уточним некоторые понятия:
- сетевой узел (node) — любое сетевое устройство с протоколом TCP/IP;
- хост (host) — сетевой узел, не обладающий возможностями маршрутизации пакетов;
- маршрутизатор (router) — сетевой узел, обладающий возможностями маршрутизации пакетов
IP-маршрутизация — это процесс пересылки unicast-трафика от узла-отправителя к узлу –получателю в IP-сети с произвольной топологией.
Когда один узел IP-сети отправляет пакет другому узлу, в заголовке IP-пакета указываются IP-адрес узла отправителя и IP-адрес узла-получателя. Отправка пакета происходит следующим образом:
- Узел-отправитель определяет, находится ли узел-получатель в той же самой IP-сети, что и отправитель (в локальной сети), или в другой IP-сети (в удаленной сети). Для этого узел-отправитель производит поразрядное логическое умножение своего IP-адреса на маску подсети, затем поразрядное логическое умножение IP-адреса узла получателя также на свою маску подсети. Если результаты совпадают, значит, оба узла находятся в одной подсети. Если результаты различны, то узлы находятся в разных подсетях.
- Если оба сетевых узла расположены в одной IP-сети, то узел-отправитель сначала проверяет ARP-кэш на наличие в ARP-таблице MAC-адреса узла-получателя. Если нужная запись в таблице имеется, то дальше отправка пакетов производится напрямую узлу-получателю на канальном уровне. Если же в ARP-таблице нужной записи нет, то узел-отправитель посылает ARP-запрос для IP-адреса узла-получателя, ответ помещает в ARP-таблицу и после этого передача пакета также производится на канальном уровне (между сетевыми адаптерами компьютеров).
- Если узел-отправитель и узел-получатель расположены в разных 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-адресов, которые достижимы с помощью данного маршрута.
Маска сети — маска подсети, в которую отправляется пакет с помощью данного маршрута.
Адрес шлюза — 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.
Дата добавления: 2015-10-13; просмотров: 1541;