SU.HAMRADIO ------------- < Пред. | След. > -- < @ > -- < Сообщ. > -- < Эхи > --
 Nп/п : 59 из 75
 От   : Nil A                               2:5015/46         26 фев 26 22:55:32
 К    : Andrei Kopanchuk                                      26 фев 26 23:23:01
 Тема : Fidonet-over-ax25
----------------------------------------------------------------------------------
                                                                                 
@MSGID: 2:5015/46 69a0ab94
@REPLY: 2:5058/108.2 698cda9e
@CHRS: CP866 2
@TZUTC: 0300
@TID: hpt/lnx 1.9
Hello, Andrei!

Wednesday February 11 2026 21:13, from Andrei Kopanchuk -> Sergey Anokhin:

 SA>> А ты ведь как то оптимизировал binkp для работы по радиоканалу?

 AK> Его сильно не оптимизируешь, разве что уменьшить размеры
 AK> файлов/блоков, хотя там еще были кое-какие флаги, для докачки,
 AK> ожидания передачи файла и подобное, но он все же работает сразу в два
 AK> направления, т.е. больше подходит для дуплексных каналов.
 AK> Если хочется качественно, то лучше брать за основу симплексные
 AK> протоколы, такие как FBB.

 Я тут поболтал с Чатовым (chatgpt/gemini/..) на эту тему - умный
чел (в смысле бот).

 Во-первых, для тестов можно погонять AX.25 между двумя линуксами,
просто в виртуалках, и звуковуху виртуальную пробросить по IP, либо через
PulseAudio Networking, либо ALSA c snd_aloop + JACK, т.е. вообще в песочнице.
Для контроля звук можно ещё зароутить на хост, и послушать через
звуковуху, или в анализатор.

Во-вторых, точно выкинуть AX25 + TCP/IP + Binkd - это просто огроменный оверхед.

 В-третьих, тогда уж использовать модемный EMSI/ZModem протокол, через
stdin/stdout как-то запустить qico или ifcico - тогда оверхед
радио<->ax25_сессия<->EMSI... но дричканий RX/TX будет дофигища тоже. Короче, так тоже лучше не
делать.

 Правильный способ - из ax.25 использовать не Connected Mode, а UI
Frames (Unnumbered Information), и пакеты, подтверждение, ретрансляция - это
всё самому из своего протокола контролировать.

 По факту, надо написать свой мейлер, или добавить "новый протокол" в
Binkd, который откроет сокет `socket(AF_AX25, SOCK_DGRAM, 0);`, почти как UDP
получается. Взять библиотечку libax25, подготовить позывной `ax25_aton("N0CALL-1",
&addr.fsa_ax25.sax25_call);`, добавить некий HELLO в стиле FTN, тут же какие у нас есть бандлы
и пр, и всё это отправить одним `sendto(fd, buffer, len, ...`, а на
приёмной стороне принять `recvfrom(fd, buffer, sizeof(buffer), ...`. Понятно,
что paclen типа 128 байт дефолт, но можно увеличить, например на 256 -
на 1200 это будет в эфире 2 секунды. Без подтверждения приёма, можно,
например, 7 пакетов отправлять. Присылать только какие фрагменты не прошли.
Короче, прямо по самому минимуму приём/передача, и сразу в первом же пакете
и сессия, и аутентификация, и данные, и поехали.

 Протокол можно сделать также парольным и не парольным, всё в
фидошном стиле. Парольную сессию можно делать в открытом виде, но с подписью
пакетов по hmac, или вообще целиком отправки шифровать (но тогда нарушается
правила HAM например). Отдельно обмениваться ключами, или каким-то парольным
челленджем как в бинкп - не надо, т.к. это долго, много переключений TX/RX. У
нас есть пароль у обоих сторон, можно сделать Pre-Shared Key (PSK) на
его основе, если время и соль замешать ещё - часы на обоих компах
должны быть плюс/минус минуты одинаковые. Фсё! Если нет почты - один пакет
туда, один обратно. Если есть pkt, то несколько пакетов туда, и один
обратно, и всё парольное, или даже зашифрованное.

 Всё сводится к разработке собственного протокола, и собственного
мейлера, который Binkley-style outbound умеет читать. Собственный протокол
сначала можно опробовать на UDP, заодно ещё один протокол появится :-) потом
на AX.25 сокет просто перевести, с настройками размера покета, таймаута,
и пр.

Best Regards, Nil
--- GoldED+/LNX 1.1.5-b20250409
 * Origin: Gemini can make mistakes, so double-check it (2:5015/46)
SEEN-BY: 50/109 301/1 341/66 450/1024 463/68 4500/1
5000/111 5015/42 46 120
SEEN-BY: 5015/255 5019/40 5020/113 545 715 830 846
848 1042 4441 12000
SEEN-BY: 5022/128 5030/49 115 1081 1474 5049/1
5053/51 58 5058/104 5060/900
SEEN-BY: 5061/133 5083/1 444 6035/66 6078/80
@PATH: 5015/46 5020/1042 4441



   GoldED+ VK   │                                                 │   09:55:30    
                                                                                
В этой области больше нет сообщений.

Остаться здесь
Перейти к списку сообщений
Перейти к списку эх