1.
准备阶段:确定测试环境与工具
- 本地:准备能访问公网的测试主机(Windows / Linux / macOS)。
- 工具:ping、traceroute(tracert)、mtr、tcping、iperf3、dig/nslookup、tcpdump/wireshark、curl。
- 目标:列出台湾服务器IP、域名及备选节点(如台北/高雄不同机房)。
2.
基线检测:基础连通性与延迟
- 命令(Linux示例):ping -c 10 <目标IP>,记录平均延时和丢包率。
- Windows示例:ping -n 10 <目标IP>。目标:延时<100ms为理想,丢包应接近0%。
3.
路径检测:traceroute / tracert 的使用
- Linux:traceroute -n <目标IP>;Windows:tracert -d <目标IP>。
- 重点:定位跳点出现高延迟或丢包的节点(从本地ISP网关开始往外查),记录每跳IP和ASN。
4.
持续检测:使用MTR进行即时诊断
- 命令:mtr -rwzbc 100 <目标IP>(Linux)。
- 读取:关注Loss%在某一跳骤增,说明那一段链路可能有问题;而单跳高延迟但后续恢复通常为ICMP限速。
5.
应用层检测:TCP连通与端口可达性
- tcping或curl:tcping <目标IP> 443 或 curl -v https://域名,确认三次握手与TLS建立。
- 若TCP握手失败但ICMP可达,可能为防火墙/NAT或过滤策略。
6.
带宽测试:使用iperf3测量吞吐量
- 在
台湾服务器启动iperf3服务:iperf3 -s。
- 本地运行:iperf3 -c <台湾IP> -P 4 -t 30,测量上下行真实吞吐并观察抖动与丢包。
7.
DNS与解析检查
- dig 或 nslookup:dig +short A 域名 @本地DNS 和 @8.8.8.8,比较解析差异。
- 若域名解析到非预期IP,考虑DNS污染或本地DNS缓存问题,改用可靠DNS或在边缘放置DNS记录。
8.
检查MTU与MSS问题
- 若网页加载中断或大文件传输失败:测试MTU,命令(Linux):ping -M do -s 1472 <目标IP>,逐步减小直至不分片。
- 若发现MTU问题,建议在路由器或防火墙上启用MSS clamping(例:iptables --clamp-mss-to-pmtu)。
9.
抓包分析:定位丢包与异常
- tcpdump示例:tcpdump -i eth0 host <目标IP> and tcp -w capture.pcap,导入Wireshark查看SYN/ACK重传、RTO、ICMP碎片等。
- 记录时间点并与mtr/traceroute结果对比,便于与ISP沟通。
10.
BGP与路由来源检查
- 使用公共路由查询:bgp.he.net 或 RIPE/RouteViews,查看台湾目标IP的Origin ASN与邻居。
- 若本地到目标走非最优路径(绕行大陆或第三国),可向本地ISP提供目标ASN与期望出口,要求调整或报修。
11.
与本地ISP沟通的准备工作
- 附上:traceroute输出、mtr长时间结果、ping样本、tcpdump抓包时间戳与示例。
- 要点:说明问题时段、影响服务、期望(如改善路线或排查丢包链路),并询问是否存在BGP策略或链路拥塞。
12.
临时优化方案(可立即实施)
- 切换DNS到公共解析(8.8.8.8/1.1.1.1)或使用智能DNS/CDN加速。
- 使用TCP优化:开启HTTP/2、TLS会话复用、开启GZIP/ Brotli、调整KeepAlive、在负载均衡器上做延迟就近调度。
- 若可控,使用SSH隧道或商业VPN选择直连台湾出口作为临时绕过。
13.
长期优化建议
- 与主机商协商使用台湾本地POP或CDN节点、部署多点冗余(台北/高雄)。
- 对于高流量业务,考虑与ISP谈判专线、BGP多出口或在台湾部署可调度的Anycast服务。
14.
验证与回归测试
- 修改后重复第2~6步,保存变更前后数据(延时、丢包、带宽)做对比。
- 建议使用脚本(cron + mtr/ping记录)或第三方监控(UptimeRobot、Pingdom)做长期监控。
15.
问:如何迅速判断问题是本地ISP还是台湾那侧造成?
- 答:通过traceroute/mtr定位丢包或高延迟发生的跳数:如果问题在本地网关或本地ISP前几跳,通常是本地ISP;若在出口之后或到达台湾境内ASN问题,则多为对方或中间链路。结合从台湾服务器向本地回测(反向traceroute/looking glass)可进一步确认。
16.
问:碰到MTU问题没有权限修改运营商设备怎么办?
- 答:可在本地网关或服务器端做MSS clamping并降低TCP最大报文长度,或者在应用层启用分块传输;同时向ISP提交故障单,附上PMTU测试结果请其在运营端调整。
17.
问:联系ISP时哪些信息最有用?
- 答:提供时间窗口、traceroute(每一跳IP和AS)、mtr长期结果、ping样本、tcpdump抓包(含时间戳)、受影响的目标IP/域名与端口,这些能让ISP快速定位链路或设备故障。
来源:联通台湾服务器与本地ISP联通性测试与优化建议