Рейтинг:0

Трафик NTP вызывает частые запросы ARP

флаг in

Я использую Ubuntu LTS 22.04, используя Chrony в качестве NTP-сервера. Я обнаружил, что даже при частом трафике NTP между клиентом NTP и сервером NTP запросы ARP по-прежнему отправляются туда и обратно очень часто. По умолчанию срок действия кэша ARP составляет 60 секунд.

Это ошибка?

09:32:28.116858 IP 10.68.1.2.123 > 10.68.1.1.123: NTPv4, клиент, длина 48
09:32:28.117032 IP 10.68.1.1.123 > 10.68.1.2.123: NTPv4, сервер, длина 48
09:32:30.117770 IP 10.68.1.2.123 > 10.68.1.1.123: NTPv4, клиент, длина 48
09:32:30.117936 IP 10.68.1.1.123 > 10.68.1.2.123: NTPv4, сервер, длина 48
09:32:33.116704 ARP, Запросите, у кого есть 10.68.1.1, сообщите 10.68.1.2, длина 46
09:32:33.116750 ARP, ответ 10.68.1.1 is-at 20:7c:14:a0:b9:a1, длина 28
09:32:33.190181 ARP, Запросите, у кого есть 10.68.1.2, сообщите 10.68.1.1, длина 28
09:32:33.190327 ARP, ответ 10.68.1.2 is-at 00:90:e8:9d:aa:dc, длина 46
09:32:46.117215 IP 10.68.1.2.123 > 10.68.1.1.123: NTPv4, клиент, длина 48
09:32:46.117470 IP 10.68.1.1.123 > 10.68.1.2.123: NTPv4, сервер, длина 48
09:32:48.117032 IP 10.68.1.2.123 > 10.68.1.1.123: NTPv4, клиент, длина 48
09:32:48.117277 IP 10.68.1.1.123 > 10.68.1.2.123: NTPv4, сервер, длина 48
09:33:04.116931 IP 10.68.1.2.123 > 10.68.1.1.123: NTPv4, клиент, длина 48
09:33:04.117104 IP 10.68.1.1.123 > 10.68.1.2.123: NTPv4, сервер, длина 48
09:33:06.116888 IP 10.68.1.2.123 > 10.68.1.1.123: NTPv4, клиент, длина 48
09:33:06.117144 IP 10.68.1.1.123 > 10.68.1.2.123: NTPv4, сервер, длина 48
09:33:09.286195 ARP, Запросите, у кого есть 10.68.1.2, сообщите 10.68.1.1, длина 28
09:33:09.286332 ARP, ответ 10.68.1.2 is-at 00:90:e8:9d:aa:dc, длина 46
09:33:22.116699 IP 10.68.1.2.123 > 10.68.1.1.123: NTPv4, клиент, длина 48
09:33:22.116833 IP 10.68.1.1.123 > 10.68.1.2.123: NTPv4, сервер, длина 48
09:33:24.116869 IP 10.68.1.2.123 > 10.68.1.1.123: NTPv4, клиент, длина 48
09:33:24.117034 IP 10.68.1.1.123 > 10.68.1.2.123: NTPv4, сервер, длина 48
09:33:27.116688 ARP, Запросите, у кого есть 10.68.1.1, сообщите 10.68.1.2, длина 46
09:33:27.116751 ARP, ответ 10.68.1.1 is-at 20:7c:14:a0:b9:a1, длина 28
09:33:40.116842 IP 10.68.1.2.123 > 10.68.1.1.123: NTPv4, клиент, длина 48
09:33:40.117011 IP 10.68.1.1.123 > 10.68.1.2.123: NTPv4, сервер, длина 48
09:33:42.116923 IP 10.68.1.2.123 > 10.68.1.1.123: NTPv4, клиент, длина 48
09:33:42.117089 IP 10.68.1.1.123 > 10.68.1.2.123: NTPv4, сервер, длина 48
09:33:45.126169 ARP, Запросить у кого есть 10.68.1.2 сообщить 10.68.1.1, длина 28
09:33:45.126332 ARP, ответ 10.68.1.2 is-at 00:90:e8:9d:aa:dc, длина 46
09:33:58.116928 IP 10.68.1.2.123 > 10.68.1.1.123: NTPv4, клиент, длина 48
09:33:58.117095 IP 10.68.1.1.123 > 10.68.1.2.123: NTPv4, сервер, длина 48
09:34:00.116873 IP 10.68.1.2.123 > 10.68.1.1.123: NTPv4, клиент, длина 48
09:34:00.117039 IP 10.68.1.1.123 > 10.68.1.2.123: NTPv4, сервер, длина 48
09:34:16.116895 IP 10.68.1.2.123 > 10.68.1.1.123: NTPv4, клиент, длина 48
09:34:16.117154 IP 10.68.1.1.123 > 10.68.1.2.123: NTPv4, сервер, длина 48
09:34:18.116863 IP 10.68.1.2.123 > 10.68.1.1.123: NTPv4, клиент, длина 48
09:34:18.117029 IP 10.68.1.1.123 > 10.68.1.2.123: NTPv4, сервер, длина 48
09:34:21.116733 ARP, Запросите, у кого есть 10.68.1.1, сообщите 10.68.1.2, длина 46
09:34:21.116768 ARP, Ответ 10.68.1.1 is-at 20:7c:14:a0:b9:a1, длина 28
09:34:21.222128 ARP, Запросите, у кого есть 10.68.1.2, сообщите 10.68.1.1, длина 28
09:34:21.222294 ARP, ответ 10.68.1.2 is-at 00:90:e8:9d:aa:dc, длина 46
09:34:34.116899 IP 10.68.1.2.123 > 10.68.1.1.123: NTPv4, клиент, длина 48
09:34:34.117069 IP 10.68.1.1.123 > 10.68.1.2.123: NTPv4, сервер, длина 48
09:34:36.127025 IP 10.68.1.2.123 > 10.68.1.1.123: NTPv4, клиент, длина 48
09:34:36.127269 IP 10.68.1.1.123 > 10.68.1.2.123: NTPv4, сервер, длина 48
09:34:52.116889 IP 10.68.1.2.123 > 10.68.1.1.123: NTPv4, клиент, длина 48
09:34:52.117145 IP 10.68.1.1.123 > 10.68.1.2.123: NTPv4, сервер, длина 48
09:34:54.116943 IP 10.68.1.2.123 > 10.68.1.1.123: NTPv4, клиент, длина 48
09:34:54.117187 IP 10.68.1.1.123 > 10.68.1.2.123: NTPv4, сервер, длина 48
09:34:57.318148 ARP, Запросите, у кого есть 10.68.1.2, сообщите 10.68.1.1, длина 28
09:34:57.318299 ARP, ответ 10.68.1.2 is-at 00:90:e8:9d:aa:dc, длина 46
09:35:10.116983 IP 10.68.1.2.123 > 10.68.1.1.123: NTPv4, клиент, длина 48
09:35:10.117159 IP 10.68.1.1.123 > 10.68.1.2.123: NTPv4, сервер, длина 48
09:35:12.116865 IP 10.68.1.2.123 > 10.68.1.1.123: NTPv4, клиент, длина 48
09:35:12.117031 IP 10.68.1.1.123 > 10.68.1.2.123: NTPv4, сервер, длина 48
09:35:15.116750 ARP, Запросите, у кого есть 10.68.1.1, сообщите 10.68.1.2, длина 46
09:35:15.116810 ARP, ответ 10.68.1.1 is-at 20:7c:14:a0:b9:a1, длина 28
флаг cn
Я считаю, что это описано здесь: https://serverfault.com/a/924165/20701. Это похоже на поведение в Windows, время ожидания не является детерминированным.
R SONG avatar
флаг in
Спасибо, Грег. Я тоже заметил этот пост. Давайте согласимся, что по умолчанию срок действия кэша ARP составляет от 15 до 45 секунд. Срок действия записи кэша ARP истекает, если она не используется. Если есть трафик с использованием этого IP/MAC-адреса чаще, чем 15 секунд, срок действия этой записи ARP не должен истечь, не так ли?
флаг cn
Должно быть достаточно легко проверить. Без НТП.
Рейтинг:0
флаг ru

Это совершенно нормально и не является ошибкой.

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

R SONG avatar
флаг in
Спасибо Зак67. У меня было неправильное впечатление. Я думал, что запись ARP не истечет, пока к ней часто обращаются. Но должен ли ответчик ARP также обновлять свой собственный кэш ARP при получении запроса ARP? Например, хост A отправляет запрос ARP на хост B, будет ли хост B также обновлять свою запись ARP для хоста A? В приведенном выше tcpdump 10.68.1.2 отправил запрос ARP на 10.68.1.1, 10.68.1.1 ответил, сразу после этого 10.68.1.1 отправил запрос ARP на 10.68.1.2, а 10.68.1.2 ответил. Зачем это нужно?
Zac67 avatar
флаг ru
Запрос ARP обновляет таблицу ARP только тогда, когда он создан как *беспричинное сообщение ARP* (TPA=SPA, THA=0), обычные запросы ARP не обновляют ARP.
R SONG avatar
флаг in
Спасибо Зак67. [ссылка](http://manpages.ubuntu.com/manpages/bionic/man7/arp.7.html) ... Положительный отзыв можно получить с более высокого уровня ... **base_reachable_time (начиная с Linux 2.2) Один раз обнаружен сосед, запись считается действительной, по крайней мере, для случайного значения между base_reachable_time/2 и 3*base_reachable_time/2. _Действительность записи будет продлена, если она получит положительные отзывы от протоколов более высокого уровня._** Похоже, что другой протокол может продлить срок действия записей ARP. Проблема в том, почему NTP Chrony или NTP в целом этого не делают?
Zac67 avatar
флаг ru
Положительная обратная связь = полученные кадры с MAC-адреса не продлевают время жизни записи, а только предотвращают его сокращение. «После обнаружения соседа» относится к успешному разрешению ARP. Однако host и их реализации здесь явно не по теме, см. [help/on-topic].

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.