Фрагментация пакетов ведет к сбоям Ping

7 0 0 0

Фрагментация пакетов ведет к сбоям Ping

Описание проблемы

203734fu9h19v5q9n9rmu9.png 

CO_CS и OP_DS - это CE12800. WN_DS - это S9700 с NAT. FW - это брандмауэр не Huawei.

Симптом неисправности

OP-сервер может пропинговать сервер штаб-квартиры маленькими пакетами, но отказывает большими пакетами, которые превышают 1472 байта.

OP_DS и CO_CS могут пропинговать сервер головного офиса маленькими пакетами, но терпеть неудачу с большими пакетами, которые превышают 1472 байта.

 

Процедура

Если локальное устройство пропингует удаленное устройство большими пакетами, длина которых превышает 1472 байта, ICMP-пакеты будут фрагментированы. В следующих ситуациях проверьте, не вызывает ли фрагментация пакетов неправильную последовательность пакетов или неправильную маркировку, а затем приводит к ошибкам пересылки:

• Два конца могут пропинговать с маленькими пакетами, но не большими пакетами.

• Маленькие пакеты могут быть пересланы, но большие пакеты не могут быть пересланы.

Проанализируйте причину неисправности в соответствии с местоположением устройства, которое инициирует операцию проверки связи.

OP-сервер не может пропинговать сервер штаб-квартиры большими пакетами.

На рисунке 1 получены заголовки пакетов на портах нисходящей линии связи и восходящей линии связи, которые соединяют OP_DS с FW (как показано зелеными и синими кружками соответственно). На рисунках 2 и 3 показана полученная информация заголовка пакета на портах нисходящей линии связи и восходящей линии связи соответственно.

Рисунок 1 Полученная информация заголовка пакета на порте нисходящей линии связи, который соединяет OP_DS с FW

 203735bnmrprrm06itn9iz.png

Рисунок 2 Полученная информация заголовка пакета на порту восходящей линии связи, который соединяет OP_DS с FW

 203735dy39v3z2b24cl9py.png

Полученная информация заголовка пакета показывает:

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

Пакеты, отправленные с FW на OP_DS, расположены в обратном порядке: каждый маленький пакет запроса ICMP помещается перед большим пакетом запроса ICMP. В этой ситуации фрагментированные пакеты ошибочно упорядочены.

Когда OP-сервер отправляет большие пакеты для проверки связи с сервером штаб-квартиры, фрагменты ICMP-пакетов неправильно сортируются после обработки FW, подключенной к OP_DS, в режиме обхода. Когда фрагменты пакета ICMP поступают в WN_DS, WN_DS отбрасывает эти фрагменты, поскольку NAT не может обрабатывать фрагменты с неверной последовательностью.

Три из четырех строк исходящего интерфейса Eth-Trunk на FW удаляются, чтобы заменить Eth-Trunk на единый канал, чтобы проверить, не вызывает ли FW неправильную последовательность пакетов. Впоследствии OP-сервер может успешно пропинговать сервер штаб-квартиры большими пакетами.

В заключение, сбой проверки связи является результатом неправильной последовательности пакетов на интерфейсе Eth-Trunk FW.

OP_DS и CO_CS не могут пропинговать сервер штаб-квартиры большими пакетами.

Следующее использует CO_CS в качестве примера. Заголовки пакетов получены на порту восходящей линии связи, который соединяет CO_CS с WN_DS, как показано на рисунке 4.

Рисунок 3 Полученная информация заголовка пакета на порту восходящей линии связи, который соединяет CO_CS с WN_DS

 

203736bqmemeff7vrzlbiv.png

Полученная информация заголовка пакета показывает, что CO_CS получает ответ ICMP от сервера штаб-квартиры. В ответе ICMP бит «не фрагментировать» (DF) и бит «больше фрагментов» (MF) отправляются в 1.

Согласно RFC 791:

Fragment не фрагментировать: значение 0 указывает, что пакет может быть фрагментирован, а значение 1 указывает, что пакет не может быть фрагментирован.

Больше фрагментов: значение 0 указывает, что фрагмент является последним фрагментом, а значение 1 указывает, что помимо этого фрагмента имеются другие фрагменты.

Если бит DF пакета установлен в 1, но пакет должен быть фрагментирован, этот пакет будет отброшен. Пакеты с битом 1 DF могут быть отправлены хостам, которые не могут повторно собрать фрагменты. Когда CO_CS обнаруживает, что как бит DF, так и бит MF принятого ответа ICMP установлены в 1, он считает ответ ICMP недействительным пакетом и отбрасывает пакет. В результате происходит сбой проверки связи.

CO_CS получает пакеты с неправильными битами флага фрагмента и поэтому не может получить информацию о сервере и промежуточных устройствах штаб-квартиры. Ниже анализируется причина этой проблемы.

Сервер главного офиса устанавливает бит DF в своем ответе ICMP на 1, чтобы получить минимальный MTU, также называемый MTU пути (PMTU) обратного пути. В этом механизме обнаружения PMTU сервер указывает PMTU пути, отправляет пакеты, которые короче PMTU, и использует бит DF 1 на этом пути. Если некоторые большие пакеты не могут быть фрагментированы и переадресованы некоторыми промежуточными устройствами на пути, эти устройства отбрасывают пакеты и возвращают пакет ошибок ICMP, указывая, что пакеты должны быть фрагментированы, но бит DF был установлен в 1. Когда сервер принимает такой пакет ошибок ICMP, он уменьшает PMTU пути, пока не получит пакет ошибок ICMP. Затем обнаружение PMTU завершено. В механизме обнаружения PMTU устройства могут отвечать пакетами ошибок ICMP при приеме пакетов, которые должны быть фрагментированы, но переносят бит 1. DF. Однако в реальных приложениях некоторые устройства принудительно фрагментируют такие принятые пакеты, не изменяя бит DF с 1 на 0 В результате CO_CS получает пакеты с неправильным битом DF.

В заключение, сбой проверки связи вызван неправильным битом DF пакетов, обработанных сервером штаб-квартиры или промежуточными сетевыми устройствами на пути от OP_DS и CO_CS к серверу штаб-квартиры.

Решение

• Если OP-сервер не может пропинговать сервер штаб-квартиры большими пакетами, найдите и устраните проблему хеша магистрали брандмауэра не-Huawei. В настоящее время вы можете изменить исходящий интерфейс Eth-Trunk брандмауэра в одну ссылку, чтобы предотвратить эту проблему. Эта профилактическая мера, однако, повлияет на пропускную способность канала.

• Если OP_DS или CO_CS не могут пропинговать сервер штаб-квартиры большими пакетами, клиент должен убедиться, что все промежуточные сетевые устройства на пути от OP_DS или CO_CS к серверу штаб-квартиры поддерживают обнаружение PTMU и могут отвечать пакетами ошибок ICMP, чтобы CE12800 могут получать ответы ICMP с действительными битами DF. Результаты тестов показывают, что OP-сервер может идентифицировать ответы ICMP как с битом DF, так и с битом MF, установленным на 1. Следовательно, эта проблема не повлияет на реальные сервисы. Рекомендуется проверить фактическую сетевую среду и оценить влияние.

 


  • x

Ответ

Отправить
Выполните вход в систему, чтобы ответить на пост. Вход | Регистрация

Внимание! В целях защиты правовых интересов Вас, сообщества и третьих лиц, не публикуйте любой материал, содержащий политические высказывания, порнографию, упоминание азартных игр, употребление наркотиков, а также материал, нарушающий коммерческую тайну или содержащий персональные данные пользователей. Также не предоставляйте данные от вашей учетной записи. Вы будете нести ответственность за все действия, выполняемые под вашим аккаунтом. Подробная информация: “Политика конфиденциальности..”
Если кнопка вложения недоступна, обновите Adobe Flash Player до последней версии.

Авторизуйтесь и пользуйтесь всеми преимуществами участника!

Вход
Быстрый ответ Вверх