echoping
v0.3.0
أداة مساعدة لشبكة golang تستخدم رسائل TCP/UDP-Datagram/QUIC للكشف عن استقرار الشبكة.
من الصعب اكتشاف مشكلات الشبكة في الحياة الواقعية.
يستخدم echoping
بروتوكولات TCP وUDP (Datagram أو QUIC) بدلاً من ICMP الذي يستخدمه ping
التقليدي، ويرسل الرسائل بشكل متكرر.
يعمل echoping
كتطبيق شبكة حقيقي، ويُبلغ عن مشكلات الشبكة باعتبارها المشكلة الحقيقية.
echoping
عن طريق ./echoping -listen IP:PORT
echoping
العملاء لاستخدام خادم echoping
: ./echoping -connect SERVER_IP:SERVER_PORT
echoping
طلبات TCP/UDP-Datagram/QUIC إلى الخادمالاستخدام:
-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)
إخراج الخادم:
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
مخرجات العميل:
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
تعني "ping في الثانية"loss
TCP وQUIC 0% (بالطبع) ./echoping -listen :12345 -connect 127.0.0.1:12345
محاكاة الحزم المتأخرة والمسقطة على Linux: https://stackoverflow.com/questions/614795/simulate-delayed-and-dropped-packets-on-linux