На клиенте установлен linux, работает приложение которое работает с сервером по протоколу http на нестандартному порту. Периодически приложение выдает что "не может соединиться с сервером". На порту коммутатора Cisco 3560 и на контроллере ошибок нет. Никакие файерволы и acl трафик точно не блокируют.
Собрал дамп трафика, после анализа wireshark'ом вижу, что в момент сбоя - клиент получает ответ от сервера BAD REQUEST [400], а перед этим много "tcp retransmission" и "tcp dup ack".Вопрос - это проблема прикладного уровня или все же, где то проблема на более низком(сетевом/транспортном) уровне
> На клиенте установлен linux, работает приложение которое работает с сервером по протоколу
> http на нестандартному порту. Периодически приложение выдает что "не может соединиться
> с сервером". На порту коммутатора Cisco 3560 и на контроллере ошибок
> нет. Никакие файерволы и acl трафик точно не блокируют.
> Собрал дамп трафика, после анализа wireshark'ом вижу, что в момент сбоя -
> клиент получает ответ от сервера BAD REQUEST [400], а перед этим
> много "tcp retransmission" и "tcp dup ack".
> Вопрос - это проблема прикладного уровня или все же, где то проблема
> на более низком(сетевом/транспортном) уровнеА если выключить SACK?
> А если выключить SACK?
TCP ведь протокол надежной доставки. Может быть такое что по каким-то причинам от клиента на сервер придет битый запрос, который сервер и посчитает некорректным и ответит BAD request?
>> А если выключить SACK?
> TCP ведь протокол надежной доставки. Может быть такое что по каким-то причинам
> от клиента на сервер придет битый запрос, который сервер и посчитает
> некорректным и ответит BAD request?Как вариант глючные сетевухи, multi-path routing, MTU или заторы в сети.
Если получаете tcp retransmit значит сервер не получил отправленный клиентом ACK.
Про Dup ACK и SACK можно почитать например здесь:
http://packetlife.net/blog/2010/jun/17/tcp-selective-acknowl...
>>> А если выключить SACK?
>> TCP ведь протокол надежной доставки. Может быть такое что по каким-то причинам
>> от клиента на сервер придет битый запрос, который сервер и посчитает
>> некорректным и ответит BAD request?
> Как вариант глючные сетевухи, multi-path routing, MTU или заторы в сети.
> Если получаете tcp retransmit значит сервер не получил отправленный клиентом ACK.
> Про Dup ACK и SACK можно почитать например здесь:
> http://packetlife.net/blog/2010/jun/17/tcp-selective-acknowl.../спасибо почитаю.
ссылка у меня не работает "404 Not Found"
>>>> А если выключить SACK?
>>> TCP ведь протокол надежной доставки. Может быть такое что по каким-то причинам
>>> от клиента на сервер придет битый запрос, который сервер и посчитает
>>> некорректным и ответит BAD request?
>> Как вариант глючные сетевухи, multi-path routing, MTU или заторы в сети.
>> Если получаете tcp retransmit значит сервер не получил отправленный клиентом ACK.
>> Про Dup ACK и SACK можно почитать например здесь:
>> http://packetlife.net/blog/2010/jun/17/tcp-selective-acknowl.../
> спасибо почитаю.
> ссылка у меня не работает "404 Not Found"ссылка заработала, почитал, спасибо.
Отключил эту опцию TCP вот уже сутки ошибок не наблюдаю, спасибо, думаю в этом и была проблема.
Кстати сервер Win2003, там SACK включена. Видимо не договариваются.