Лабораторная работа №9
Лабораторная работа №9: Изучение маршрутизации IP
Цель работы: Изучить правила адресации сетевого уровня, научиться распределять адреса между участниками сети передачи данных и организовывать маршрутизацию между сегментами сети
Оборудование: персональный компьютер, включенный в сеть IP, Microsoft Windows.
Ход работы:
- Изучить теоретические сведения
Основные понятия
Сетевой уровень отвечает за возможность доставки пакетов по сети передачи данных – совокупности сегментов сети, объединенных в единую сеть любой сложности посредством узлов связи, в которой имеется возможность достижения из любой точки сети в любую другую.
Архитектуру сетевого уровня удобно рассматривать на примере сетевого протокола IP – самого распространенного в настоящее время, основного протокола сети Интернет. Термин «стек протоколов TCP/IP» означает «набор протоколов, связанных с IP и TCP(протоколом транспортного уровня)».
Архитектура протоколов TCP/IP предназначена для объединенной сети, состоящей из соединенных друг с другом шлюзами отдельных разнородных пакетных подсетей, к которым подключаются разнородные машины.
Каждая из подсетей работает в соответствии со своими специфическими требованиями и имеет свою природу средств связи.
Однако предполагается, что каждая подсеть может принять пакет информации (данные с соответствующим сетевым заголовком) и доставить его по указанному адресу в этой конкретной подсети. Не требуется, чтобы подсеть гарантировала обязательную доставку пакетов и имела надежный сквозной протокол. Таким образом, две машины, подключенные к одной подсети, могут обмениваться пакетами.
Когда необходимо передать пакет между машинами, подключенными к разным подсетям, то машина-отправитель посылает пакет в соответствующий шлюз (шлюз подключен к подсети также как обычный узел). Шлюз (gateway)– любое сетевое оборудование с несколькими сетевыми интерфейсами и осуществляющее продвижение пакетов между сетями на уровне протоколов сетевого уровня.
Из шлюза пакет направляется по определенному маршруту через систему шлюзов и подсетей, пока не достигнет шлюза, подключенного к той же подсети, что и машина-получатель; там пакет направляется к получателю.
Таким образом, шлюз выполняет маршрутизацию – процедуру нахождения в структуре сети пути достижения получателя (построение пути доставки пакетов).
Если хост подключен к нескольким сетям, он должен иметь несколько сетевых адресов, как минимум столько, сколько каналов к нему подключено.
Даже если хост не является шлюзом между подсетями, все равно в нем присутствует таблица маршрутизации, ведь любой хост должен отправлять пакеты напрямую членам своей подсети, через какой-то шлюз другим подсетям и не передавать в сеть пакеты, предназначенные самому себе (заворачивать их по внутренней петле 127.0.0.1).
Правила маршрутизации
Правила маршрутизации определяют, куда и как должны посылаться пакеты для разных сетей.
Каждое правило состоит из следующих компонентов:
- Начальный адрес подсети, порядок достижения которой описывает правило.
- Маска подсети, которую описывает правило.
- Шлюз показывает, на какой адрес будут посланы пакеты, идущие в сеть назначения. Если пакеты будут идти напрямую, то указывается собственный адрес (точнее тот адрес того канала, через который будут передаваться пакеты).
- Интерфейс показывает через какой сетевой адаптер (его номер или IPадрес) должен посылаться пакет в заданную сеть;
- Метрика показывает время за которое пакет может достигнуть сети получателя (величина условная и может быть изменена при маршрутизации). Если имеется несколько правил достижения одной сети, пакеты посылаются по правилу с наименьшей метрикой.
Применение правила заключается в определении, принадлежит ли хост назначения сети, указанной в правиле, и если принадлежит, то пакет отправляется на адрес шлюза через интерфейс.
Правила маршрутизации сведены в таблицу маршрутизации (где расположены по степени уменьшения маски), которую можно посмотреть с помощью команды ROUTE PRINT.
Правила применяются в порядке уменьшения масок.
Правила с равными масками применяются в порядке увеличения метрики.
Пример таблицы маршрутизации
Рассмотрим таблицу маршрутизации, имеющую следующий вид:
Сетевой адрес | Маска сети | Адрес шлюза | Интерфейс | Метрика |
0.0.0.0 | 0.0.0.0 | 192.168.200.1 | 192.168.200.47 | |
127.0.0.0 | 255.0.0.0 | 127.0.0.1 | 127.0.0.1 | |
192.168.192.0 | 255.255.240.0 | 192.168.200.47 | 192.168.200.47 | |
192.168.200.47 | 255.255.255.255 | 127.0.0.1 | 127.0.0.1 | |
192.168.200.255 | 255.255.255.255 | 192.168.200.47 | 192.168.200.47 | |
224.0.0.0 | 240.0.0.0 | 192.168.200.47 | 192.168.200.47 | |
255.255.255.255 | 255.255.255.255 | 192.168.200.47 | 192.168.200.47 |
Проанализируем вышеприведенную таблицу маршрутизации, пересортировав правила:
Сетевой адрес | Маска сети | Адрес шлюза | Интерфейс | Метрика |
255.255.255.255 | 255.255.255.255 | 192.168.200.47 | 192.168.200.47 | |
192.168.200.47 | 255.255.255.255 | 127.0.0.1 | 127.0.0.1 | |
192.168.200.255 | 255.255.255.255 | 192.168.200.47 | 192.168.200.47 | |
192.168.192.0 | 255.255.240.0 | 192.168.200.47 | 192.168.200.47 | |
127.0.0.0 | 255.0.0.0 | 127.0.0.1 | 127.0.0.1 | |
224.0.0.0 | 240.0.0.0 | 192.168.200.47 | 192.168.200.47 | |
0.0.0.0 | 0.0.0.0 | 192.168.200.1 | 192.168.200.47 |
255.255.255.255 | 255.255.255.255 | 192.168.200.47 | 192.168.200.47 |
Обратите внимание на маску сети в первом правиле. Она описывает подсеть размером в 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 |
Опять широковещательный адрес. Смотри предыдущий комментарий.
192.168.200.47 | 255.255.255.255 | 127.0.0.1 | 127.0.0.1 |
Опять такая же маска, но адрес нашего хоста. Отправлять будем через внутреннюю петлю.
192.168.192.0 | 255.255.240.0 | 192.168.200.47 | 192.168.200.47 |
А вот и наша подсеть. Отправляем напрямую.
127.0.0.0 | 255.0.0.0 | 127.0.0.1 | 127.0.0.1 |
Все, что начинается со 127, отправляем через внутреннюю петлю.
224.0.0.0 | 240.0.0.0 | 192.168.200.47 | 192.168.200.47 |
Класс D – отправляем напрямую.
0.0.0.0 | 0.0.0.0 | 192.168.200.1 | 192.168.200.47 |
Самое интересное правило. Маска покрывает ВСЕ возможные адреса! Пакеты отправляются через наш интерфейс на адрес 192.168.200.1. Правило применяется последним, поэтому его можно озвучить так: по всем адресам, которые не подошли по предыдущим правилам, пакеты отправляем на адрес 192.168.200.1. Такой адрес обычно имеется в любой сети и называется шлюзом по умолчанию (default gateway). Этот адрес скрывает от хостов и пользователей структуру сети и позволяет упростить таблицы маршрутизации и снять нагрузку с хостов, перенеся маршрутизацию на специально выделенные шлюзы – маршрутизаторы.
Нетрудно догадаться, что все адреса в колонке Адрес шлюза должны достигаться напрямую, т.е. входить в нашу подсеть.