|
LPC1788, lWIP |
|
|
|
Sep 17 2013, 17:31
|
self made
   
Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795

|
Продолжаю мучать LWIP. Вроде добился нормальной работы, но подключил плату к роутеру а не напрямую, и начались новые проблемы... Во первых, почему-то все мои фреймы имеют ошибку Frame Check Sequence. Во-вторых очень много Retransmitoв. Такое ощущение что клиент мгновенно начинает слать повторные запросы. Это может быть связано с первой проблемой? В приложении Wireshark trace запроса.
|
|
|
|
|
 |
Ответов
|
Sep 23 2013, 19:09
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
не! тут надо разделить протоколы.
TCP/IP - этот протокол гарантирует последовательность приема данных, отсутствие повторов и пропусков. И добивается он этого как раз строго последовательным приемом. В каждой посылке идет адрес не принятой части и подтверждается принятая. то есть к примеру в начале идет пакет 10 байт в нем написа с 0 байта, 0 подтверждено в ответ на этот пакет идет к примеру 5 байт обратно и в них уже стоит с 0 байта, 10 подтверждено в ответ на это ... с 10 байта, 5 подтверждено.
если будет подтверждено прием 10 байт, и придет пакет с 20 байта, то ТСР скажет ай ай ай, и попросит повторить с 10, оттуда и появляется ретрансмит в случае перестановки пакетов.
ТСР не может принять с 20 байта, а потом ждать когда дошлют с 10 по 20, потому что у него есть проверка на повторные данные. то есть если подтверждено 15 байт, то любые попытки послать пакет с 5 байта игнорируются, а это может работать только если до 15 байта нет дырок.
Это как бы принцип работы ТСР.
Но есть же еще UDP, у него нет не начала не конца, он может терять пакет и переставлять его как хочет. Видимо вайфай обрабатывает пакеты по их длине или еще как - то, и какие то уходят быстрее, если они УДП пакеты то и славно, а если ТСР, то ТСР сам все поправит. Думаю так.
Кстати надеяться на то что пакеты пойду одним пакетом можно только если у вас длина данных меньше 56 байт по моему, все что больше может быть рутером разбито, там есть атрибут запрета разбития пакетов, но не вссе его могут обрабатывать... макс длинна пакета около 1500 байт, а в вайфай кажется больше 560 не лезет...
Отсюда резюме! Если ТСР то все получится правильно не зависимо от длины пакетов. Если УДП, то надо накладывать протокол на данные внутри. как то так
|
|
|
|
Сообщений в этой теме
ar__systems LPC1788, lWIP Sep 17 2013, 17:31 =F8= Цитата(ar__systems @ Sep 17 2013, 20:31) ... Sep 22 2013, 05:52 ar__systems Цитата(=F8= @ Sep 22 2013, 00:52) Что зна... Sep 22 2013, 16:36 =F8= ЦитатаЯ правильно понимаю, что wireshark не всегда... Sep 22 2013, 18:05 Golikov A. а кто же причем? конечно рутер, если по вайфаю сла... Sep 22 2013, 18:46 ar__systems Цитата(Golikov A. @ Sep 22 2013, 13:46) а... Sep 23 2013, 02:23 =F8= Цитата(Golikov A. @ Sep 22 2013, 21:46) Н... Sep 23 2013, 19:20 Golikov A. вроде это просто время а не число скачков...
вай... Sep 23 2013, 07:42 ar__systems Цитата(Golikov A. @ Sep 23 2013, 02:42) в... Sep 23 2013, 15:40  scifi Цитата(ar__systems @ Sep 23 2013, 19:40) ... Sep 23 2013, 18:31 ar__systems Цитата(Golikov A. @ Sep 23 2013, 14:09) е... Sep 23 2013, 20:27 Golikov A. Сдаюсь сдаюсь...
Вы все действительно правы. И я ... Sep 24 2013, 05:48 ar__systems Цитата(Golikov A. @ Sep 24 2013, 00:48) А... Sep 24 2013, 11:51 Golikov A. то есть если окно 2 сегмента допустим
ему не смогу... Sep 24 2013, 12:37 Golikov A. Окно задается в байтах, а сегменты могут быть любы... Sep 30 2013, 10:51
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|