Multicast(at)Work

Multicast(at)WorkSe om multicasten faktisk kommer fram.

Start en mottaker på den ene siden av nettet og en sender på den andre, og se båndbredde, jitter og pakketap hvert sekund. Finn MTU-en på en sti med én knapp. Et web-GUI for iperf 2 og ping, på engelsk og norsk, som installeres fra én pakke uten internettilgang på Rocky Linux 9, i VMware og i Proxmox VE.

Senderiperf -c 239.1.1.1 · TTL 10,00 Mbit/s
SvitsjVLAN 50snooping PÅ · querier AV
Prøv selv:
MottakerSystemMottatt (iperf -s -u)IGMP
mottaker-aRocky 9 · VMware  
mottaker-bRocky 9 · Proxmox VM  
nvr-01Opptaker uten join  
 

Multicast(at)Work

3.0.0

Et web-grensesnitt for iperf 2 og ping, med samme utseende som SNMP Trap Sender og Receiver: blå topplinje, faner, hurtigvalg og loggen ved siden av skjemaet. Testene kjører på serveren, så du kan lukke siden, lese manualen eller bytte språk mens en mottaker står og lytter. Grensesnittet finnes på engelsk og norsk.

Mottaker
Melder seg inn i en multicast-gruppe på valgt nettkort (IGMP join) og/eller lytter på TCP. Viser båndbredde, jitter og tapte datagrammer hvert sekund.
Sender
Ping og TCP-gjennomstrømning til en unicast-adresse, og en UDP-strøm til gruppa med valgt hastighet, TTL og nettkort. Stegene kjøres etter hverandre, og loggen kan lastes ned.
MTU-test
ICMP med økende størrelse, med eller uten DF-biten. Brikker for hver størrelse blir grønne eller røde, og resultatet er MTU-en for stien.
Oversikt
Fanen Historikk viser kjørende og nylige tester, og loggene kan åpnes igjen eller lastes ned. Fanen Nettkort viser status, MTU, adresser og om multicast er slått på. Topplinjen viser hvor mange tester som kjører.
Sikrer
Egen innloggingsside med Logg ut og sperre mot gjetting, CSRF-vern og streng Content-Security-Policy. Ingen skall: hver verdi kontrolleres før den blir et argument. Tjenesten kjører uten root, med bare to nettverksrettigheter.
TCP 5152web-GUI
5001–5010iperf, TCP og UDP
EN | NOengelsk og norsk
Les teknisk beskrivelse
Mottakeren i gruppa 239.1.1.1: 5,24 Mbit/s, jitter under 0,01 ms og 0 % tap.

Testscenarier

En vanlig test bruker to installasjoner, én på hver side av nettet du vil kontrollere. Slik kommer du i gang:

  1. Installer på to maskiner

    VM-er i VMware eller Proxmox, eller LXC-containere. install.sh åpner brannmuren og kjører en selvtest med ekte multicast.

  2. Start mottakeren

    Logg inn, trykk hurtigvalget Meld inn i 239.1.1.1 og velg nettkortet i test-VLAN-et. Mottakeren melder seg inn og venter.

  3. Start senderen

    Hurtigvalget Multicast i VLAN-et fyller inn gruppe, TTL og hastighet. TTL 1 holder trafikken i subnettet; høyere TTL går gjennom rutere med PIM.

  4. Les av tapet

    Mottakeren viser en linje per sekund. 0 % tap er målet, og loggen kan lastes ned som dokumentasjon.

Senderen: multicast med 5 Mbit/s og TTL 1 ut på eth0.
TestSlik gjør du
Multicast i samme VLANMottaker UDP / multicast på A, sender Multicast med TTL 1 på B. Forvent 0 % tap.
Gjennom rutere (PIM)Som over, men TTL høyere enn antall ruterhopp. Virker det i VLAN-et men ikke over ruteren, ligger feilen i multicast-rutingen.
IGMP-snoopingStart en mottaker til, eller stopp den ene. Porter uten mottaker skal ikke få trafikken.
Querier manglerLa strømmen gå i 5 minutter. Stopper den etter 2–4 minutter, mangler VLAN-et en IGMP-querier.
Kapasitet og jitterØk båndbredden (10M, 100M, 1G) til tapet begynner. Se på jitter samtidig.
Unicast som grunnlinjeMottaker Bare TCP, sender Unicast: ping og TCP-gjennomstrømning før du feilsøker multicast.
JumborammerMTU-test 8900–9000, steg 4, DF på, mot en maskin i samme VLAN. 9000 betyr at hele veien tåler jumborammer.
Tunnel, VPN, PPPoEMTU-test 1350–1500, steg 4, DF på. Typiske svar: 1492 PPPoE, 1450 VXLAN, 1422 IPsec.

MTU-testen

Hver størrelse får sin brikke. Med DF-biten på er den største grønne størrelsen MTU-en for stien. Over MTU-en på eget nettkort stopper pakken lokalt, og det står i loggen.

12001250130013501400142514501500

Uten DF-biten fragmenteres store pakker underveis. Da sier resultatet bare at de kommer fram, ikke hva MTU-en er, og loggen sier det tydelig.

Høyeste MTU som virker: 1400 byte.

Installasjon

Alt ligger i én offline-pakke: programmet, Python-pakkene og en statisk bygget iperf 2.2.1 for x86_64 og aarch64. Ingen Docker, pip eller EPEL. Installasjonsprogrammet kontrollerer sjekksummene, gjenkjenner VMware, Proxmox og LXC, åpner brannmuren og avslutter med en selvtest.

Rocky Linux 9, VMware eller Proxmox VM

$ sha256sum -c Multicast-Tester-3.0.0-offline.tar.gz.sha256
$ tar xzf Multicast-Tester-3.0.0-offline.tar.gz
$ cd Multicast-Tester-3.0.0
$ ./check-prereqs.sh --lang no
$ sudo ./install.sh --lang no
# åpne http://<server>:5152/ og logg inn som admin

Krever bare Python 3.9, ping og ip, som alle er med i Rocky Linux 9 Minimal. Begrens GUI-et til administrasjonsnettet med --admin-net 10.10.0.0/24.

Fra ISO, eller i en LXC-container

# VM: koble Multicast-Tester-3.0.0-offline.iso til CD/DVD
$ sudo mount -o ro /dev/sr0 /mnt
$ cp -r /mnt ~/mct && cd ~/mct
# LXC: pct push <ctid> Multicast-Tester-3.0.0-offline.tar.gz /root/
$ sudo ./install.sh --lang no
$ sudo python3 /opt/multicast-tester/selftest.py --lang no

I en LXC-container lempes sandkassen for tjenesten automatisk. Pakken virker også i VMware-appliancer med Photon OS.

Proxmox VE: Linux-broene har multicast-snooping på og ingen querier. Uten bridge-mcsnoop 0 (eller bridge-mcquerier 1) på vmbrX stopper strømmen etter omtrent fire minutter. VMware: bruk VMXNET3, og IGMP-snooping finnes bare på en Distributed Switch.

Skjermbilder

Grensesnittet har samme utseende som SNMP Trap Sender og Receiver, finnes på norsk og engelsk, og fungerer også på mobil. Bildene er tatt med ekte trafikk, fra den norske utgaven; den engelske siden viser engelske skjermbilder. Klikk for å se bildet i full størrelse.