3. prefixlen 文件
3. prefixlen 文件
prefixlen files 是 UTF-8 [RFC3629] 编码的 CSV files [RFC4180], 排除 [RFC9839] 中描述的问题 code points. Lines MUST 用 CRLF 分隔, blank lines MUST 被忽略, 从 '#' character 到当前行末尾的文本 MUST 被视为 comment 并忽略.
每个未忽略行正好有三个 fields: prefix, end-site prefix length, 以及使用 CGN [RFC6598] 或 proxies 的网络中一个 end-site prefix length 内的 end-sites 数量. 三个 fields MUST 全部存在, 因此每个 non-comment line MUST 正好包含两个 commas. 第一个 field MUST NOT 为空. 如果第二和第三 fields 都为空, publisher 不披露任何 prefix length information.
2001:db8::/32,56,1
192.0.2.0/24,32,1
192.0.2.0/24,24,4000
192.0.2.0/24,26,1000
2001:db8::/32,120,
2001:db8:abcd::/48,64,
192.0.2.0/24,32,
192.0.2.0/28,,
第三个 field 设置为 '1' 表示没有 CGN 或 proxies, 在该场景下与第三个 field 留空含义相同. 解析 prefixlen files 时必须执行 longest prefix matching. 如果某个 sub-prefix 的第二和第三 fields 都为空, 则 covering prefixes 中的 prefix length information MUST 对该 sub-prefix 丢弃.
完全相同 prefix 的多个 entries MUST 被视为错误, consumers SHOULD 记录重复 entries. Publishers MUST 确保每个 prefix 有且只有一个 entry. 遇到错误 entry 时, consumers MUST 跳过该 entry, 记录错误, 并继续处理剩余 entries.