1.
先确认CN2是中国电信的优质骨干链路,香港机房通常走CN2 GIA或CN2 GT。获取线路图源头:向机房/带宽提供商索要BGP对等信息(AS号、邻居IP)、出口点、优先级(MED/LOCAL_PREF)。
小分段:记录提供商合同中的SLA与维护窗口,标注例行维护和突发事件的联系方式(工单、电话、邮件)。
2.
实操:在Linux上用mtr和traceroute绘制多次路径样本,命令示例:mtr -r -c 100 -i 0.5 目标IP;traceroute -T -p 80 目标IP。把结果导出为文本并解析出IP跳点。
小分段:结合BGP Looking Glass与bgp.he.net查询IP所属AS:在bgp.he.net/AS
3.
建立定时采样:用cron定期(例如每小时)运行mtr/traceroute并保存到日志目录,示例cron:0 * * * * /usr/local/bin/record_mtr.sh。脚本record_mtr.sh应包含时间戳和目标列表。
小分段:配合简易解析脚本(Python或awk)统计某跳点变更次数,超过阈值(例如24小时内变更>3次)触发告警(邮件或Webhook)。
4.
当线路发生变更,按优先级评估影响:1) 丢包率上升;2) RTT延迟增大;3)路由回路或黑洞。用ping -c 100与mtr对比变更前后数据,用tcpdump抓取高丢包时间段的流量样本以定位问题。
小分段:将影响范围映射到业务:DNS解析、API延迟、用户分布(按Region)。生成影响报告模板供内部和供应商沟通使用。
5.
步骤:1) 立刻开启备用线路或备用出口(如已有BGP多线);2) 临时调整路由策略:提升健康线路的LOCAL_PREF或引入更高优先级的静态路由;3) 使用CDN/Anycast层分流静态资源。
小分段:命令示例(BGP常见操作需由网络工程执行):在路由器上调整策略或在云控制台切换主备出口;对HTTP服务可临时开启gzip与缓存延长减少后端请求压力。
6.
实施BGP多线与BFD快速故障检测:与另一台或多台运营商对等,配置BGP路由选择策略与route-map;部署BFD可将故障检测时间缩短到数百毫秒。定期做路由收敛演练并记录恢复时间。
小分段:考虑Anycast + 全球负载均衡或使用商业加速(例如专线/SD-WAN)作为冗余,定期更新线路图并核对提供商宣告的变更。
7.
沟通流程:1) 提供时间戳、样本traceroute/mtr/pcap;2) 标注受影响的目标与业务;3) 请求供应商给出变更说明与预计恢复时间。工单模板应包含采样文件附件与影响评估。
小分段:在工单中明确要求RFO(Root Cause Analysis)与后续预防措施,并要求在SLA范围内补偿或优先处理。
8.
每次变更前在测试环境先做灰度:1) 在隔离网络上复刻BGP策略;2) 使用流量镜像或流量小批量切换验证;3) 制定回滚脚本(恢复BGP原策略、撤销静态路由)。记录每次演练结果并优化。
小分段:回滚示例命令应能一键执行并写入变更日志;演练后更新线路图与告警阈值。
9.
答:通过对比变更前后的mtr/traceroute与应用级延迟(如HTTP 95th延迟、TCP握手时间)来判断;若丢包率或95th RTT明显上升且用户来自受影响路径,则会影响体验。建议同时查看业务错误率与用户地区分布。
10.
答:先联系带宽提供商请求临时旁路或提升带宽;同时通过CDN加速静态内容、在DNS上降低TTL快速切换到其他节点、优化后端连接(重试、超时配置)减轻影响。并尽快评估尽责供应商的SLA与补救方案。
11.
答:步骤:1) 将采样脚本放入版本控制并在CI中验证;2) 用Prometheus+Grafana采集关键指标(丢包、RTT、变更次数);3) 将告警接入企业微信/钉钉并制定SOP;4) 每月一次复盘并更新线路图与联系人清单。