8. 摘要要点
本节汇总 DSO 协议各方面的一些值得注意的要点.
8.1. QR 位和 MESSAGE ID
在 DSO 请求消息中, QR 位为 0, MESSAGE ID 非零.
在 DSO 响应消息中, QR 位为 1, MESSAGE ID 非零.
在 DSO 单向消息中, QR 位为 0, MESSAGE ID 为零.
下表说明哪些组合是合法的以及它们如何解释:
| MESSAGE ID 为零 | MESSAGE ID 非零 | |
|---|---|---|
| QR=0 | DSO 单向消息 | DSO 请求消息 |
| QR=1 | 无效 - 致命错误 | DSO 响应消息 |
8.2. TLV 用法
下表针对本文档定义的三个 TLV, 指出它们在十种不同上下文中是否有效.
前五种上下文是从客户端到服务器的 DSO 请求或 DSO 单向消息, 以及从服务器返回客户端的对应响应:
- C-P - Primary TLV, 在 DSO 请求消息中从客户端发送到服务器, 非零 MESSAGE ID 表示该请求 MUST 生成响应消息.
- C-U - Primary TLV, 在 DSO 单向消息中从客户端发送到服务器, 零 MESSAGE ID 表示该请求 MUST NOT 生成响应消息.
- C-A - Additional TLV, 可选地添加到从客户端发往服务器的 DSO 请求消息或 DSO 单向消息.
- CRP - Response Primary TLV, 包含在发回客户端的响应消息中 (响应用非零 MESSAGE ID 表示需要响应的客户端 "C-P" 请求), 其中 Response TLV 的 DSO-TYPE 与请求中 Primary TLV 的 DSO-TYPE 匹配.
- CRA - Response Additional TLV, 包含在发回客户端的响应消息中 (响应用非零 MESSAGE ID 表示需要响应的客户端 "C-P" 请求), 其中 Response TLV 的 DSO-TYPE 与请求中 Primary TLV 的 DSO-TYPE 不匹配.
后五种上下文是相反方向的对应项: 从服务器到客户端的 DSO 请求或 DSO 单向消息, 以及从客户端返回服务器的对应响应.
- S-P - Primary TLV, 在 DSO 请求消息中从服务器发送到客户端, 非零 MESSAGE ID 表示该请求 MUST 生成响应消息.
- S-U - Primary TLV, 在 DSO 单向消息中从服务器发送到客户端, 零 MESSAGE ID 表示该请求 MUST NOT 生成响应消息.
- S-A - Additional TLV, 可选地添加到从服务器发往客户端的 DSO 请求消息或 DSO 单向消息.
- SRP - Response Primary TLV, 包含在发回服务器的响应消息中 (响应用非零 MESSAGE ID 表示需要响应的服务器 "S-P" 请求), 其中 Response TLV 的 DSO-TYPE 与请求中 Primary TLV 的 DSO-TYPE 匹配.
- SRA - Response Additional TLV, 包含在发回服务器的响应消息中 (响应用非零 MESSAGE ID 表示需要响应的服务器 "S-P" 请求), 其中 Response TLV 的 DSO-TYPE 与请求中 Primary TLV 的 DSO-TYPE 不匹配.
| C-P | C-U | C-A | CRP | CRA | S-P | S-U | S-A | SRP | SRA | |
|---|---|---|---|---|---|---|---|---|---|---|
| KeepAlive | X | X | X | |||||||
| RetryDelay | X | X | X | |||||||
| Padding | X | X | X | X |
注意, 该表中的某些列当前为空. 该表为未来 TLV 定义提供了可遵循的模板. 建议未来 TLV 的定义包含类似表格, 汇总新 TLV 有效的上下文.