Адресация узлов в сети. Порядок разрешения адресов
В ip-сетях используется три типа сетевых адресов: mac-адрес, сетевой адрес и доменное имя. Они используются на разных уровнях сетевой модели для идентификации хостов.
Цель работы: Рассмотреть схему адресации узлов в ip-сетях. Получить представление о порядке разрешения адресов, используемых на различных уровнях стека TCP/IP.
Задания к работе
- Определить физический и сетевой адреса локального хоста и его доменное имя.
- Просмотреть таблицу преобразования физических адресов. Сохранить полученную информацию в файле.
- Командой ping проверить доступность следующих узлов:
- 127.0.0.1;
- locahost;
- example.com
- трех-четырех соседних компьютеров.
- Просмотреть таблицу преобразования адресов и сравнить ее с результатами, полученными в задании 1.
- Сделать перерыв в сетевой активности на несколько минут, после которого повторить предыдущий пункт. Пояснить причины изменений (или отсутствия таковых) в таблице arp за время перерыва.
- Добавить в таблицу статическую запись (действительные аппаратный и сетевой адреса одной из соседних машин)
- Выполнить ping добавленного в предыдущем пункте сетевого адреса
- Добавить в таблицу преобразований следующие записи (пары "mac-адрес — ip-адрес"):
- действительный mac-адрес — недействительный сетевой адрес;
- недействительный mac-адрес — действительный сетевой адрес;
- Проверить доступность добавленных узлов. Объяснить полученные результаты.
- Просмотреть таблицу arp и сохранить ее в файле для дальнейшего использования.
- Перезагрузить компьютер и снова просмотреть кэш arp. Сравнить с результатами задания 9. Что стало с записями, добавленными вами в заданиях 5 и 7?
- Добавить в файл hosts (путь к файлу в ОС Windows: %systemroot%\System32\Drivers\etc\hosts, в UNIX: /etc/hosts, в обоих случаях нужны привилегии администратора) следующую запись: Если такая запись уже имеется, то перейти к следующему заданию
- Выполнить ping узла edu.asoiu
- Определить по таблице arp mac-адрес узла edu.asoiu.
- Определить все ip-адреса (публичные) одного из указанных сервисов: mail.ru, ya.ru, google.com или подобного.
- Определите имя и ip-адрес первичного DNS-сервера зоны ru.
- Ответить на контрольные вопросы
Указания к работе
Преобразование адресовДля сопоставления сетевого адреса с аппаратным адресом интерфейса в стеке TCP/IP имеются специализированные протоколы типа arp (address resolution protocol, RFC-826). Это позволяет использовать сетевые протоколы стека поверх различных протоколов канального уровня. Все операции преобразования выполняются прозрачно для протоколов верхних уровней. Результаты преобразований кэшируются и сохраняются на некоторый интервал времени, что позволяет не выполнять преобразование при повторном обращении к ранее взаимодействовавшим узлам.
Кэш arp представлен в виде таблицы, заполненной записями примерно такого вида:
Эта таблица формируется динамически, при любом сетевом взаимодействии узла. Для просмотра кэша arp используется одноименная команда — arp. Эта же команда позволяет формировать таблицу MAC-адресов статически, передавая записи через список аргументов. Команда arp используется как в UNIX, так и в Windows-системах.
Основной способ заполнения таблицы преобразований — динамический, при котором записи добавляются по мере участия узла в сетевом обмене. Это означает, что в отсутствие сетевой активности кэш arp пуст (если не задано статических записей). Для выполнения заданий к этой работе вам необходимо организовать некоторое сетевое взаимодействие. Пожалуй, самым доступным способом для этого является использование команды ping.
Команда ping использует протокол ICMP (Internet Control Message Protocol; RFC-792, RFC-1256) для отправки запросов датаграммного типа (ECHO_REQUEST) и ожидает ответ (ECHO_RESPONSE) от запрашиваемого хоста или шлюза.
ECHO_REQUEST — это датаграмма, имеющая заголовок IP и ICMP. Поле данных заполнено некоторым количеством произвольной информации. Для анализа сети выполняется отправка определенного количество таких датаграмм. По результатам анализа можно судить о доступности запрашиваемого хоста и некоторых аспектах работы сети в целом.
Обязательным параметром команды ping является сетевой адрес узла, заданный в числовом виде:
или в символьном представлении:
Если задан символьный адрес, то ping попытается выполнить преобразование символьного имени в сетевой адрес. Для этого сначала будет перечитываться содержимое файла hosts, который является своего рода сервером DNS в масштабе отдельно взятого сетевого узла. Содержательно файл hosts — обычный текстовый файл, где прописано соответствие ip-адресов доменным именам. Его основное назначение — ускорить преобразование имен компьютеров в сетевые адреса. Формат файла приведен ниже:
Обычно в этом файле содержится единственная запись:
Если требуемое имя узла найдено в файле hosts, то возвращается соответствующий ему сетевой адрес. Иначе — выполняется запрос к внешнему серверу DNS, указанному в настройках сетевого интерфейса.
Как узнать MAC-адрес и ip-адрес?Чтобы узнать физический адрес локального хоста и его ip-адрес нужно выполнить команду ifconfig (в ОС Windows - ipconfig). Запущенная без параметров, команда ifconfig отображает информацию об имеющихся в системе сетевых интерфейсах и их физических и сетевых адресах:
Как узнать доменное имя?Узнать доменное имя хоста можно командой hostname.
Как узнать адрес сервера DNS?Узнать адрес сервера DNS можно разными способами, самый простой — посмотреть содержимое файла resolv.conf:
Расширенную информацию о сервере DNS можно получить используя специальные команды, такие как dig (man 1 dig) или host (man 1 host). В ОС Windows можно использовать утилиту nslookup.