Каждый сетевой инженер знает, как провести простейшую диагностику удаленного хоста: проверить приходят ли арпы, пингуется ли ip-адрес. «Арпы» — это записи с данным IP-адресом в ARP-таблице оборудования, на которое стучится проверяющий. Если её нет, то итог может быть печален – физически канал подключен, а логика не настроена, в следствие чего мак-адрес не резолвится. Если тебе понятно хотя бы два слова их двух последних предложений — ты не безнадежен
ARP (Address Resolution Protocol, RFC 826) — протокол для определения соответствия между логическим адресом сетевого уровня (IP) и физическим адресом устройства (MAC). Сама связь между двумя устройствами в сети проходит именно на канальном уровне (куда и относятся мак-адреса).
Протокол ARP имеет буфер, где и хранится пара IP-адрес — MAC-адрес. Эта информация заносится в т.н. ARP-таблицу. Она служит, чтобы устройства не тратили лишний трафик на очередную идентификацию — это снижает драгоценные миллисекунды при передаче данных. Кстати, в интернете до сих пор нет единого мнения на каком уровне работает APR — на втором (ethernet) или на третьем (ip).
Многие называют его протоколом «2,5 уровня»: ARP должен работать поверх уровня ethernet (это условие выполняется), но поверх ARP должен работать хотя бы один протокол сетевого уровня. Однако в ARP не инкапсулируется ни один из протоколов третьего уровня модели OSI. Таким образом получается подобие уровня 2.5, что-то среднее между канальным и сетевым.
Что за ARP-таблица?
APR-таблица представляет собой…таблицу. В ней всего два основных столбца — айпишник и мак. В то же время, в зависимости от устройства и запроса она будет содержать другие данные (динамика/статика), интерфейс, ip адрес источника (отправителя) и т.д. Например, ARP-таблица на коммутаторе Dlink выглядит так:
Здесь можно обратить внимание на широковещательный адрес (broadcast). Поле «адрес назначения Ethernet» заполняется единицами (ff:ff:ff:ff:ff:ff). Коммутатор, получив такой широковещательный фрейм, отправляет его всем компьютерам сети, как бы обращаясь ко всем с вопросом: «если Вы владелец этого ip адреса (ip адреса назначения), пожалуйста сообщите мне Ваш mac адрес».
Как это работает?
Как туда попадают эти записи? Суть в том, что IP-пакет создается с IP-адресом источника и назначения. Сам этот пакет будет инкапсулирован в кадр Ethernet с MAC-адресом источника и назначения. Окей, свой-то мак-адрес устройство знает. А как ему узнать мак-адрес получателя, чтобы пальнуть в него этим ethernet-кадром? Для этого и существует потокол ARP
IP-протокол (это уже третий, сетевой уровень модели OSI) проверяет есть ли в ARP-таблице принимающей стороны запись об этом устройстве (который отправляет запрос). Если запись существует — начинается передача пакетов. Если нет — отправляется широковещательный ARP-запрос, который выясняет, какому из устройств принадлежит IP-адрес. Протокол ARP опрашивает все хосты в локальной сети и только один отвечает на этот запрос
Один из хостов, которые получили этот широковещательный пакет, видит, что IP-адрес принадлежит ему. И в ответ шлет свой MAC-адрес. Соответственно запись связки IP-MAC заносится в ARP-таблицу. В следующий раз, понятное дело, это операция (для конкретного устройства с этим IP) уже не понадобится.
Наглядно:
Итак. у нас есть два ПК1 и ПК2. Придумаем им IP и MAC-адрес
Давайте из ПК1 запустим команду Ping
ping 192.168.1.2
Pinging 192.168.1.2 with 32 bytes of data:
Reply from 192.168.1.2: bytes=32 time=15ms TTL=57
Reply from 192.168.1.2: bytes=32 time=15ms TTL=57
Reply from 192.168.1.2: bytes=32 time=14ms TTL=57
Reply from 192.168.1.2: bytes=32 time=17ms TTL=57
Ping statistics for 192.168.1.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 14ms, Maximum = 17ms, Average = 15ms
Немного разберём команду. Ping использует протокол ICMP — сетевой протокол из стэка протоколов TCP/IP. Наш сформированный пакет IP-пакет будет иметь исходный IP-адрес ПК1 (192.168.1.1) и IP-адрес назначения ПК2 (192.168.1.2). Дальше мы инкапуслируем IP-пакет в кадр Ethernet . В этом кадре мы уже устанавливаем MAC-адреса: исходный ПК1 (AAA) и целевой ПК2 (BBB).
Это всё здорово, но как ping узнал мак-адрес получателя? Ведь изначально таблица ARP пуста, да и ICMP — протокол сетевой, не канальный. А узнал он его с помощью ARP
Итак, компьютер понимает, что он не знает MAC-адрес компьютера, доступность которого надо проверить. Для этого отправляется широковещательный пакет, о котором мы писали выше. Это сообщение достигнет всех компьютеров в сети
ПК видит, что этот IP принадлежит ему и ответит сообщением ARP Reply — «Это я! И это мой MAC-адрес». Теперь ПК1 может добавить MAC-адрес в свою таблицу ARP и начать пересылку данных в сторону ПК2.
Это очень краткое и поверхностное изложение протокола ARP — далеко не все аспекты работы лежат на поверхности. Дальше — самостоятельная работа. Stay Tuned!
ARP (Address Resolution Protocol) – это протокол, который используется в компьютерных сетях для связи между сетевыми устройствами. Он работает на основе таблицы ARP, которая содержит соответствия между IP-адресами и физическими (MAC) адресами устройств. Таблица ARP роутера – это база данных, в которой хранятся эти соответствия.
Когда две сетевые устройства взаимодействуют, например, когда компьютер отправляет пакет данных на какой-то IP-адрес, он должен знать соответствующий MAC-адрес назначения, чтобы пакет мог быть доставлен. В этом момент протокол ARP вступает в игру и осуществляет запрос в таблице ARP роутера для поиска соответствующего MAC-адреса.
Если соответствующая запись о MAC-адресе присутствует в таблице ARP роутера, то пакет данных может быть успешно доставлен. Если запись отсутствует, то происходит процесс «разрешения адреса» (address resolution). В этом случае, устройство отправит запрос в сеть с вопросом «Какой MAC-адрес имеет данный IP-адрес?». В ответ на запрос, устройство с нужным IP-адресом отправляет свой MAC-адрес, который будет сохранен в таблице ARP роутера.
Таблица ARP роутера постоянно обновляется и дополняется в процессе работы сети. За добавление и удаление записей отвечает сам протокол ARP. Использование таблицы ARP позволяет оптимизировать процесс коммуникации в сети за счет быстрого определения MAC-адресов и, следовательно, увеличения скорости доставки пакетов данных.
Содержание
- Что такое таблица arp и как она работает на роутере
- ARP: назначение и принцип работы
- Зачем роутеру таблица arp
- Как формируется таблица ARP на роутере
- Как таблица arp помогает в маршрутизации пакетов
- Как обновляется таблица ARP на роутере
- Возможные проблемы с таблицей ARP на роутере
- Как узнать содержимое таблицы arp на роутере
Что такое таблица arp и как она работает на роутере
Когда устройство отправляет пакет сетевых данных на устройство с известным IP-адресом, оно сначала проверяет свою таблицу ARP. Если в таблице есть запись для IP-адреса получателя, которая содержит соответствующий MAC-адрес, устройство использует этот MAC-адрес для отправки пакета. Если запись отсутствует, устройство отправляет ARP-запрос в сеть, чтобы узнать MAC-адрес получателя.
ARP-запрос является широковещательным сообщением, которое отправляется на все устройства в сети. Оно содержит IP-адрес отправителя, IP-адрес получателя и специальный ARP-флаг. Устройство, которое имеет соответствующий IP-адрес, отвечает с ARP-ответом, в котором указывается его MAC-адрес.
После получения ARP-ответа устройство добавляет запись в свою таблицу ARP. В результате следующий пакет, который будет отправлен на этот IP-адрес, будет содержать новый MAC-адрес, найденный в таблице ARP.
В таблице ARP могут быть записи для различных устройств в сети. Записи в таблице ARP обычно имеют ограниченное время жизни, и они могут удаляться или обновляться автоматически. Это происходит, чтобы обеспечить актуальность информации о MAC-адресах устройств в сети.
ARP: назначение и принцип работы
ARP работает следующим образом:
1. Когда устройству необходимо отправить пакет данных на определенный IP-адрес, оно сначала проверяет таблицу ARP на наличие соответствующей записи.
2. Если запись найдена, устройство использует соответствующий MAC-адрес для отправки пакета данных непосредственно на сетевой уровень.
3. Если записи нет в таблице ARP, устройство отправляет широковещательное сообщение ARP-запроса, в котором указывает нужный IP-адрес и свой MAC-адрес. Все устройства в сети получают это сообщение.
4. Устройство, у которого есть нужный IP-адрес, отвечает на ARP-запрос, указывая свои IP- и MAC-адреса.
5. После получения ответа, отправляющее устройство обновляет свою таблицу ARP, добавляя новую запись с полученным IP-адресом и MAC-адресом.
6. Теперь устройство может отправить пакет данных на нужный IP-адрес, используя полученный MAC-адрес.
Таким образом, ARP позволяет сетевым устройствам общаться друг с другом, определяя физический адрес устройств по их IP-адресам. Таблица ARP, содержащая информацию о соответствии IP-адресов и MAC-адресов, позволяет оптимизировать процесс отправки данных в сети и ускоряет пересылку информации.
Протокол ARP является неотъемлемой частью функционирования сетей Ethernet и играет важную роль в обеспечении эффективного обмена данными между устройствами в сети.
| IP-адрес | MAC-адрес |
|---|---|
| 192.168.1.1 | AA:BB:CC:DD:EE:FF |
| 192.168.1.2 | 11:22:33:44:55:66 |
Зачем роутеру таблица arp
Зачем это нужно? Роутер не отправляет данные напрямую на физический MAC-адрес устройства, так как он оперирует IP-адресами. Поэтому, передача данных происходит путем конвертации IP-адреса в соответствующий MAC-адрес с помощью таблицы ARP.
Когда роутер получает пакет данных с указанным IP-адресом назначения, он проверяет таблицу ARP. Если MAC-адрес устройства, соответствующего IP-адресу, уже известен, то роутер может непосредственно отправить данные по указанному MAC-адресу. Если MAC-адрес отсутствует в таблице, роутер отправит запрос ARP на весь локальный сегмент сети с целью получения MAC-адреса. После получения ответа, роутер обновит таблицу ARP и сможет отправить данные.
Таблица ARP позволяет роутеру оптимизировать процесс отправки данных в локальной сети. Благодаря таблице ARP, роутер может сразу отправить данные на нужный MAC-адрес, без необходимости отправки запросов ARP. Это позволяет ускорить передачу данных и повысить производительность сети.
Как формируется таблица ARP на роутере
Таблица ARP на роутере формируется автоматически при обмене сетевыми пакетами в локальной сети. Когда устройство отправляет пакет на определенный IP-адрес, оно проверяет свою таблицу ARP, чтобы определить MAC-адрес получателя.
Если в таблице ARP нет записи для нужного IP-адреса, устройство отправляет ARP-запрос. ARP-запрос – это широковещательное сообщение, в котором устройство запрашивает MAC-адрес устройства с определенным IP-адресом.
Когда устройство с нужным IP-адресом получает ARP-запрос, оно отвечает с помощью ARP-ответа. ARP-ответ содержит MAC-адрес устройства, отправившего запрос.
Роутер, принимая и перенаправляя сетевые пакеты, также участвует в обмене ARP-запросами и ARP-ответами. Если на роутер поступает ARP-запрос для определенного IP-адреса, роутер проверяет свою таблицу ARP. Если соответствующая запись есть, роутер отправляет ARP-ответ с помощью своего MAC-адреса. Если записи в таблице ARP нет, роутер играет роль промежуточного устройства, пересылающего ARP-запросы и ARP-ответы между устройствами в локальной сети.
Таблица ARP на роутере постоянно обновляется. Когда устройство получает ARP-ответ, оно обновляет соответствующую запись в таблице ARP с указанным MAC-адресом. Также, периодически устройства могут отправлять ARP-запросы для обновления информации в таблице ARP и убедиться в актуальности соответствия IP-адресов и MAC-адресов.
Как таблица arp помогает в маршрутизации пакетов
Таблица ARP (Address Resolution Protocol) играет важную роль в процессе маршрутизации пакетов в компьютерных сетях. Она используется для связи IP-адресов с физическими MAC-адресами устройств.
Когда компьютер или другое устройство пытается отправить пакет данных в локальную сеть или в другую сеть, оно должно знать MAC-адрес получателя. Однако, IP-адреса используются для идентификации устройств, а не MAC-адреса. Вот где таблица ARP приходит на помощь.
Когда устройство нуждается в MAC-адресе определенного IP-адреса, оно проверяет свою таблицу ARP. Если IP-адрес уже присутствует в таблице, оно может сразу получить соответствующий MAC-адрес и продолжить процесс отправки пакета данных.
Однако, если IP-адресса нет в таблице ARP, устройство отправит ARP-запрос широковещательным сообщением в своей локальной сети. Другие устройства в сети, которые имеют соответствующий IP-адрес, ответят с указанием своего MAC-адреса. Информация о полученном MAC-адрессе заносится в таблицу ARP, чтобы в будущем избежать повторных ARP-запросов.
Таким образом, таблица ARP позволяет устройствам быстро находить необходимый MAC-адресс и маршрутизировать пакеты данных на нужное устройство. Это упрощает и ускоряет процесс обмена данными в компьютерных сетях.
Как обновляется таблица ARP на роутере
Таблица ARP (Address Resolution Protocol) на роутере обновляется автоматически при необходимости и при взаимодействии с другими устройствами в сети. Этот процесс осуществляется с целью обновления и поддержания актуальной информации о связи между IP-адресами и MAC-адресами в сети.
Когда роутер получает пакет данных от устройства в сети, он проверяет таблицу ARP для определения соответствующего MAC-адреса для получателя пакета. Если эта информация отсутствует в таблице ARP, роутер отправляет запрос ARP broadcast, чтобы узнать MAC-адрес устройства с определенным IP-адресом.
Устройство, которое имеет соответствующий IP-адрес, ответит на запрос ARP и передаст свой MAC-адрес роутеру. Роутер обновит свою таблицу ARP, добавив новую запись с соответствующим IP-адресом и MAC-адресом устройства.
Таблица ARP также может автоматически обновляться в случае изменения конфигурации сети. Например, если устройство с IP-адресом переносится в другую сеть или если устройство меняет свой IP-адрес, роутер автоматически обновит запись в таблице ARP.
Обновление таблицы ARP на роутере важно для правильной маршрутизации пакетов данных в сети. Благодаря актуальным записям в таблице ARP, роутер может быстро определить соответствующий MAC-адрес для передачи пакетов данных по правильному пути.
Возможные проблемы с таблицей ARP на роутере
Таблица ARP (Address Resolution Protocol) на роутере представляет собой список соответствия IP-адресов и их физических (MAC-) адресов. Она играет важную роль в маршрутизации сетевых пакетов, позволяя определить физический адрес устройства по его IP-адресу.
Однако, таблица ARP может столкнуться с различными проблемами, которые могут повлиять на нормальную работу роутера:
-
Старение записей: Записи в таблице ARP имеют ограниченное время жизни. Если устройство не обращается к роутеру в течение определенного времени, запись может быть удалена из таблицы. Это может привести к задержкам при маршрутизации пакетов, так как роутер будет вынужден выполнять процесс ARP-определения снова.
-
Атаки ARP-отравления: Атаки ARP-отравления (ARP poisoning) могут привести к подмене записей в таблице ARP. Злоумышленник может отправлять фальшивые ARP-пакеты, рассылая ложные MAC-адреса, что может привести к неправильной маршрутизации пакетов или перехвату данных.
-
Переполнение таблицы: В случае, если в таблице ARP накапливается большое количество записей, эта ситуация может привести к переполнению таблицы и ухудшению производительности роутера. Такие проблемы могут возникнуть в сетях с большим количеством устройств.
-
Неправильные записи: Некорректные или поврежденные записи в таблице ARP могут вызвать ошибки в маршрутизации пакетов. Это может привести к недоступности устройств или неправильному пересылу данных.
Исправление данных проблем важно для нормальной работы роутера. Регулярное обновление таблицы ARP, использование механизмов защиты от атак ARP-отравления, а также мониторинг и оптимизация таблицы могут помочь предотвратить и решить проблемы связанные с таблицей ARP на роутере.
Как узнать содержимое таблицы arp на роутере
Таблица arp (Address Resolution Protocol) на роутере содержит информацию о соответствии между IP-адресами и MAC-адресами устройств в сети. Для того чтобы узнать содержимое таблицы arp на роутере, можно воспользоваться следующими способами:
- Использовать команду «show arp» в командной строке роутера.
- Зайти в веб-интерфейс роутера и найти раздел с информацией о таблице arp.
- Использовать специальные утилиты или программы для сканирования сети и отображения таблицы arp.
Команда «show arp» позволяет получить список всех записей в таблице arp на роутере. В выводе команды будут отображены IP-адреса и соответствующие им MAC-адреса устройств.
Если роутер имеет веб-интерфейс, то в нем обычно есть раздел «ARP Table» или «Таблица arp», где можно увидеть все записи таблицы arp. В этом разделе будет отображаться информация о соответствии IP-адресов и MAC-адресов.
Для более подробного анализа таблицы arp на роутере можно использовать специальные утилиты или программы, которые сканируют сеть и отображают информацию о подключенных устройствах и их адресах.
Время на прочтение
12 мин
Количество просмотров 124K
Привет habr! Каждый будущий инженер в процессе изучения сетевых технологий знакомится с протоколом ARP (Address Resolution Protocol, далее ARP). Основная задача протокола – получить L2 адрес устройства при известном L3 адресе устройства. На заре профессиональной карьеры начинающий специалист, как мне кажется, редко сталкивается с ситуациями, когда нужно вспомнить про существование ARP. Создаётся впечатление, что ARP – это некоторый автономный сервис, не требующий никакого вмешательства в свою работу, и при появлении каких-либо проблем со связью многие по неопытности могут забыть проверить работу ARP.
Я помню свой порядок мыслей, когда я начинал работать сетевым инженером: «Так, интерфейс поднялся, ошибок по физике вроде как не видно. Маршрут, куда слать пакеты, я прописал. Списков доступа никаких нет. Так почему же не идёт трафик? Что маршрутизатору ещё не хватает?» Рано или поздно каждый сетевой инженер столкнётся с проблемой, причина которой будет лежать именно в особенностях работы/настройки ARP на сетевом оборудовании. Простейший пример: смена шлюза на границе сети (например, вместо сервера MS TMG устанавливаем маршрутизатор). При этом конфигурация маршрутизатора была проверена заранее в лабораторных условиях. А тут, при подключении к провайдеру никакая связь не работает. Возвращаем MS TMG — всё работает. Куда смотреть после проверки канального и физического уровня? Наиболее вероятный ответ – проверить работу ARP.
В данной заметке я не буду подробно описывать принципы работы ARP и протоколов этого семейства (RARP, InARP, UnARP и т.д.). На эту тему уже существует уйма статей в Интернете (например, здесь не плохо описаны разновидности ARP). Единственный теоретический момент, на котором я заострю чуть больше внимания, – механизм Gratuitous ARP (GARP).
Статья будет состоять из двух частей. В первой части будет немного теории и особенности работы ARP на маршрутизаторах Cisco, связанные с правилами NAT и с функцией Proxy ARP. Во второй части опишу отличия в работе ARP между маршрутизаторами Cisco и межсетевыми экранами Cisco ASA, а также поделюсь несколькими интересными случаями из практики, связанными с работой ARP.
Чуть-чуть теории
ARP-запрос/ARP-ответ
Ниже представлен пример обмена ARP-запросом/ARP-ответом в программе-сниффере Wireshark:
ARP-запрос отправляется на широковещательный MAC-адрес ff:ff:ff:ff:ff:ff. В теле ARP-запроса поле с неизвестным значением Target MAC Address заполняется нулями.
ARP-ответ отправляется на MAC-адрес получателя, отправившего ARP-запрос. В поле Sender MAC Address указывается запрашиваемый MAC-адрес устройства.
Поле opcode в заголовке ARP может принимает значение 1 для ARP-запроса и значение 2 для ARP-ответа.
Чтобы два устройства могли начать передавать трафика между собой, в их ARP-таблицах должна существовать соответствующая запись о соседнем устройстве. Логично предположить, чтобы ARP-запись появилась в таблицах, для каждого устройства должна отработать процедура ARP-запрос/ARP-ответ. То есть перед передачей трафика в сети должны пройти по два ARP-запроса и два ARP-ответа (ARP-запрос/ARP-ответ для первого компьютера и ARP-запрос/ARP-ответ для второго компьютера). Однако, данное предположение верно не для всех случаев. Сетевое оборудование Cisco добавляет новую запись в ARP-таблицу сразу по приходу ARP-запроса от удалённого устройства.
Рассмотрим пример. В широковещательный домен добавляется новое устройство с адресом 198.18.0.200. Запустим пинг с нового устройства и посмотрим debug arp на маршрутизаторе Cisco:
019383: Feb 4 10:38:55 UTC: IP ARP: rcvd req src 198.18.0.200 64e9.50c8.d6cd, dst 198.18.0.1 GigabitEthernet0/0/1.7
019384: Feb 4 10:38:55 UTC: IP ARP: creating entry for IP address: 198.18.0.200, hw: 64e9.50c8.d6cd
019385: Feb 4 10:38:55 UTC: IP ARP: sent rep src 198.18.0.1 d8b1.902e.e741,
dst 198.18.0.200 64e9.50c8.d6cd GigabitEthernet0/0/1.7
Как видно, сразу по пришествии ARP-запроса от неизвестного IP-адреса (rcvd req src 198.18.0.200), маршрутизатор создаёт соответствующую запись в своей ARP-таблице (creating entry for IP address: 198.18.0.200, hw: 64e9.50c8.d6cd).
Для текущей статьи я не проводил подробного исследования по вопросу, какое именно сетевое оборудование добавляет ARP-запись по пришествии ARP-запроса. Однако, предполагаю, описанное поведение присуще не только сетевому оборудованию Cisco, но и сетевому оборудованию других производителей, так как данный механизм позволяет существенно сократить ARP-трафик в сети.
ARP-запрос/ARP-ответ для конечного оборудования
Описанное поведение присуще сетевому оборудованию. Конечное оборудование в большинстве случаев, получает запись в ARP-таблицу только после полноценной процедуры ARP-запрос/ARP-ответ. Для примера, я проверил процедуру на компьютере с операционной системой Windows 7. Ниже представлен дамп ARP-пакетов. В данном примере был очищен arp-cache на маршрутизаторе Cisco и на Windows-компьютере. После этого был запущен пинг от маршрутизатора к компьютеру.
Из представленного дапма видно, что сперва маршрутизатор отправляет ARP-запрос и получает ARP-ответ. Но ARP-запрос от маршрутизатора не приводит к появлению требуемой записи в ARP-таблице Windows-компьютера, поэтому, в свою очередь, компьютер отправляет ARP-запрос и получает ARP-ответ от маршрутизатора.
Gratuitous ARP
Механизм Gratuitous ARP используется для оповещения устройств в рамках широковещательного домена о появлении новой привязки IP-адреса и MAC-адреса. Когда сетевой интерфейс устройства получает настройки IP (вручную или по DHCP), устройство отправляет Gratuitous ARP сообщение, чтобы уведомить соседей о своём присутствии. Gratuitous ARP сообщение представляет собой особый вид ARP-ответа. Поле opcode принимает значение 2 (ARP-ответ). MAC-адрес получается как в заголовке Ethernet, так и в теле ARP-ответа является широковещательным (ff:ff:ff:ff:ff:ff). Поле Target IP Address в теле ARP-ответа совпадает с полем Sender IP Address.
Механизм Gratuitous ARP используется для многих целей. Например, с помощью Gratuitous ARP можно уведомить о смене MAC-адреса или обнаружить конфликты IP-адресов. Другой пример — использование протоколов резервирования первого перехода (First Hop Redundancy Protocols), например, HSRP у Cisco. Напомню, HSRP позволяет иметь виртуальный IP-адрес, разделённый между двумя или более сетевыми устройствами. В нормальном режиме работы обслуживание виртуального IP-адреса (ответы на ARP-запросы и т.д.) обеспечивает основное устройство. При отказе основного устройства обслуживание виртуального IP-адреса переходит ко второму устройству. Чтобы уведомить о смене MAC-адреса ответственного устройства, как раз отправляется Gratuitous ARP-сообщения.
В примере ниже представлено Gratuitous ARP сообщение при включении сетевого интерфейса маршрутизатора с настроенным IP-адресов 198.18.0.1.
Если на маршрутизаторе настроен secondary IP-адрес, при переходе интерфейса в состояние UP будут отправлены Gratuitous ARP уведомления для каждого IP-адреса интерфейса. В примере ниже представлены Gratuitous ARP сообщения, отправляемые при включении интерфейса маршрутизатора с основным IP-адресом 198.18.0.1 и secondary IP-адресом 198.18.2.1.
Безусловно, маршрутизатор будет отвечать на ARP-запросы как для основного, так и для secondary IP-адреса.
Логично предположить, что как только устройство получает Gratuitous ARP, сразу добавляется новая запись в ARP-таблицу. Однако это не так. Если в таблице устройства отсутствовала ARP-запись, связанная с IP-адресом из Gratuitous ARP сообщения, новая запись добавлена не будет. При необходимости отправить трафик будет сформирован ARP-запрос и получен ARP-ответ. Только после этой процедуры новая запись добавится в ARP-таблицу.
Пример на маршрутизаторе Cisco. Включим debug arp и подключим в широковещательный домен новое устройство с адресом 198.18.0.200. До подключения нового устройства ARP-таблица маршрутизатора выглядит следующим образом:
cisco#sh arp | inc 198.18.0.200
<вывод пуст>
Включаем новое устройство с адресом 198.18.0.200. Получаем debug-сообщение о приходе Gratuitous ARP:
IP ARP: rcvd rep src 198.18.0.200 64e9.50c8.d6cd, dst 198.18.0.200 GigabitEthernet0/0/1
Проверяем ARP-таблицу:
cisco#sh arp | inc 198.18.0.200
<вывод пуст>
Новая запись не появилась. Делаем пинг до нового адреса:
cisco#ping 198.18.0.200
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 198.18.0.200, timeout is 2 seconds:
019275: Feb 4 10:23:06 UTC: IP ARP: creating incomplete entry for IP address: 198.18.0.200 interface GigabitEthernet0/0/1
019276: Feb 4 10:23:06 UTC: IP ARP: sent req src 198.18.0.1 d8b1.902e.e741,
dst 198.18.0.200 0000.0000.0000 GigabitEthernet0/0/1
019277: Feb 4 10:23:06 UTC: IP ARP: rcvd rep src 198.18.0.200 64e9.50c8.d6cd, dst 198.18.0.1 GigabitEthernet0/0/1
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 2/2/3 ms
Debug-сообщения показывают, что прошла процедура ARP-запрос/ARP-ответ. Проверяем ARP-таблицу:
cisoc#sh arp | i 198.18.0.200
Internet 198.18.0.200 6 64e9.50c8.d6cd ARPA GigabitEthernet0/0/1
Новая запись появилась.
ARP и NAT на маршрутизаторах Cisco
Теперь рассмотрим, как обстоят дела с ARP, если на маршрутизаторе используются правила трансляции сетевых адресов – NAT или PAT. В этом случае, мы можем транслировать адрес или адреса локальной сети либо в адрес интерфейса маршрутизатора, либо в какой-либо другой адрес, который будет называться в терминологии NAT внутренним глобальным адресом (inside global или inside mapped). Если трансляция происходит в адрес интерфейса, с ARP вопросов нет. В случае трансляции в адрес, отличный от адреса интерфейса, действуют следующие правила:
- Если внутренний глобальный адрес находится в той же IP-подсети, что и адрес интерфейса маршрутизатора, маршрутизатор будет отвечать на ARP-запросы к этому адресу. При этом в собственной arp-таблице маршрутизатора создаётся статическая запись для внутреннего глобального адреса.
- Если внутренний глобальный адрес находится в IP-подсети, отличной от адреса интерфейса маршрутизатора, маршрутизатор не будет отвечать на ARP-запросы к этому адресу. В собственной arp-таблице статическая запись не создаётся. Чтобы связь с таким IP-адресом заработала, требуется дополнительная настройка. Мы рассмотрим данный случай более подробно далее в статье.
Отдельно следует упомянуть поведение Gratuitous ARP. Рассматривать варианты генерации Gratuitous ARP для различных случаев (переход интерфейса в состояние UP, изменение основного IP-адреса интерфейса, изменение Secondary IP-адреса и т.д.) не буду, так как получится слишком много вариантов. Хочу указать только два момента. Первый момент: настройка нового правила NAT не приводит к генерации Gratuitous ARP уведомления. Второй момент: с помощью команды clear arp-cache можно не только очистить все динамические записи arp в таблице маршрутизатора, но и заставить маршрутизатор отправить Gratuitous ARP для всех IP-адресов, на которые маршрутизатор должен отвечать, включая внутренние глобальные адреса из правил NAT.
Рассмотрим примеры на основании следующей простейшей топологии:
Примечание: для тестов использовался маршрутизатор C4321 с программным обеспечением 15.4(3)S3 и межсетевой экран Cisco ASA5505 c программным обеспечением 9.1(6)6.
Компьютер Wireshark с адресов 198.18.0.250 в нашем случае будет обозначать подключение к внешней сети (например, к Интернет-провайдеру). С помощью сниффера Wireshark будем просматривать обмен сообщениями ARP между маршрутизатором и компьютером.
Настройки интерфейсов маршрутизатора:
interface GigabitEthernet0/0/0
description === inside ===
ip address 192.168.20.1 255.255.255.0
no ip proxy-arp
ip nat inside
!
interface GigabitEthernet0/0/1.7
description === outside ===
ip address 198.18.0.1 255.255.255.0
no ip proxy-arp
ip nat outside
Добавим правило динамического NAT, чтобы транслировать адрес компьютера из LAN (192.168.20.5) во внутренний глобальный адрес 198.18.0.5 при обращении к компьютеру во вне (Wireshark). Добавим правило статического PAT для публикации TCP порта 3389 (RDP) компьютера из LAN под глобальным адресом 198.18.0.2.
ip access-list standard acl-test-arp
permit 192.168.20.5
ip nat pool test-pool 198.18.0.5 198.18.0.5 netmask 255.255.255.252
ip nat inside source list acl-test-arp pool test-pool overload
ip nat inside source static tcp 192.168.20.5 3389 198.18.0.2 3389 extendable
Посмотрим ARP-таблицу на маршрутизаторе:
cisco#sh arp
Protocol Address Age (min) Hardware Addr Type Interface
. . .
Internet 198.18.0.1 - d8b1.902e.e741 ARPA GigabitEthernet0/0/1.7
Internet 198.18.0.2 - d8b1.902e.e741 ARPA GigabitEthernet0/0/1.7
Internet 198.18.0.5 - d8b1.902e.e741 ARPA GigabitEthernet0/0/1.7
. . .
Видим, что в ARP-таблице присутствуют статические записи как для внешнего интерфейса маршрутизатора (198.18.0.1), так и для внутренних глобальных адресов из правил динамического и статического NAT.
Сделаем clear arp-cache на маршрутизаторе и посмотрим в Wireshark, какие Gratuitous ARP уведомления будут отправлены с внешнего интерфейса:
Как видно, маршрутизатор уведомил о готовности обслуживать адрес интерфейса, адрес из правила динамического NAT и адрес из правила статического NAT.
А теперь представим ситуацию, когда провайдер расширяет пул публичных адресов, выданных клиенту, за счёт другой подсети. Предположим, дополнительно к IP-подсети 198.18.0.0/24 на внешнем интерфейсе маршрутизатора мы получаем от провайдера новый пул 198.18.99.0/24 и хотим публиковать наши внутренние сервисы под новыми IP-адресами. Для наглядности приведу схему с провайдером:
Добавим правило статического PAT для публикации TCP порта 3389 (RDP) компьютера из LAN под новым глобальным адресом 198.18.99.2:
ip nat inside source static tcp 192.168.20.5 3389 198.18.99.2 3389 extendable
Если снова посмотреть ARP-таблицу маршрутизатора командой show arp, увидим, что статическая запись для IP-адреса 198.18.99.2 не добавилась.
Чтобы иметь возможность отправлять ARP-запросы в новую сеть 198.18.99.0/24 с компьютера Wireshark, расширим маску его сетевых настроек до 255.255.0.0 (/16). Напомню, для нашего примера компьютер Wireshark выступает в роли маршрутизатора Интернет-провайдера.
После ввода clear arp-cache сниффер по-прежнему показывает Gratuitous ARP только для трёх IP-адресов: 198.18.0.1, 198.18.0.2, 198.18.0.5. Для нового адреса 198.18.99.2 Gratuitous ARP не срабатывает. Попробуем открыть tcp-порт 3389 адреса 198.18.99.2 и одновременно посмотреть сниффер:
Неуспех. Проверим ARP-таблицу:
ARP-запись для нового IP-адреса 198.18.99.2 не появилась. Причина – новый IP-адрес 198.18.99.2 находится в IP-подсети, отличной от адреса интерфейса маршрутизатора. Как же нам заставить работать новый пул выданных провайдером IP-адресов? Есть четыре варианта:
- Попросить провайдера прописать статические ARP-записи для каждого IP-адреса из нового диапазона. Это не очень удобно, если выдаётся широкий диапазон как в нашем примере.
- Попросить провайдера прописать статический маршрут. Часто, чтобы выдать дополнительный диапазон белых IP-адресов, провайдер прописывает на интерфейсе своего оборудования secondary IP-адрес. Вместо этого мы можем попросить провайдера прописать статический маршрут к новой IP-подсети через IP-адрес внешнего интерфейса маршрутизатора. В этом случае оборудование провайдера будет знать, что новая подсеть доступна через IP-адрес интерфейса маршрутизатора, а маршрутизатор, в свою очередь, будет отвечать на ARP-запросы, отправленные к собственному интерфейсу.
- Прописать secondary IP-адрес из нового диапазона на внешнем интерфейсе маршрутизатора. В этом случае любой IP-адрес нового диапазона будет принадлежать той же подсети, что и IP-адрес (пусть и secondary) интерфейса маршрутизатора. Маршрутизатор автоматически добавит статические записи в свою ARP-таблицу, будет слать Gratuitous ARP и отвечать на ARP-запросы.
- Использовать механизм Proxy Arp на маршрутизаторе. На этом варианте остановимся чуть более подробно.
Proxy ARP на маршрутизаторах Cisco
Функциональность Proxy ARP позволяет маршрутизатору отвечать на ARP-запросы при выполнении трёх следующих условий:
- Целевой IP-адрес ARP-запроса находится в IP-подсети, отличной от IP-подсети, в которой ARP-запрос получен;
- Маршрутизатор имеет один или несколько маршрутов к целевому IP-адресу ARP-запроса;
- Маршруты к целевому IP-адресу ARP-запроса указывают на исходящий интерфейс, отличный от интерфейса, на который ARP-запрос был получен.
По умолчанию Proxy ARP включен на всех интерфейсах маршрутизатора. Однако использование механизма Proxy ARP имеет несколько недостатков. В первую очередь Proxy ARP вносит потенциальную уязвимость к атакам типа Man-in-the-middle, когда злоумышленник получит возможность перехватывать сетевой трафик. Поэтому, рекомендуется отключать Proxy ARP как минимум на интерфейсах, к которым подключены внешние сети.
Настройка Proxy ARP на интерфейсе маршрутизатора:
interface GigabitEthernet0/0/1.7
ip proxy-arp
Отключить Proxy ARP на всех интерфейсах маршрутизатора можно глобально:
ip arp proxy disable
Данная настройка имеет приоритет над настройками Proxy ARP, применёнными на интерфейсах.
Помимо команды ip proxy arp в настройках интерфейса существует команда ip local-proxy-arp. Данная команда работает только когда ip proxy arp включён на интерфейсе и позволяет маршрутизатору отвечать на ARP-запросы, даже если целевой IP-адрес находится в той же IP-подсети, откуда ARP-запрос поступил. Пример настройки:
no ip arp proxy disable
interface GigabitEthernet0/0/1.7
ip proxy-arp
ip local-proxy-arp
Данная настройка может пригодится, если мы хотим, чтобы трафик в рамках одного широковещательного домена шёл через интерфейс нашего маршрутизатора. Данную задачу можно реализовать с использованием Protected port (PVLAN edge) настроек на L2-коммутаторе (switchport protected).
Включение Proxy ARP на внешнем интерфейсе маршрутизаторе позволит решить проблему с новым пулом адресов, выданных провайдером. Попробуем открыть tcp-порт 3389 адреса 198.18.99.2 после включения Proxy ARP на интерфейсе маршрутизатора и одновременно посмотреть сниффер:
Успех. Маршрутизатор отвечает на ARP-запрос и порт открывается. Таким образом, функциональность Proxy ARP также можно использовать при необходимости трансляции адресов в новый пул.
Итоги
Попробую тезисно обобщить основные моменты первой части статьи:
- Сетевое оборудование Cisco добавляет ARP-запись о новом удалённом устройстве в ARP-таблицу сразу по приходу ARP-запроса от удалённого устройства. Данное поведение позволяет сократить ARP-трафик в сети.
- Маршрутизатор Cisco будет отвечать на ARP-запросы к внутреннему глобальному IP-адресу правила NAT, если данный IP-адрес принадлежит той же IP-подсети, что и интерфейс маршрутизатора. Дополнительные настройки для работы ARP не требуются.
- Если внутренний глобальный IP-адрес правила NAT маршрутизатора не принадлежит IP-подсети интерфейса маршрутизатора, требуются дополнительные настройки. Существуют четыре варианта:
- Статические ARP-записи на внешнем оборудовании;
- Статический маршрут на внешнем оборудовании;
- Настройка secondary IP-адреса на интерфейсе маршрутизатора;
- Использование Proxy ARP.
Первый и второй вариант подразумевают изменение настроек на «чужом» сетевом оборудовании и не всегда может быть приемлем.
Третий вариант является наиболее предпочтительным.
Четвёртый вариант может быть использован, но открывает уязвимость с точки зрения сетевой безопасности.
- Функциональность Proxy ARP включена на интерфейсах маршрутизатора по умолчанию. Рекомендуется отключать Proxy ARP как минимум на интерфейсах, подключаемых к Интернет-провайдерам.
Протокол ARP
В локальных сетях телекоммуникаций на основе дейтаграмм устройствам необходимы как МАС-адрес, так и IP-адрес, которые для каждого
узла образуют соответствующую пару. На каждом конечном узле можно
посмотреть его физический адрес и IP-адрес по команде ipconfig /all
(
рис.
6.7). Из распечатки следует, что физическим МАС-адресом конечного узла является 00-19-D1-93-7E-BE, а логическим IP-адресом –
10.0.118.52.
Протокол ARP может по IP-адресу автоматически определить
МАС-адрес устройства. Каждое устройство в сети поддерживает таблицу ARP table, которая содержит соответствующие MAC- и IP-адреса других
устройств той же локальной сети. Таблица ARP любого узла может быть
просмотрена по команде arp -a (
рис.
6.8). Записи таблицы хранятся в
памяти RAM, где динамически поддерживаются.
Рис.
6.7.
Результат выполнения команды ipconfig /all
Если узлы долго не передают данные, то соответствующие записи из
таблицы удаляются, что представлено на
рис.
6.8, где таблица содержит
только одну пару IP- и MAC-адресов.
Рис.
6.8.
Таблица ARP
Таблица ARP пополняется динамически путем контроля трафика
локального сегмента сети. Все станции локальной сети Ethernet анализируют трафик, чтобы определить, предназначены ли данные для них. При
этом IP- и MAC-адреса источников дейтаграмм записываются в таблице
ARP. Например, после общения с узлом 10.0.118.65 в таблице ARP появляется вторая запись (
рис.
6.9).
Рис.
6.9.
Изменения в таблице ARP
Когда устройство передает пакет по IP-адресу назначения, оно
проверяет, имеется ли в ARP-таблице соответствующий МАС-адрес
назначения. Если соответствующая запись имеется, то она используется
при инкапсуляции пакета в кадр данных. Данные передаются по сетевой
среде, устройство назначения принимает их.
Если узел не находит соответствующей записи в таблице ARP, то
он для получения MAC-адреса назначения посылает в локальную сеть широковещательный ARP-запрос, в котором задается сетевой логический
IP-адрес устройства назначения. Все другие устройства сети анализируют
его. Если у одного из локальных устройств IP-адрес совпадает с запрашиваемым, то устройство посылает ARP-ответ, который содержит пару IP- и
MAC-адресов. Эта пара записывается в ARP-таблице. Если в локальной
сети нет запрашиваемого IP-адреса, то устройство-источник сообщает об
ошибке.
Когда данные передаются за пределы локальной сети, то для передачи сообщения необходимы IP- и MAC-адреса как устройства назначения,
так и промежуточных маршрутизирующих устройств. Поскольку маршрутизаторы не транслируют широковещательные запросы в другие сегменты
сети, в этом случае маршрутизатор в ответ на запрос посылает ARP-ответ
с MAC-адресом своего входного интерфейса, на который поступил запрос.
Таким образом, сформированный конечным устройством кадр поступит на интерфейс маршрутизатора, который после анализа адреса сети
назначения и обращения к таблице маршрутизации продвинет пакет на
выходной интерфейс.
Передать данные по адресу устройства, которое находится в другом
сегменте сети, можно также за счет установки шлюза по умолчанию.
Шлюз по умолчанию имеет IP-адрес входного интерфейса маршрутизатора на пути к устройству назначения. Этот адрес хранится в конфигурационном файле конечного узла (хоста). Источник сообщения сравнивает
IP-адрес назначения со своим IP-адресом и определяет, находятся ли эти
адреса в одном сегменте сети или в разных сегментах. Если они находятся
в разных сегментах, то данные будут переданы только при условии, что
установлен шлюз по умолчанию.
Таким образом, при передаче данных по сети (
рис.
6.6) Host X для
нахождения МАС-адреса назначения посылает в сеть широковещательный ARP запрос, в котором задается IP-адрес устройства назначения, на
который Router A в ответ посылает МАС-адрес своего входного интерфейса, и передаваемый пакет поступает в маршрутизатор.
Маршрутизатор А извлекает пакет из кадра, обрабатывает заголовок
поступившего пакета, использует таблицу маршрутизации, чтобы определить сеть адресата, и затем продвигает пакет к выходному интерфейсу.
Пакет вновь инкапсулируется в новый кадр данных и направляется следующему маршрутизатору B, при этом в заголовке кадра может указываться новый МАС-адрес входного интерфейса этого маршрутизатора. Этот
процесс происходит каждый раз, когда пакет проходит через очередной
маршрутизатор. В конечном маршрутизаторе (в данном примере – маршрутизатор C,
рис.
6.6), который связан с сетью узла назначения Сеть 2,
пакет инкапсулируется в кадр локальной сети адресата с МАС-адресом
устройства назначения и доставляется адресату Host Y.
Для продвижения пакета к узлу назначения маршрутизатор использует таблицу маршрутизации, основными параметрами которой являются
номер (адрес) сети назначения и сетевой адрес входного интерфейса
следующего маршрутизатора на пути к адресату назначения. Этот адрес
интерфейса получил название следующего перехода (next hop).
Таким образом, в таблице задаются:
- адрес сети назначения;
- адрес следующего перехода;
- другие дополнительные параметры, которые различаются для разных
маршрутизирующих протоколов и маршрутизаторов разных фирм,
производящих оборудование.
Из дополнительных параметров в таблицы маршрутизации включается информация:
- о статической или динамической маршрутизации,
- о типе используемых протоколов маршрутизации,
- о метрике, используемой при выборе возможного пути.
Принцип построения таблиц маршрутизации рассмотрен на примере сети, построенной на маршрутизаторах и коммутаторах (
рис.
6.10).
Последовательные (serial) интерфейсы маршрутизаторов на
рис.
6.10
соединены между собой молниевидной линией, а порты Fast Ethernet –
прямой линией. В приведенной схеме, например, D-f1 означает – первый
Fast Ethernet порт маршрутизатора D, В-s2 – второй последовательный
порт маршрутизатора B.
Рис.
6.10.
Принцип маршрутизации в сети
Таблица маршрутизации, например маршрутизатора B (таблица 6.2),
будет содержать информацию о маршрутах ко всем сетям (
рис.
6.10).
Маршрут к Cети 1 лежит через последовательный интерфейс A-s1 маршрутизатора А, к Cети 3 – через последовательный интерфейс С-s1 маршрутизатора С, а к сетям Сеть 6, Сеть 7 – через интерфейс D-f1 маршрутизатора D. Адреса входных интерфейсов маршрутизаторов на пути следования пакета к адресату назначения называются адресами следующего
перехода (next hop).
| Адрес сети назначения | Адрес следующего перехода |
|---|---|
| Сеть 1 | A-s1 |
| Сеть 3 | C-s1 |
| Сеть 6 | D-f1 |
| Сеть 7 | D-f1 |
Вместо адреса следующего перехода часто указывают обозначение
выходного интерфейса маршрутизатора, отправляющего пакет. Поскольку
выходной интерфейс маршрутизатора, отправляющего пакет, и входной
интерфейс следующего маршрутизатора на пути к адресату назначения
соединены между собой, противоречий при этом никаких нет. Кроме
удаленных сетей назначения в таблице маршрутизации указываются
непосредственно (прямо) присоединенные сети с указанием выходного
интерфейса. Например, таблица маршрутизации В (таблица 6.3) будет
содержать три прямо присоединенных сети.
| Адрес присоединенной сети | Выходной интерфейс |
|---|---|
| Сеть 2 | s1 |
| Сеть 4 | S2 |
| Сеть 5 | f1 |
Таким образом, пакет, предназначенный одному из узлов сети,
например Сети 7, попав в маршрутизатор В, будет направлен на входной
интерфейс D-f1 маршрутизатора D (следующий переход). В свою очередь,
в таблице маршрутизации D будет задан адрес входного интерфейса E-s1
следующего маршрутизатора E, для которого Cеть 7 является непосредственно присоединенной. Поэтому маршрутизатор Е направит пакет узлу
назначения.
Краткие итоги
- Объединение нескольких локальных сетей в глобальную (распределенную, составную) WAN-сеть происходит с помощью устройств и
протоколов сетевого Уровня 3 семиуровневой эталонной модели OSI. - Наиболее распространенными устройствами межсетевого взаимодействия сетей, подсетей и устройств являются маршрутизаторы.
- Маршрутизаторы имеют как LAN-, так и WAN-интерфейсы и поэтому являются устройствами как локальных, так и глобальных сетей.
- Главными функциями маршрутизаторов являются: выбор наилучшего пути для пакетов к адресату назначения и продвижение принятого пакета с входного интерфейса на соответствующий выходной
интерфейс. - Конфигурационный файл хранится в NVRAM. Он содержит команды
и параметры для управления потоком трафика. Конфигурационный
файл задает сетевые протоколы и протоколы маршрутизации, которые определяют наилучший путь для пакетов к адресуемой сети. - Маршрутизатор оценивает доступные пути к адресату назначения
и выбирает наиболее рациональный маршрут на основе некоторого
критерия – метрики. - Администратор может конфигурировать статические маршруты и
поддерживать таблицы маршрутизации вручную. Однако большинство таблиц маршрутизации создается и поддерживается динамически, за счет использования протоколов маршрутизации, которые
позволяют маршрутизаторам автоматически обмениваться информацией о сетевой топологии друг с другом. - Маршрутизатор ретранслирует пакет, продвигая его с входного
интерфейса на выходной, для чего использует сетевую часть адреса
назначения и обращается к таблице маршрутизации. - Основными параметрами таблицы маршрутизации являются адрес сети
назначения и сетевой адрес входного интерфейса следующего маршрутизатора на пути к адресату назначения (следующий переход –next hop)
или собственный выходной интерфейс маршрутизатора. -
Протокол разрешения адресов (ARP) реализует процесс нахождения
МАС-адреса по известному сетевому адресу (IP-адресу). Таблица ARP
содержит MAC- и IP-адреса других устройств той же локальной сети. - Шлюз по умолчанию – это интерфейс, через который все пакеты из
локальной сети будут передаваться в удаленные сети.
Вопросы
- Какие устройства объединяют LAN в распределенную составную сеть?
- Какого типа интерфейсы имеют маршрутизаторы?
- Что означают термины DTE, DCE?
- Для чего служит устройство CSU/DSU?
- Могут ли маршрутизаторы объединять локальные сети различных
технологий? - На основании чего маршрутизатор ретранслирует пакет, продвигая
его с входного интерфейса на выходной? - Что служит оценкой наилучшего пути к адресату назначения?
- Какой протокол позволяет находить МАС-адреса по известному
сетевому адресу? - По какой команде может быть просмотрена таблица ARP-узла?
- В каком случае маршрутизатор в ответ на запрос посылает ARP-ответ
с MAC-адресом своего входного интерфейса, на который поступил
запрос? - Как формируются таблицы маршрутизации?
- Что означает термин «адрес следующего перехода» (next hop)?
- Что означает термин «шлюз по умолчанию»?
- Какие параметры содержит таблица марщрутизации?
Упражнения
- Поясните, с использованием какой линии создается конфигурационный файл и где он может сохраняться.
- Изобразите схему составной сети из четырех маршрутизаторов,
последовательно соединенных через Fast Ethernet интерфейсы.
Обозначьте интерфейсы. Укажите, МАС-адреса каких интерфейсов будут использоваться в качестве адресов источников и адресов
назначения передаваемых кадров при их прохождении через каждый
маршрутизатор. - Укажите основные параметры таблицы маршрутизации маршрутизатора В (
рис.
6.6). - Поясните, какие параметры можно посмотреть на каждом конечном
узле по команде ipconfig /all. - Поясните, почему из двух последовательно соединенных серийных
интерфейсов маршрутизаторов один должен выполнять роль устройства DCE, а второй – устройства DTE.
Что такое ARP-таблица, ARP-запрос?
Любое сетевое оборудование имеет физический 6 битный адрес уникальный для каждого экземпляра.
Отображение IP-адресов, в аппаратные адреса, выполняется с помощью следующих действий:
— в сеть отправляется широковещательный запрос (ARP-request), принимаемый всеми сетевыми устройствами. Он содержит IP и Ethernet адреса отправителя, а также, целевой IP-адрес, для которого выполняется определение MAC-адреса.
— каждое устройство, принявшее запрос проверяет соответствие целевого IP-адреса, указанного в запросе, своему собственному IP-адресу. При совпадении, отправителю передается ARP-ответ (ARP-Reply), в котором содержатся IP и MAC адреса ответившего узла. Кадр с ARP-ответом содержит IP и MAC адреса как отправителя, так и получателя-составителя запроса.
— информация, полученная в ARP-ответе, заносится в ARP-кэш и может использоваться для обмена данными по IP-протоколу для данного узла. ARP-кэш представляет собой таблицу в оперативной памяти, каждая запись в которой содержит IP, MAC и возраст их действительности (от нескольких секунд, до нескольких часов). Возраст записи учитывается для того, чтобы обеспечить возможность повторного выполнения процедуры ARP при каком либо изменении соответствия адресов.
В IP-сетях существует три способа отправки пакетов от источника к приемнику:
— одноадресная передача (Unicast);
При одноадресной передаче поток данных передается от узла-отправителя на индивидуальный IP-адрес узла-получателя.
— широковещательная передача (Broadcast);
Широковещательная передача предусматривает доставку потока данных от узла-отправителя множеству узлов-получателей, подключенных к данному сегменту локальной сети, с использованием широковещательного IP-адреса.
— многоадресная рассылка (Multicast).
Многоадресная рассылка обеспечивает доставку потока данных группе узлов на IP-адрес группы многоадресной рассылки. Узлы группы могут находиться в данной локальной сети или в любой другой. Узлы для многоадресной рассылки объединяются в группы при помощи протокола IGMP (Internet Group Management Protocol, межсетевой протокол управления группами). Пакеты, содержащие в поле назначения заголовка групповой адрес, будут поступать на узлы групп и обрабатываться. Источник многоадресного трафика направляет пакеты многоадресной рассылки не на индивидуальные IP-адреса каждого из узлов-получателей, а на групповой IP-адрес.
Замечания по практическому использованию команды ARP:
— разрешение адресов по протоколу ARP выполняется только при операциях передачи данных по протоколу IP .
— время жизни записей в таблице ARP ограничено, поэтому, перед просмотром ее содержимого для конкретного адреса нужно выполнить ping на этот адрес.
— если ответ на ping не приходит, а запись для данного IP-адреса присутствует в таблице ARP, то этот факт можно интерпретировать как блокировку ICMP-пакетов брандмауэром пингуемого узла.
— невозможность подключения к удаленному узлу по протоколам TCP или UDP при наличии записей в таблице ARP для целевого IP, может служить признаком отсутствия служб обрабатывающих входящие подключения, или их блокировки брандмауэром (закрытые порты).
— ARP протокол работает в пределах локального сегмента сети. Поэтому, если выполнить ping на внешний узел ( например ping yandex.ru ), то в таблице ARP будет присутствовать запись для IP — адреса маршрутизатора, через который выполняется отправка пакета во внешнюю сеть.
Параметры командной строки ARP:
-a -отображает текущие ARP-записи, опрашивая текущие данные протокола. Если задан параметр inet_addr, то будут отображены IP и физические адреса только для заданного компьютера. Если ARP используют более одного сетевого интерфейса, то будут отображаться записи для каждой таблицы.
arp -a — отобразить все записи таблицы ARP.
arp -a | more — то же, что и в предыдущем случае, но с отображением информации в постраничном режиме.
arp -a > macaddr.txt — отобразить таблицу соответствия IP и MAC адресов для данного компьютера с выводом результатов в текстовый файл macaddr.txt .
arp -a 192.168.0.9 - отобразить запись, соответствующую IP-адресу 192.168.0.9 arp -a 192.168.1.158 -N 192.168.1.1 - отобразить таблицу ARP для адреса 192.168.1.158 на сетевом интерфейсе 192.168.1.1 arp -a -N 10.164.250.148 - отобразить все записи таблицы ARP на сетевом интерфейсе 10.164.250.148 .
-g — то же, что и параметр -a.
-v — отображает текущие ARP-записи в режиме подробного протоколирования. Все недопустимые записи и записи в интерфейсе обратной связи будут отображаться.
inet_addr — определяет IP-адрес.
-d — удаляет узел, задаваемый inet_addr. Параметр inet_addr может содержать знак шаблона * для удаления всех узлов.
arp -d 192.168.1.1 - удалить из таблицы ARP запись для IP-адреса 192.168.1.1 arp -d 192.168.1.* - удалить из таблицы ARP записи для диапазона IP-адресов 192.168.1.1 - 192.168.1.254 arp -d 192.168.1.1 192.168.1.56 удаление записи из таблицы ARP для IP-адреса 192.168.1.1 на сетевом интерфейсе 192.168.1.56 arp -d * - полная очистка таблицы ARP. Аналогично - arp -d без параметров. Если имеется несколько сетевых интерфейсов, то очистка может быть выполнена только для одного из них - arp -d * 192.168.0.56.
-s — добавляет узел и связывает адрес в Интернете inet_addr c физическим адресом eth_addr. Физический адрес задается 6 байтами (в шестнадцатеричном виде), разделенными дефисом. Эта связь является постоянной
arp -s 192.168.1.1 00-08-00-62-F6-19 - добавить в таблицу ARP запись, задающую соответствие IP адреса 192.168.1.1 и физического адреса 00-08-00-62-F6-19 arp -s 192.168.0.1 00-22-15-15-88-15 - добавить в таблицу ARP статическую запись, задающую соответствие IP - адреса 192.168.0.1 и MAC-адреса 00-22-15-15-88-15 arp -s 192.168.0.1 00-22-15-15-88-15 192.168.0.56 - то же самое, что и в предыдущем случае, но с указанием сетевого интерфейса, для которого выполняется добавление статической записи.
eth_addr — определяет физический адрес.
if_addr — если параметр задан, он определяет адрес интерфейса в Интернете, чья таблица преобразования адресов должна измениться. Если параметр не задан, будет использован первый доступный интерфейс.
Формат командной строки ARP:
ARP -s inet_addr eth_addr [if_addr] ARP -d inet_addr [if_addr] ARP -a [inet_addr] [-N if_addr] [-v]
Пример содержимого таблицы ARP:
Интерфейс: 127.0.0.1 --- 0x1 адрес в Интернете Физический адрес Тип 224.0.0.22 статический 224.0.0.251 статический 239.255.255.250 статический Интерфейс: 192.168.1.133 --- 0x1c адрес в Интернете Физический адрес Тип 192.168.1.1 c8-2b-35-9a-a6-1e динамический 192.168.1.132 00-11-92-b3-a8-0d динамический 192.168.1.255 ff-ff-ff-ff-ff-ff статический 224.0.0.22 01-00-5e-00-00-16 статический 224.0.0.251 01-00-5e-00-00-fb статический 224.0.0.252 01-00-5e-00-00-fc статический 239.255.255.250 01-00-5e-7f-ff-fa статический
В данном примере присутствуют записи ARP для петлевого интерфейса 127.0.0.1 и реального 192.168.1.133.
Петлевой интерфейс не используется для реальной передачи данных и не имеет привязки к аппаратному адресу.
Таблица ARP реального интерфейса содержит записи для узлов с адресами 192.168.1.1 и 192.168.1.132, а также записи для широковещательной (MAC-адрес равен ff-ff-ff-ff-ff-ff) и групповых рассылок (MAC-адрес начинается с 01-00-5e ).
МАС-адрес групповой рассылки всегда начинается с префикса, состоящего из 24 битов — 01-00-5Е. Следующий, 25-й бит равен 0. Последние 23 бита МАС-адреса формируются из 23 младших битов группового IP-адреса.





















