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

Почему перед первым эхо запросом пк отправляет широковещательную рассылку arp

  • автор:

Часть 1. Изучение полей заголовков в кадре Ethernet II

При взаимодействии протоколов верхнего уровня данные проходят уровни взаимодействия открытых систем (OSI) и инкапсулируются в кадры уровня 2. Структура кадра зависит от типа доступа к среде передачи данных. Например, если в качестве протоколов верхнего уровня используются TCP и IP,

а тип доступа к среде передачи — Ethernet, то инкапсуляция кадров уровня 2 происходит через Ethernet II. Это типично для локальной среды.

При изучении концепций уровня 2 полезно анализировать данные заголовков кадров. В первой части этой лабораторной работы вы сможете посмотреть поля в кадре Ethernet II. Во второй части вам предстоит захватить и проанализировать поля заголовков кадра Ethernet II для локального

и удалённого трафика с помощью программы Wireshark.

• Один ПК (Windows 7, Vista или XP с выходом в Интернет и установленной программой Wireshark)

Часть 1: Изучение полей заголовков в кадре Ethernet II

В части 1 вы изучите поля и содержание заголовков в кадре Ethernet II. Для этого будет использоваться захват данных программой Wireshark.

Шаг 1: Просмотрите длины и описания полей заголовков Ethernet II.

(Frame Check Sequence-FCS)

© Корпорация Cisco и/или её дочерние компании, 201 . Все права защищены.

В данном документе содержится общедоступная информация корпорации Cisco.

Лабораторная работа: изучение кадров Ethernet с помощью программы Wireshark

Шаг 2: Изучите конфигурацию сети ПК.

IP-адрес узла ПК — 10.20.164.22, IP-адрес шлюза по умолчанию — 10.20.164.17.

Шаг 3: Изучите кадры Ethernet в данных, захваченных программой Wireshark.

Показанный ниже результат захвата данных в программе Wireshark отображает пакеты, которые были сгенерированы эхо-запросом узлового ПК, отправленным на шлюз по умолчанию. В программе Wireshark включён фильтр для просмотра только ARP- и ICMP-протоколов. Сеанс начинается с ARPзапроса МАС-адреса маршрутизатора шлюза, за которым следуют четыре эхо-запроса с помощью команды ping и отклика.

Шаг 4: Изучите содержание заголовков Ethernet II в ARP-запросе.

В приведённой ниже таблице выбран первый кадр из данных, захваченных программой Wireshark, и отображаются данные в полях заголовков Ethernet II.

© Корпорация Cisco и/или её дочерние компании, 201 . Все права защищены.

В данном документе содержится общедоступная информация корпорации Cisco.

Лабораторная работа: изучение кадров Ethernet с помощью программы Wireshark

В этом поле содержатся синхронизированные биты,

в захвате данных

обработанные аппаратным обеспечением сетевого

Адреса уровня 2 для кадра. Длина каждого адреса

составляет 48 бит или 6 октетов, выраженных 12

шестнадцатеричными цифрами, 0-9,A-F .

Общий формат — 12:34:56:78:9А:B C.

Первые шесть шестнадцатеричных номеров обозначают

производителя сетевого адаптера, а последние —

серийный номер устройства.

Адрес назначения может быть широковещательным

(состоящим только из единиц), либо индивидуальным.

Адрес источника всегда индивидуальный.

В кадрах Ethernet II это поле содержит

шестнадцатеричное значение, которое используется

для указания типа протокола верхнего уровня в поле

данных. Ethernet II поддерживает множество протоколов

верхнего уровня. Наиболее распространены следующие

два типа кадров:

Протокол разрешения адресов (ARP)

Содержит инкапсулированный протокол верхнего

уровня. Поле данных в диапазоне от 46 до 1500 байт.

Контрольная последовательность кадра, используемая

в захвате данных

сетевым адаптером для выявления ошибок при

кадра (Frame Check

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

отправителя, включает адреса, тип и поле данных кадра

и проверяется получателем.

Какова особенность содержания поля адреса назначения?

Почему перед первым эхо-запросом с помощью команды ping ПК отправляет широковещательную рассылку ARP?

;O ?>AB@>5=8O B01;8FK ARP

Назовите MAC-адрес источника в первом кадре. 5c:26:0a:24:2a:60

Назовите идентификатор производителя (OUI) сетевого адаптера источника.

Какая часть МАС-адреса соответствует OUI?

Назовите серийный номер сетевого адаптера источника. 24:2a:60

© Корпорация Cisco и/или её дочерние компании, 201 . Все права защищены.

В данном документе содержится общедоступная информация корпорации Cisco.

Лабораторная работа: изучение кадров Ethernet с помощью программы Wireshark

Часть 2: Захват и анализ кадров Ethernet с помощью программы

В части 2 вы воспользуетесь программой Wireshark для захвата локальных и удалённых кадров Ethernet. Затем вы изучите сведения, содержащиеся в полях заголовков кадров.

Шаг 1: Определите IP-адрес шлюза по умолчанию на своём ПК.

Откройте окно командной строки и введите ipconfig . Назовите IP-адрес шлюза ПК по умолчанию. 192.168.1.1

Шаг 2: Начните захват трафика на сетевом адаптере своего ПК.

a. Откройте Wireshark.

b. На панели инструментов анализатора сети Wireshark нажмите на значок Interface List (Список интерфейсов).

c. В окне Wireshark: Capture Interfaces (Захват интерфейсов) выберите интерфейс, в котором нужно начать захват трафика, установив соответствующий флажок, и нажмите кнопку Start (Пуск). Если вы не знаете, какой интерфейс выбрать, нажмите кнопку Details (Сведения), чтобы открыть подробную информацию о каждом из указанных интерфейсов.

d. Понаблюдайте за трафиком в окне списка пакетов (Packet List).

© Корпорация Cisco и/или её дочерние компании, 201 . Все права защищены.

В данном документе содержится общедоступная информация корпорации Cisco.

Лабораторная работа: изучение кадров Ethernet с помощью программы Wireshark

Шаг 3: С помощью фильтров программы Wireshark отобразите на экране только трафик

Чтобы скрыть ненужный трафик, установите соответствующий фильтр Wireshark. Фильтр не блокирует захват ненужных данных, а лишь отбирает то, что нужно показывать на экране. На данный момент разрешено отображение только ICMP-трафика.

В поле Filter (Фильтр) программы Wireshark введите icmp . При правильной настройке фильтра поле должно стать зелёным. Если поле стало зелёным, нажмите кнопку Аpply (Применить), чтобы применить фильтр.

Шаг 4: Из окна командной строки отправьте эхо-запрос с помощью команды ping на шлюз ПК по умолчанию.

Из окна командной строки отправьте эхо-запрос с помощью команды ping на шлюз по умолчанию, используя IP-адрес, записанный в шаге 1.

Шаг 5: Остановите захват трафика на сетевом адаптере.

Чтобы остановить захват трафика, нажмите на значок Stop Capture (Остановить захват).

Шаг 6: Изучите первый эхо-запрос с помощью команды ping в программе Wireshark.

Главное окно программы Wireshark состоит из трёх разделов: панель списка пакетов (вверху), панель сведений о пакете (посередине) и панель отображения пакета в виде последовательности байтов (внизу). Если вы правильно выбрали интерфейс для захвата пакетов в шаге 3, программа Wireshark отобразит данные протокола ICMP на панели списка пакетов, как показано в приведённом ниже примере.

© Корпорация Cisco и/или её дочерние компании, 201 . Все права защищены.

В данном документе содержится общедоступная информация корпорации Cisco.

Лабораторная работа: изучение кадров Ethernet с помощью программы Wireshark

a. На панели списка пакетов (верхний раздел) выберите первый указанный кадр. В столбце Info (Информация) появится значение Echo (ping) request (эхо-запрос с помощью команды ping). Строка станет синей.

b. Изучите первую строку в панели сведений о пакете в средней части экрана. В этой строке указывается длина кадра (в данном примере — 74 байта).

c. Вторая строка в панели Packet Details (Сведения о пакете) показывает, что это кадр Ethernet II. Также отображаются MAC-адреса источника и назначения.

Назовите MAC-адрес сетевого адаптера этого ПК. ________________________

Назовите MAC-адрес шлюза по умолчанию. 30:F7:0D:7A:EC:84

d. Чтобы получить больше информации о кадре Ethernet II, нажмите на значок плюса («+») в начале второй строки. Обратите внимание на то, что значок плюса при этом изменится на значок минуса

Назовите показанный тип кадра. ________________________________

e. Последние две строки среднего раздела содержат информацию о поле данных кадра. Обратите внимание на то, что данные содержат IPv4-адреса источника и назначения.

Назовите IP-адрес источника. _________________________________

Назовите IP-адрес назначения. 10.20.164.17

f. Чтобы выделить эту часть кадра (в шестнадцатеричной системе и ASCII) в панели отображения пакета в виде последовательности байтов (нижний раздел) нажмите на любую строку в среднем разделе. Нажмите на строку Internet Control Message Protocol в среднем разделе и посмотрите, что будет выделено в панели отображения пакета в виде последовательности байтов.

© Корпорация Cisco и/или её дочерние компании, 201 . Все права защищены.

В данном документе содержится общедоступная информация корпорации Cisco.

Лабораторная работа: изучение кадров Ethernet с помощью программы Wireshark

Какое слово образуют последние два выделенных октета? hi

g. Нажмите на следующий кадр в верхнем разделе и изучите кадр эхо-ответа. Обратите внимание на то, что МАС-адреса источника и назначения поменялись местами, поскольку маршрутизатор, который служит шлюзом по умолчанию, отправил этот кадр в ответ на первый эхо-запрос

с помощью команды ping.

Какое устройство и MAC-адрес отображаются в качестве адреса назначения?

Шаг 7: Перезапустите захват пакетов в программе Wireshark.

Нажмите на значок Start Capture (Начать захват), чтобы начать новый захват данных в программе Wireshark. Откроется всплывающее окно с предложением сохранить предыдущие захваченные пакеты в файл перед началом нового захвата. Нажмите кнопку Continue without Saving (Продолжить без сохранения).

Шаг 8: Через окно командной строки отправьте эхо-запрос с помощью команды ping на веб-сайт www.cisco.com .

Шаг 9: Остановите захват пакетов.

© Корпорация Cisco и/или её дочерние компании, 201 . Все права защищены.

В данном документе содержится общедоступная информация корпорации Cisco.

Лабораторная работа: изучение кадров Ethernet с помощью программы Wireshark

Шаг 10: Изучите новые данные на панели списка пакетов в программе Wireshark.

Назовите МАС-адреса источника и назначения в первом кадре эхо-запроса с помощью команды ping.

Назовите IP-адреса источника и назначения в поле данных кадра.

Сравните эти адреса с адресами, полученными в шаге 7. Изменился только IP-адрес назначения. Почему IP-адрес назначения изменился, а MAC-адрес назначения остался прежним?

Вопросы на закрепление

Программа Wireshark не отображает поле преамбулы заголовка кадра. Что содержит преамбула?

>;5 ?@50<1C;K A>AB>8B 87 A5<8 109B>2 A8=E@>=878@CNI8E 40==KE. 064K9 109B A>45@68B >4=C 8 BC 65

Протокол ARP — протокол разрешения адресов, принцип работы

Протокол ARP расшифровывается, как Address Resolution Protocol — протокол разрешения адресов. В сети обычно взаимодействуем с компьютерами с помощью IP-адресов, или с помощью доменных имен, которые службой DNS все равно преобразуются в IP-адреса.

p, blockquote 1,0,0,0,0 —>

Протокол ARP

p, blockquote 2,0,0,0,0 —>

Но в реальности данные передаются с помощью какой-нибудь технологии канального уровня, например Ethernet. Коммутаторы Ethernet ничего не знают об IP-адресах и для передачи данных используют MAC-адреса. Следовательно, необходимо средство, которое позволяет по IP-адресу компьютера определить его МАК-адрес.

p, blockquote 3,0,0,0,0 —>

Таблица соответствия ARP

Самое простое средство это таблица соответствия. Мы создаем таблицу, в которой пишем IP-адрес и соответствующий ему MAC-адрес.

p, blockquote 4,0,0,0,0 —>

таблица протокола arp

p, blockquote 5,0,0,0,0 —>

Такое средство действительно используется на практике, например в Linux такая табличка хранится в файле /etc/ethers. Однако в крупной сети такой подход не работает.

p, blockquote 6,0,0,0,0 —>

ARP-запрос

Протокол ARP позволяет автоматически определить МАК-адрес компьютера по его IP-адресу. Протокол работает в режиме запрос-ответ.

p, blockquote 7,0,1,0,0 —>

Компьютер, который хочет узнать МАК-адрес по известному IP-адресу, направляет ARP запрос “У кого IP 192.168.10.43?” Запрос отправляется на широковещательный МАК-адрес (FF:FF:FF:FF:FF:FF).

p, blockquote 8,0,0,0,0 —>

p, blockquote 9,0,0,0,0 —>

И этот запрос получают все компьютеры в сети. Тот компьютер, который узнал в запросе свой IP-адрес подготавливает и отправляет ARP ответ. В ответ включается IP-адрес компьютера (IP:192.168.10.43) и его МАК-адрес (MAC: 54:BE:F7:88:15:47).

p, blockquote 10,0,0,0,0 —>

p, blockquote 11,0,0,0,0 —>

Отправитель ARP запроса получает ответ, извлекает из него МАК-адрес и использует его для передачи данных по технологии канального уровня.

p, blockquote 12,0,0,0,0 —>

p, blockquote 13,0,0,0,0 —>

Формат ARP-запроса

ARP разрабатывался, как протокол общего назначения с возможностью применять его не только в Ethernet и не только для IP-адресов. Поэтому в начале ARP пакета идет служебная информация, которая позволяет определить с каким типом сетевого оборудования и с каким протоколом сетевого уровня мы работаем.

p, blockquote 14,0,0,0,0 —>

Формат ARP-запроса

  • Первое поле “тип сети”, говорит о том, какое оборудование мы используем в сети, 1 — соответствует Ethernet.
  • Второе поле “тип протокола” в нем указывается протокол сетевого уровня 2048 означает IP.
  • Дальше идет “длина локального адреса”, в нашем случае МАК-адреса 6 байт, “длина глобального адреса в нашем случае IP-адреса” 4 байта.
  • Следующее поле код операции, 1 — соответствует ARP запросу, а 2 — ARP ответу.
  • Затем идет полезная информация о локальных (1С:75:08:D2:49:45) и глобальных адресах (192.168.10.15). Указывается МАК-адрес и IP-адрес отправителя, для того, чтобы получатель знал, кому отправлять ответ.
  • Глобальный адрес получателя (192.168.10.43).
  • Локальный адрес получателя неизвестен (00:00:00:00:00:00)

Формат ARP-ответа

Формат ARP ответа точно такой же, только в поле “операция” стоит значение 2 и адрес, который мы ищем находится в поле локальный адрес отправителя.

p, blockquote 16,0,0,0,0 —>

p, blockquote 17,0,0,0,0 —>

Место в модели OSI

В модели взаимодействия открытых систем OSI протокол ARP находится между канальным и сетевым уровнем. Пакеты ARP вкладываются напрямую в кадры Ethernet без IP.

p, blockquote 18,0,0,0,0 —>

ARP в модели OSI

p, blockquote 19,0,0,0,0 —>

Из-за того, что ARP находится ниже сетевого уровня, пакеты ARP не проходят через маршрутизаторы. Таким образом, с помощью ARP можно узнать только МАК-адреса компьютеров, которые находятся в одной подсети, а адреса компьютеров, которые находятся в другой подсети отделенные маршрутизатором узнать нельзя.

p, blockquote 20,0,0,0,0 —>

p, blockquote 21,0,0,0,0 —>

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

p, blockquote 22,0,0,0,0 —>

p, blockquote 23,0,0,1,0 —>

ARP-таблица

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

p, blockquote 24,0,0,0,0 —>

p, blockquote 25,0,0,0,0 —>

Таблица состоит из 3-х полей — IP-адрес, MAC-адрес и Тип записи в ARP таблице. Есть статическая запись, которая внесена в таблицу вручную и динамическая запись, которая появилась в результате работы протокола ARP. Динамические записи имеют срок жизни после которого они удаляются, это нужно для того, чтобы отслеживать изменения IP-адресов в компьютерах.

p, blockquote 26,0,0,0,0 —>

Посмотреть ARP таблицу на компьютере можно с помощью команды arp -a.

Оптимизация ARP

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

p, blockquote 28,0,0,0,0 —>

Добровольный ARP-запрос (Gratuitous ARP)

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

p, blockquote 29,0,0,0,0 —>

Другая цель это проверка использования данного ip-адреса другим компьютером. Если на добровольный ARP запрос пришел ответ, это значит, что какой-то компьютер в сети уже использует этот ip-адрес и назначать его компьютеру отправителя нельзя.

p, blockquote 30,0,0,0,0 —>

Выводы по протоколу ARP

ARP — протокол разрешения адресов, который позволяет по IP-адресу определить MAC-адрес компьютера в сети. ARP работает в режиме запрос-ответ. Запрос отправляется на широковещательный адрес и его получают все компьютеры в сети, а отвечает только тот компьютер, который узнал свой ip-адрес и в ответ он вкладывает искомый мак-адрес. Результаты ARP запросов для повышения производительности записываются в ARP-таблицу.

Протоколы ARP, RARP, ICMP, IGMP

Любое устройство, подключенное к локальной сети ( Ethernet , FDDI и т.д.), имеет уникальный физический сетевой адрес, заданный аппаратным образом. 6-байтовый Ethernet-адрес выбирает изготовитель сетевого интерфейсного оборудования из выделенного для него по лицензии адресного пространства. Если у машины меняется сетевой адаптер, то меняется и ее Ethernet-адрес.

4-байтовый IP-адрес задает менеджер сети с учетом положения машины в сети Интернет. Если машина перемещается в другую часть сети Интернет, то ее IP-адрес должен быть изменен. Преобразование IP-адресов в сетевые выполняется с помощью arp-таблицы. Каждая машина сети имеет отдельную ARP-таблицу для каждого своего сетевого адаптера. Не трудно видеть, что существует проблема отображения физического адреса (6 байт для Ethernet ) в пространство сетевых IP-адресов (4 байта) и наоборот.

Протокол ARP ( address resolution protocol , RFC-826) решает именно эту проблему — преобразует ARP- в Ethernet-адреса.

ARP-таблица для преобразования адресов

Преобразование адресов выполняется путем поиска в таблице. Эта таблица, называемая ARP-таблицей, хранится в памяти и содержит строки для каждого узла сети. В двух столбцах содержатся IP- и Ethernet-адреса. Если требуется преобразовать IP-адрес в Ethernet-адрес, то ищется запись с соответствующим IP-адресом. Ниже приведен пример упрощенной ARP-таблицы.

Ethernet-адрес

08:00:39:00:2F:C3
08:00:5A:21:A7:22
08:00:10:99:AC:54

Табл.1. Пример ARP-таблицы

Принято все байты 4-байтного IP-адреса записывать десятичными числами, разделенными точками. При записи 6-байтного Ethernet-адреса каждый байт указывается в 16-ричной системе и отделяется двоеточием.

ARP-таблица необходима потому, что IP-адреса и Ethernet-адреса выбираются независимо, и нет какого-либо алгоритма для преобразования одного в другой. IP-адрес выбирает менеджер сети с учетом положения машины в сети internet . Если машину перемещают в другую часть сети internet , то ее IP-адрес должен быть изменен. Ethernet-адрес выбирает производитель сетевого интерфейсного оборудования из выделенного для него по лицензии адресного пространства. Когда у машины заменяется плата сетевого адаптера, то меняется и ее Ethernet-адрес.

ARP Кэш

Эффективность функционирования ARP во многом зависит от ARP кэша (ARP cache ), который присутствует на каждом хосте. В кэше содержатся Internet адреса и соответствующие им аппаратные адреса. Стандартное время жизни каждой записи в кэше составляет 20 минут с момента создания записи.

1.2. Схема работы протокола ARP

ARP предоставляет динамическое сопоставление IP адресов и соответствующих аппаратных адресов. Мы используем термин динамическое, так как это происходит автоматически и обычно не зависит от используемых прикладных программ или воли системного администратора. Порядок преобразования адресов

В ходе обычной работы сетевая программа, такая как TELNET, отправляет прикладное сообщение, пользуясь транспортными услугами TCP. Модуль TCP посылает соответствующее транспортное сообщение через модуль IP. В результате составляется IP-пакет, который должен быть передан драйверу Ethernet . IP-адрес места назначения известен прикладной программе, модулю TCP и модулю IP. Необходимо на его основе найти Ethernet-адрес места назначения. Для определения искомого Ethernet-адреса используется ARP-таблица.

Запросы и ответы протокола ARP

Как же заполняется ARP-таблица? Она заполняется автоматически модулем ARP, по мере необходимости. Когда с помощью существующей ARP-таблицы не удается преобразовать IP-адрес, то происходит следующее:

  1. По сети передается широковещательный ARP-запрос.
  2. Исходящий IP-пакет ставится в очередь.

Каждый сетевой адаптер принимает широковещательные передачи. Все драйверы Ethernet проверяют поле типа в принятом Ethernet-кадре и передают ARP-пакеты модулю ARP. ARP-запрос можно интерпретировать так: "Если ваш IP-адрес совпадает с указанным , то сообщите мне ваш Ethernet-адрес". Пакет ARP-запроса выглядит примерно так:

IP-адрес отправителя
Ethernet-адрес отправителя

Искомый IP-адрес
Искомый Ethernet-адрес

Табл.2. Пример ARP-запроса

Каждый модуль ARP проверяет поле искомого IP-адреса в полученном ARP-пакете и, если адрес совпадает с его собственным IP-адресом, то посылает ответ прямо по Ethernet-адресу отправителя запроса. ARP-ответ можно интерпретировать так: "Да, это мой IP-адрес, ему соответствует такой-то Ethernet-адрес". Пакет с ARP-ответом выглядит примерно так:

IP-адрес отправителя
Ethernet-адрес отправителя

Искомый IP-адрес
Искомый Ethernet-адрес

Табл.3. Пример ARP-ответа

Этот ответ получает машина, сделавшая ARP-запрос. Драйвер этой машины проверяет поле типа в Ethernet-кадре и передает ARP-пакет модулю ARP. Модуль ARP анализирует ARP-пакет и добавляет запись в свою ARP-таблицу.

Этот ответ получает машина, сделавшая ARP-запрос. Драйвер этой машины проверяет поле типа в Ethernet-кадре и передает ARP-пакет модулю ARP. Модуль ARP анализирует ARP-пакет и добавляет запись в свою ARP-таблицу.

Обновленная таблица выглядит следующим образом:

Ethernet-адрес

08:00:39:00:2F:C3
08:00:28:00:38:A9
08:00:5A:21:A7:22
08:00:10:99:AC:54

Табл.4. ARP-таблица после обработки ответа

Продолжение преобразования адресов

Новая запись в ARP-таблице появляется автоматически, спустя несколько миллисекунд после того, как она потребовалась. Как вы помните, ранее на шаге 2 исходящий IP-пакет был поставлен в очередь. Теперь с использованием обновленной ARP-таблицы выполняется преобразование IP адреса в Ethernet-адрес, после чего Ethernet-кадр передается по сети. Полностью порядок преобразования адресов выглядит так:

  1. По сети передается широковещательный ARP-запрос.
  2. Исходящий IP-пакет ставится в очередь.
  3. Возвращается ARP-ответ, содержащий информацию о соответствии IP- и Ethernet-адресов. Эта информация заносится в ARP-таблицу.
  4. Для преобразования IP-адреса в Ethernet-адрес у IP-пакета, поставленного в очередь, используется ARP-таблица.
  5. Ethernet-кадр передается по сети Ethernet .

Короче говоря, если с помощью ARP-таблицы не удается сразу осуществить преобразование адресов, то IP-пакет ставится в очередь, а необходимая для преобразования информация получается с помощью запросов и ответов протокола ARP, после чего IP-пакет передается по назначению.

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

Уполномоченный агент ARP

Уполномоченный агент ARP позволяет маршрутизатору отвечать на ARP запросы в одну сеть, в то время как запрашиваемый хост находится в другой сети. С помощью этого средства происходит обман отправителя, который отправил ARP запрос, после чего он думает, что маршрутизатор является хостом назначения, тогда как в действительности хост назначения находится "на другой стороне" маршрутизатора . Маршрутизатор выступает в роли уполномоченного агента хоста назначения, перекладывая пакеты от другого хоста.

Для того чтобы лучше описать работу уполномоченных агентов ARP, мы рассмотрим пример. Из рисунка 3.10 видно, что система sun подключена к двум сетям Ethernet . Однако в действительности это не так, в чем можно убедиться, если сравнить этот рисунок с рисунком, который приведен на внутренней стороне обложки. Между sun и подсетью 140.252.1 находится маршрутизатор , который выступает в роли уполномоченного агента ARP, при этом все выглядело так, как будто sun находится в подсети 140.252.1. На рисунке 4.6 показано, что Telebit NetBlazer , названный netb , находится между подсетью и хостом sun .

Рисунок 4.6 Пример уполномоченного ARP.

Когда какой-либо другой хост в подсети 140.252.1 (скажем, gemini ) хочет послать IP датаграмму хосту sun на адрес 140.252.1.29, gemini сравнивает идентификатор сети (140.252) и идентификатор подсети (1), и если они идентичны, отправляет ARP запрос в верхний Ethernet (на рисунке 4.6) на IP адрес 140.252.1.29. Маршрутизатор netb распознает этот IP адрес как принадлежащий одному из dialup хостов и отвечает, отправив аппаратный адрес этого Ethernet интерфейса в кабель 140.252.1. Хост gemini посылает IP датаграмму в netb по Ethernet , а netb направляет датаграмму в sun по SLIP каналам с дозвоном ( dialup ). Это делает его прозрачным для всех хостов подсети 140.252.1, так как хост sun действительно находится "позади" маршрутизатора netb .

1.3. Формат пакета ARP

На рисунке показан формат ARP запроса и формат ARP отклика, в случае использования Ethernet и IP адресов. (ARP можно использовать в других сетей, при этом он способен устанавливать соответствие не только для IP адресов. Первые четыре поля, следующие за полем типа фрейма, указывают на типы и размеры заключительных четырех полей.)

Рисунок . Формат ARP запроса или отклика при работе с Ethernet .

Два первых поля в Ethernet заголовке — поля источника и назначения Ethernet . Специальный адрес назначения Ethernet , состоящий из всех единиц, означает широковещательный адрес. Фреймы с таким адресом будут получены всеми Ethernet интерфейсами на кабеле.

Двухбайтовый тип фрейма ( frame type ) Ethernet указывает, данные какого типа, пойдут следом. Для ARP запроса или ARP отклика это поле содержит 0x0806.

Выражения аппаратный ( hardware ) и протокол ( protocol ) используются для описания полей в пакетах ARP. Например, ARP запрос запрашивает аппаратный адрес (в данном случае Ethernet адрес) соответствующий адресу протокола (в данном случае IP адрес).

Поле hard type указывает на тип аппаратного адреса. Для Ethernet это значение равно единице. Prot type указывает тип адреса протокола, к которому будет приведено соответствие. Для IP адресов используется значение 0x0800. По своему целевому назначению это значение соответствует полю типа во фрейме Ethernet , который содержит IP датаграмму . ( См . рисунок 2.1.)

Два следующих однобайтных поля, hard size и prot size , указывают на размеры в байтах аппаратного адреса и адреса протокола. В ARP запросах и откликах они составляют 6 для Ethernet и 4 для IP адреса.

Поле op указывает на тип операции: ARP запрос (значение устанавливается в 1), ARP отклик (2), RARP запрос (3) и RARP отклик (4). Это поле необходимо, так как поля типа фрейма ( frame type ) одинаковы для ARP запроса и ARP отклика.

Следующие четыре поля: аппаратный адрес отправителя ( Ethernet адрес в данном примере), адрес протокола (IP адрес), аппаратный адрес назначения и адрес протокола назначения. Обратите внимание, что в данном случае происходит некоторое дублирование информации: аппаратный адрес отправителя может быть получен как из Ethernet заголовка, так и из ARP запроса.

Для ARP запроса все поля заполнены, за исключением аппаратного адреса назначения. Когда система получает ARP запрос, который предназначается ей, она вставляет свой аппаратный адрес, меняет местами адреса источника и назначения, устанавливает поле op в значение 2 и отправляет отклик.

1.4. Протокол Proxy — ARP

Еще одна разновидность протокола ARP служит для того, чтобы один и тот же сетевой префикс адреса можно было использовать для двух сетей. Этот протокол называется смешанным протоколом ARP ( proxy ). Предположим, мы имеем сеть из четырех ЭВМ (1-4; рис. 4.4.7.1), которую бы мы хотели соединить с другой сетью из четырех ЭВМ (5-8), причем так, чтобы машины взаимодействовали друг с другом так, будто они принадлежат одной сети. Решить эту проблему можно, соединив эти сети через маршрутизатор M, работающий в соответствии со смешанным протоколом ARP (функционально это IP-мост). Маршрутизатор знает, какая из машин принадлежит какой физической сети. Он перехватывает широковещательные ARP-запросы из сети 1, относящиеся к сети 2, и наоборот. Во всех случаях в качестве физического адреса маршрутизатор возвращает свой адрес. В дальнейшем, получая дейтограммы, он маршрутизирует их на физические адреса по их IP-адресам.

Рис. 4.4.7.1. Использование протокола proxy ARP

Не трудно видеть, что в смешанном протоколе ARP нескольким IP-адресам ставится в соответствие один и тот же физический адрес. Поэтому системы, где предусмотрен контроль за соответствием физических и IP-адресов, не могут работать со смешанным протоколом ARP. Главным преимуществом этого протокола является то, что он позволяет путем добавления одного маршрутизатора ( Gateway ) подключить к Интернет еще одну сеть, не изменяя таблиц маршрутизации в других узлах. Этот протокол удобен для сети, где есть ЭВМ, не способная работать с субсетями . Протокол используется при построении сетей Интранет .

2. RARP.

2.1. Назначение протокола R ARP

Когда загружается система с локальным диском, она обычно получает свой IP адрес из конфигурационного файла, который считывается с диска. Однако для систем, не имеющих диска, таких как X терминалы или бездисковые рабочие станции, требуются другой способ определения собственного IP адреса.

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

Протокол (и сервер) RARP обеспечивает определение IP адреса по MAC адресу (например, при загрузке устройства, не имеющего возможности хранить свой собственный IP адрес), т.е. Выполняет функции обратные протоколу ARP. Уникальный MAC адрес обеспечивается изготовителем устройства.

Клиент RARP посылает широковещательный кадр Ethernet с запросом, содержащим MAC адрес целевого узла. В ответ от сервера ожидается RARP пакет ( unicast ), содержащий соответствующий ему IP адрес. Ответ может быть получен непосредственно от RARP сервера или от посредника ( proxy ). В качестве посредника обычно выступает маршрутизатор . В сегменте сети может быть несколько RARP серверов, так что можно ожидать несколько ответов.

RARP используется большинством бездисковых систем при загрузке, для получения свох IP адресов. Формат пакета RARP практически идентичен пакету ARP. Запрос RARP широковещательный, в нем содержится аппаратный адрес отправителя, при этом он спрашивает кого-либо послать ему его IP адрес. Отклик обычно персональный.

Проблемы с RARP заключаются в том, что он использует широковещательные запросы на канальном уровне, поэтому большинство маршрутизаторов не могут перенаправлять RARP запросы; а также в том, что передается минимум необходимой информации: только IP адрес системы. В главе 16 мы увидим, что BOOTP сообщает значительно больше информации необходимой при загрузке бездисковых систем: IP адрес, имя хоста, с которого происходит загрузка, и так далее.

Несмотря на то что концепция RARP довольно проста, реализация RARP сервера зависит от системы. Также надо отметить, что не все TCP/IP реализации предоставляют RARP сервер.

2.2. Формат RARP-сообщения

Формат пакета RARP практически идентичен пакету ARP .

Единственное отличие заключается в том, что поле тип фрейма ( frame type ) для запроса или отклика RARP установлено в 0x8035, а поле op имеет значение 3 для RARP запроса и значение 4 для RARP отклика.

RARP запрос является широковещательным, а RARP отклик обычно персональный.

3. Протокол ICMP.

3.1. Назначение протокола ICMP

Протокол межсетевых управляющих сообщений ICMP ( Internet Control Message Protocol ) является обязательным стандартом TCP/IP, описанным в документе RFC 792, « Internet Control Message Protocol (ICMP)». Используя ICMP, узлы и маршрутизаторы , связывающиеся по протоколу IP, могут сообщать об ошибках и обмениваться ограниченной управляющей информацией и сведениями о состоянии.

ICMP-сообщения обычно автоматически отправляются в следующих случаях.

IP-датаграмма не может попасть к узлу назначения.

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

IP-маршрутизатор перенаправляет узел-отправитель на другой, более выгодный маршрут к узлу назначения.

Протокол обмена управляющими сообщениями ICMP ( Internet Control Message Protocol ) позволяет маршрутизатору сообщить конечному узлу об ошибках, с которыми машрутизатор столкнулся при передаче какого-либо IP-пакета от данного конечного узла.

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

Протокол ICMP — это протокол сообщения об ошибках, а не протокол коррекции ошибок. Конечный узел может предпринять некоторые действия для того, чтобы ошибка больше не возникала, но эти действия протоколом ICMP не регламентируются.

Каждое сообщение протокола ICMP передается по сети внутри пакета IP. Пакеты IP с сообщениями ICMP маршрутизируются точно так же, как и любые другие пакеты, без приоритетов, поэтому они также могут теряться. Кроме того, в загруженной сети они могут вызывать дополнительную загрузку маршрутизаторов . Для того, чтобы не вызывать лавины сообщения об ошибках, потери пакетов IP, переносящие сообщения ICMP об ошибках, не могут порождать новые сообщения ICMP.

3.2. Формат ICMP-пакета

ICMP-сообщения инкапсулируются и передаются в IP-датаграммах , как показано на следующем рисунке.

Существует несколько типов сообщений ICMP. Каждый тип сообщения имеет свой формат, при этом все они начинаются с общих трех полей: 8-битного целого числа, обозначающего тип сообщения (TYPE), 8-битного поля кода (CODE), который конкретизирует назначение сообщения, и 16-битного поля контрольной суммы (CHECKSUM). Кроме того, сообщение ICMP всегда содержит заголовок и первые 64 бита данных пакета IP, который вызвал ошибку. Это делается для того, чтобы узел-отправитель смог более точно проанализировать причину ошибки, так как все протоколы прикладного уровня стека TCP/IP содержат наиболее важную информацию для анализа в первых 64 битах своих сообщений.

Поле типа может иметь следующие значения:

Тип сообщения

Эхо-ответ ( Echo Replay )

Узел назначения недостижим ( Destination Unreachable )

Подавление источника ( Source Quench )

Перенаправление маршрута ( Redirect )

Эхо-запрос ( Echo Request )

Истечение времени дейтаграммы ( Time Exceeded for a Datagram )

Проблема с параметром пакета (Parameter Problem on a Datagram)

Запрос отметки времени ( Timestamp Request )

Ответ отметки времени ( Timestamp Replay )

Запрос маски (Address Mask Request)

Ответ маски (Address Mask Replay)

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

3.3. Утилита ping

ping — это служебная компьютерная программа , предназначенная для проверки соединений в сетях на основе TCP/IP .

Она отправляет запросы Echo-Request протокола ICMP указанному узлу сети и фиксирует поступающие ответы (ICMP Echo-Reply ). Время между отправкой запроса и получением ответа (RTT, от англ. Round Trip Time ) позволяет определять двусторонние задержки (RTT) по маршруту и частоту потери пакетов, то есть косвенно определять загруженности каналов передачи данных и промежуточных устройств.

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

Полное отсутствие ICMP-ответов может также означать, что удалённый узел (или какой-либо из промежуточных маршрутизаторов ) блокирует ICMP Echo-Reply или игнорирует ICMP Echo-Request .

Программа ping является одним из основных диагностических средств в сетях TCP/IP и входит в поставку всех современных сетевых операционных систем . Функциональность ping также реализована в некоторых встроенных ОС маршрутизаторов , доступ к результатам выполнения ping для таких устройств по протоколу SNMP определяется RFC 2925 ( Definitions of Managed Objects for Remote Ping , Traceroute , and Lookup Operations ).

Так как программа использует ICMP и создает raw-пакеты для её выполнения в unix-системах необходимы права суперпользователя . Чтобы обычные пользователи могли использовать ping на / bin / ping ставят SUID бит в права доступа.

3.4. Утилита traceroute

Traceroute — это служебная компьютерная программа , предназначенная для определения маршрутов следования данных в сетях TCP/IP . Traceroute основана на протоколе ICMP .

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

Traceroute входит в поставку большинства современных сетевых операционных систем . В системах Microsoft Windows эта программа носит название tracert .

Принцип работы traceroute

Для определения промежуточных маршрутизаторов traceroute отправляет серию пакетов данных целевому узлу, при этом каждый раз увеличивая на 1 значение поля TTL («время жизни»). Это поле обычно указывает максимальное количество маршрутизаторов , которое может быть пройдено пакетом. Первый пакет отправляется с TTL, равным 1, и поэтому первый же маршрутизатор возвращает обратно сообщение ICMP , указывающее на невозможность доставки данных. Traceroute фиксирует адрес маршрутизатора , а также время между отправкой пакета и получением ответа (эти сведения выводятся на монитор компьютера). Затем traceroute повторяет отправку пакета, но уже с TTL, равным 2, что позволяет первому маршрутизатору пропустить пакет дальше.

Процесс повторяется до тех пор, пока при определённом значении TTL пакет не достигнет целевого узла. При получении ответа от этого узла процесс трассировки считается завершённым.

4. Протокол IGMP.

4.1. Назначение протокола IGMP

Передача мультимедийных данных по сетям Интернет является одним из наиболее важных направлений. Этот вид информации передается обычно в режиме без установления соединения (протокол UDP-RTP). Наиболее типичной схемой в этом случае является наличие одного передатчика и большого числа приемников. Эта схема реализуется с использованием мультикастинг-адресации . Мультикастинг-адресация может осуществляться на IP- и MAC-уровнях. В Ethernet для этих целей зарезервирован блок адресов в диапазоне от 01:00:5E:00:00:00 до 01:00:5E:7F:FF:FF. Первый байт адреса, равный 01, указывает на то, что адрес является мультикастным . Данная схема резервирования адресного пространства позволяет использовать 23 бита Ethernet-адреса для идентификации группы рассылки при IP-мультикастинге (см. рис. 4.4.9.1.).

Рис. 4.4.9.1. Соотношение мультикастинговых MAC- и IP-адресов

Область из 5 бит в IP-адресе, отмеченная *****, не используется при формировании Ethernet-адреса. Так как соотношение IP и MAC-адресов не является однозначным, драйверы должны обеспечивать обработку адресов с тем, чтобы интерфейсы получали только те кадры, которые действительно им предназначены. Для того чтобы информировать маршрутизатор о наличии участников мультикастинг-обмена в субсети , связанной с тем или иным интерфейсом, используется протокол IGMP.

Протокол IGMP ( internet group management protocol , RFC-1112) используется для видеоконференций, передачи звуковых сообщений, а также группового исполнения команд различными ЭВМ. Этот протокол использует групповую адресацию ( мультикастинг ).

Групповая форма адресации нужна тогда, когда какое-то сообщение или последовательность сообщений необходимо послать нескольким (но не всем) адресатам одновременно. При этой форме адресации ЭВМ имеет возможность выбрать, хочет ли она участвовать в этой процедуре. Когда группа ЭВМ хочет взаимодействовать друг с другом, используется один групповой ( мультикастинг ) адрес. Групповая адресация может рассматриваться как обобщение обычной системы адресов, а традиционный IP-адрес — частный случай группового обращения при числе ЭВМ, равном 1.

При групповой адресации один и тот же пакет может быть доставлен заданной группе ЭВМ. Членство в этой группе может динамично меняться со временем. Любая ЭВМ может войти в группу и выйти из группы в любое время по своей инициативе. В то же время ЭВМ может быть членом большого числа таких групп. ЭВМ может посылать пакеты членам группы, не являясь им сама. Каждая группа имеет свой адрес класса D (рис. 4.4.9.2, см. также рис. 4.4.9.1).

Рис. 4.4.9.2. Формат группового адреса

Адрес 224.0.0.1 предназначен для обращения ко всем группам (все узлы и серверы, вовлеченные в данный момент в мультикастинг-обмен , например, участвующие в видеоконференции). ЭВМ может участвовать в мультикастинг-процессе на одном из следующих уровней:

Русские Блоги

Протокол ARP (протокол разрешения адресов) — это протокол разрешения адресов. Его основная функция — запрашивать MAC-адрес целевого хоста через IP-адрес целевого хоста для обеспечения бесперебойного обмена данными. Он доступен на каждом компьютере с установленным протоколом TCP / IP. Таблица кэша ARP, IP-адрес и MAC-адрес в этой таблице взаимно однозначно соответствуют.

2. Зачем мне нужен MAC-адрес, если у меня есть IP-адрес

Обычно нам нужно знать IP-адрес другой стороны только при использовании компьютера для связи с другим компьютером в сети. Зачем нужен mac-адрес?

Это связано с тем, что пакеты данных связи между хостом и хостом в сети должны быть инкапсулированы сверху вниз в соответствии с моделью OSI. Когда инкапсуляция данных завершена, они будут отправлены на нижний уровень. IP-адрес и MAC-адрес должны быть инкапсулированы. Как правило, Для приложений верхнего уровня это больше касается IP-адресов, а не MAC-адресов, в то время как для передачи данных по сетевым каналам нижнего уровня используются MAC-адреса.

Другими словами, независимо от того, какой протокол использует сетевой уровень, при передаче кадров данных по фактическому сетевому каналу в конце должен использоваться MAC-адрес (аппаратный адрес), поэтому протокол ARP требуется для получения MAC-адреса хоста назначения для завершения данных. Инкапсуляция и пересылка. Каждый хост имеет кэш ARP, который содержит таблицу сопоставления IP-адреса с MAC-адресом каждого хоста и маршрутизатора в локальной сети. Когда хост A хочет отправить IP-дейтаграмму хосту B в локальной сети, он сначала проверяет свой кэш ARP на предмет IP-адреса хоста B. Если это так, вы можете узнать соответствующий ему MAC-адрес, записать этот MAC-адрес в MAC-фрейм, а затем отправить MAC-фрейм на этот аппаратный адрес через локальную сеть.Это процесс разрешения адресов ARP.

Так называемое разрешение адресов — это фактически процесс, в котором хост преобразует целевой IP-адрес в целевой MAC-адрес, то есть протокол ARP должен реализовать отображение из IP-адреса в MAC-адрес.

Кроме того, логический адрес обычно относится к IP-адресу хоста, а физический адрес относится к MAC-адресу сетевой карты компьютера.

3. Логический адрес и физический адрес

Преобразуйте логический адрес в двоичный:
10.1.0.6 ————> 00001010 . 00000001 . 00000000 . 00000110

Физический адрес преобразуется в двоичный: каждый бит физического адреса рассчитывается отдельно
74 — E5 — 0B — 35 — 60 — 16 ————> 0111 0100 — 1110 0101 — 0000 1011 — 0011 0101 — 0110 0000 — 0001 0110

Основное различие между логическим адресом и физическим адресом:
Логические адреса работают на сетевом уровне, обычно выражаются в десятичном виде, 32 бита — в двоичном, а физические адреса работают на уровне канала данных (или уровне сетевого интерфейса), обычно в десятичном формате. Шестнадцатеричное представление, 48 бит в двоичном формате.

4. Принцип работы ARP

Если в той же локальной сети IP-адрес хоста A — 209.0.0.5, MAC-адрес хоста A — 00-00-C0-15-AD-18, IP-адрес хоста B — 209.0.0.6, а MAC-адрес хоста B — временно. не знаю.

Как упоминалось ранее, в той же локальной сети MAC-адрес фактически используется для определения единственного хоста. Если хост A хочет связаться с хостом B, например: хост A хочет отправить приветственные данные хосту B, и теперь знает только хост B. IP-адрес и IP-адрес работают на сетевом уровне, но данные передаются с сетевого уровня на канальный уровень с использованием MAC-адреса, но проблема в том, что мы не знаем MAC-адрес хоста B, как показано на рисунке 1. .


Рис. 1

1. При отправке данных хост A будет искать целевой IP-адрес в своей таблице кэша ARP. Если он его найдет, он будет знать, что целевой MAC-адрес (00-BB-00-62-C2-02), и напрямую установить целевой MAC-адрес. Адрес можно вписать в рамку и отправить. Если соответствующий IP-адрес не найден в таблице кэша ARP, хост A отправит широковещательный запрос (запрос ARP) по сети, целевой MAC-адрес — «FF.FF.FF.FF.FF.FF», что означает Все хосты в одном сегменте сети отправляют этот запрос: «Какой MAC-адрес 192.168.38.11?»


Рис. 2

2. После получения широковещательного запроса другие хосты будут соответствовать IP-адресу 209.0.0.6, запрошенному хостом A, своему собственному IP-адресу. Если он неверен, отклоните широковещательный запрос (запрос ARP) напрямую и не ответят на хост A. После получения запроса B получает IP-адрес и соответствует самому себе, и отправляет сообщение ответа ARP, сообщая хосту A IP-адрес и MAC-адрес хоста B. Примечание. Хост B отвечает в одноадресной форме при ответе, в то время как хост A отправляет в широковещательной форме. 。

5. Формат сообщения данных ARP

Сказав это так долго, теперь мы посмотрим на формат инкапсуляции дейтаграммы ARP, как показано на рисунке 3:


Рис. 3

Тип оборудования: это 16-битное поле, используемое для определения типа сети, в которой работает протокол ARP.Например, если тип Ethernet равен 1, это означает, что ARP можно использовать в физической сети.

Тип протокола: это также 16-битное поле, используемое для указания типа протокола.

Длина оборудования: это поле занимает 8 бит и используется для определения длины физического адреса, то есть длины MAC-адреса в байтах. Для Ethernet это значение обычно равно 6.

Длина протокола: это поле занимает 8 бит и используется для определения длины логического адреса, то есть длины IP-адреса в байтах. Для протокола IPv4 это значение равно 4.

Операция: это 16-битное поле, используемое для определения типа пакета ARP, а именно 1: запрос ARP, 2: ответ ARP.

Аппаратный адрес отправителя: это поле переменной длины, используемое для определения физического адреса отправителя, а именно MAC-адреса.

Адрес протокола отправителя: это поле переменной длины, используемое для определения логического адреса отправителя, то есть IP-адреса.

Целевой аппаратный адрес: это поле переменной длины, используемое для определения физического адреса (MAC-адреса) цели. Для сообщений с запросом ARP это поле заполняется всеми нулями, поскольку отправитель не знает адрес цели. Физический адрес.

Адрес целевого протокола: это поле переменной длины, используемое для определения логического адреса (IP-адреса) цели.

6. Формат инкапсуляции ARP в Ethernet.

Теперь давайте проанализируем пакет, захваченный протоколом ARP.Рисунок 4 представляет собой пакет ARP, захваченный инструментом сетевого анализа wirehark.


Рисунок 4.
, у кого 192.168.22.77? Сообщите 192.168.22.1 означает запрос MAC-адреса хоста, чей IP-адрес 192.168.22.77, и сообщите свой MAC-адрес хосту с IP-адресом 192.168.22.1
Трансляция означает трансляцию.

Формат инкапсуляции протокола ARP в кадре данных Ethernet показан на рисунке 5:


Рисунок 5.

Ethernet-адрес назначения (Destination): MAC-адрес назначения, ff: ff: ff: ff: ff: ff (двоичное все 1) — широковещательный адрес.
Исходный адрес Ethernet (Источник): MAC-адрес отправителя.
Тип кадра (Type): тип Ethernet, что означает, что кадр данных уровня 2 инкапсулирован протоколом ARP, а 0x0806 означает протокол ARP.
Параметр заполнения (Padding): обычно заполняется 0

Мы анализируем значения полей в пакете ARP на основе пакета ARP, захваченного программным обеспечением WireShark, как показано на рисунке 6:


Рисунок 6.

7. К какому уровню протокола принадлежит ARP?

Функция протокола ARP заключается в получении информации о MAC-адресах и обслуживании канального уровня. С этой точки зрения ARP является протоколом канального уровня; но с иерархической точки зрения ARP основан на протоколе Ethernet, а протокол IP основан на протоколе Ethernet. , У них есть независимые типы типов в протоколе Ethernet. Первый — 0x0806, а второй — 0x0800. Поскольку протоколы ARP и IP «равны», поскольку IP является сетевым уровнем, является ли ARP сетевым уровнем?

Следовательно, мы можем посмотреть, какой уровень протокола ARP, со следующих аспектов:
1. Исходя из функциональных соображений, ARP является протоколом канального уровня.
2. С учетом инкапсуляции уровня / пакета ARP является протоколом сетевого уровня.

8. Роль кеша ARP

Обычно функция кэша ARP на самом деле заключается в том, что хост A кэширует IP-адрес и MAC-адрес хоста B в таблице кеша, так что в следующий раз, когда вы будете общаться, вы можете напрямую проверить таблицу кеша ARP вместо отправки запроса ARP. Широковещательная передача, повышающая эффективность связи. Вот два примера:
1. Чтобы уменьшить объем обмена данными в сети, когда хост A отправляет свой пакет запроса ARP, он записывает свой собственный IP-адрес в аппаратное сопоставление адресов в пакет запроса ARP.

2. Когда хост B получает пакет запроса ARP A, он записывает отображение адресов хоста A в собственный ARP-кеш хоста B, что делает его более удобным для отправки хостом B дейтаграмм в A в будущем.

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

Преобразование IP-адреса в аппаратный выполняется автоматически, и пользователь, использующий хост, не знает этого процесса преобразования адресов. Пока хост или маршрутизатор хочет взаимодействовать с другим хостом или маршрутизатором с известным IP-адресом в сети, протокол ARP автоматически преобразует IP-адрес в аппаратный адрес, требуемый канальным уровнем. По умолчанию ARP кэшируется. Срок годности — две минуты.

Давайте посмотрим на таблицу кэша ARP

9. Таблица кэша ARP

В Windows вы можете использовать команду arp -a для просмотра информации в таблице кэша arp:
arp -d Очистить локальную таблицу кэша arp.
arp —a Просмотр текущей таблицы arp на компьютере
arp –s bind arp address (примечание: этот компьютер вступит в силу, все будет недействительным после следующего перезапуска)

На каждом компьютере или маршрутизаторе с установленным протоколом TCP / IP есть таблица кэша ARP. IP-адрес в таблице соответствует MAC-адресу, как показано на рисунке 7:

 Рисунок 7

Фактически, для протокола ARP существуют другие типы протоколов ARP, такие как прокси-ARP.

Вообще говоря, сетевые устройства, включая компьютеры, будут иметь кеш arp, который используется для хранения информации об IP-адресе и MAC-адресе. Перед отправкой данных он сначала просматривает таблицу кэша ARP. Если MAC-адрес другой стороны находится в таблице кеша, фрейм данных будет инкапсулирован непосредственно с Mac, а затем перенаправлен. Если он не существует, сообщение запроса ARP будет использоваться для запроса обучения, а затем изучать Отношения отображения между полученным IP-адресом и MAC-адресом хранятся в таблице кэша arp.

10. Прокси-ARP

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


Рисунок 8.

На приведенном выше рисунке R1 и R3 находятся в разных LAN. Когда R1 и R3 обмениваются данными друг с другом, R1 сначала отправляет широковещательный пакет ARP, чтобы запросить MAC-адрес R3, но поскольку R1 находится в сегменте сети 12.1.1.0, а R3 — 13.1. 1.0, между R1 и R3 есть межсетевой доступ, что означает, что запрос ARP R1 будет перехвачен R2, а затем R2 инкапсулирует свой MAC-адрес в качестве адреса назначения и отправит дейтаграмму ответа ARP на R1 (добросовестно Обман), то R2 заменит R1 для доступа к R3.

В целом R1 думает, что он посещает R3, но на самом деле именно R2 посещает R3, но R1 не знает процесса прокси. Это так называемый прокси ARP, который обычно используется для межсетевого доступа.

Примечание. Если R2 отключает функцию прокси-сервера arp, когда R1 снова обращается к R3, R2 не передает R1 свой MAC-адрес, и тогда R1 и R3 не могут взаимодействовать. По умолчанию на устройствах Cisco включена функция прокси-сервера arp, то есть R2 будет действовать как промежуточный прокси-сервер для обеспечения межсетевого межсегментного взаимодействия между R1 и R3.

Сценарии использования прокси-ARP: 1. Хост без функции маршрутизации, 2. С функцией маршрутизации пункт назначения указывает на локальный выход.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *