OpenVZ Forum


Home » International » Russian » Как сделать ipip tunnel mtu > 1480 ?
Re: Как сделать ipip tunnel mtu > 1480 ? [message #37931 is a reply to message #37870] Tue, 03 November 2009 13:20 Go to previous messageGo to previous message
maxx is currently offline  maxx
Messages: 13
Registered: November 2008
Location: Volgograd, Russia
Junior Member
По пункту (2) полностью согласен. Действительно, с правильными картами mtu выставляется > 1500.

А вот с пунктом (3) не могу согласиться. Передача-то, конечно, пакетная, но ведь ip-фрагментацию никто не отменял.

В BSD все замечательно работает. MTU на езернете 1500 и на туннеле 1500. Если приходит пакет 1500 байт с DF, который надо поместить в туннель, то так как размер туннеля 1500, то он без проблем проходит инкапсуляцию. Итоговый пакет получается 1520 байт, но уже без DF, поэтому он подвергается ip-фрагментации и делится на 2 пакета - 1500 и 40 байт (это вместе с еще одним ip заголовком). В итоге, приложения клиента, использующие DF пакеты 1500 байт, работают без проблем.

Это нормальное поведение любого роутера (не важно, Linux, BSD или Cisco). И все это умеют, в том числе и Linux, конечно.
"Проблема" в том, что Linux не дает увеличить mtu туннеля больше mtu физики - 20. Абсолюно понятно, что это сделано для избежания излишней ip-фрагментации, так как это дополнительно нагружает роутер (фрагментация требует ресурсов роутера: cpu и ОЗУ).

Можно поднять mtu физики 1520, но тогда, как минимум, и на соседней точке нужно это сделать, но тогда ip-фрагментация просто переносится на другой узел сети, - чего хотелось бы избежать.

Собственно, мой вопрос в том, где правильнее отключить ограничение mtu на туннеле в Linux. Сам думаю, что нужно править ядро. Просто сам не имею опыта осмысленного изменения исходников ядра, так что прошу помощи. Может, кто знает, где и как это правильно поправить?

Поиском в инете нарыл, что есть патчи для ядер 2.4.x и 2.6.x, которые позволяют с помощью iptables снимать с пакетов DF. Но это тоже патчи, к тому же не понятно, заработают ли они корректно для OpenVZ.

Если есть решение проще, - буду рад узнать...

[Updated on: Tue, 03 November 2009 13:24]

Report message to a moderator

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: [solved] eth0 много dropped
Next Topic: Ломаются блокировки в samba
Goto Forum:
  


Current Time: Thu Oct 16 09:34:54 GMT 2025

Total time taken to generate the page: 0.22846 seconds