3.2 Parsing and Modifying (解析和修改)
3.2 Parsing and Modifying (解析和修改)
3.2.1 General Summary (一般概述)
由于所有可能的文本表示方法, 每个应用程序必须包含一个模块,对象,链接等到一个函数, 该函数将以这样的方式解析 IPv6 地址, 无论如何表示, 它们都将表示相同的地址.许多为企业客户集成复杂计算机系统的系统工程师会发现他们最喜欢的工具没有此功能, 或者会遇到困难, 例如必须为客户重写他们的宏或脚本.
3.2.2 Logging (日志记录)
如果应用程序输出完整表示地址的日志摘要 (例如 2001:0db8:0000:0000:1111:2222:3333:4444), 与 IPv4 输出相比, 输出将非常难以阅读.必须解析和重新格式化地址以使其对人类阅读有用.有时, 关键系统的日志记录是通过将相同的流量镜像到两个不同的系统来完成的.必须注意, 无论日志输出是什么, 都应该解析日志, 使它们等效.
3.2.3 Auditing: Case 1 (审计: 情况 1)
当审计路由器或任何其他网络设备机器配置时, 有许多方法可以比较节点的配置信息.有时审计只是通过比较每天所做的更改来完成.在这种情况下, 如果配置被更改, 使得 2001:db8::1 被更改为 2001:0db8:0000:0000:0000:0000:0000:0001, 只是因为新工程师觉得这样更好, 简单的 diff 将显示配置了不同的地址.如果这是在大规模网络上完成的, 人们将专注于 '为什么要加上额外的零' 而不是进行任何真正的审计.许多工具只是不考虑地址表示规则的简单 diff.
3.2.4 Auditing: Case 2 (审计: 情况 2)
节点配置将与管理 IP 地址的信息系统进行匹配.如果输出表示法不同, 则需要实现一个脚本来解决这个问题.SNMP GET 操作的结果转换为文本并与人类编写的文本地址进行比较, 在第一次尝试时极不可能匹配.
3.2.5 Verification (验证)
某些协议要求验证某些数据字段.这方面的一个示例是 X.509 证书.如果证书中的 IPv6 地址字段通过将其转换为文本并与其他地址进行简单的文本比较而被错误地验证, 由于文本表示方法的差异, 证书可能会被错误地显示为无效.
3.2.6 Unexpected Modifying (意外修改)
有时, 系统会获取一个地址并为方便起见对其进行修改.例如, 系统可能会输入 2001:0db8:0::1 并输出 2001:db8::1.如果输入零是有原因的, 结果可能会有些出乎意料.