pavel2000 (Сегодня, 12:33, просмотров: 57) ответил OlegPowerC на У меня так: Устройство получает IP маску и шлюз по DHCP ну или
руками задаем. Далее так. Допустим мы его начали пинговать с ПК в
одной подсети с ним, тогда при прилете ICMP запроса, мы сначала
проверяем в одной ли подсети с ним, если да то ищем запись в ARP
таблице и если она есть то шлем ответ, а если нет то не шлем, но
добавляем в ARP таблицу запись с флагом что надо бы разрешить адрес
ну и выходим. Затем другая задачка его разрешит. Ну и потом уже она
будет обновляться
Чем последующие входящие пакеты отличаются от первого входящего
пакета? Почему последующим доверяем, а первому - нет? В "обычной
нормальной" сети у входящих пакетов пара MAC+IP однозначно
определяет, на какой MAC слать ответ к IP, ARP-таблица в целом и не
требуется. В случае исходящих соединений - всё наоборот, процесс
отправки IP пакета начнется с поиска MAC. Нужна ли для этого
ARP-таблица, или достаточно поместить найденный MAC в структуру
устанавливаемого соединения? и если она есть то шлем ответ, а если нет то не шлем, но добавляем в ARP таблицу запись с флагом что надо бы разрешить адрес ну и выходим. Затем другая задачка его разрешит. Ну и потом уже она будет обновляться входящими пакетами
-
- Видимо не так объяснил - входящие от IP для которого у нас есть
запись.Почему не доверяем первому входящему - потому что могут быть
тысячи разных ненужных пакетов с ненужными протоколами и не надо
для них место выделять. А так да, в базовом варианте просто
копируют мак и IP и шлют в ответ данные но это не правильно потому
что есть куча случаев когда так делать не надо, например пришел
пакет со шлюза а шлюз это VRRP пара. Ответ желательно слать на
групповой MAC а не на OlegPowerC(79 знак., Сегодня, 13:55)
- Ваш Тезис #1 - Первый пакет - если [записи в таблице] нет, то не
шлем, но добавляем в ARP таблицу запись с флагом что надо бы
разрешить адрес ну и выходим. pavel2000(1063 знак., Сегодня, 15:09)
- Нет , с VRRP и HSRP вы сильно ошибаетесь, да , запрос ARP шлюза ,
шлюз ответит именно им, но когда шлюз пересылает от кого то данные
вам, во фрейме в качестве источника он впишет свой MAC настоящий,
можете проверить - я с этим каждый день работаю - OlegPowerC(Сегодня, 16:12)
- Попутно также проверил, что при заблокированных (на приемнике) ARP
пакетах - TCP соединение не устанавливается, ICMP-пинг не проходит.
Приемник не берет мак из входящих пакетов, а делает полноценный
запрос, чтобы его получить. - pavel2000(Сегодня, 17:55)
- Да, действительно - именно так и есть... Посмотрел tcpdump -
действительно, входящий пакет идет с "настоящего" MAC роутера,
исходящий идет на "виртуальный". Тогда остается только полноценно
реализовывать ARP и не понятно, почему в принципе этот вопрос
возник )) pavel2000(560 знак., Сегодня, 17:53)