0 / 0 / 0
Регистрация: 14.01.2013
Сообщений: 3
1

Эксперты, где ошибка в TCP - пакете?

14.01.2013, 18:27. Показов 955. Ответов 4
Метки нет (Все метки)

Добрый день всем.
В поисках ответа забрел на Ваш форум. Кто сможет, подскажите пожалуйста куда копать.

Пишу стек протоколов для своей железки (не PC), на микроконтроллере. Отладил ARP, ICMP, IP, UDP - все работает ОК, затык только с TCP. Не могу сформировать правильный (с точки зрения программы wireshark) пакет SYN ACK. При установке соединения комп посылает пакет SYN, я должен послать SYN ACK. Я хочу добавить (что допускается) опцию MSS - maximum segment size, на что wireshark ругается "Segment/fragment does not contain full TCP header..." (скриншот на рисунке во вложении, в битстриме выделена часть TCP). При этом ТСР - соединение не устанавливается.

Если посылаю пакет SYN,ACK без опций - все нормально, соединение устанавливается (пакет SYN,ACK сформированный мной без опций на втором рисунке).
Контрольную сумму считал всяко - в т.ч. калькулятором - все сходится, при этом wireshark хочет видеть конт.сумму пакета без учета опций. И опции как таковые, вообще не распознает (при установлении соединения комп-комп можно развернуть опции и посмотреть какой байт что означает).
Взял пакет при установлении соединения комп-комп, просчитал КС калькулятором по своей методике - все сошлось, т.е. КС считаю правильно.

Пробовал убирать последние опции - 0x1,0x1,0x0,0x0 - не помогает. Та же ошибка.

Что ему не нравится не понимаю, помогите, ткните куда копать. Неделю уже бьюсь, пол инета перерыл - вроде все правильно формирую, а не выходит каменный цветок!

Заранее благодарен!
Миниатюры
Эксперты, где ошибка в TCP - пакете?   Эксперты, где ошибка в TCP - пакете?  
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.01.2013, 18:27
Ответы с готовыми решениями:

Ошибка в пакете безопасности(1825)
Из АД попытался запустить управление компом в сети. Вылезла эта ошибка и еще 2 1. На DHCP сервере...

Ошибка! Установочный XML-файл не найден в пакете
Привет всем форумчанам. Вопрос который я задам уже всплывал в интернете,но правильного ответа я так...

Ошибка отображения формул в пакете Microsoft Office
При открытии файлов расширений Excel, Word, PowerPoint 2003-2013 годов, формулы отображаются...

Подключение System.Runtime.Remoting.Channels.Tcp и ошибка "В Runtime нет Tcp"
При попытке подключения using System.Runtime.Remoting.Channels.Tcp; Вылетает ошибка, что в...

4
Модератор
3338 / 2117 / 345
Регистрация: 13.01.2012
Сообщений: 8,255
14.01.2013, 20:09 2
Цитата Сообщение от Alex_p Посмотреть сообщение
Пробовал убирать последние опции - 0x1,0x1,0x0,0x0 - не помогает
что это за опции такие? MSS вроде 0x02 0x04 xx xx
0
775 / 444 / 93
Регистрация: 24.10.2012
Сообщений: 3,240
Записей в блоге: 5
14.01.2013, 20:58 3
Пишу стек протоколов для своей железки на микроконтроллере
ты пишешь клиент? RFC 793 — Протокол управления передачей (TCP) в качестве сервера кто выступает? попробуй найти готовые реализации для 8086

Добавлено через 25 минут
это наверное по теме uC/IP
uC/IP (pronounced mew-kip) is a project to develop a TCP/IP protocol stack for microcontrollers
и мануал для инженеров TCP/IP - Введение в 8 и 16 битные микроконтроллеры
0
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
14.01.2013, 21:38 4
2ТС: На Вашей картинке (лучше б Вы дамп пакета залили) неверный размер пакета в IP заголовке.

Цитата Сообщение от vxg Посмотреть сообщение
что это за опции такие? MSS вроде 0x02 0x04 xx xx
это nop и eop , в данном пакете нафиг не нужны но не на что не влияют, зачем ТС'у они понадобились я хз...
0
0 / 0 / 0
Регистрация: 14.01.2013
Сообщений: 3
14.01.2013, 23:46  [ТС] 5
2ТС: На Вашей картинке (лучше б Вы дамп пакета залили) неверный размер пакета в IP заголовке.
В точку! Проблема то в IP а не в TCP заголовке была. Ну под фонарем же всегда светлее искать Поправил и все заработало. Блин неделю убил на эту ерунду.

Огромное спасибо!!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.01.2013, 23:46

Сцена зависает при запуске TCP-клиента, когда он подключен к TCP - серверу, при этом TCP-клиент полностью функционирует
Проблема описана в заголовке, и хотелось бы услышать ваше мнение, о том как можно решить проблему....

Где найти литературу по программированию сокетов в C++ 6.0 tcp/ip?
Помогите найти литературу по программированию сокетов в с++ 6.0 tcp\ip Передомной стоит учебная...

Препод говорит где - то ошибка в синтаксисе. Сам код взят из "жефри Рихтер - Создание эффективных WIN32 приложений" Пожалуйста, подскажите где ошибка!
// получаем код ошибки DWORD dwError = GetDlgItemInt(hwnd, IDC_ERRORCODE, NULL, FALSE); HLOCAL...

Нужна библиотека MODBUS, где были бы реализованы протоколы обмена через rs232 и tcp
кто нибудь знает "хорошую" бесплатную библеотеку modbus где были бы реализованы протоколы обмена...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.