Un utilitaire réseau Golang utilisant les messages TCP/UDP-Datagram/QUIC pour détecter la stabilité du réseau.
Il est difficile de détecter les problèmes de réseau dans la vraie vie.
echoping utilise les protocoles TCP et UDP (Datagram ou QUIC) au lieu de ICMP utilisé par ping traditionnel et envoie des messages plus fréquemment.
echoping fonctionne plus comme une véritable application réseau et signale les problèmes de réseau comme étant les vrais.
echoping en utilisant ./echoping -listen IP:PORTechoping des clients pour utiliser le serveur echoping : ./echoping -connect SERVER_IP:SERVER_PORTechoping envoie des requêtes TCP/UDP-Datagram/QUIC au serveurUsage:
-connect string
Connect to 'tcp://ip:port/,udp://ip:port/,quic://ip:port/' (can be repeated, use comma as delimiter), or use 'ip:port' for all TCP/UDP/QUIC
-listen string
Listen both TCP and UDP on ip:port (UDP also works for QUIC)
-listen-tcp string
Listen TCP on ip:port
-listen-udp string
Listen UDP on ip:port (UDP also works for QUIC)
-loss-ratio string
The simulated UDP loss ratio on client side (must be used with "-connect"). "0.1"" means 10% packet loss, "0.1,0.2" means 0.1 for sending and 0.2 for receiving
-payload-size int
The payload size of ping request (default 1300)
-ping-interval duration
The interval between ping requests sent by client (default 20ms)
Sortie du serveur :
2020/12/26 01:24:54 server stat udp:127.0.0.1:52032 (20201226-012449.458182): pps=10.0, tmperr=0
2020/12/26 01:24:54 server stat tcp:127.0.0.1:56524 (20201226-012449.458231): pps=10.0, tmperr=0
Sortie client :
2020/12/26 01:24:54 client stat udp:127.0.0.1:12345 (20201226-012449.458182): pps=11.0, recv=0.01MB/s, loss=0.0%, round-trip time (ms): avg=0.4, min=0.2, max=0.6, stddev=0.1
2020/12/26 01:24:54 client stat tcp:127.0.0.1:12345 (20201226-012449.458231): pps=11.0, recv=0.01MB/s, loss=0.0%, round-trip time (ms): avg=0.3, min=0.2, max=0.4, stddev=0.1
pps signifie "ping par seconde"loss de TCP et QUIC est toujours de 0% (bien sûr) ./echoping -listen :12345 -connect 127.0.0.1:12345
Simulez des paquets retardés et abandonnés sous Linux : https://stackoverflow.com/questions/614795/simulate-delayed-and-dropped-packets-on-linux