2

Проходя 3,6 журнала изменений ядра Linux, я натолкнулся на письмо (http://article.gmane.org/gmane.linux.network/238256) от Дэвида Миллера относительно удаления кэша маршрутизации для IPV4 в ядре. Мне интересно, как теперь будет работать перенаправление ICMP, функции PMTU? Mail также упоминает, что маршруты будут предварительно кэшироваться, но несколько маршрутов в зависимости от маски подсети могут иметь несколько возможных записей, как это будет работать? Кто-нибудь есть идеи по этому поводу?

Благодарю.

2 ответа2

5

Просто прочитайте фактические патчи.

Вместо хранения перенаправлений PMTU и ICMP в кэше маршрутизации они хранятся в структуре "исключение маршрутизации", которая является частью записи маршрутизации. И для любого (источник, интерфейс ввода, tos, пункт назначения, отметка) выбирается только одна запись маршрута. поэтому исключения маршрутизации всегда будут использоваться до тех пор, пока запись маршрута не будет изменена.

0

Вы можете получить подробную информацию о пути MTU для хоста следующим образом. Обратите внимание, что информация о кеше должна быть заполнена первой. Это тестирование проводилось с ядром Ubuntu 3.13. Сначала я проверяю текущий кеш для хоста, я с ним не общался и не имею никакой информации:

johnf@mtutest:~$ ip ro get 192.168.3.48
192.168.3.48 dev eth0  src 192.168.1.22
    cache

Затем я пытаюсь пропинговать его с пакетом, большим чем MTU (но не настолько большим, что ОС должна фрагментировать этот пакет). Вы можете пропустить первые несколько пингов при тестировании, вы должны увидеть сообщение о необходимости Frag.

johnf@mtutest:~$ ping -s 1460 192.168.3.48 -c 10
PING 192.168.3.48 (192.168.3.48) 1460(1488) bytes of data.
From 192.168.2.0 icmp_seq=1 Frag needed and DF set (mtu = 1220)
1468 bytes from 192.168.2.0: icmp_seq=2 ttl=252 time=1973 ms
[...]
--- 192.168.3.48 ping statistics ---
10 packets transmitted, 9 received, +1 errors, 10% packet loss, time 9016ms
rtt min/avg/max/mdev = 95.681/516.815/1973.697/568.969 ms, pipe 2

После того, как вы получите сообщение ICMP MTU Exceeded, ядро должно настроить ваш кеш маршрутов, чтобы отразить ограничения пути:

johnf@mtutest:~$ ip ro get 192.168.3.48
192.168.3.48 dev eth0  src 192.168.1.22
    cache  expires 588sec mtu 1220

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .