rpki/src/bin/rtr_debug_client

rtr_debug_client

rtr_debug_client 是一个用于调试和联调 RTRRPKI-to-Router服务端的小型客户端工具。

它的目标不是做一个完整的生产级 router client而是提供一个简单、直接、可观察的调试入口用于

  • 连接 RTR server
  • 发送 Reset QuerySerial Query
  • 接收并打印服务端返回的 PDU
  • 辅助排查协议实现、会话状态、序列号增量、PDU 编码等问题

适用场景

这个工具适合以下场景:

  • 开发 RTR server 时做本地联调
  • 验证服务端是否正确返回 Cache Response
  • 检查 IPv4 Prefix / IPv6 Prefix / ASPA / End of Data 等 PDU
  • 验证 Serial Query 路径是否正确
  • 观察异常响应,例如 Cache ResetError Report
  • 后续扩展为支持 TLS、自动断言、会话统计等调试能力

当前能力

当前版本支持:

  • TCP 连接 RTR server
  • 发送 Reset Query
  • 发送 Serial Query
  • 持续读取服务端返回的 PDU
  • 解析并打印以下常见 PDU
    • Serial Notify
    • Serial Query
    • Reset Query
    • Cache Response
    • IPv4 Prefix
    • IPv6 Prefix
    • End of Data
    • Cache Reset
    • Error Report
    • ASPA
  • 基础长度校验
  • 最大 PDU 长度限制,防止异常数据导致过大内存分配

目录结构

建议目录如下:

src/
└── bin/
    └── rtr_debug_client/
        ├── main.rs
        ├── protocol.rs
        ├── io.rs
        ├── pretty.rs
        └── README.md