- OpenTofu 语言
- 函数
- cidrhost
cidrhost
函数
cidrhost
计算给定 IP 网络地址前缀内给定主机号的完整主机 IP 地址。
cidrhost(prefix, hostnum)
prefix
必须以 CIDR 表示法给出,如 RFC 4632 第 3.1 节 中定义。
hostnum
是一个整数,可以表示为二进制整数,其位数不超过给定前缀后地址中剩余的位数。有关此函数如何解释 CIDR 前缀并填充主机号的更多详细信息,请参阅 cidrsubnet
的工作示例。
按照惯例,主机号零用于表示网络本身的地址,而所有主机位都用二进制 1 填充的主机号表示网络的广播地址。除了特殊情况(例如点对点链接)外,这些数字通常不应用于标识单个主机。
此函数接受 IPv6 和 IPv4 前缀,结果始终使用与给定前缀相同的寻址方案。
注意
由于历史原因,此函数将具有前导零的 IPv4 地址八位字节解释为十进制数字,这与其他一些将它们解释为八进制数字的系统相矛盾。我们保留此行为以实现向后兼容性,但建议不要依赖此行为。
示例
> cidrhost("10.12.112.0/20", 16)
10.12.112.16
> cidrhost("10.12.112.0/20", 268)
10.12.113.12
> cidrhost("fd00:fd12:3456:7890:00a2::/72", 34)
fd00:fd12:3456:7890::22
相关函数
cidrsubnet
计算给定网络地址前缀下的子网地址。