
Комментарии 16
Возможен вариант, когда ARP Request является unicast. В этом случае система проверяет адрес уже известного соседа.
Этот вариант неплохо бы если не досконально разобрать, то хотя бы описать.
Что может побудить систему на такую проверку? Как часто будет выполняться такая проверка (главным образом - определяет ли стандарт хоть как-то частоту таких проверок, хотя бы от и до, или всё отдано на откуп системе, хоть вообще не проверяй)? Кто именно ответит в случае, если снаружи произошли изменения, и у целевого МАС уже другой IP, а старый IP принадлежит другому МАС? Может ли система получать ответ не от целевого узла, а от кого-то ещё (например, от DHCP-сервера, который выдал кому-то запрашиваемый адрес и соответственно знает его МАС)?
А также - как ведёт себя система, если мимо пробегает пакет от IP/MAC, который системе пока неизвестен? А если известен IP, но под другим МАС? А если наоборот? Если хоть когда такое учитывается - то только информация из транзитных ARP-пакетов, или и из других типов пакетов тоже?
Спасибо за Ваш комментарий!
Большинство вопросов, которые Вы написали, я планировал рассматривать в следующей статье. Поэтому здесь просто ограничился этой фразой, для первого знакомства я считаю, что этого достаточно.
Цель этой статьи - показать ARP, чтобы у человека сформировалось представление о протоколе.
Дальше будет разбираться глубже)
Большинство вопросов, которые Вы написали, я планировал рассматривать в следующей статье.
Это великолепно. А то большинство статей как раз и завершается на описании, как оно, когда всё штатно и без проблем. Хотя интереснее-то как раз всякие нештатности, отклонения и необычности. Будем подождать..
Да, я понимаю)
Моя статья рассчитана на тех, кто только знакомится. Посмотрели, что в штатном режиме происходит. Потом пошли в более интересные вещи.
По времени пока не могу сказать, примерно месяц, тут пишу для души)
del
Кадр Ethernet адресуется только по MAC-адресу. Для сетевой карты это будет адрес, зашитый производителем на заводе. Без дополнительных навыков мы даже не сможем его изменить.
Да серьезно? Вы же в курсе, что назначением маков и слежением за их уникальность должен заниматься администратор предприятия(все на это забивают, но все же)?
Еще отмечу, что запись в кэше ARP живет не вечно. У каждой платформы свой взгляд на то, сколько именно времени отвести на каждую строчку в ARP-таблице.
Тезис не точен. Запись в таблице может быть статичной и жить вечно, коммуты должны быть L2+, ну а в линуксах ip neigh add 192.168.10.1 lladdr 11:22:33:44:55:66 dev eth0 (пишу по памяти могу ошибиться в синтаксисе)
Есть ряд сценариев когда это требуется.
---
Зачем нужен ARP, если у каждого устройства есть IP-адрес?
Какие-то странные у вас студенты. Обычно задают вопрос - почему в протокол ARP не добавить маску и де-факто не получить ту же IP-адресацию?
Спасибо за комментарий!
Кадр Ethernet адресуется только по MAC-адресу. Для сетевой карты это будет адрес, зашитый производителем на заводе. Без дополнительных навыков мы даже не сможем его изменить.
Да серьезно? Вы же в курсе, что назначением маков и слежением за их уникальность должен заниматься администратор предприятия(все на это забивают, но все же)?
Давайте немного уточним, про что Вы говорите? Насколько я понимаю, Вы имеете ввиду мак-адреса, которые назначают виртуальным машинам, верно?
Потому что глобальные уникальные мак-адреса выделяет IEEE производителям (например Cisco / Eltex, которые я рассматривал в статье). Там очень низкая вероятность (один к миллиону и меньше) получения одинакового мака двум разным железкам.
Есть вероятность, когда начинающий администратор скопировал виртуалку и запустил оригинал и клон. Да, в этом случае будут 2 одинаковых мака. Примерно эту ситуацию я планировал рассмотреть в следующей статье)
Еще отмечу, что запись в кэше ARP живет не вечно. У каждой платформы свой взгляд на то, сколько именно времени отвести на каждую строчку в ARP-таблице.
Тезис не точен. Запись в таблице может быть статичной и жить вечно, коммуты должны быть L2+, ну а в линуксах
ip neigh add 192.168.10.1 lladdr 11:22:33:44:55:66 dev eth0 (пишу по памяти могу ошибиться в синтаксисе)Есть ряд сценариев когда это требуется.
В статье довольно много времени уделено разбору статических и динамических записей в таблице ARP у разных вендоров. Фраза, которую Вы привели, относится именно к кешу, то есть временным записям в таблице. Потому что статическая запись будет жить вечно, что было показано в статье ранее.
Зачем нужен ARP, если у каждого устройства есть IP-адрес?
Какие-то странные у вас студенты. Обычно задают вопрос - почему в протокол ARP не добавить маску и де-факто не получить ту же IP-адресацию?
Я пишу про свой опыт и своих студентов)
Вы имеете ввиду мак-адреса, которые назначают виртуальным машинам, верно?
Нет, я имею ввиду любые mac-адреса
Потому что глобальные уникальные мак-адреса выделяет IEEE производителям (например Cisco / Eltex, которые я рассматривал в статье).
Нет. IEEE распределяет только OUI - старшие три байта. Младшие три байта - как производитель решит. Насколько мне известно, производитель вроде бы обязан (но это не точно) следить за уникальностью. Однако в реальной жизни, я знаю несколько разработок, когда производитель не парился и лил в прошивку один и тот же MAC. А в инструкции было "при включении Ethernet задайте уникальный адрес"
Так вот о чем это я? а о том что у нас есть второй бит старшего байта в MAC адресе который определяет, является ли адрес глобально уникальным, или локально уникальным. Так вот в случае Locally Administered Address (LAA) - администратор локальной сети должен разработать правила присвоения адресов, назначать их и следить за уникальностью.
Третье, производитель может сделать MAC-неизменяемым, но это не является обязанностью. Хотя бы потому что непонятно что делать при коллизиях на старом оборудовании (да и в теории на новом).
В общем, виртуалки, это хороший пример, но они являются частым случаем. Более общим является возможность создавать интерфейсы на устройствах и изменять MAC на уже существующих.
Да, теперь я понял, про что Вы.
А в инструкции было "при включении Ethernet задайте уникальный адрес"
Мне кажется, что я один раз встречался когда-то давно с этим, на какой-то отечественной оконечке. Поэтому для меня как раз это - частный случай)
производитель может сделать MAC-неизменяемым, но это не является обязанностью.
Подавляющее большинство сетевых карт допускает программное, на уровне настроек драйвера карты, изменение MAC. А для карт, поддерживающих MultiVLAN, это и вовсе абсолютно необходимая фича.
Подавляющее большинство сетевых карт допускает программное, на уровне настроек драйвера карты, изменение MAC. А для карт, поддерживающих MultiVLAN, это и вовсе абсолютно необходимая фича.
Согласен.
Однако в реальной жизни, я знаю несколько разработок, когда производитель не парился и лил в прошивку один и тот же MAC. А в инструкции было "при включении Ethernet задайте уникальный адрес"
Можете привести примеры?
Можете привести примеры?
Из седой древности - VESA (?) карты Intel. Те, которые настраивались утилитой proset.exe. При старте утилита определяла имеющиеся карты, а при выборе карты для настройки первым делом предлагала установить для неё МАС-адрес. И, по-моему, ненадёванные карты отображали в текущей настройке именно все нули. А вот ISA (опять же емнип) имели что-то дефолтное ненулевое, но одно и то же или уникальное - убейте не помню.
ARP – невидимая основа сетей Ethernet/IPv4. Разбираем на примере Ubuntu, Cisco и Eltex