Run a receiver
To run a receiver and join the demo, you only need docker installed. The receiver connects to the Flexicast source (193.191.171.131:4435) and receives heartbeats over multicast. If the receiver notices it isn't receiving multicast data natively, it will fallback on AMT.
Requirements
- Docker, the container is built for arm64 and amd64 and has been tested on Linux and MacOS (27.2.1)
- Outbound UDP connectivity to the source (193.191.171.131:4435) and to the AMT relays (62.40.96.44:2268), and TCP 8080 to the source for the QLOG upload. NOTE: Some university networks may block QUIC connections, in which case you might have to try from a residential network. Do keep in mind that the IP addresses of the receivers are stored, but will not be shared with anyone and will only be used for data analysis.
Start the container
docker run --rm -it --init --network host --pull always \
-e RUST_LOG=info -e SRC_PORT=4435 \
corentindetry/fcquic-beacon-receiver:fcping 193.191.171.131 1Or clone the repo and run ./run_demo.sh, which simply runs the same container. Extra arguments are passed to the receiver binary, e.g../run_demo.sh --pretty-print false.
To obtain more information, you can run the script with RUST_LOG set to info or debug.
Use ctrl-c to stop the receiver. When the container is stopping, the QLOGs of the connection are sent over to our source server for analysis. You can disable qlog collection by settingQLOGDIR to an empty string (-e QLOGDIR=).
What you receive
Each heartbeat is a JSON message containing a session id, sequence number, timestamp, and interval,... Heartbeats are sent every 4 seconds, and every 5th heartbeat also carries a random 100 kilobytes payload, the sha256 hash of the payload is sent in the heartbeat to check integrity.
Check that it works
You should receive heartbeats within a few seconds. If the receiver fallsback to AMT, you should see the line Left MULTICAST group 239.239.239.36, or when running the receiver with env RUST_LOG=info, you should see a line Left multicast group after creating AMT gateway.
Data we collect
We will collect the following information about the connection:
- Non-anonymized IP address
- Complete session logs, QLOGs include all packets sent and received by the client at the transport level.
- AMT, Unicast fallback events
- Retransmissions,...
This information will only be used for research purposes, and will allow us to improve our Flexicast QUIC implementation, find new potential issues, and gain insights only attainable from real deployments. TODO: retention period and contact.