2 个版本
0.1.1 | 2022 年 4 月 12 日 |
---|---|
0.1.0 | 2022 年 3 月 10 日 |
#5 in #stamp
20KB
446 行
stamp-suite
简单的双向主动测量协议 (STAMP) (RFC 8762 和 8972)
关于 stamp-suite 的一些说明
stamp-suite 包含一组应用对 - 客户端(stamp(.exe))和服务器(stampd(.exe)),可用于发送和接收数据包。它旨在完全兼容 RFC 8762 并包含 RFC 8972 的扩展。
使用 STAMP 的主要目的是测量两端之间的网络中的数据包丢失和延迟。除了配置外,两端还需要使用 NTP 或 PTP 标准同步时间。然后,STAMP 可以用来确定单向(无状态)或双向(有状态)的链路质量。
STAMP 是一个简单的协议,其中配置和会话处理超出标准范围。根据 RFC,使用什么通信通道为两端(发送方和反射器)提供适当的配置并不重要。stamp-suite 使用命令行作为配置的主要来源,因此需要在两侧执行辅助设置。
用法
stampd - 使用方法
基本用法是使用正确的选项调用二进制文件。您随时可以使用 -h 获取帮助。
USAGE:
stampd.exe [OPTIONS]
OPTIONS:
-4
Force IPv4 addresses
-6
Force IPv6 addresses
-A, --auth-mode <AUTH_MODE>
Specify work mode - A for auth, E for encryped and O for open mode - default "AEO" [default: AEO]
-h, --help
Print help information
-K, --clock-source <CLOCK_SOURCE>
Clock source to be used [default: NTP]
-L <TIMEOUT>
Amount of time to wait for packet until consider it lost [s] [default: 5]
-o, --local-port <LOCAL_PORT>
UDP port number for incoming packets [default: 852]
-R
Print individual statistics for each packet
-S, --local-addr <LOCAL_ADDR>
Local address to bind for [default: 0.0.0.0]
-V, --version
Print version information
stamp - 使用方法
基本用法是使用正确的选项调用二进制文件。您随时可以使用 -h 获取帮助。
USAGE:
stamp.exe [OPTIONS] --remote-addr <REMOTE_ADDR>
OPTIONS:
-4
Force IPv4 addresses
-6
Force IPv6 addresses
-A, --auth-mode <AUTH_MODE>
Specify work mode - A for auth, E for encryped and O for open mode - default "AEO"
[default: AEO]
-c, --count <COUNT>
Count of packets to be sent [default: 852]
--clock-source <CLOCK_SOURCE>
Clock source to be used [default: NTP]
-d, --send-delay <SEND_DELAY>
Delay between next packets [default: 1000]
-h, --help
Print help information
-L <TIMEOUT>
Amount of time to wait for packet until consider it lost [s] [default: 5]
-o, --local-port <LOCAL_PORT>
UDP port number for incoming packets [default: 852]
-p, --remote-port <REMOTE_PORT>
UDP port number for outgoing packets [default: 852]
-r, --remote-addr <REMOTE_ADDR>
Remote address for Session Reflector
-R
Print individual statistics for each packet
-S, --local-addr <LOCAL_ADDR>
Local address to bind for [default: 0.0.0.0]
-V, --version
Print version information
进一步开发
stamp-suite 同时只能处理一个会话,因此可以用来将一个发送者与一个反射器精确关联。这可以在未来得到改进,因为一个反射器可以处理多个发送者。在讨论无状态模式时,这很简单,因为反射器需要做的只是复制原始字段并生成自己的时间戳(在未授权模式下)。当我们谈论有状态模式和多个会话时,事情变得更糟,其中一些会话可以启动,一些会话可以终止。由于 STAMP 本身不处理会话管理,因此需要在外部(某种方式)完成。当然,使用 4 元组参数是有问题的,因为为每个 4 元组配置会话反射器会使每个人都发疯,使用 RFC 8972 中描述的可选会话标识符似乎是最好的处理状态的方法。
贡献
欢迎提交拉取请求。对于重大更改,请先打开一个问题来讨论您想进行的更改。
请确保适当更新测试。
版本控制
我使用 SemVer 进行版本控制。有关可用的版本,请参阅此仓库的 标签。
作者
- Piotr Olszewski - 原始作品 - asmie
请参阅参与此项目的贡献者列表。
许可
本项目采用MIT许可协议 - 有关详细信息,请参阅LICENSE 文件。
依赖项
~8–18MB
~224K SLoC