Опубликован: 19.02.2008 | Уровень: специалист | Доступ: платный
Лекция 3:

Протокол TCP/IP, служба DNS

Введение в 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-адресов, которые достижимы с помощью данного маршрута.

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

Адрес шлюза — 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.

Нияз Сабиров
Нияз Сабиров

Здравствуйте. А уточните, пожалуйста, по какой причине стоимость изменилась? Была стоимость в 1 рубль, стала в 9900 рублей.

Елена Сапегова
Елена Сапегова

для получения диплома нужно ли кроме теоретической части еще и практическую делать? написание самого диплома требуется?

Михаил Байков
Михаил Байков
Россия, Москва, Московский Авиационный Институт, 2009
Юрий Малышев
Юрий Малышев
Россия, Великий Новгород, НовГУ им. Ярослава Мудрого, 2013