Ping基础连通性和延迟测试
Ping是最基础、最常用的网络诊断工具,根据ICMP协议,用于测试源主机和目的主机之间的连通性、延迟(RTT)和丢包率,是判断网络稳定的第一关。
应用
初步判断网络质量:执行 ping 114.114.114.114 -c 100 测试100次。如果结果显示 0% 丢包 且延迟波动很小,说明网络基本稳定;如果出现 "请求超时" 或延迟忽高忽低,则存在稳定性问题。
不断监控:在Linux下使用 ping 8.8.8.8 -D \| tee ping.log 将带时间戳的结果保存到日志文件,下班后查看日志,看看网络在深夜是不是存在规律性波动。
Traceroute / Tracert路由追踪和故障定位
当Ping发现延迟很大或丢包时,Traceroute(Linux/macOS)或 Tracert(Windows)用来追踪数据包从源到目的地经过的每一跳(路由器),从而定位问题具体出在哪个节点。
iperf3:吞吐量和压力测试
Ping和Traceroute只能测试通不通和路好不好,而iperf3是更专业的吞吐量测试工具,它能真正测出网络的带宽上限、稳定性以及UDP的丢包和抖动情况。
iperf3采用客户端-服务器(C/S)架构,意味着你需要两台机器:一台作为服务器(server),一台作为客户端(client)。
1. 安装和准备
在Linux上一般使用包管理器安装,在Windows上可以下载可执行文件。
bash
# Debian/Ubuntu
sudo apt install iperf3
# CentOS/RHEL
sudo yum install iperf3
2. 参数和用法
-s,以服务器方式启动:iperf3 -s -p 5201
-c <IP>,以客户端方式连接服务器:iperf3 -c 192.168.1.100 -p 5201
-u,使用 UDP 协议(默认TCP: iperf3 -u -c 192.168.1.100
-b,<速率>,指定发送带宽(UDP必用):iperf3 -u -c 目的IP -b 100M
-t ,<秒>,测试时长:iperf3 -c 目的IP -t 30
-P, <数量>并行线程数:iperf3 -c 目的IP -P 5 (模拟多连接)
-R,反向方式:iperf3 -c 目的IP -R (测下行带宽)
-i <秒>,显示报告的间隔:iperf3 -c 目的IP -i 1 (每秒显示结果)
3. 实际测试
测TCP上行带宽(上传)
在服务器A(假设IP为 10.0.0.1)启动服务端:iperf3 -s
在客户端B(你的机器)运行:iperf3 -c 10.0.0.1 -i 1 -t 10
解读:观察输出中的 sender 和 receiver 的带宽值,这个值越接近你的网络理论带宽越好。
测TCP下行带宽(下载)
服务器端保持 iperf3 -s
客户端运行:iperf3 -c 10.0.0.1 -R
解读:通过 -R 参数,让服务器发送数据,客户端接收,从而测得下行速度。
测UDP稳定性(抖动和丢包)
服务器端:iperf3 -s
客户端运行:iperf3 -u -c 10.0.0.1 -b 500M
解读:UDP测试的重点看两个标准-Jitter(抖动) 和 Lost/Total Datagrams(丢包率)。抖动越小越好,丢包率应尽可能为0。