Бит DF в Apache для связи Tomcat
Отредактировано (изменения выделены курсивом):
В моей конфигурации Http-сервер Apache 2.2 настроен как обратный прокси-сервер с mod_proky_jk, который предоставляет службу http с сервера приложений Apache Tomcat 6. Это две разные версии MS Windows 2008 R2.
Моя проблема в том, что связь между удаленным мобильным устройством, подключенным через GPRS или GSM, иногда прерывается.
Я нашел это сообщение, и оно, кажется, соответствует моей ситуации.
Сбрасывая TCP-сообщения, я заметил, что Apache запрашивает пакеты с битом DF, установленным на "не фрагментировать". Размер кадра Ethernet на самом деле 1514, а MTU 1500.
Есть ли способ сказать Apache, чтобы не использовать бит DF? Может, привязать сервис к IP машины вместо всех интерфейсов?
Новая очередь:
Если проблема вызвана добавлением байтов PPPoE, установка более низкого MTU для двух окон Windows может решить эту проблему?
Дальнейшее обновление
Я заметил, что какое-то мобильное устройство не удалось установить связь, а другое - нет. Я проанализировал различия между этими двумя устройствами и заметил, что в настройках WWAN в разделе "Инструменты> Конфигурация данных" на нерабочем устройстве " Включить автоматическую настройку " не отмечено. Я проверил это и перезагрузился, и соединение установилось успешно. Я снял флажок, и соединение все равно установилось. Это устройство больше никогда не выходило из строя.
Может я уловил проблему? На что влияет этот параметр на уровне связи?
1 ответ
Есть ли способ сказать Apache, чтобы не использовать бит DF?
Нет, сделать это невозможно, потому что Apache не работает на этом уровне в сетевом стеке. Apache выполняет стандартные системные вызовы ядра.
Моя проблема заключается в том, что связь между этими двумя соединениями прерывается из-за разгрузки контрольной суммы IP.
Откуда вы знаете, что связь прерывается из-за сбоев из-за разгрузки контрольной суммы IP? То, что вы видите ошибки контрольной суммы в wireshark, не означает, что произошел сбой.
Я заметил, что Apache запрашивает пакеты с битом DF, установленным на "не фрагментировать", но размер пакета на самом деле равен 1514 (больше, чем MTU = 1500),
Вы уверены, что пакет имеет размер 1514 байт или кадр Ethernet, в который пакет инкапсулирован в 1514 байт?
pinging с ключом "-f -l 1514" говорит о том, что "пакет должен быть фрагментирован, но установлен DF".
Что касается вашего пинга, если MTU равен 1500, то попытка пинга с размером 1514 не будет работать.