测量路径处理时间

网络工程 路由器 杜松 瞻博网络 表现
2021-07-31 02:29:17

我想通过 BGP 为 Juniper 路由器提供一组路由,并测量路由器处理它们所需的时间,包括在前缀过滤器和 RPKI 源验证上花费的时间。

Cisco IOS XR 路由器保留计时器来测量它们处理路由所花费的时间,因此这很容易做到。
我可以这样做:

# show bgp neighbor performance-statistics
... output omitted ...
Processed 101900 inbound update messages (time spent: 3.646 secs)

有没有办法在瞻博网络路由器上做到这一点?瞻博网络路由器型号为 mx240,运行 Junos 14.2R1.9。

2个回答

我最终这样做的方式并不完美。它有很大的潜在噪音,只有当你有一个明确的开始和结束时间时才有效,但当时这是我能想出的最好方法。
我是通过执行命令来做到的

show system processes extensive

然后将路由提供给路由器,然后再次执行该命令并总结除两次执行该命令之间的空闲进程之外的每个进程的时间差异。

仅通过计算rpd进程的时间差可能会获得更准确的数字,但就我自己的目的而言,这还不够,因为如果我已经为路由器提供路由,时间似乎没有增加有。

我认为瞻博网络平台没有任何show允许访问该信息的兼容输出,而且它看起来show bgp neighbor不太符合要求。但是,它们在traceoptions记录到/log目录节中确实有一些吸引人的日志记录选项虽然我不能确认配置下面给你究竟你是用来与接收什么performance-statistics,我相信它会提供更多。

我会自己测试这个,但我的组织可能不赞成我为数千条路由(事件软重置)自启动 BGP 路由更新。

试试这个:

[edit protocols bgp]
user@host:A# show
traceoptions {
    file bgp-perf size 10k;
    flag update detail;
    flag all;
}

Juniper TechLibrary - 了解 BGP 协议流量的跟踪操作


正如一个警告,detailedall标志选项是非常CPU密集型,并且只在大型部署放大。在生产网络中谨慎使用它们(如果有的话)。下面强调的标志是与您要实现的目标最相关的标志。

BGP 协议特定的跟踪选项:

  • 4byte - as-4-byte AS 事件。
  • bfd - BFD 协议事件。
  • 阻尼 - 阻尼操作。
  • 优雅重启 - 优雅重启事件。
  • keepalive - BGP 保持活动消息。
  • nsr-synchronization - 不间断的主动路由同步事件。
  • open - BGP 打开数据包。这些数据包在建立连接时在对等方之间发送。
  • 数据包 - 所有 BGP 协议数据包。
  • refresh - BGP 刷新数据包。
  • 更新 - BGP 更新数据包。这些数据包为 BGP 系统提供路由更新。

全局跟踪选项:

  • all - 所有跟踪操作
  • 一般 - 所有正常操作和路由表更改(正常和路由跟踪操作的组合)
  • 正常 - 正常事件
  • 政策 - 政策处理
  • route - 路由信息
  • state - 状态转换
  • task - 路由协议任务处理
  • timer - 路由协议定时器处理

跟踪选项标志修饰符:

  • detail - 详细的跟踪信息。
  • filter - 过滤跟踪信息。仅适用于路由和阻尼跟踪标志。
  • 接收 - 正在接收的数据包。
  • 发送 - 正在传输的数据包。

祝你好运!