реклама на сайте
подробности

 
 
> Свой стек PPP
Beginning
сообщение Oct 1 2008, 12:54
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Долго искал, где создать тему, так и не нашёл. Разместил здесь, т.к. в конечном счёте, PPP необходим для GPRS. Если есть более подходящая ветка, прошу перенести.
Собственно сам вопрос. Рассчитываю CRC PPP фрейма. И CRC не совпадает. Делаю Следующее:
Сначало приходит стандартный LCP пакет:
~ }#А!}!}#} }9}"}&} }*} } }'}"}(}"}%}&ЂA}!в}#}%В#}%чи~
После преоброзования 7D, выделяем тело:
C0,21,1,3,0,19,2,6,0,A,0,0,7,2,8,2,5,6,80,41,1,E2,3,5,C2,23,5,F7,E8,

Функуия для расчёта CRC:
uint16 crc16_ppp(uint8 *buf,uint32 len)
{
uint32 i;
uint8 j;
uint16 crc=0x2E93; //В CRC побывало уже 0xFF и 0x03
for (i=0;i<len;i++)
{
crc^=(uint16)buf[i]<<8;
for(j=0;j<8;j++) crc=crc&0x8000 ? (crc << 1)^0x1021 : crc<<1;
}
return crc;
}
Получаю CRC: EB1C
Инвертирую CRC: 14E3 и оно не совпадает с F7E8.
Что я делаю не так? Через CRC надо пропускать байты уже преобразованные через 7D, или абсолютно каждый байт между ~~?
Если у кого есть исxодники PPP, можете помочь страждущему?
P.S. Т.к. есть большое желание узнать, как вся эта кухня работает, не предлагать взять готовый стек PPP и TCP/IP


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Beginning
сообщение Oct 9 2008, 11:29
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Помогите решить проблему.
Сразу после CONNECT, приходит первый PPP пакет – это LCP протокол согласования настроек соединения:
FF,3,C0,21,1,3,0,19,2,6,0,A,0,0,7,2,8,2,5,6,B4,DE,E,6E,3,5,C2,23,5,35,D3,
где:
FF,3 – константы
CO,21 –LCP
1 -Запрос конфигурации
3 –ID
0,19 – длина поля ”информация”
2,6,0,A,0,0, - сервер предложил только 12 13 символ передавать через ESC
7,2, - сжатие поля протокола
8,2,- сжатие полей поля адреса и управления
5,6,B4,DE,E,6E, - магическое число
3,5,C2,23,5, - протокол аутентификации CHAP !!! Зачем здесь в конце цифра 5??? Кто знает прошу объяснить.
35,D3, -CRC
Мне не нужны все предложенные настройки. Вместо протокола CHAP нужен PAP.
Следуя алгоритму, я посылаю пакет NAK. Что написано про него в описании:
Пакет LCP типа Configure-Nak используется для сигнализации о том, что по крайней мере один из параметров, заявленных в пакете Configure-Request, не принят сервером РРР. При этом сервер должен указать, какой именно параметр не принят, и предложить альтернативное значение этого параметра в поле Опции этого пакета.
Я формирую следующий пакет:
FF,3,C0,21,3,3,0,18,2,6,0,A,0,0,3,4,C0,23,5,6,B4,DE,E,6E,7,2,8,2,5B,8D,
где:
FF,3 – константы
CO,21 –LCP
3 - Не подтверждение конфигурации
3 – ID такойже как и в запросе
0,18 - длина поля ”информация”
2,6,0,A,0,0, - не использовать параметр, т.к. значение совпадает с предложенным сервером. Но если параметр не используется, то берётся значение по умолчанию. Т.е. все первых 32 знака проходят через ESC.
3,4,C0,23,- я посылаю отвержение параметра, но т.к. тип протокола С023(PAP) не совпадает с предложенным сервером С223(CHAP) то сервер должен принять новое значение.
6,B4,DE,E,6E,- не использовать ”магическое число», я посылаю такое же число, как и в запросе сервера, следовательно, сервер должен думать, что параметр отвержен.
7,2, - сжатие протокола не использовать. Вообще, какой то бредовый параметр. Я бы и хотел его использовать, но оказывается его нельзя использовать для LCP пакетов. Тогда зачем он нужен? Что то я не пойму.
8,2, - не использовать сжатие полей поля адреса и управления
5B,8D – последний байт в этой последовательности – это старший байт рассчитанной CRC.
Вобщем, посылаю этот пакет. В ответ сервер мне присылает:

FF,3,C0,21,1,5,0,E,2,6,0,A,0,0,3,4,C0,23,47,5B,
Где:

FF,3 – константы
CO,21 –LCP
1 - Запрос конфигурации
5 – ID. Почему не 4? Куда он потерялся? Ведь должен быть простояй инкремент?
0,E - длина поля ”информация”
2,6,0,A,0,0, - ПОЧЕМУ ОСТАЛСЯ ЭТОТ ПАРАМЕТР???????
3,4,C0,23 - Пфууу... Хоть тут сервер, догадался что делаь.

Ответьте на вышестоящие вопросы. Что я делаю не так. Я примерно описал ход моих мыслей – укажите где вы нашли ошибку.
Спасибо.


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Beginning   Свой стек PPP   Oct 1 2008, 12:54
- - edo   http://electronix.ru/forum/index.php?showtopic=514...   Oct 1 2008, 23:28
|- - Alexey Belyaev   Цитата(edo @ Oct 2 2008, 06:28) ps: меня ...   Oct 2 2008, 05:43
- - Beginning   Не работал с Linux. Где искать source не представл...   Oct 2 2008, 09:09
|- - dch   можно посмотреть в дистрибутиве uclinux: http://w...   Oct 2 2008, 16:34
- - readt   Цитата(Beginning @ Oct 1 2008, 15:54) Что...   Oct 2 2008, 19:19
- - Beginning   Спасибо всем ответившим. Как всегда дело оказалась...   Oct 3 2008, 06:22
- - Beginning   Вопрос может показаться кому то несколько смешным,...   Oct 6 2008, 11:07
- - vesago   Имхо приятнее пользовать какую memcpy из стандартн...   Oct 6 2008, 12:16
- - etoja   Можно так: long x; char *p; x=(long)*(p++); x ...   Oct 6 2008, 12:35
- - Baser   Все зависит от того, насколько применяемый компиля...   Oct 6 2008, 12:47
- - Beginning   Этот вопрос я адресовал в эту тему, потому что он ...   Oct 6 2008, 12:59
|- - lolful   Цитата(Beginning @ Oct 9 2008, 17:29) ......   Oct 13 2008, 11:00
- - Beginning   Походу Async Control Character Map обязательный па...   Oct 9 2008, 12:46
|- - west329_   Цитата(Beginning @ Oct 9 2008, 15:46) Пох...   Oct 10 2008, 15:51
- - Beginning   Пишу под платформу ARM9. Компилятор RVDS. Впрочем ...   Oct 13 2008, 07:08
|- - west329_   Цитата(Beginning @ Oct 13 2008, 10:08) Пи...   Oct 13 2008, 08:40
- - Beginning   Спасибо за уточнение. Config-Reject - действительн...   Oct 13 2008, 11:40
- - vesago   Кстати на фтп есть замечательная книжка TCP-IP Lea...   Oct 13 2008, 12:04
- - Beginning   Спасибо. Качаю. Вообщем стадия согласования парам...   Oct 13 2008, 13:04
- - vesago   Мне кажется, что что-то там нужно вводить логин и ...   Oct 13 2008, 13:13
- - Beginning   Насколько я понял есть пароль к PPP соединению, а ...   Oct 13 2008, 13:24
- - vesago   Если не читали ранее, ознакомьтесь. Там на пальцах...   Oct 13 2008, 13:29
- - Beginning   Да этот документ у меня есть. Что сказать. В этом ...   Oct 13 2008, 13:37
|- - lolful   Цитата(Beginning @ Oct 13 2008, 19:37) Мо...   Oct 14 2008, 06:44
- - vesago   Документ этот действительно не на все случаи расчи...   Oct 13 2008, 13:44
- - Beginning   Послал: FF,3,C0,23,1,5,0,6,0,0,91,4, Получилась т...   Oct 13 2008, 13:54
- - lolful   Копайте в сторону настройки параметров GPRS (+cgat...   Oct 14 2008, 06:41
- - vesago   Возможно вы перед этим не согласовали соответсвующ...   Oct 14 2008, 06:44
- - Beginning   Чтобы не описывать каждый свой шаг, приведу текст ...   Oct 14 2008, 07:18
- - vesago   Там наверное использован хайтэч + мплаб. Но вам эт...   Oct 14 2008, 07:22
- - Beginning   Блин! Почему не работает? Модем MC55. Подправи...   Oct 14 2008, 12:01
- - west329_   после 18.00 п.с. Может настройки провайдера глюча...   Oct 14 2008, 12:21
- - Beginning   Народ, кто подскажет программу, которую можно прос...   Oct 14 2008, 13:08
|- - lolful   Цитата(Beginning @ Oct 14 2008, 19:08) На...   Oct 15 2008, 12:07
- - vesago   Видно не знает стандартный драйвер особенности ваш...   Oct 14 2008, 13:47
- - Beginning   Искал инфу. Наткнулся на это: http://www.xakep.ru/...   Oct 14 2008, 14:24
- - Beginning   А какой именно модем вы добавили?????? У меня воо...   Oct 15 2008, 12:29
- - Beginning   В общем и целом, удолось подключить модем к компу ...   Oct 17 2008, 13:52
- - Beginning   Обнаружил что сразу после согласования параметров,...   Oct 17 2008, 14:59
- - west329_   не обращай внимая, это винда, надо использовать ст...   Oct 18 2008, 09:30
- - west329_   Ув. не подскажите, пока автор молчит, задам вопрос...   Oct 18 2008, 18:33
- - Beginning   Насколько я помню, но GPRS поддерживает только IP,...   Oct 20 2008, 09:48
|- - west329_   Цитата(Beginning @ Oct 20 2008, 12:48) На...   Oct 20 2008, 10:39
- - Beginning   Sorry, ступил. Не внимательно читаю. Кстати,насчё...   Oct 20 2008, 10:53
- - lolful   PPP по-моему протокол 2го уровня, ниже него только...   Oct 20 2008, 11:56
|- - dch   Цитата(lolful @ Oct 20 2008, 14:56) прото...   Dec 28 2008, 03:03
- - Beginning   Из Википедии: Сетево́й протоко́л - набор...   Oct 20 2008, 12:19
|- - Огурцов   Цитата(Beginning @ Oct 20 2008, 12:19) Я ...   Oct 20 2008, 13:50
- - Beginning   А по существу?   Oct 20 2008, 14:07
- - Beginning   Уменье и труд всё перетрут! Удалось, неимоверн...   Oct 22 2008, 16:16
|- - west329_   Цитата(Beginning @ Oct 22 2008, 19:16) Ум...   Oct 23 2008, 07:21
|- - lolful   Цитата(west329_ @ Oct 23 2008, 13:21) И г...   Oct 24 2008, 10:08
- - Beginning   Все проблемы были связанны как всегда с недостатко...   Oct 23 2008, 11:12
- - edo   все реализации ppp для gprs, которые мне попадалис...   Oct 23 2008, 17:31
- - Beginning   То что пароль надо, этот факт одназначный. Даже в ...   Oct 23 2008, 19:46
- - KGB   привет всем.. я в гсм теме недаво... и поэтому мне...   Dec 24 2008, 02:58
|- - west329_   Цитата(KGB @ Dec 24 2008, 06:58) привет в...   Dec 26 2008, 11:32
- - MiDV   Здравствуйте. Возникла проблема с соединением PPP....   Sep 7 2011, 09:24


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th August 2025 - 03:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.04591 секунд с 7
ELECTRONIX ©2004-2016