本文简要说明在跨境链路出现不稳定时的实务流程:如何用连续性监测建立基线、用主动探测与被动抓包量化丢包与抖动、在哪些节点采集证据、以及如何把调查结果组织成可供运营商定位的工单材料,便于快速定位并跟进修复。
第一步要建立基线与时间窗。使用连续探测(如每30秒到1分钟一次的ping或mtr)记录延时、丢包率与抖动波动,观察是短时突发(秒级到分钟级)还是长期上升(小时到天)。对于实时应用,用udp负载(iperf3 -c server -u -b X -t 60)测出丢包和jitter;对于通用探测,用mtr(或mtr --tcp)连续跑2~10分钟取样。短期抖动通常与队列、瞬时突发流量或接口错误有关,长期丢包多指链路质量、拥塞或路由问题。
常用工具分为主动与被动两类:主动探测推荐使用MTR(或mtr --tcp)、traceroute(支持TCP/ICMP)、ping(带包大小和间隔参数)与iperf3(UDP模式测jitter与loss);被动抓包用tcpdump/tshark/Wireshark抓取报文并分析RTP/UDP/TCP重传与时序。结合SNMP/NetFlow/sFlow可以获得接口利用率、丢弃与错误计数,便于关联分析。
抓包应尽量在问题发生路径的两端和中间关键点采集:客户CPE(边缘路由器)、本地接入设备(OLT/BRAS或交换机)、运营商PE/PE口(若可访问)、IX或海缆对端。如果无法访问运营商内部,至少在边界路由器上同时采集入/出方向,记录接口速率、丢弃(ifInDiscards/ifOutDiscards)与错误(ifInErrors/ifOutErrors)。确保各端时间同步(NTP)以便关联。
常见原因包含:链路拥塞(超出队列/带宽限制导致丢包)、QoS策略不当或错误映射、MTU/分片问题、硬件错误(例如接口CRC、光模块性能下降)、路由抖动与ECMP路径不一致、链路切换或BGP收敛问题、以及中间网络的临时维护或流量清洗。通过对比接口错误计数、CPU负荷、队列丢弃和流量曲线,可以逐步排查这些因素。
普通traceroute显示路由跃点但在遇到负载均衡时可能误导。建议使用paris-traceroute(或 traceroute -T -p 80 / tcptraceroute)保持流量五元组一致以避免ECMP分散。用mtr记录每一跳的丢包率与延时分布(mtr -r -c 100 -i 0.5),把高丢包/高延时的跃点标记为嫌疑点,然后在该跃点前后继续做抓包与SNMP采样。
抓包能直接看到丢包、重传与乱序。对于TCP,观察是否出现重复ACK和重传;对于UDP,观察序列号缺失与到达间隔。结合接口错误(CRC/giant/frame)与队列丢弃可以区分物理层问题和拥塞。使用Wireshark的IO图和流统计可视化丢包时序,tcpdump -w capture.pcap并在Wireshark中按时间轴过滤对比。
建议至少三个维度的数据:短时样本(5~15分钟内高频探测)、中时样本(数小时的间隔探测或iperf3多次测试)和长期样本(24小时或更长的SLA监测曲线)。每次mtr结果至少100个探测包(mtr -c 100),并保存多次不同时间点的结果。收集到的问题时间点前后各5分钟的抓包与接口计数可以大幅提高定位效率。
工单材料要结构化:1) 问题时间段(精确到秒)与影响范围;2) 客户侧抓包文件(带时间戳)与mtr/traceroute/iperf3结果;3) 边界设备接口统计(ifIn/OutErrors, Discards, Utilization)和CPU/内存快照;4) BGP路由变化日志(如有);5) 如果可能,给出怀疑网元与跳点。把证据压缩并附上分析结论和复现步骤,便于运营商快速复现与定位。
量化抖动常用指标是延时的标准差或瞬时抖动(jitter,单位ms),以及连续丢包率和平均丢包率。对实时语音视频,常看RTP包的到达抖动和连续丢包序列(如连续N个包丢失更危险)。使用iperf3的UDP模式可以直接得到带宽、丢包率和jitter数值,便于SLA对比。
可在边缘部署轻量探针(例如smokeping、prometheus + blackbox_exporter、Zabbix)做持续性ping/mtr并结合Grafana展示曲线;对重要路径设置阈值告警(丢包>1%或jitter>30ms触发工单)。同时收集NetFlow/sFlow做流量突变检测,支持快速发现拥塞或DDoS类问题的早期迹象。