ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
21 февраля
1571927 Топик полностью
pavel2000 (Сегодня, 15:09, просмотров: 55) ответил OlegPowerC на Видимо не так объяснил - входящие от IP для которого у нас есть запись.Почему не доверяем первому входящему - потому что могут быть тысячи разных ненужных пакетов с ненужными протоколами и не надо для них место выделять. А так да, в базовом варианте просто копируют мак и IP и шлют в ответ данные но это не правильно потому что есть куча случаев когда так делать не надо, например пришел пакет со шлюза а шлюз это VRRP пара. Ответ желательно слать на групповой MAC а не на
Ваш Тезис #1 - Первый пакет - если [записи в таблице] нет, то не шлем, но добавляем в ARP таблицу запись с флагом что надо бы разрешить адрес ну и выходим. 

Ваш Тезис #2 - Ну и потом уже она будет обновляться входящими пакетами.


Я не понимаю, почему входящими пакетами оно будет обновляться (доверяем), а первому пакету - не доверяем, но в таблицу [безусловно] добавляем и запускаем процесс resolve?


Согласно спецификации, ARP-таблица заполняется/обновляется только на основании пакетов/данных ARP-протокола.
Но некоторые реализации реализованы без использования этой спецификации и заполняют свои структуры нужными данными "по косвенным данным".

Вы как хотите - спецификации полностью соответствовать, или реализовать "оптимизированно, как в старом uIP"?


Мне кажется VRRP не удачный пример, у него вообще всегда один фиксированный MAC 00:00:5e:00:01:XX, который просто переезжает со шлюза на шлюз, и во входящих пакетах должен быть именно он.
Но да, наверняка могут быть какие-то другие конфигурации, когда входящие пакеты могут идти с разных MAC, а отвечать надо на какой-то определенный. Но это мне кажется не настолько частый случай.
На то она и упрощенная реализация, что сознательно не покрывает 100% возможных сценариев.