Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Cетевые протоколы и технологии

Cетевые протоколы и технологии TCP/IP стек

Ответ
 
Опции темы Опции просмотра
Старый 08.01.2018, 20:06   #1
siarzhuk
Senior Member
 
Аватар для siarzhuk
 
Регистрация: 08.11.2014
Возраст: 47
Сообщений: 137
Вес репутации: 1161/25
siarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud of
По умолчанию lwIP - tcp win size == 65535 у принятых в windows 10 пакетов.

Добрый вечер!

Не сталкивался ли кто нибудь с нижеописанным эффектом?

Дано устройствo с lwIP стеком. Устанавливаем с ним коммуникацию из под windows 10. Протокол текстовый - посылаем "STATUS?\r" получаем "STATUS:1,2,3,4,5,6\r". Через ~30 секунд после установления ip соединения устройсто перестает отвечать на запросы "STATUS?\r" прилежно присылая при этом кроткий TCP ACK пакеты на каждый такой запрос. Закрыв ip соединение и открыв его вновь - получаем ещё 30 секунд коммуникации после чего проблема повторяется. Остальные сетевые функции - как-то ответы на UDP запросы или открытие параллельных ip соединений (тоже на 30 секунд жизни, впрочем) вполне работоспособны.

В wireshark логе заметили, что в момент возникновения проблемы поле win size в tcp header пакета посылаемого устройством увеличивается с пары килобайт до 65535. Трассировка на стороне устройства показывает, что отсылаемое в этом пакете (проверям по seqno) win size в порядке, тоже самое отмечает и второй wireshark, включённый в хаб между PC и отлаживаемым устройством. Т.е. железо на устройстве судя по всему вне подозрений. Но wireshark на Windows 10 видит win size уже 65535 со всеми вытекающими последствиями.

Проблема проявляется только на одном из доступных PC с Windows 10. На остальных 10-ках, как и на системах с windows 7, Win Server 2012 обнаружить её не удалось. В "больном" PC с Windows 10 - две сетевые карточки - эффект наблюдается на обеих. checksum offloading отключали - вылечить "битые" (согласно валидации в wireshark) чексуммы в tcp header windows пакетов не помогло. Что характерно - до "больного" пакета с win size 65535, все пакеты приходящие от устройства валидируют tcp header чексумму корректно - а начиная с "больного" пакета - все "чёрные".

Пробовали обновить lwIP с 1.4.х до 2.0.4 - симптомы идентичны. На данной платформе это уже третье устройство за два года - на экземплярах "второго" эффект обнаруживается лишь через пару часов, а у "первых" дождаться "экскоммуникации" пока не удалось. Устройства функционально разные - но МК и разводка LAN цепей сходная.

С благодарностью выслушаю ваши соображения по поводу проблемы.

Спасибо за внимание и всем хорошего вечера!
siarzhuk вне форума   Ответить с цитированием
Старый 08.01.2018, 20:19   #2
igor_tgru
Senior Member
 
Аватар для igor_tgru
 
Регистрация: 25.02.2007
Возраст: 45
Сообщений: 675
Вес репутации: 1380/60
igor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud of
По умолчанию Re: lwIP - tcp win size == 65535 у принятых в windows 10 пакетов.

Цитата:
Сообщение от siarzhuk Посмотреть сообщение
Через ~30 секунд после установления ip соединения
тут нет ошибки ? может имеется ввиду TCP соединение ?

Цитата:
Сообщение от siarzhuk Посмотреть сообщение
включённый в хаб между PC и отлаживаемым устройством.
хаб или свич ?

Цитата:
Сообщение от siarzhuk Посмотреть сообщение
В "больном" PC с Windows 10 - две сетевые карточки - эффект наблюдается на обеих.
сетевые параметры на этих картах покажете ? (ip,mask.....и т.д.)
igor_tgru вне форума   Ответить с цитированием
Старый 08.01.2018, 22:40   #3
bzx
Senior Member
 
Аватар для bzx
 
Регистрация: 25.02.2007
Адрес: St. Petersburg
Возраст: 44
Сообщений: 459
Вес репутации: 1181/56
bzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud of
Отправить сообщение для bzx с помощью ICQ Отправить сообщение для bzx с помощью Skype™
По умолчанию Re: lwIP - tcp win size == 65535 у принятых в windows 10 пакетов.

Восстановите стек TCP/IP на WIN10.

Если не поможет, то что то делаете с lwIP не то. Начните с "0", без использования "своих наработок" - возьмите исходник lwIP или тот же куб от st и без внесения изменений запустите чистый проект из примеров.
__________________
Для связи email: info собака qbit.su
bzx вне форума   Ответить с цитированием
Старый 09.01.2018, 12:27   #4
siarzhuk
Senior Member
 
Аватар для siarzhuk
 
Регистрация: 08.11.2014
Возраст: 47
Сообщений: 137
Вес репутации: 1161/25
siarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud of
По умолчанию Re: lwIP - tcp win size == 65535 у принятых в windows 10 пакетов.

Цитата:
Сообщение от igor_tgru Посмотреть сообщение
тут нет ошибки ? может имеется ввиду TCP соединение ? хаб или свич ?
Прошу прощения за неточность. Вы правы - это TCP соединение. Свитч - "раздаёт сеть" на само устройство, PC с управляюшим софтом, машину с контрольным wireshark и [четвёртым кабелем] включён в сеть предприятия.

Цитата:
Сообщение от igor_tgru Посмотреть сообщение
сетевые параметры на этих картах покажете ? (ip,mask.....и т.д.)
1. Используем набортную Realtek, Intel в слоте расширения - "висит".
Код:
Ethernet adapter Ethernet 2:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : 
   Description . . . . . . . . . . . : Intel(R) Ethernet I210-T1 GbE NIC
   Physical Address. . . . . . . . . : 68-05-CA-61-69-95
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes

Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . : 
   Description . . . . . . . . . . . : Realtek PCIe GBE Family Controller
   Physical Address. . . . . . . . . : 40-B0-34-FC-16-7A
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::bd15:61a8:375a:53b0%3(Preferred) 
   IPv4 Address. . . . . . . . . . . : 192.168.2.114(Preferred) 
   Subnet Mask . . . . . . . . . . . : 255.255.128.0
   Lease Obtained. . . . . . . . . . : 09 January 2018 09:53:48
   Lease Expires . . . . . . . . . . : 11 January 2018 10:01:06
   Default Gateway . . . . . . . . . : 192.168.1.99
   DHCP Server . . . . . . . . . . . : 192.168.0.14
   DHCPv6 IAID . . . . . . . . . . . : 54571060
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-21-36-1E-6F-40-B0-34-FC-16-7A
   DNS Servers . . . . . . . . . . . : 192.168.0.14
                                       192.168.1.47
   NetBIOS over Tcpip. . . . . . . . : Enabled
2.Переключаемся на Intel в слоте расширения. Набортная Realtek - "висит".
Код:
Ethernet adapter Ethernet:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : 
   Description . . . . . . . . . . . : Realtek PCIe GBE Family Controller
   Physical Address. . . . . . . . . : 40-B0-34-FC-16-7A
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes

Ethernet adapter Ethernet 2:

   Connection-specific DNS Suffix  . : 
   Description . . . . . . . . . . . : Intel(R) Ethernet I210-T1 GbE NIC
   Physical Address. . . . . . . . . : 68-05-CA-61-69-95
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::3194:8f82:232a:17a5%2(Preferred) 
   IPv4 Address. . . . . . . . . . . : 192.168.2.155(Preferred) 
   Subnet Mask . . . . . . . . . . . : 255.255.128.0
   Lease Obtained. . . . . . . . . . : 09 January 2018 10:00:47
   Lease Expires . . . . . . . . . . : 11 January 2018 10:05:05
   Default Gateway . . . . . . . . . : 192.168.1.99
   DHCP Server . . . . . . . . . . . : 192.168.0.14
   DHCPv6 IAID . . . . . . . . . . . : 40371658
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-21-36-1E-6F-40-B0-34-FC-16-7A
   DNS Servers . . . . . . . . . . . : 192.168.0.14
                                       192.168.1.47
   NetBIOS over Tcpip. . . . . . . . : Enabled
Цитата:
Сообщение от bzx Посмотреть сообщение
Восстановите стек TCP/IP на WIN10.
Это некая штатная процедура?

Цитата:
Сообщение от bzx Посмотреть сообщение
Если не поможет, то что то делаете с lwIP не то.
Забавно то, что конфигурация lwIP для всех трёх типов устройств идентична - но поведение их в части обсуждаемого эффекта - различно - стабильно воспроизводится/иногда воспроизводится/не удалось воспроизвести.
Цитата:
Сообщение от bzx Посмотреть сообщение
Начните с "0", без использования "своих наработок" - возьмите исходник lwIP или тот же куб от st и без внесения изменений запустите чистый проект из примеров.
К сожалению, для используемой платфoрмы (RX63N) чистый пример обнаружить [в своё время] не удалось.

Спасибо за советы! :-)
siarzhuk вне форума   Ответить с цитированием
Старый 09.01.2018, 14:14   #5
bzx
Senior Member
 
Аватар для bzx
 
Регистрация: 25.02.2007
Адрес: St. Petersburg
Возраст: 44
Сообщений: 459
Вес репутации: 1181/56
bzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud ofbzx has much to be proud of
Отправить сообщение для bzx с помощью ICQ Отправить сообщение для bzx с помощью Skype™
По умолчанию Re: lwIP - tcp win size == 65535 у принятых в windows 10 пакетов.

Цитата:
Сообщение от siarzhuk Посмотреть сообщение
Это некая штатная процедура?
Да.

Цитата:
Сообщение от siarzhuk Посмотреть сообщение
Забавно то, что конфигурация lwIP для всех трёх типов устройств идентична - но поведение их в части обсуждаемого эффекта - различно
А это и есть тестирование. Ошибки могут быть в том числе и в железе, например, не качественная пайка, остатки флюса. Проведите осмотр платы, сделайте отмывку в ультразвуковой ванне.
__________________
Для связи email: info собака qbit.su
bzx вне форума   Ответить с цитированием
Старый 09.01.2018, 23:11   #6
igor_tgru
Senior Member
 
Аватар для igor_tgru
 
Регистрация: 25.02.2007
Возраст: 45
Сообщений: 675
Вес репутации: 1380/60
igor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud of
По умолчанию Re: lwIP - tcp win size == 65535 у принятых в windows 10 пакетов.

Цитата:
Сообщение от siarzhuk Посмотреть сообщение
. Свитч - "раздаёт сеть" на само устройство, PC с управляюшим софтом, машину с контрольным wireshark и [четвёртым кабелем] включён в сеть предприятия.
странно.... если мне не изменяет мой склероз Вы не должны были сторонним компом видеть обмен между железкой и "больным компом" иначе у Вас должен быть как минимум управляемый свич.

Цитата:
Сообщение от siarzhuk Посмотреть сообщение
Description . . . . . . . . . . . : Realtek PCIe GBE Family Controller
Physical Address. . . . . . . . . : 40-B0-34-FC-16-7A

IPv4 Address. . . . . . . . . . . : 192.168.2.114(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.128.0

Description . . . . . . . . . . . : Intel(R) Ethernet I210-T1 GbE NIC
Physical Address. . . . . . . . . : 68-05-CA-61-69-95

IPv4 Address. . . . . . . . . . . : 192.168.2.155(Preferred)
Subnet Mask . . . . . . . . . . . : 255.255.128.0
а эти интерфейсы оба одновременно задействованы ?
igor_tgru вне форума   Ответить с цитированием
Старый 10.01.2018, 00:33   #7
siarzhuk
Senior Member
 
Аватар для siarzhuk
 
Регистрация: 08.11.2014
Возраст: 47
Сообщений: 137
Вес репутации: 1161/25
siarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud of
По умолчанию Re: lwIP - tcp win size == 65535 у принятых в windows 10 пакетов.

Цитата:
Сообщение от igor_tgru Посмотреть сообщение
странно.... если мне не изменяет мой склероз
Ох-х... День открытий и самообразования у меня сегодня. И вновь вы правы - судя по тому, что пакеты видно на всех портах - это хаб. Прошу прощения за дезинформацию.
Но проблема наблюдается не только на этом хабе, который и взят-то был, чтобы собрать минимальную сеточку из устройства, "больного" PC и "подслушивающего" PC. До этого пакеты "бились" с теми-же симптомами и на более мощном хабе, и даже при коммуникации через несколько хабов с аналогичным устройством в противоположном углу помещения.

Цитата:
Сообщение от igor_tgru Посмотреть сообщение
а эти интерфейсы оба одновременно задействованы ?
Нет, кабель используется только один и подключается либо к интерфейсу набортной карты, либо к интерфейсу той карты, что установлена в слот расширения. Более никаких других подсетей не организуем.

Свежая установка винды [в дефолтной конфигурации] на этот-же PC с другим HDD проблему TCP соединения решает - обмен данными работает часами и без вышеописанных повреждений пакетов. И если после апдейта системы до актуального состояния проблема не проявится - придется косо смотреть на список понаставленного ПM-ами софта и искать вредителя в нём. Подозреваем ESET антивирус, но корректно отключить себя он нам не даёт а удалять без ведома хозяев компьютера лицензированный "протухт" не совсем хорошо. В вероятность-же идентичного глюка в драйверах сетевых карт от разных производителей как-то верится с трудом - остаётся искать на уровне системы и прикладного софта.
siarzhuk вне форума   Ответить с цитированием
Старый 10.01.2018, 02:54   #8
igor_tgru
Senior Member
 
Аватар для igor_tgru
 
Регистрация: 25.02.2007
Возраст: 45
Сообщений: 675
Вес репутации: 1380/60
igor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud of
По умолчанию Re: lwIP - tcp win size == 65535 у принятых в windows 10 пакетов.

Цитата:
Сообщение от siarzhuk Посмотреть сообщение
судя по тому, что пакеты видно на всех портах - это хаб.
не совсем точное определение , дело в том что я уже даже и не помню когда хабы вообще перестали выпускать, если же он достаточно свеж то это должен быть все таки свич.

Цитата:
Сообщение от siarzhuk Посмотреть сообщение
Но проблема наблюдается не только на этом хабе,
До этого пакеты "бились" с теми-же симптомами и на более мощном хабе, и даже при коммуникации через несколько хабов с аналогичным устройством в противоположном углу помещения.
а вот это уже интересно , боюсь я неполнотой инфы увел немного в сторону , похожее проявление возможно из за беды на MAC уровне , если
Ваша железка кидается скажем так бродкастным маком то пакеты должны появляться на всех портах (пример пакетов с Вашей железки покажете ?)


Цитата:
Сообщение от siarzhuk Посмотреть сообщение
Нет, кабель используется только один и подключается либо к интерфейсу набортной карты, либо к интерфейсу той карты, что установлена в слот расширения. Более никаких других подсетей не организуем.
я о том что два одновременно работающих интерфейса на компе смотрящих в один сегмент сети и имеющие адреса в одной подсети это насколько помню моветон , опять таки если склероз не изменяет мне (давно это было )))) )
igor_tgru вне форума   Ответить с цитированием
Старый 10.01.2018, 12:16   #9
siarzhuk
Senior Member
 
Аватар для siarzhuk
 
Регистрация: 08.11.2014
Возраст: 47
Сообщений: 137
Вес репутации: 1161/25
siarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud of
По умолчанию Re: lwIP - tcp win size == 65535 у принятых в windows 10 пакетов.

Цитата:
Сообщение от igor_tgru Посмотреть сообщение
что я уже даже и не помню когда хабы вообще перестали выпускать, если же он достаточно свеж то это должен быть все таки свич.
Этот ещё десятимегабитный старичок EtherPRIME EP-1008m - спасён от отправки на утилизацию именно за его всепортовую болтливость.

Цитата:
Сообщение от igor_tgru Посмотреть сообщение
похожее проявление возможно из за беды на MAC уровне , если Ваша железка кидается скажем так бродкастным маком то пакеты должны появляться на всех портах (пример пакетов с Вашей железки покажете ?
Прожу прощения за полноту изложения, но детали порой оказываются неожиданно полезны. ;-)
Код:
No.     Time           Source                Destination           Protocol Length Info
   6949 138.412376     192.168.2.71          192.168.2.114         TCP      124    10001 → 49837 [PSH, ACK] Seq=27656 Ack=3393 Win=2456 Len=70

Frame 6949: 124 bytes on wire (992 bits), 124 bytes captured (992 bits) on interface 0
    Interface id: 0 (\Device\NPF_{90E598E7-D225-47E4-B92F-EC138113DBB0})
    Encapsulation type: Ethernet (1)
    Arrival Time: Jan 10, 2018 09:48:00.259938000 W. Europe Standard Time
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1515574080.259938000 seconds
    [Time delta from previous captured frame: 0.100325000 seconds]
    [Time delta from previous displayed frame: 0.100325000 seconds]
    [Time since reference or first frame: 138.412376000 seconds]
    Frame Number: 6949
    Frame Length: 124 bytes (992 bits)
    Capture Length: 124 bytes (992 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ethertype:ip:tcp:data]
    [Coloring Rule Name: TCP]
    [Coloring Rule String: tcp]
Ethernet II, Src: DrIngHer_00:1f:5d (00:15:e2:00:1f:5d), Dst: HewlettP_fc:16:7a (40:b0:34:fc:16:7a)
    Destination: HewlettP_fc:16:7a (40:b0:34:fc:16:7a)
    Source: DrIngHer_00:1f:5d (00:15:e2:00:1f:5d)
    Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 192.168.2.71, Dst: 192.168.2.114
    0100 .... = Version: 4
    .... 0101 = Header Length: 20 bytes (5)
    Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
    Total Length: 110
    Identification: 0xf75c (63324)
    Flags: 0x00
    Fragment offset: 0
    Time to live: 255
    Protocol: TCP (6)
    Header checksum: 0x3e23 [validation disabled]
    [Header checksum status: Unverified]
    Source: 192.168.2.71
    Destination: 192.168.2.114
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: 10001, Dst Port: 49837, Seq: 27656, Ack: 3393, Len: 70
    Source Port: 10001
    Destination Port: 49837
    [Stream index: 19]
    [TCP Segment Len: 70]
    Sequence number: 27656    (relative sequence number)
    [Next sequence number: 27726    (relative sequence number)]
    Acknowledgment number: 3393    (relative ack number)
    0101 .... = Header Length: 20 bytes (5)
    Flags: 0x018 (PSH, ACK)
    Window size value: 2456
    [Calculated window size: 2456]
    [Window size scaling factor: -2 (no window scaling used)]
    Checksum: 0xbd5f [unverified]
    [Checksum Status: Unverified]
    Urgent pointer: 0
    [SEQ/ACK analysis]
    TCP payload (70 bytes)
Data (70 bytes)

0000  53 54 41 54 55 53 3a 38 33 30 30 38 30 39 30 2c   STATUS:83008090,
0010  38 2c 33 30 30 30 36 2c 30 2c 31 2c 30 2c 30 2c   8,30006,0,1,0,0,
0020  30 2c 30 2c 30 2c 30 2c 2d 31 30 30 2c 2d 37 2c   0,0,0,0,-100,-7,
0030  30 2c 32 31 34 37 34 38 33 36 37 36 2c 31 2c 33   0,2147483676,1,3
0040  32 33 31 37 30 0d                                 23170.
    Data: 5354415455533a38333030383039302c382c33303030362c...
    [Length: 70]
Цитата:
Сообщение от igor_tgru Посмотреть сообщение
я о том что два одновременно работающих интерфейса на компе смотрящих в один сегмент сети и имеющие адреса в одной подсети это насколько помню моветон
Это да - если не изменяет память в этом случае нездоровится многим, не только этому хосту.
siarzhuk вне форума   Ответить с цитированием
Старый 10.01.2018, 12:48   #10
pal1222@yandex.ru
Senior Member
 
Регистрация: 30.09.2008
Сообщений: 1,448
Вес репутации: 2354/72
pal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond reputepal1222@yandex.ru has a reputation beyond repute
По умолчанию Re: lwIP - tcp win size == 65535 у принятых в windows 10 пакетов.

Не там ищете(имхо) и это все борьба с симптомами... tcp win size, сам по себе, на коротких пакетах вообще ни на что не влияет. На всякий случай укажите его в устройстве меньше 1518.
pal1222@yandex.ru вне форума   Ответить с цитированием
Старый 10.01.2018, 18:11   #11
igor_tgru
Senior Member
 
Аватар для igor_tgru
 
Регистрация: 25.02.2007
Возраст: 45
Сообщений: 675
Вес репутации: 1380/60
igor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud ofigor_tgru has much to be proud of
По умолчанию Re: lwIP - tcp win size == 65535 у принятых в windows 10 пакетов.

Цитата:
Сообщение от siarzhuk Посмотреть сообщение
Ethernet II, Src: DrIngHer_00:1f:5d (00:15:e2:00:1f:5d)
жалко не вижу дампа эзернет фрейма , но имхо у Вас девайс инитится мак адресом задом наперед . мультикаст , или нет ? (Билл) ))))))
igor_tgru вне форума   Ответить с цитированием
Старый 10.01.2018, 19:17   #12
siarzhuk
Senior Member
 
Аватар для siarzhuk
 
Регистрация: 08.11.2014
Возраст: 47
Сообщений: 137
Вес репутации: 1161/25
siarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud of
По умолчанию Re: lwIP - tcp win size == 65535 у принятых в windows 10 пакетов.

Цитата:
Сообщение от igor_tgru Посмотреть сообщение
жалко не вижу дампа эзернет фрейма
Это наше упущение, да. Вот с дампом:

Код:
No.     Time           Source                Destination           Protocol Info
5791745 56237.518262   192.168.2.71          192.168.2.114         TCP      scp-config(10001) → 49837 [PSH, ACK] Seq=155209 Ack=4152296719 Win=2456 Len=70

Frame 5791745: 124 bytes on wire (992 bits), 124 bytes captured (992 bits) on interface 0
Ethernet II, Src: DrIngHer_00:1f:5d (00:15:e2:00:1f:5d), Dst: HewlettP_fc:16:7a (40:b0:34:fc:16:7a)
    Destination: HewlettP_fc:16:7a (40:b0:34:fc:16:7a)
    Source: DrIngHer_00:1f:5d (00:15:e2:00:1f:5d)
    Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 192.168.2.71, Dst: 192.168.2.114
    0100 .... = Version: 4
    .... 0101 = Header Length: 20 bytes (5)
    Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
    Total Length: 110
    Identification: 0xf75c (63324)
    Flags: 0x00
    Fragment offset: 0
    Time to live: 255
    Protocol: TCP (6)
    Header checksum: 0x3e23 [validation disabled]
    [Header checksum status: Unverified]
    Source: 192.168.2.71
    Destination: 192.168.2.114
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: scp-config (10001), Dst Port: 49837 (49837), Seq: 155209, Ack: 4152296719, Len: 70
    Source Port: scp-config (10001)
    Destination Port: 49837 (49837)
    [Stream index: 5027]
    [TCP Segment Len: 70]
    Sequence number: 155209
    [Next sequence number: 155279]
    Acknowledgment number: 4152296719
    0101 .... = Header Length: 20 bytes (5)
    Flags: 0x018 (PSH, ACK)
    Window size value: 2456
    [Calculated window size: 2456]
    [Window size scaling factor: -2 (no window scaling used)]
    Checksum: 0xbd5f [correct]
    [Checksum Status: Good]
    [Calculated Checksum: 0xbd5f]
    Urgent pointer: 0
    [SEQ/ACK analysis]
    TCP payload (70 bytes)
Data (70 bytes)

0000  40 b0 34 fc 16 7a 00 15 e2 00 1f 5d 08 00 45 00   @.4..z.....]..E.
0010  00 6e f7 5c 00 00 ff 06 3e 23 c0 a8 02 47 c0 a8   .n.\....>#...G..
0020  02 72 27 11 c2 ad 00 02 5e 49 f7 7f 05 0f 50 18   .r'.....^I....P.
0030  09 98 bd 5f 00 00 53 54 41 54 55 53 3a 38 33 30   ..._..STATUS:830
0040  30 38 30 39 30 2c 38 2c 33 30 30 30 36 2c 30 2c   08090,8,30006,0,
0050  31 2c 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 2d 31   1,0,0,0,0,0,0,-1
0060  30 30 2c 2d 37 2c 30 2c 32 31 34 37 34 38 33 36   00,-7,0,21474836
0070  37 36 2c 31 2c 33 32 33 31 37 30 0d               76,1,323170.
Ну с мультикаст MAC-ом мы бы его и не нашли, не то чтобы TCP соединения устанавливать. A отметина от граблей с local admin bit в верхнем октете - одна из самых первых на моём лбу. Такое не забывается. :-)
siarzhuk вне форума   Ответить с цитированием
Старый 10.01.2018, 19:55   #13
siarzhuk
Senior Member
 
Аватар для siarzhuk
 
Регистрация: 08.11.2014
Возраст: 47
Сообщений: 137
Вес репутации: 1161/25
siarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud of
По умолчанию Re: lwIP - tcp win size == 65535 у принятых в windows 10 пакетов.

Цитата:
Сообщение от pal1222@yandex.ru Посмотреть сообщение
Не там ищете(имхо) и это все борьба с симптомами...
Согласен, с симптомами борьба. Но это пока единственная очевидная зацепка. Кроме рекомендованной вами игры с размером TCP_WND о чём читайте ниже. :-)
Цитата:
Сообщение от pal1222@yandex.ru Посмотреть сообщение
tcp win size, сам по себе, на коротких пакетах вообще ни на что не влияет.
Ну вот меня тоже это смущало при чтении документации.
Цитата:
Сообщение от pal1222@yandex.ru Посмотреть сообщение
На всякий случай укажите его в устройстве меньше 1518.
Ставлю так:
Код:
/* TCP Maximum segment size. */
#define TCP_MSS                 (1500 - 40)      /* TCP_MSS = (Ethernet MTU - IP header size - TCP header size) */

/* TCP receive window. */
#define TCP_WND                 1500 // (2 * TCP_MSS)
В wireshark по-прежнему наблюдаю прыжок размера окна в 65535 через ~20 секунд после соединения и проблемы с передачей данных.

А если [от балды] в другую сторону:
Код:
/* TCP receive window. */
#define TCP_WND                (5 * TCP_MSS)
Размер окна прыгает на 65535 в обычные ~20 секунд после коннекта - но данные (запросы - ответы) ходят как ни в чём не бывало. Хм... Поставил на ночь под коннектом. Спасибо за "направление" мыслей в эту сторону!
siarzhuk вне форума   Ответить с цитированием
Старый 12.01.2018, 17:02   #14
Pasha_Bi
Senior Member
 
Регистрация: 24.07.2009
Адрес: г. Иваново
Возраст: 43
Сообщений: 282
Вес репутации: 640/40
Pasha_Bi is a name known to allPasha_Bi is a name known to allPasha_Bi is a name known to allPasha_Bi is a name known to allPasha_Bi is a name known to allPasha_Bi is a name known to all
По умолчанию Re: lwIP - tcp win size == 65535 у принятых в windows 10 пакетов.

А TCP_SND_BUF?
Вот, например, мои настройки с комментариями (может Вам помогут):
Код:
// Максимальный размер полезной нагрузки (1500 минус размер заголовка TP, минус размер заголовка TCP).
// Значение по умолчанию-536, консервативное значение.
#define TCP_MSS                 			(1500-40)
// Максимальное колличество байт, которые могут быть поставлены в очередь для отправки, для дости-
// жения хорошей производительности длжно быть не менее (2*TCP_MSS) - значение по умолчанию.
// Это значение ограничивает пространство буфера отправителя (в байтах): tcp_write допускает буфери-
// зацию ограниченного количества байтов (до подтверждения). Для максимальной пропускной способности
// установите это значение равным TCP_WND (фактически отключив дополнительную проверку). 
#define TCP_SND_BUF             			(4*TCP_MSS)
// Эта автоподстановка определяет какое колличество буферов pbuf может быть в очереди для передачи
// данных. Это значение должно быть по крайней мере (2*TCP_SND_BUF/TCP_MSS) - значение по умолчанию.
// Это ограничение - всего лишь проверка безопасности, что одно соединение не потребляет слишком много
// pbufs
#define TCP_SND_QUEUELEN        			(2*TCP_SND_BUF/TCP_MSS)
// Размер окна TCP должен быть как минимум в два раза больше размера TCP_MSS (таким образом, в ethernet, 
// где TCP_MSS равно 1460, он должен быть установлен как минимум 2920). Если память позволяет, установите 
// TCP_WND как можно больше (0xFFFF - это самое высокое значение), но имейте в виду, что для каждого 
// активного соединения полное окно может быть забуферировано до тех пор, пока оно не будет подтверждено
// удаленной стороной. Значение по умолчанию - (4*TCP_MSS)
#define TCP_WND                 			(4*TCP_MSS)
Pasha_Bi вне форума   Ответить с цитированием
Старый 12.01.2018, 19:54   #15
siarzhuk
Senior Member
 
Аватар для siarzhuk
 
Регистрация: 08.11.2014
Возраст: 47
Сообщений: 137
Вес репутации: 1161/25
siarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud ofsiarzhuk has much to be proud of
По умолчанию Re: lwIP - tcp win size == 65535 у принятых в windows 10 пакетов.

Цитата:
Сообщение от Pasha_Bi Посмотреть сообщение
А TCP_SND_BUF?
Текущее состояние - TCP_WND увеличили с (2 * TCP_MSS) до (3 * TCP_MSS)
Код:
/* TCP Maximum segment size. */
#define TCP_MSS                 (1500 - 40)      /* TCP_MSS = (Ethernet MTU - IP header size - TCP header size) */

/* TCP sender buffer space (bytes). */
#define TCP_SND_BUF             (5 * TCP_MSS)

/*  TCP_SND_QUEUELEN: TCP sender buffer space (pbufs). This must be at least
  as much as (2 * TCP_SND_BUF/TCP_MSS) for things to work. */

#define TCP_SND_QUEUELEN        (4 * TCP_SND_BUF / TCP_MSS)

/* TCP receive window. */
#define TCP_WND                 (3 * TCP_MSS)
Устройство успешно отрабатывает "запрос-ответ" протокола верхнего уровня, но на "независимом" wireshark-e наблюдаются Dup ACK от винды на каждый посылаемый устройством "ответ".
Цитата:
Сообщение от Pasha_Bi Посмотреть сообщение
Вот, например, мои настройки с комментариями (может Вам помогут):
Спасибо!
siarzhuk вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Звук через ШИМ KeMik Продукция MICROCHIP 79 02.10.2011 12:36
MPLAB не находит c018i.o qwerty1 Продукция MICROCHIP 45 22.04.2011 12:14
help. Большие массивы asam Продукция MICROCHIP 38 18.11.2008 16:18


Часовой пояс GMT +3, время: 05:39.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot