Цель работы
Рассмотреть схему адресации, используемую в ip-сетях. Получить представление о порядке разрешения адресов, используемых на различных уровнях стека TCP/IP.
Задания к работе
1. Определить физический и сетевой адреса локального хоста и его доменное имя.
2. Просмотреть таблицу преобразования физических адресов. Сохранить полученную информацию в файле.
3. Командой ping проверить доступность следующих узлов:
    • 127.0.0.1;
    • localhost;
    • example.com;
    • трех-четырех соседних компьютеров.
4. Просмотреть таблицу преобразования адресов и сравнить ее с результатами, полученными в задании 2.
5. Сделать перерыв в сетевой активности на несколько минут, после которого повторить предыдущий пункт. Пояснить причины изменений (или отсутствия таковых) в таблице arp за время перерыва.
6. Добавить в таблицу статическую запись (действительные аппаратный и сетевой адреса одной из соседних машин)
7. Выполнить ping добавленного в предыдущем пункте сетевого адреса
8. Добавить в таблицу преобразований следующие записи (пары "mac-адрес — ip-адрес"):
    • действительный mac-адрес — недействительный сетевой адрес;
    • недействительный mac-адрес — действительный сетевой адрес;
9. Проверить доступность добавленных узлов. Объяснить полученные результаты.
10. Просмотреть таблицу arp и сохранить ее в файле для дальнейшего использования.
11. Перезагрузить компьютер и снова просмотреть кэш arp. Сравнить с результатами задания 9. Что стало с записями, добавленными вами в заданиях 5 и 7?
12. Добавить в файл hosts (путь к файлу в ОС Windows: %systemroot%\System32\Drivers\etc\hosts, в UNIX: /etc/hosts, в обоих случаях нужны привилегии администратора) следующую запись:
     194.188.210.1 edu.asoiu
Если такая запись уже имеется, то перейти к следующему заданию
13. Выполнить ping узла edu.asoiu
14. Определить по таблице arp mac-адрес узла edu.asoiu.
15. Определить все ip-адреса (публичные) одного из указанных сервисов: mail.ru, ya.ru, google.com или подобного.
16. Определите имя и ip-адрес первичного DNS-сервера зоны ru.

Выполнение заданий к работе
1. Определить физический и сетевой адреса локального хоста и его доменное имя
Чтобы узнать физический (MAC-адрес) и сетевой (IP-адрес) адреса локального хоста нужно выполнить команду ipconfig:
http://s008.radikal.ru/i304/1110/48/7df07a560cdbt.jpg

Запущенная без параметров, команда ipconfig выводит только IP-адреса, маску подсети и основной шлюз для каждого адаптера.
Запущенная с параметром /all команда ipconfig выводит полную конфигурацию TCP/IP для всех адаптеров:
http://s44.radikal.ru/i106/1110/68/8009ad451333t.jpg

Чтобы узнать доменное имя локального хоста (DNS-имя) нужно выполнить команду hostname:
http://s005.radikal.ru/i211/1110/39/3e4652816be4t.jpg

2. Просмотреть таблицу преобразования физических адресов. Сохранить полученную информацию в файле.
Для преобразования сетевых адресов в физические существует протокол ARP (Address Resolution Protocol) - это протокол разрешения адресов.
Существуют следующие типы сообщений ARP: запрос ARP (ARP request) и ответ ARP (ARP reply). Система-отправитель при помощи запроса ARP запрашивает физический адрес системы-получателя. Ответ (физический адрес узла-получателя) приходит в виде ответа ARP.
Для минимизации широковещательного трафика ARP в сети полученные данные о сопоставлении программных и аппаратных адресов заносятся в кэш для дальнейшего использования.
Эффективность функционирования ARP во многом зависит от ARP кэша (ARP cache), который присутствует на каждом хосте. В кэше содержатся Internet адреса и соответствующие им аппаратные адреса. Перед тем как передать пакет сетевого уровня через сегмент Ethernet, сетевой стек проверяет кэш ARP, чтобы выяснить, не зарегистрирована ли в нём уже нужная информация об узле-получателе. Если такой записи в кэше ARP нет, то выполняется широковещательный запрос ARP.
Кэш arp представлен в виде таблицы, заполненной записями примерно такого вида:
"сетевой адрес — MAC-адрес — интерфейс — способ назначения"
Эта таблица формируется динамически при любом сетевом взаимодействии узла, записи добавляются по мере участия узла в сетевом обмене.
Чтобы просмотреть кэш протокола ARP в командной строке нужно выполнить команду:
http://s009.radikal.ru/i307/1110/ff/23785221cbc6t.jpg

Команда arp с ключом –a для вывода всей ARP-таблицы:
http://i076.radikal.ru/1110/24/94cf77b03050t.jpg

3. Командой ping проверить доступность следующих узлов:
• 127.0.0.1;
• localhost;
• example.com;
• трех-четырех компьютеров.

ping 127.0.0.1:
http://s54.radikal.ru/i146/1110/84/8d59aee6c038t.jpg

ping localhost:
http://s40.radikal.ru/i090/1110/20/a497917b8f39t.jpg

ping example.com:
http://s06.radikal.ru/i179/1110/14/240eb3156ef5t.jpg

ping 188.232.215.115:
http://i061.radikal.ru/1110/8d/2864ee26dbd1t.jpg

ping asoiu.omgtu.ru:
http://s56.radikal.ru/i154/1110/e0/69273320f8e7t.jpg

ping omgtu.ru:
http://s014.radikal.ru/i329/1110/3d/7c2a8d9b75c6t.jpg

ping mail.ru:
http://s55.radikal.ru/i147/1110/2b/17ebfb5f8280t.jpg

4. Просмотреть таблицу преобразования адресов и сравнить ее с результатами, полученными в задании 2.
http://s56.radikal.ru/i153/1110/77/70c79167c44at.jpg

Полученные результаты во 2-м задании:
http://i076.radikal.ru/1110/24/94cf77b03050t.jpg

Таким образом, при сетевой активности arp кэш заполнен записями; в отсутствие же сетевой активности кэш arp будет пуст (если не задано статических записей).
Одним из способов проявления сетевой активности является использование команды ping.
5. Сделать перерыв в сетевой активности на несколько минут, после которого повторить предыдущий пункт. Пояснить причины изменений (или отсутствия таковых) в таблице arp за время перерыва.
После перерыва в несколько минут, повторяем предыдущий пункт:
http://s15.radikal.ru/i189/1110/4c/d719c5504e9ct.jpg

Как видно, за время перерыва таблица arp очистила кэш. Так как ARP-таблицы имеют динамический характер, и если в течение двух минут после помещения в кэш динамическая запись не будет использована повторно, она удаляется из кэша.
6. Добавить в таблицу статическую запись (действительные аппаратный и сетевой адреса одной из соседних машин).
Статические записи добавляются вручную с помощью команды arp с параметром –s. Статические записи остаются в кэше ARP до тех пор, пока не будет перезагружен компьютер или заново инициирован интерфейс.
Добавить статическую запись в таблицу ARP можно с помощью следующего синтаксиса:
arp -s inet_addr ether_addr [if_addr]
http://i021.radikal.ru/1110/fb/312a23b5c8cct.jpg

7. Выполнить ping добавленного в предыдущем пункте сетевого адреса
http://s50.radikal.ru/i128/1110/69/153c49b1a568t.jpg

8. Добавить в таблицу преобразований следующие записи (пары "mac-адрес — ip-адрес"):
    - действительный mac-адрес — недействительный сетевой адрес;
    - недействительный mac-адрес — действительный сетевой адрес;
http://s010.radikal.ru/i311/1110/6a/75b04cb52e0bt.jpg

9. Проверить доступность добавленных узлов. Объяснить полученные результаты.
http://s007.radikal.ru/i300/1110/4f/b217fa282fdat.jpg

При проверке маршрута между локальным компьютером и сетевым хостом был превышен интервал ожидания запроса. Это значит, что за отведенное время не был получен ответ на посланный запрос, т.к. с нереальным ip-адресом обмен пакетами невозможен.
Причиной превышения интервала ожидания запроса также может быть расстояние до удаленного хоста, сбой связи, перегрузка. 
10. Просмотреть таблицу arp и сохранить ее в файле для дальнейшего использования.
http://s45.radikal.ru/i107/1110/48/ae3cce6d500bt.jpg

11. Перезагрузить компьютер и снова просмотреть кэш arp. Сравнить с результатами задания 10. Что стало с записями, добавленными вами в заданиях 6 и 8?
http://i051.radikal.ru/1110/84/25a11e96f810t.jpg

Записи, добавленные в заданиях 6 и 8, очистились. Статические записи остаются в кэше ARP до тех пор, пока не будет перезагружен компьютер или заново инициирован интерфейс.
12. Добавить в файл hosts (путь к файлу в ОС Windows: %systemroot%\System32\Drivers\etc\hosts, в UNIX: /etc/hosts, в обоих случаях нужны привилегии администратора) следующую запись:
     194.188.210.1 edu.asoiu
     Если такая запись уже имеется, то перейти к следующему заданию
http://s60.radikal.ru/i168/1110/cd/45d2e5c32284t.jpg

13. Выполнить ping узла edu.omgtu
http://s001.radikal.ru/i193/1110/07/cd49ce4c921ft.jpg

14. Определить по таблице arp mac-адрес узла edu.omgtu.
http://s012.radikal.ru/i319/1110/36/29729672c6b4t.jpg

15. Определить все ip-адреса (публичные) одного из указанных сервисов: mail.ru, ya.ru, google.com или подобного.
nslookup - утилита, предоставляющая пользователю интерфейс командной строки для обращения к системе DNS. Позволяет задавать различные типы запросов и запрашивать произвольно указываемые сервера (ОС Windows).
http://s40.radikal.ru/i089/1110/8d/b19a0de4bc71t.jpg

16. Определите имя и ip-адрес первичного DNS-сервера зоны ru.
http://s48.radikal.ru/i121/1110/af/8d12d280fc1ft.jpg

Контрольные вопросы
1. Что и почему изменилось в таблице arp после выполнения задания №2? 
    - В таблице arp после выполнения задания №2 таблица оказалась пустой (не считая заданных статических записей). 
2. Что произойдет, если в таблицу arp добавить две или более записей, в которых одному mac-адресу сопоставлены разные сетевые адреса? 
    - В таблице arp будут созданы записи с разными ip-адресами и одинаковым mac-адресом. 
3. Что произойдет, если в таблицу arp добавить две или более записей, в которых одному сетевому адресу сопоставлены разные аппаратные адреса? 
    - В таблице arp Mac-адрес будет изменен на новый. 
4. Как отличается "время жизни" динамических и статических записей в таблице arp? 
    - "время жизни" статических записей длится до перезапуска ЭВМ; "время жизни" динамических записей несколько минут. 
5. Почему в ip-сетях не используется прямое сопоставление символьного адреса физическому адресу? 
    - Протокол разрешения адресов ARP (Address Resolution Protocol) является обязательным стандартом TCP/IP, описанным в документе RFC 826 «Address Resolution Protocol (ARP)». ARP разрешает IP-адреса, используемые программным обеспечением TCP/IP, в аппаратные адреса сетевых адаптеров локальной сети. Это позволяет использовать сетевые протоколы стека поверх различных протоколов канального уровня.   
6. Что произойдет, если в файл hosts записать два (или более) узла с одинаковыми именами (например, myhost.mydomain), но разными сетевыми адресами, а затем обратиться к ним по имени (например так: ping myhost.mydomain)? 
    - Будет произведен обмен пакетами с тем сетевым адресом, который в списке файла hosts прописан выше последующего из этих двух узлов.