1. 准备工作与测试目标定义
在动手之前,先明确测试目的(定位高延迟、识别丢包、确认是否走CN2链路等)。准备:一台能运行Linux或Windows的测试机(有root/管理员权限)、目标测试IP或域名(建议台湾机房的公网IP或测速服务器)、可以抓包的权限(tcpdump/Wireshark)。记录测试时段、测试节点公网IP、ISP和业务端口(如TCP 80/443)。
2. 基础连通性与延迟测试(Ping)
步骤:在Linux上运行:ping -c 100 -i 0.2 -s 1472 TARGET_IP(含包大小与频率测试MTU/稳定性);在Windows上运行:ping TARGET_IP -n 100 -l 1472。观察最小/平均/最大/抖动与丢包率。判定准则示例:丢包>1% 或 平均延迟>80ms 则需深入排查。
3. 路由路径检查(traceroute / tracert / mtr)
Linux:traceroute -n TARGET_IP 或使用更强的工具 mtr -rwzbc100 TARGET_IP(r=报告模式,w=宽输出,z=抑制DNS,b=显示双向);Windows:tracert -d TARGET_IP。重点看AS跳数、在哪一跳延迟陡增及丢包开始出现,若在台湾出口前就升高,问题在回程或中间ISP。
4. TCP层路由确认(tcptraceroute / tracepath)
有时ICMP与TCP走不同路径。Linux可用 tcptraceroute TARGET_IP 80 来检测到TCP 80端口的逐跳延迟;或使用 tracepath TARGET_IP 检查MTU问题。若TCP路径比ICMP更优,实际业务感受以TCP为准。
5. 带宽与并发测试(iperf3 / speedtest)
搭建或使用对端的iperf3服务器:iperf3 -s(服务器)与客户端:iperf3 -c SERVER_IP -t 60 -P 10(并发流)。观察吞吐、抖动与重传。结合speedtest-cli可验证与ISP的公网速率差异。注意:CN2通常优先路由实时业务,测试时应在不同时间段跑测试以排除峰值影响。
6. 抓包与TCP分析(tcpdump + Wireshark)
抓包命令示例:sudo tcpdump -i eth0 host TARGET_IP and tcp -w cn2_capture.pcap;抓取期间同时进行iperf或模拟业务。用Wireshark打开,按tcp.analysis.retransmission、tcp.analysis.duplicate_ack、icmp.tree等过滤,查看重传、RST、MTU导致的分片和TCP三次握手延迟。记录问题发生时刻与对应路由跳。
7. 接口与硬件层面检查(ifconfig/ethtool/SNMP)
检查本端链路:ip -s link show eth0 或 ifconfig eth0,看是否有errors、dropped。用ethtool -S eth0查看网卡统计项。若是路由器/交换机,可通过SNMP读取ifInErrors/ifOutErrors(IF-MIB::ifInErrors),结合CPU和内存使用情况判断是否设备性能瓶颈。
8. 长期监控与告警策略(Smokeping/Grafana/Zabbix)
部署长期监控:使用Smokeping或Prometheus+blackbox_exporter定期对目标做ping、http、tcp探测并将数据送入Grafana可视化。设置告警:平均延迟超过80ms 触发Warning,丢包>1% 触发Critical,连续3个周期触发告警并发邮件/SMS/钉钉Webhook。
9. 使用BGP/Looking Glass诊断CN2路径
访问运营商或互联网交换的Looking Glass,输入你的源IP和目标IP,查看BGP路由与AS PATH。检查路由是否有“CN2”或China Telecom内网标签(部分LG会标注),若发现备选更优路径,可与ISP沟通调整BGP策略或申请静态路由优化。
10. 故障定位流程与记录模板
流程建议:1)复现问题(时间/目标/命令);2)做Ping/MTR快速定位跳点;3)抓包保存证据(pcap + 命令输出);4)检查本地链路/硬件;5)查看BGP/Looking Glass;6)向ISP提交工单并附上证据。记录模板包括:测试时间、测试节点IP、目标IP、命令与输出、抓包文件名、初步结论与建议。
11. 问:如何快速判断是否走的是CN2线路? 答:
问:如何快速判断是否走的是CN2线路? 答:先用traceroute/mtr观察AS PATH或中间节点名称(有时含“telecom”或“cn2”字样),再到相关ISP的Looking Glass查询从你的出口到台湾目的地的BGP路径(看是否在China Telecom的优先链路上)。如果有疑问,将traceroute的逐跳输出与ISP沟通并要求确认是否走CN2。
12. 问:在测试中发现间歇性丢包,应该怎样提供给ISP的诊断信息? 等:
问:在测试中发现间歇性丢包,应该怎样提供给ISP的诊断信息? 答:提供时间窗口(精确到秒)、本端IP与接口信息、目标IP、连续的ping/mtr输出文件、抓包pcap文件、设备接口错误统计(ifconfig/ethtool/ SNMP OID)、以及任何业务影响(时延、掉线)。这些证据能帮助ISP定位是否是链路、转发设备或上游问题。
13. 问:如何长期稳定监控CN2路径并自动化告警? 答:
问:如何长期稳定监控CN2路径并自动化告警? 答:定期用Smokeping或Prometheus+blackbox_exporter对关键台湾目标做多点探测(ICMP、TCP、HTTP),将结果入Grafana并设置阈值告警(延迟、抖动、丢包)。补充流量/带宽监控(SNMP或sFlow),并配置Webhook/邮件告警及自动化工单生成,便于在异常初期就通知运维处理。
来源:台湾电信cn2宽带延迟测试与线路质量监控方法