Уважаемые посетители! Форум CQHAM.RU существует исключительно за счет показа рекламы. Мы будем благодарны, если Вы не будете блокировать рекламу на нашем Форуме. Просим внести cqham.ru в список исключений для Вашего блокировщика рекламы.
RSS лента

R2AGG

FLEX 6000

Оценить эту запись
Цитата Сообщение от RX2D Посмотреть сообщение
я так понимаю...Это обязательное условие?
В своё время занимался этим вопросом достаточно плотно. Всех тонкостей не помню, попробую описать по памяти.
Мы имеем трансивер и SmartSDR. Если обычные SDR-ки общаются по принципу: ПО умеет посылать запрос на определенный IP:порт c вопросом: "Трансивер здесь?"
SDR-трансивер обычно отвечает: "да, я трансивер". В зависимости от модели, трансивер отвечает по тому же порту (преимущественно UDP), или предлагает каждый раз новый порт в определенном пуле. Сами понимаете, такой трафик не представляет труда пробросить между любыми сетями.

С FlexRadio, не всё так просто.
При запуске трансивера и инициализации сетевого интерфейса, по сети начинают летать широковещательные пакеты с фразой: "я трансивер...я трансивер. Порт для соединения 4992".
Код:

IP трансивера to 224.0.0.251    MDNS    164    Standard query 0x0000 ANY IP трансивера.in-addr.arpa, "QM" question ANY c6a816x-evm.local, "QM" question HINFO ARMV7L LINUX A IP трансивера PTR c6a816x-evm.local
IP трансивера to 255.255.255.255 UDP 4992 → 4992
Запуская ПО SmartSDR, который видит эти пакеты и в списке показывает доступный трансивер.
Код:
IP трансивера to IP SmartSDR TCP 4992 → 49660[ACK] Seq=1 Ack=11 Win=341 Len=0
IP трансивера to IP SmartSDR    TCP 4992 → 49660 [ACK] Seq=1 Ack=11 Win=341 Len=0
Там еще куча промежуточных запросов на порт 4993 по протоколу UDP и VITA 43.

Нажимая "Connect", ПО отправляет запрос на порт TCP4992
Код:
IP SmartSDR    to IP трансивера    TCP    49659 → 4992 [PSH, ACK] Seq=1 Ack=1 Win=251 Len=10
Прилетает ответ:
Код:
IP трансивера to IP SmartSDR TCP 4992 → 49659 [ACK] Seq=1 Ack=11 Win=341 Len=0
И вновь куча промежуточных запросов на порт 4993.
Код:
IP трансивера to IP SmartSDR    UDP    102    47822 → 4993  Len=60 [ACK] Seq=1 Ack=11 Win=341 Len=0
IP трансивера to IP SmartSDR    VITA 49    198    Extension data packet with stream ID
IP трансивера to IP SmartSDR    VITA 49    1094    Extension data packet with stream ID
IP трансивера to IP SmartSDR    IPv4    1514    Fragmented IP protocol (proto=UDP 17, off=0, ID=7c1d) [Reassembled in #21301]
IP трансивера to IP SmartSDR    UDP    696    47822 → 4994  Len=2134 [PSH, ACK] Seq=1 Ack=1 Win=251 Len=10
IP SmartSDR    to IP трансивера    ICMP    74    Echo (ping) request  id=0x0001, seq=22/5632, ttl=128 (reply in 21021)
IP трансивера to IP SmartSDR    ICMP    74    Echo (ping) reply    id=0x0001, seq=22/5632, ttl=64 (request in 21020)
Перестраиваемся по частоте, команды летят по порту TCP 4992.
Код:
IP SmartSDR    to IP трансивера    TCP  50048 → 4992 [PSH, ACK] Seq=1 Ack=1 Win=251 Len=10
IP трансивера to IP SmartSDR    TCP   4992 → 50048 [ACK] Seq=1 Ack=11 Win=341 Len=0
Я специально описал так подробно трафик между трансивером и ПО. ФлексЫ пока не позволяют явно указывать IP-адрес трансивера, это дело за будущими версиями SmartSDR. Чтобы работать удаленно нужно держать включенным комп в сети с флексом и позаботься о двухстронней проброске аудио трафика с минимальной задержкой. Или создавать максимально прозрачный туннель между локальной и удаленной сетью (клиентом) с возможностью рассылки широковещательных пакетов (см. начало моего сообщения).

Хотя трафик между трансивером и ПО уже очень заманчив, всего около 4.2 Мбит/сек на приемник! Внутри сетевых пакетов пробрасывается всё и сразу.

Есть идеи?
Метки: flex 6000
Категории
Без категории

Комментарии