Poniżej znajdziesz omówienie wybranych funkcji dostępnych w FW+ oraz ich wpływ na zachowanie sieci.
Węzły | Okno nadawania |
---|---|
10 | 46 min 48 s |
50 | 2 h 16 min 30 s |
100 | 7 h 9 min |
150 | 12 h 1 min 30 s |
200 | 16 h 54 min |
Węzły | Okno nadawania |
---|---|
10 | 36 min |
50 | 1 h 45 min |
100 | 5 h 30 min |
150 | 9 h 15 min |
200 | 13 h 0 min |
300 | 20 h 30 min |
Ogranicza ponowne rozgłaszanie identycznych pozycji w zadanym oknie czasu. Przydatne, gdy nody wysyłają zbyt często statyczną lokalizację (np. stacje bazowe), co powoduje zbędne obciążenie eteru. • Włącznik: aktywuje mechanizm porównywania ostatnich pozycji • Okno duplikatów: czas (min), przez jaki identyczne pozycje są pomijane Zastosowanie: oszczędza energię oraz przepustowość radiową, zwłaszcza w gęstej sieci.
W skrócie
Co to robi: automatycznie zmniejsza duplikaty broadcastów i przyspiesza ich propagację.
Jak działa: po RX pakietu broadcast węzeł planuje retransmisję z krótkim opóźnieniem zależnym od SNR, liczby hopów i jittera; jeśli usłyszy ten sam pakiet od kogoś innego, anuluje własną retransmisję.
Dodatkowo: węzły z "dalekim" sąsiadem 1‑hop (backbone) dostają niewielki priorytet czasowy, by szybciej wypchnąć pakiet na daleki link.
Zakres: dotyczy tylko broadcastów; unicast bez zmian. Domyślnie włączone, parametry w NodeModAdmin.
Wersja rozszerzona
Planowanie opóźnienia (D): D = base_delay_ms + hop_delay_ms·(hop_start − hop_limit) − snr_gain_ms·SNR + losowy jitter.
SNR: wyższy SNR → krótsze D (mniejszy czas do nadania).
Hopy: więcej użytych hopów → dłuższe D (regulowalne).
Jitter: rozprasza kolizje.
Anulowanie po podsłuchu: jeśli w oknie oczekiwania węzeł usłyszy retransmisję tego samego pakietu, anuluje własną (cancel_on_first_hear).
Heurystyka "backbone": jeżeli węzeł ma bezpośredniego sąsiada o dużym dystansie (np. ≥5 km), otrzymuje mały ujemny bias czasu, aby zwykle nadawać pierwszy w kierunku dalekiego łącza.
Integracja
• Wysyłka opóźniona przez tx_after (kolejka TX obsługuje to transparentnie).
• Mechanizm nie ingeruje w NextHop/unicast; działa wyłącznie w ścieżce floodingu.
opportunistic_flooding_enabled = true
base_delay_ms = 60
, hop_delay_ms = 30
, snr_gain_ms = 8
ms/dB, jitter_ms = 40
, cancel_on_first_hear = true
W skrócie Pasywne DV‑ETX uczy się najlepszych tras na podstawie realnych dostaw (ACK/Reply) i jakości łącza (SNR→ETX). Gdy trasa jest świeża i „pewna”, unicast idzie łańcuchem next‑hopów; gdy nie ma pewnej trasy, automatyczny fallback do floodingu zapewnia dostarczenie i jednocześnie „uczy” nową trasę. Nieco dłużej Uczenie trasy: po udanym unikaście/odpowiedzi zapamiętywany jest next‑hop, koszt (ETX) i „pewność” trasy z czasem życia i histerezą. Wysyłka: jeśli w cache jest świeża, pewna trasa — idziemy next‑hop; w przeciwnym razie niezawodny flooding, a z odpowidzi/ACK aktualizujemy trasę. Odporność: gdy next‑hop zawodzi, trasa degraduje się i ruch wraca do floodingu. Przed • Unicast: głównie flooding, okazjonalny next‑hop bez metryki • Opóźnienia: wyższe, zmienne (duplikaty, kolizje) • Ruch w eterze: większy (wiele ramek na jeden unicast) Po (DV‑ETX + fallback) • Unicast: preferowany łańcuch next‑hop wg kosztu (ETX), gdy pewny; brak pewnej trasy → automatyczny fallback do floodingu • Opóźnienia: niższe i stabilniejsze (1 nadawca per hop) • Ruch w eterze: wyraźnie mniejszy, mniejsze zużycie airtime
Ogranicza retransmisję cudzej telemetrii przez ten węzeł do X pakietów na minutę. Włączaj tylko gdy telemetria staje się problemem lub chcesz oszczędzać energię. • Włącznik: aktywuje limiter • Telemetry packets per minute: stały limit pakietów • Auto chutil threshold: próg, po przekroczeniu którego automatycznie włączany jest limiter (tryb dynamiczny) Zastosowanie: węzły "routery" lub ruchliwe kanały, gdzie telemetria dominuje ruch.