Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_8_Ether_Peek.pdf
Скачиваний:
24
Добавлен:
10.02.2016
Размер:
742.34 Кб
Скачать

ARP-пакет содержит следующие поля:

Адрес назначения и адрес источника – это MAC-адреса получателя и отправителя кадра. В ARP-сообщении значение поля тип протокола в шестнадцатеричной форме – 0806. Это значение идентифицирует протокол ARP, который вкладывает свой пакет в поле данных кадра Ethernet.

Первые четыре поля ARP-пакета служат для определения двух адресных структур, между которыми устанавливается соответствие, и длин используемых в них адресов. Протокол ARP может применяться для разных пар соотносимых им адресов сетевого и канального уровней.

Для Ethernet в поле тип аппаратного адреса указывается 1, что означает использование адресов Ethernet, т.е. MAC-адресов, а поле длина аппаратного адреса содержит значение 6, т.к. длина MAC-адреса – 6 байт. При использовании IP-адресов в поле тип протокольного адреса указывается шестнадцатеричное значение 0800, т.е. то же значение, что и в поле тип протокола заголовка кадра Ethernet, когда в поле данных кадра Ethernet вложен пакет IP. При этом поле длина протокольного адреса содержит значение 4, т.к. длина IP-адреса – 4 байта.

Поле код операции определяет тип ARP-пакета – запрос на определение MACадреса по известному IP-адресу или ответ с результатом запроса. Для ARP-запроса в поле код операции указывается 1, а для ARP-ответа – 2.

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

Вполе сетевой адрес отправителя указывается IP-адрес отправителя данного запроса или ответа.

Поле аппаратный адрес получателя в ARP-запросах содержит одни нули, что означает, что эта информация неизвестна, а в ARP-ответах – MAC-адрес компьютера, пославшего ARP-запрос.

Вполе сетевой адрес получателя указывается IP-адрес получателя данного запроса или ответа.

При использовании протокола ARP возможны две ситуации: а) получатель находится в той же сети, что и отправитель;

б) получатель находится в другой по отношению к отправителю сети.

Однако в любом случае протокол ARP служит для выяснения MAC-адреса только локального узла - локального получателя (компьютера) или локального маршрутизатора.

2.2.1Работа ARP протокола, когда отправитель и получатель расположены в одной сети

Компьютер A с именем Vito и компьютер B с именем Maxx находятся в одной сети класса C 192.168.0.0, не разделенной на подсети, и компьютер A хочет передать

5

некоторые данные компьютеру B. На рисунке 4 показано расположение компьютеров А и В с указанием MAC-адресов и IP-адресов.

Компьютер A

Компьютер B

Vito

Maxx

(отправитель)

(получатель)

MAC-адрес: 00-02-44-63-D3-87

MAC-адрес: 00-80-48-B7-BD-73

IP-адрес: 192.168.0.147

IP-адрес: 192.168.0.145

ARP-запрос

ARP-ответ

Рисунок 4 - Расположение отправителя и получателя в одной сети

Чтобы передать какие-либо данные, компьютер A должен обратиться к компьютеру B по его IP-адресу 192.168.0.145 (на компьютере A вводится команда ping 192.168.0.145, в результате чего на компьютер B будет послан эхо-запрос). Однако по физическому каналу данные передаются в кадре Ethernet, в заголовке которого должен быть указан MAC-адрес компьютера, а не IP-адрес. Соответствия между IP-адресами и MAC-адресами компьютеров одной сети хранятся в таблице протокола ARP, расположенной в специальной области памяти каждого компьютера, причем эти соответствия (записи) могут быть статическими и динамическими. Статические записи вводятся администратором и хранятся до перезагрузки компьютера, а динамические определяются с помощью протокола ARP и хранятся в течение некоторого времени. В операционных системах Windows по умолчанию это время равно двум минутам для невостребованных записей и десяти минутам для записей, к которым было обращение. Для просмотра таблицы ARP компьютера служит команда arp –a, а для удаления всех записей из таблицы ARP (очистки таблицы) используется команда arp –d.

На рисунке 5 приведен пример работы команды arp –a, введенной в командной строке компьютера A. Таблица ARP компьютера A в данном случае содержит одну динамическую запись, отражающую соответствие между IP-адресом и MAC-адресом компьютера B.

Рисунок 5 - Таблица ARP компьютера A для сети, представленной на рис. 4

При обращении к компьютеру B компьютер A действует следующим образом. Сначала компьютер A определяет, в какой сети – локальной или удаленной – находится компьютер B. Для этого он выполняет операцию логического «И» для

6

своего IP-адреса 192.168.0.147 и стандартной маски подсети класса C 255.255.255.0. Затем он выполняет операцию логического «И» для IP-адреса компьютера B 192.168.0.145 и той же маски 255.255.255.0. Если результаты выполнения этих операций совпадают (в данном случае результаты обеих операций «И» – 192.168.0.0), то компьютер B находится в той же сети, что и компьютер A (т.е. в локальной сети), а если нет, то компьютер B расположен в другой (удаленной) сети.

Затем компьютер A просматривает собственную таблицу ARP на предмет наличия в ней записи, устанавливающей соответствие между IP-адресом и MACадресом компьютера B. Если такая запись имеется, компьютер A вводит MAC-адрес компьютера B в поле адрес назначения заголовка кадра Ethernet (см. рис. 1) и передает кадр компьютеру B. Если нужной записи нет, то для выяснения MAC-адреса компьютера B компьютер A использует протокол ARP. Для этого компьютер A посылает в локальную сеть широковещательный кадр Ethernet (кадр без MAC-адреса назначения) – рисунок 6. Первые четыре поля ARP-пакета для простоты опущены, (при определении в сети Ethernet MAC-адресов по IP-адресам содержимое этих полей всегда одно и то же). В поле адрес назначения стоят все единицы, а в поле тип протокола установлен идентификатор протокола равный 0806 (протокол ARP), в поле код операции определяется тип ARP-пакета (в данном случае это ARP-запрос следовательно, значение - 1), в поле сетевой адрес получателя – указывается IP-адрес компьютера B. При этом поле аппаратный адрес получателя содержит одни нули, что означает, что MAC-адрес компьютера B неизвестен, и компьютер A хочет этот адрес выяснить. Широковещательный кадр с ARP-запросом принимается всеми компьютерами сети (на рис. 4 показаны только два компьютера), но ответ на него должен дать только компьютер, IP-адрес которого совпадает с IP-адресом, указанным в поле сетевой адрес получателя, т.е. только компьютер B.

Компьютер B, обработав принятый кадр, понимает, что некоторый компьютер с

MAC-адресом 00-02-44-63-D3-87 и IP-адресом 192.168.0.147 запрашивает у него MAC-

адрес. Компьютер B записывает в свою таблицу ARP соответствие между IP-адресом и MAC-адресом компьютера A и посылает в локальную сеть кадр Ethernet с ARPответом (см. рис. 7), указывая в поле адрес назначения заголовка кадра MAC-адрес компьютера A. Таким образом, кадр с ARP-ответом посылается не широковещательно, а направленно – компьютеру, пославшему ARP-запрос. Как видно на рисунке 7, поле код операции ARP-пакета содержит значение 2, идентифицирующее ARP-ответ, а в поле аппаратный адрес отправителя компьютер B указывает свой MAC-адрес, который запросил компьютер A.

Получив ARP-ответ, компьютер A записывает в свою таблицу ARP соответствие между IP-адресом и MAC-адресом компьютера B и направляет компьютеру B кадр с данными.

7

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]