6.1.2. Map-Request Message Format (Map-Request 报文格式)
6.1.2. Map-Request Message Format (Map-Request 报文格式)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Type=1 |A|M|P|S|p|s| Reserved | IRC | Record Count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Nonce . . . |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| . . . Nonce |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source-EID-AFI | Source EID Address ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ITR-RLOC-AFI 1 | ITR-RLOC Address 1 ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ITR-RLOC-AFI n | ITR-RLOC Address n ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/ | Reserved | EID mask-len | EID-Prefix-AFI |
Rec +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
\ | EID-Prefix ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Map-Reply Record ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
分组字段说明:
Type: 1 (Map-Request)
A: 权威 (authoritative) 位, ITR 发送的基于 UDP 的 Map-Request 置 0. 当 ITR 希望目的站点返回 Map-Reply 而非映射数据库系统时置 1.
M: map-data-present 位. 置位表示 Map-Request 中包含 Map-Reply Record 段.
P: probe 位, 表示 Map-Request 应被视为 Locator 可达性探测. 接收方应使用置 probe 位的 Map-Reply 响应, 表示该 Map-Reply 为 Locator 可达性探测应答, 并从 Map-Request 复制 nonce. 更多细节见第 6.3.2 节.
S: Solicit-Map-Request (SMR) 位. 见第 6.6.2 节.
p: PITR 位. PITR 发送 Map-Request 时置 1.
s: SMR-invoked 位. xTR 因收到基于 SMR 的 Map-Request 而发送 Map-Request 时置 1.
Reserved: 发送时必须为 0, 接收时必须忽略.
IRC: 5 位字段 ITR-RLOC Count, 编码本消息中除第一个之外的 (ITR-RLOC-AFI, ITR-RLOC Address) 字段数量. 至少必须编码一对 (ITR-RLOC-AFI, ITR-RLOC-Address). 多个 ITR-RLOC Address 供 Map-Replier 选择 Map-Reply 的目的地址. IRC 取值 0 到 31. 为 0 时编码 1 个 ITR-RLOC 地址, 为 1 时编码 2 个, 依此类推, 31 时共 32 个 ITR-RLOC 地址.
Record Count: 本 Map-Request 中的记录数. 记录由上图标注 Rec 的分组部分构成, 出现次数等于 Record Count. 对本协议版本, 接收方必须接受并处理包含一条或多条记录的 Map-Request, 但发送方必须仅发送仅含一条记录的 Map-Request. 在单条 Map-Request 中请求多个 EID 的支持将在未来协议版本中规定.
Nonce: Map-Request 发送方创建的 8 八位组随机值, 将在 Map-Reply 中返回. LISP 映射协议的安全性严重依赖 Map-Request 中 nonce 的强度. Nonce 应由正确播种的伪随机 (或强随机) 源生成. 关于生成安全敏感随机数据的建议见 [RFC4086].
Source-EID-AFI: Source EID Address 字段的地址族.
Source EID Address: 导致发送 Map-Request 的源主机 EID. 当 Map-Request 用于刷新 Map-Cache 项或 RLOC-Probing 时, 使用 AFI 值 0 且本字段长度为 0.
ITR-RLOC-AFI: 紧随其后的 ITR-RLOC Address 字段的地址族.
ITR-RLOC Address: 供 ETR 为 Map-Reply 选择任意地址族的目的地址. 该地址必须是 Map-Request 发送方可路由的 RLOC 地址.
EID mask-len: EID-Prefix 的掩码长度.
EID-Prefix-AFI: 根据 [AFI] 的 EID-Prefix 地址族.
EID-Prefix: IPv4 地址族时为 4 八位组, IPv6 时为 16 八位组. 当 ITR 因数据分组目的无映射项而发送 Map-Request 时, EID-Prefix 设为数据分组的目的 IP 地址, EID mask-len 对 IPv4 或 IPv6 分别设为 32 或 128. 当 xTR 要查询站点以了解已缓存映射状态时, Map-Request 中的 EID-Prefix 掩码长度与站点发送 Map-Reply 时返回的 EID-Prefix 掩码长度相同.
Map-Reply Record: 当 M 位置位时, 本字段长度为 Map-Reply 格式中的单条 "Record". 该 Map-Reply 记录包含与 Source EID 关联的 EID-to-RLOC 映射项, 使接收该 Map-Request 的 ETR 可选择缓存该数据.