验证工具的组合使用
邻居排障靠的是多源证据互相印证:ping 与 traceroute 给出可达性与路径,抓包给出协议层事实,设备命令给出会话层状态,对端视角给出协作证据。任意单一来源都可能误导——设备显示 Established 不代表报文真的双向可达,本端发出路由也不代表对端收到了。
基本信息
| 可达性 | ping / traceroute 定位路径与断点 |
|---|---|
| 协议层 | 抓包查看 TCP 646 与 BGP 报文序列 |
| 会话层 | 各类 show 命令查看状态、计数和前缀数 |
| 协作证据 | 对端同时观察并提供日志与计数器 |
| 记录要求 | 四类证据按时间顺序留存,便于复盘 |
典型使用场景
- 会话起不来:先用可达性排除路径问题,再用抓包确认 TCP 是否建立
- Established 但学不到路由:从本端发布、对端接收、策略过滤三个环节逐一比对
- 单向异常:两端同时采集,判断问题出在去程还是回程
- 变更验证:变更后按同一组合复采,与变更前逐项对比
- 责任界定:用抓包与对端日志区分本端配置问题与中间网络问题
组合排查示例
组合排查示例
# 现象:Established 后没有学到对端路由
# 1) 可达性:先排除路径与丢包
ping 10.0.0.2 repeat 10
# 2) 协议层:抓包看 TCP 646 与 BGP 报文
tcpdump -ni eth0 'tcp port 179' -c 20
# 3) 会话层:本端收到的内容
show ip bgp neighbors 10.0.0.2 routes
# 4) 协作:让对端确认发布集合
show ip bgp neighbors 10.0.0.2 advertised-routes证据分层与用途
| 层次 | 工具 | 能证明什么 |
|---|---|---|
| 可达性 | ping / traceroute | 路径通不通、断点在哪一跳 |
| 协议层 | 抓包与解析工具 | TCP 是否建立、BGP 报文是否双向 |
| 会话层 | 设备 show 命令 | 状态、计数、前缀数与属性 |
| 协作层 | 对端核对与日志 | 对端是否发出/收到,问题归因到哪一侧 |
把「猜」变成「比」:每个环节都有对照样本,结论就不依赖经验直觉。最省时间的做法是两端同时采集,一次排除掉一半可能性。