6 个版本 (破坏性更新)
0.5.1 | 2021 年 4 月 4 日 |
---|---|
0.5.0 | 2021 年 3 月 2 日 |
0.4.0 | 2021 年 1 月 29 日 |
0.3.0 | 2020 年 2 月 26 日 |
0.1.0 | 2020 年 1 月 30 日 |
#1 在 #ratman
每月 58 次下载
用于 7 个 crate(4 个直接使用)
19KB
288 行
Ratman 的网络模块抽象
Netmod 提供了一个异步接口,用于与端点的基本数据帧定义和帧序列进行交互。
该接口本身不对底层地址空间或重传行为做出任何假设。将 netmod 作为库使用允许您编写兼容 Ratman 的网络适配器。
帧、序列和签名
Frame
是通过网络连接发送的单个数据包。它对应于其他协议中的 UDP 数据包(例如)。它包含发送者、接收者信息以及一个序列指示器(seqid),该指示器在数据切片上构建,可以在电路的另一侧重新组装。
在构建 Frame
序列时,有效载荷被分割成适当大小的块,然后进行哈希处理,这些签名哈希按顺序输入到序列 ID next
中。以下图表进一步解释了该概念。
|--------------| |--------------| |--------------|
| Frame #1 | | Frame #2 | | Frame #2 |
| next: f4aa | ------ | next: bb61 | ------ | next: NONE |
| sig: a1a1 | | sig: f4aa | | sig: bb61 |
|--------------| |--------------| |--------------|
有效载荷签名用于验证传输层的完整性(重传由该接口的用户实现,以及将顺序帧关联到数据集中)。
依赖项
~2–2.8MB
~59K SLoC