Лабораторная работа №4

Изучение маршрутизации IP

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

Оборудование: персональный компьютер, включенный в сеть IP, Microsoft Windows

 1 Основные понятия

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

Архитектуру сетевого уровня удобно рассматривать на примере сетевого протокола IP – самого распространенного в настоящее время, основного протокола сети Интернет. Термин «стек протоколов TCP/IP» означает «набор протоколов, связанных с IP и TCP(протоколом транспортного уровня)».

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

Каждая из подсетей работает в соответствии со своими специфическими требованиями и имеет свою природу средств связи.

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

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

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

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

Если хост подключен к нескольким сетям, он должен иметь несколько сетевых адресов, как минимум столько, сколько каналов к нему подключено.

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

 2 Правила маршрутизации

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

Каждое правило состоит из следующих компонентов:

  1. Начальный адрес подсети, порядок достижения которой описывает правило.
  2. Маска подсети, которую описывает правило.
  3. Шлюз показывает, на какой адрес будут посланы пакеты, идущие в сеть назначения. Если пакеты будут идти напрямую, то указывается собственный адрес (точнее тот адрес того канала, через который будут передаваться пакеты).
  4. Интерфейс показывает через какой сетевой адаптер (его номер или IP адрес) должен посылаться пакет в заданную сеть;
  5. Метрика показывает время за которое пакет может достигнуть сети получателя (величина условная и может быть изменена при маршрутизации). Если имеется несколько правил достижения одной сети, пакеты посылаются по правилу с наименьшей метрикой.

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

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

Правила применяются в порядке уменьшения масок.

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

3   Пример таблицы маршрутизации

Рассмотрим таблицу маршрутизации, имеющую следующий вид:

Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 192.168.200.1 192.168.200.47 30
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.192.0 255.255.240.0 192.168.200.47 192.168.200.47 30
192.168.200.47 255.255.255.255 127.0.0.1 127.0.0.1 30
192.168.200.255 255.255.255.255 192.168.200.47 192.168.200.47 30
224.0.0.0 240.0.0.0 192.168.200.47 192.168.200.47 30
255.255.255.255 255.255.255.255 192.168.200.47 192.168.200.47 1

Проанализируем вышеприведенную таблицу маршрутизации, пересортировав правила:

Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
255.255.255.255 255.255.255.255 192.168.200.47 192.168.200.47 1
192.168.200.47 255.255.255.255 127.0.0.1 127.0.0.1 30
192.168.200.255 255.255.255.255 192.168.200.47 192.168.200.47 30
192.168.192.0 255.255.240.0 192.168.200.47 192.168.200.47 30
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
224.0.0.0 240.0.0.0 192.168.200.47 192.168.200.47 30
0.0.0.0 0.0.0.0 192.168.200.1 192.168.200.47 30

 

255.255.255.255 255.255.255.255 192.168.200.47 192.168.200.47 1

Обратите внимание на маску сети в первом правиле. Она описывает подсеть размером в 1 хост с адресом 255.255.255.255 – это широковещательный адрес. Пакеты будут посылаться на адрес 192.168.200.47 через интерфейс 192.168.200.47. Это наш адрес, т.е. пакеты будут отправляться напрямую.

192.168.200.255 255.255.255.255 192.168.200.47 192.168.200.47 30

Опять широковещательный адрес. Смотри предыдущий комментарий.

192.168.200.47 255.255.255.255 127.0.0.1 127.0.0.1 30

Опять такая же маска, но адрес нашего хоста. Отправлять будем через внутреннюю петлю.

192.168.192.0 255.255.240.0 192.168.200.47 192.168.200.47 30

А вот и наша подсеть. Отправляем напрямую.

127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1

Все, что начинается со 127, отправляем через внутреннюю петлю.

224.0.0.0 240.0.0.0 192.168.200.47 192.168.200.47 30

Класс D – отправляем напрямую.

0.0.0.0 0.0.0.0 192.168.200.1 192.168.200.47 30

Самое интересное правило. Маска покрывает ВСЕ возможные адреса! Пакеты отправляются через наш интерфейс на адрес 192.168.200.1. Правило применяется последним, поэтому его можно озвучить так: по всем адресам, которые не подошли по предыдущим правилам, пакеты отправляем на адрес 192.168.200.1. Такой адрес обычно имеется в любой сети и называется шлюзом по умолчанию (default gateway). Этот адрес скрывает от хостов и пользователей структуру сети и позволяет упростить таблицы маршрутизации и снять нагрузку с хостов, перенеся маршрутизацию на специально выделенные шлюзы – маршрутизаторы.

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

4  Разбиение сети на подсети

Одной из основных задач, стоящих при проектировании сетей, является распределение по подсетям сетевых адресов из заданного диапазона, т.е. разделение сети на подсети.

При разделении сети на подсети следует учитывать следующие правила:

  1. Размер подсетей должен быть степенью двойки.
  2. Имеются запрещенные адреса.
  3. Начальный адрес подсети должен быть кратен ее размеру.

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

5   Программа ROUTE

Для работы с таблицами маршрутизации в составе ОС имеется программа route (упоминалась ранее). Выводит на экран и изменяет записи в локальной таблице IP-маршрутизации.

route [-f] [-p] [команда [конечная_точка] [mask маска_сети] [шлюз] [metric метрика]] [if интерфейс]]

Параметры:

-f – Очищает таблицу маршрутизации от всех записей, которые не являются узловыми маршрутами (маршруты с маской подсети 255.255.255.255), сетевым маршрутом замыкания на себя (маршруты с конечной точкой 127.0.0.0 и маской подсети 255.0.0.0) или маршрутом многоадресной рассылки (маршруты с конечной точкой 224.0.0.0 и маской подсети 240.0.0.0). При использовании данного параметра совместно с одной из команд (таких, как add, change или delete) таблица очищается перед выполнением команды.

-p – При использовании данного параметра с командой add указанный маршрут добавляется в реестр и используется для инициализации таблицы IP-маршрутизации каждый раз при запуске протокола TCP/IP. При использовании параметра с командой print выводит на экран список постоянных маршрутов. Все другие команды игнорируют этот параметр.

команда – Указывает команду, которая будет запущена на удаленной системе. В следующей таблице представлен список допустимых параметров.

Команда Назначение
Add Добавление маршрута
change Изменение существующего маршрута
Delete Удаление маршрута или маршрутов
Print Печать маршрута или маршрутов

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

mask маска_сети – Указывает маску сети в соответствии с точкой назначения. Маска сети может быть маской подсети соответствующей сетевому

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

metric метрика – Задает целочисленную метрику стоимости маршрута (в пределах от 1 до 9999) для маршрута, которая используется при выборе в таблице маршрутизации одного из нескольких маршрутов, наиболее близко соответствующего адресу назначения пересылаемого пакета.

if интерфейс – Указывает индекс интерфейса, через который доступна точка назначения. В случае, когда параметр if пропущен, интерфейс определяется из адреса шлюза.

/? – Отображает справку в командной строке.

6  Задания для выполнения

  1.  С помощью программы route print посмотрите таблицу маршрутизации Вашего компьютера.  Создайте отчет в формате doc и поместите туда полученный скриншот таблицы маршрутизации.
  2. Объясните в отчете все правила.

7   Контрольные вопросы

  1. Сколько адресов может иметь хост?
  2. Что называется шлюзом? Каково его назначение?
  3. Может ли у хоста быть прописано несколько шлюзов и почему?
  4. Может ли у хоста быть прописано несколько шлюзов по умолчанию и почему?
  5. Может ли физический сегмент сети содержать несколько сетевых подсетей?

 

Яндекс.Метрика