DF бит в Apache для связи Tomcat

1583
Andrea Colleoni

Отредактировано (изменения выделены курсивом ):

В моей конфигурации 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
Откуда вы знаете, что связь обрывается из-за «сбоя из-за разгрузки контрольной суммы IP»? То, что вы видите ошибки контрольной суммы в Wireshark, не означает, что произошел сбой. Вы уверены, что ** пакет ** имеет размер 1514 байт или кадр Ethernet, в который пакет инкапсулирован в 1514 байт? Zoredache 12 лет назад 0
Спасибо за комментарий. Я отредактировал свой вопрос, чтобы исправить некоторые ошибки. Andrea Colleoni 12 лет назад 0

1 ответ на вопрос

1
Zoredache

Есть ли способ сказать Apache не использовать бит DF?

Нет, сделать это невозможно, потому что Apache не работает на этом уровне в сетевом стеке. Apache выполняет стандартные системные вызовы ядра.

Моя проблема заключается в том, что связь между этими двумя соединениями прерывается из-за разгрузки контрольной суммы IP.

Откуда вы знаете, что связь прерывается из-за сбоев из-за разгрузки контрольной суммы IP? То, что вы видите ошибки контрольной суммы в Wireshark, не означает, что произошел сбой.

Я заметил, что Apache запрашивает пакеты с битом DF, установленным на «не фрагментировать», но размер пакета на самом деле равен 1514 (больше, чем MTU = 1500),

Вы уверены, что пакет имеет размер 1514 байт или кадр Ethernet, в который пакет инкапсулирован в 1514 байт?

pinging с ключом "-f -l 1514" говорит о том, что "пакет должен быть фрагментирован, но установлен DF".

Что касается вашего пинга, если MTU равен 1500, то попытка пинга с размером 1514 не будет работать.

Спасибо за ответ и будьте терпеливы из-за недостатка знаний по этому вопросу. Ваш ответ был полезен и прояснил мне некоторые вещи, поэтому я отредактировал свой вопрос. Andrea Colleoni 12 лет назад 0

Похожие вопросы