rtr_debug_client
rtr_debug_client 是一个用于调试和联调 RTR(RPKI-to-Router)服务端的小型客户端工具。
它的目标不是做一个完整的生产级 router client,而是提供一个简单、直接、可观察的调试入口,用于:
- 连接 RTR server
- 发送
Reset Query或Serial Query - 接收并打印服务端返回的 PDU
- 辅助排查协议实现、会话状态、序列号增量、PDU 编码等问题
适用场景
这个工具适合以下场景:
- 开发 RTR server 时做本地联调
- 验证服务端是否正确返回
Cache Response - 检查
IPv4 Prefix/IPv6 Prefix/ASPA/End of Data等 PDU - 验证
Serial Query路径是否正确 - 观察异常响应,例如
Cache Reset或Error Report - 后续扩展为支持 TLS、自动断言、会话统计等调试能力
当前能力
当前版本支持:
- TCP 连接 RTR server
- 发送
Reset Query - 发送
Serial Query - 持续读取服务端返回的 PDU
- 解析并打印以下常见 PDU:
Serial NotifySerial QueryReset QueryCache ResponseIPv4 PrefixIPv6 PrefixEnd of DataCache ResetError ReportASPA
- 基础长度校验
- 最大 PDU 长度限制,防止异常数据导致过大内存分配
目录结构
建议目录如下:
src/
└── bin/
└── rtr_debug_client/
├── main.rs
├── protocol.rs
├── io.rs
├── pretty.rs
└── README.md