The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Странная проблема с  TCP/IP"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Странная проблема с  TCP/IP" 
Сообщение от ZTAZZ emailИскать по авторуВ закладки on 27-Апр-05, 13:40  (MSK)
Всем привет .
Странная проблема у клиента :

Наша прога шлет XML на серваки разных фирм с целью получить лист доступных услуг и сделать заказ.

Иногда все ето дело зависает , ответы не приходят . Я начал копать и нашел в чем там проблема :
В какой то момент клиент начинает пересылать 1 баит в каждом пакете !
Также заметил что когда ето случается - меняется Window size и так же появляется много DUP ACK

Вот что показывает Ethereal :

No.     Time        Source                Destination           Protocol Info
   2045 61.717060   199.203.161.229       212.68.149.5          TCP      23712 > 80 [SYN] Seq=0 Ack=0 Win=8192 Len=0 MSS=1460
   2046 61.717093   212.68.149.5          199.203.161.229       TCP      80 > 23712 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1260
   2047 61.717120   212.68.149.5          199.203.161.229       TCP      80 > 23712 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1260
   2048 61.735924   199.203.161.229       212.68.149.5          TCP      23712 > 80 [ACK] Seq=1 Ack=1 Win=8820 Len=0
   2049 61.737518   199.203.161.229       212.68.149.5          TCP      [TCP Window Update] 23712 > 80 [ACK] Seq=1 Ack=1 Win=40960 Len=0
   2050 61.745823   199.203.161.229       212.68.149.5          HTTP     POST / HTTP/1.1
   2051 61.746012   212.68.149.5          199.203.161.229       HTTP     HTTP/1.1 100 Continue
   2052 61.746042   212.68.149.5          199.203.161.229       HTTP     HTTP/1.1 100 Continue
   2053 61.776347   199.203.161.229       212.68.149.5          HTTP     Continuation or non-HTTP traffic
   2054 61.870234   212.68.149.5          199.203.161.229       TCP      80 > 22981 [ACK] Seq=0 Ack=60 Win=65122 Len=0
   2055 61.870258   212.68.149.5          199.203.161.229       TCP      [TCP Dup ACK 2054#1] 80 > 22981 [ACK] Seq=0 Ack=60 Win=65122 Len=0
   2056 61.979617   212.68.149.5          199.203.161.229       TCP      80 > 23712 [ACK] Seq=113 Ack=269 Win=65267 Len=0
   2057 61.979661   212.68.149.5          199.203.161.229       TCP      [TCP Dup ACK 2056#1] 80 > 23712 [ACK] Seq=113 Ack=269 Win=65267 Len=0
   2058 62.713562   199.203.161.229       212.68.149.5          HTTP     Continuation or non-HTTP traffic
   2059 62.726580   199.203.161.229       212.68.149.5          HTTP     Continuation or non-HTTP traffic


А вот как выглядит этот загадочный пакет в 1 байт :

No.     Time        Source                Destination           Protocol Info
   2058 62.713562   199.203.161.229       212.68.149.5          HTTP     Continuation or non-HTTP traffic

Frame 2058 (60 bytes on wire, 60 bytes captured)
    Arrival Time: Apr 27, 2005 11:08:50.995429000
    Time delta from previous packet: 0.733901000 seconds
    Time since reference or first frame: 62.713562000 seconds
    Frame Number: 2058
    Packet Length: 60 bytes
    Capture Length: 60 bytes
Ethernet II, Src: 00:0c:ce:da:84:8a, Dst: 00:07:e9:f2:d1:b4
    Destination: 00:07:e9:f2:d1:b4 (Intel_f2:d1:b4)
    Source: 00:0c:ce:da:84:8a (Cisco_da:84:8a)
    Type: IP (0x0800)
    Trailer: 0000000000
Internet Protocol, Src Addr: 199.203.161.229 (199.203.161.229), Dst Addr: 212.68.149.5 (212.68.149.5)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 41
    Identification: 0x2af1 (10993)
    Flags: 0x04 (Don't Fragment)
        0... = Reserved bit: Not set
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 122
    Protocol: TCP (0x06)
    Header checksum: 0x02e3 (correct)
    Source: 199.203.161.229 (199.203.161.229)
    Destination: 212.68.149.5 (212.68.149.5)
Transmission Control Protocol, Src Port: 22981 (22981), Dst Port: 80 (80), Seq: 60, Ack: 0, Len: 1
    Source port: 22981 (22981)
    Destination port: 80 (80)
    Sequence number: 60    (relative sequence number)
    Next sequence number: 61    (relative sequence number)
    Acknowledgement number: 0    (relative ack number)
    Header length: 20 bytes
    Flags: 0x0018 (PSH, ACK)
        0... .... = Congestion Window Reduced (CWR): Not set
        .0.. .... = ECN-Echo: Not set
        ..0. .... = Urgent: Not set
        ...1 .... = Acknowledgment: Set
        .... 1... = Push: Set
        .... .0.. = Reset: Not set
        .... ..0. = Syn: Not set
        .... ...0 = Fin: Not set
    Window size: 40848
    Checksum: 0xb44b (correct)
Hypertext Transfer Protocol
    Data (1 byte)

0000  61                                                a


У клиента Checkpoint на линухе.
Пробовал :
echo 0  >/proc/sys/net/ipv4/tcp_window_scaling
echo 0  >/proc/sys/net/ipv4/tcp_sack
echo 0  >/proc/sys/net/ipv4/tcp_timestamps
Но без успеха.

Есть идеи?

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Странная проблема с  TCP/IP" 
Сообщение от jonatan Искать по авторуВ закладки(??) on 27-Апр-05, 15:20  (MSK)
Это дамп со стороны клиента? Сам клиент за роутером linux с checkpoint? Опишите схему подключения клиента к Инету.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Странная проблема с  TCP/IP" 
Сообщение от ZTAZZ emailИскать по авторуВ закладки on 27-Апр-05, 15:29  (MSK)
>Это дамп со стороны клиента? Сам клиент за роутером linux с checkpoint?
>Опишите схему подключения клиента к Инету.

Дамп со стороны сервака
Клиент за Checkpoint который бежит на линухе
Ip сервака  212.68.149.5

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Странная проблема с  TCP/IP" 
Сообщение от jonatan Искать по авторуВ закладки(??) on 27-Апр-05, 15:41  (MSK)
>   2046 61.717093   212.68.149.5          199.203.161.229       TCP      80 > 23712 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1260
>   2047 61.717120   212.68.149.5          199.203.161.229       TCP      80 > 23712 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1260
Странно, что сервер отвечает два раза

>   2051 61.746012   212.68.149.5    
>     199.203.161.229      
> HTTP     HTTP/1.1 100 Continue
>   2052 61.746042   212.68.149.5    
>     199.203.161.229      
> HTTP     HTTP/1.1 100 Continue
и здесь тоже

>   2058 62.713562   199.203.161.229    
>  212.68.149.5        
> HTTP     Continuation or non-HTTP traffic
>   2059 62.726580   199.203.161.229    
>  212.68.149.5        
> HTTP     Continuation or non-HTTP traffic
>
>
>А вот как выглядит этот загадочный пакет в 1 байт :
Все эти пакеты в 1 байт одинаковые? Seq, Ack, Win, поле данных?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Странная проблема с  TCP/IP" 
Сообщение от jonatan Искать по авторуВ закладки(??) on 27-Апр-05, 15:48  (MSK)
>   2050 61.745823   199.203.161.229 212.68.149.5 HTTP POST / HTTP/1.1
Хорошо бы еще посмотреть HTTP-заголовки этого пакета

>   2051 61.746012   212.68.149.5 199.203.161.229 HTTP HTTP/1.1 100 Continue
>   2052 61.746042   212.68.149.5 199.203.161.229 HTTP HTTP/1.1 100 Continue
и этих

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Странная проблема с  TCP/IP" 
Сообщение от ZTAZZ emailИскать по авторуВ закладки on 27-Апр-05, 16:23  (MSK)
>>   2050 61.745823   199.203.161.229 212.68.149.5 HTTP POST / HTTP/1.1
>Хорошо бы еще посмотреть HTTP-заголовки этого пакета
>
>>   2051 61.746012   212.68.149.5 199.203.161.229 HTTP HTTP/1.1 100 Continue
>>   2052 61.746042   212.68.149.5 199.203.161.229 HTTP HTTP/1.1 100 Continue
>и этих

POST :
--------------------------------------------------------------------
No.     Time        Source                Destination           Protocol Info
   2050 61.745823   199.203.161.229       212.68.149.5          HTTP     POST / HTTP/1.1

Frame 2050 (321 bytes on wire, 321 bytes captured)
    Arrival Time: Apr 27, 2005 11:08:50.027690000
    Time delta from previous packet: 0.008305000 seconds
    Time since reference or first frame: 61.745823000 seconds
    Frame Number: 2050
    Packet Length: 321 bytes
    Capture Length: 321 bytes
Ethernet II, Src: 00:0c:ce:da:84:8a, Dst: 00:07:e9:f2:d1:b4
    Destination: 00:07:e9:f2:d1:b4 (Intel_f2:d1:b4)
    Source: 00:0c:ce:da:84:8a (Cisco_da:84:8a)
    Type: IP (0x0800)
Internet Protocol, Src Addr: 199.203.161.229 (199.203.161.229), Dst Addr: 212.68.149.5 (212.68.149.5)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 307
    Identification: 0x50f0 (20720)
    Flags: 0x04 (Don't Fragment)
        0... = Reserved bit: Not set
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 122
    Protocol: TCP (0x06)
    Header checksum: 0xdbd9 (correct)
    Source: 199.203.161.229 (199.203.161.229)
    Destination: 212.68.149.5 (212.68.149.5)
Transmission Control Protocol, Src Port: 23712 (23712), Dst Port: 80 (80), Seq: 1, Ack: 1, Len: 267
    Source port: 23712 (23712)
    Destination port: 80 (80)
    Sequence number: 1    (relative sequence number)
    Next sequence number: 268    (relative sequence number)
    Acknowledgement number: 1    (relative ack number)
    Header length: 20 bytes
    Flags: 0x0018 (PSH, ACK)
        0... .... = Congestion Window Reduced (CWR): Not set
        .0.. .... = ECN-Echo: Not set
        ..0. .... = Urgent: Not set
        ...1 .... = Acknowledgment: Set
        .... 1... = Push: Set
        .... .0.. = Reset: Not set
        .... ..0. = Syn: Not set
        .... ...0 = Fin: Not set
    Window size: 40960
    Checksum: 0x23c0 (correct)
Hypertext Transfer Protocol
    POST / HTTP/1.1\r\n
        Request Method: POST
    Accept: */*\r\n
    Accept-Language: en-us\r\n
    Content-Type: text/xml\r\n
    Accept-Encoding: gzip, deflate\r\n
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)\r\n
    Host: www.galor.com\r\n
    Content-Length: 385\r\n
    Connection: Keep-Alive\r\n
    Cache-Control: no-cache\r\n
    \r\n

100 CONTINUE:
------------------------------------------------------------------------------
No.     Time        Source                Destination           Protocol Info
   2051 61.746012   212.68.149.5          199.203.161.229       HTTP     HTTP/1.1 100 Continue

Frame 2051 (166 bytes on wire, 166 bytes captured)
    Arrival Time: Apr 27, 2005 11:08:50.027879000
    Time delta from previous packet: 0.000189000 seconds
    Time since reference or first frame: 61.746012000 seconds
    Frame Number: 2051
    Packet Length: 166 bytes
    Capture Length: 166 bytes
Ethernet II, Src: 00:07:e9:f2:d1:b4, Dst: 00:00:0c:07:ac:01
    Destination: 00:00:0c:07:ac:01 (All-HSRP-routers_01)
    Source: 00:07:e9:f2:d1:b4 (Intel_f2:d1:b4)
    Type: IP (0x0800)
Internet Protocol, Src Addr: 212.68.149.5 (212.68.149.5), Dst Addr: 199.203.161.229 (199.203.161.229)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 152
    Identification: 0xbfd9 (49113)
    Flags: 0x04 (Don't Fragment)
        0... = Reserved bit: Not set
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 128
    Protocol: TCP (0x06)
    Header checksum: 0x678b (correct)
    Source: 212.68.149.5 (212.68.149.5)
    Destination: 199.203.161.229 (199.203.161.229)
Transmission Control Protocol, Src Port: 80 (80), Dst Port: 23712 (23712), Seq: 1, Ack: 268, Len: 112
    Source port: 80 (80)
    Destination port: 23712 (23712)
    Sequence number: 1    (relative sequence number)
    Next sequence number: 113    (relative sequence number)
    Acknowledgement number: 268    (relative ack number)
    Header length: 20 bytes
    Flags: 0x0018 (PSH, ACK)
        0... .... = Congestion Window Reduced (CWR): Not set
        .0.. .... = ECN-Echo: Not set
        ..0. .... = Urgent: Not set
        ...1 .... = Acknowledgment: Set
        .... 1... = Push: Set
        .... .0.. = Reset: Not set
        .... ..0. = Syn: Not set
        .... ...0 = Fin: Not set
    Window size: 65268
    Checksum: 0x0105 (correct)
    SEQ/ACK analysis
        This is an ACK to the segment in frame: 2050
        The RTT to ACK the segment was: 0.000189000 seconds
Hypertext Transfer Protocol
    HTTP/1.1 100 Continue\r\n
        Response Code: 100
    Server: Microsoft-IIS/5.0\r\n
    Date: Wed, 27 Apr 2005 09:08:50 GMT\r\n
    X-Powered-By: ASP.NET\r\n
    \r\n


В пакетах по 1 байту SEQ растет с инкрементом +1 ( типа 1,2,3 и т.д )
ACK тоже меняется но как то рандомально ( по моему )

Меня смущает что у всех пакетов в 1 байт WINDOW SIZE всегда  меньше чем в "хороших" : Window size: 40848
В нормальных он всегда больше 60000

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Странная проблема с  TCP/IP" 
Сообщение от jonatan Искать по авторуВ закладки(??) on 27-Апр-05, 17:55  (MSK)
Появление двойных пакетов от сервера происходит похоже из-за того, что у вас используется Cisco's Hot Standby Routing Protocol (HSRP).

>В пакетах по 1 байту SEQ растет с инкрементом +1 ( типа
>1,2,3 и т.д )
Странно, все современные TCP/IP стеки давно не используют инкрементальное приращение SEQ на 1.

>Меня смущает что у всех пакетов в 1 байт WINDOW SIZE всегда
> меньше чем в "хороших" : Window size: 40848
>В нормальных он всегда больше 60000
Тоже странно, но не криминально. Данные получает сервер, а не клиент.
Попробуйте сделать дамп одновременно на клиенте и на внешнем интерфейсе роутера (linux). Если есть возможность, попробовать временно остановить checkpoint и сделать nat средствами iptables. Возможно проблема в checkpoint.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Странная проблема с  TCP/IP" 
Сообщение от ZTAZZ emailИскать по авторуВ закладки on 27-Апр-05, 19:11  (MSK)
>Появление двойных пакетов от сервера происходит похоже из-за того, что у вас
>используется Cisco's Hot Standby Routing Protocol (HSRP).
>
>>В пакетах по 1 байту SEQ растет с инкрементом +1 ( типа
>>1,2,3 и т.д )
>Странно, все современные TCP/IP стеки давно не используют инкрементальное приращение SEQ на
>1.
>
>>Меня смущает что у всех пакетов в 1 байт WINDOW SIZE всегда
>> меньше чем в "хороших" : Window size: 40848
>>В нормальных он всегда больше 60000
>Тоже странно, но не криминально. Данные получает сервер, а не клиент.
>Попробуйте сделать дамп одновременно на клиенте и на внешнем интерфейсе роутера (linux).
>Если есть возможность, попробовать временно остановить checkpoint и сделать nat средствами
>iptables. Возможно проблема в checkpoint.


Да уж..странще некуда :)
еше раз проверил , деиствительно приходят данные с клиента по 2 раза
АЦК растет с инкрементом +1 . вот бред какой!!!!
кстати роутер с которого приходят данные на сервак похоже действительно сиска : Source: 00:0c:ce:da:84:8a (Cisco_da:84:8a)
но ето уже роутер провайдера , тем более, я уверен что там по дороге еще несколько сисек проходит.

дамп на клиенте сделаю завтра т.к. проблема не у меня в принципе а у клиента нашей конторы
надо договариваться с их админом и туда ехать

оки , в любом случае спасибо вам большое , если будет время завтра загляни , я дампы выложу

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру