9.12. 网络地址函数和运算符#
IP 网络地址类型cidr
和inet
支持表 9.1中所示的常规比较运算符,以及表 9.39和表 9.40中所示的专门运算符和函数。
任何cidr
值都可以隐式转换为inet
;因此,下面显示为对inet
进行操作的运算符和函数也适用于cidr
值。(如果为inet
和cidr
提供了单独的函数,则是因为两种情况下的行为应该不同。)此外,允许将inet
值转换为cidr
。执行此操作时,网罩右侧的任何位都会静默清零,以创建有效的cidr
值。
表 9.39. IP 地址运算符
运算符 说明 示例 |
---|
子网是否严格包含在子网中?此运算符和接下来的四个运算符用于测试子网包含情况。它们仅考虑两个地址的网络部分(忽略网络掩码右侧的任何位),并确定一个网络是否与另一个网络相同或为其子网。
|
子网是否包含在子网中或等于子网?
|
子网是否严格包含子网?
|
子网是否包含或等于子网?
|
任一子网是否包含或等于另一个子网?
|
计算按位非。
|
计算按位与。
|
计算按位 OR。
|
向地址添加偏移量。
|
向地址添加偏移量。
|
从地址中减去偏移量。
|
计算两个地址的差值。
|
表 9.40 IP 地址函数
函数 说明 示例 |
---|
创建缩写显示格式作为文本。(结果与
|
创建缩写显示格式作为文本。(缩写包括丢弃网络掩码右侧的所有零八位组;更多示例请参见 表 8.22。)
|
计算地址网络的广播地址。
|
返回地址的族:IPv4 为
|
忽略网络掩码,返回 IP 地址文本。
|
计算地址网络的主机掩码。
|
计算包含两个给定网络的最小网络。
|
测试地址是否属于同一 IP 族。
|
以比特为单位返回网络掩码长度。
|
计算地址网络的网络掩码。
|
返回地址的网络部分,将网络掩码右侧的任何内容归零。(这等同于将值强制转换为
|
为
|
设置
|
返回未缩写的 IP 地址和网络掩码长度,以文本形式表示。(这与显式转换为
|
提示
abbrev
、host
和text
函数主要用于提供 IP 地址的备用显示格式。
MAC 地址类型macaddr
和macaddr8
支持表 9.1中所示的常规比较运算符,以及表 9.41中所示的专用函数。此外,它们还支持按位逻辑运算符~
、&
和|
(非、与和或),就像上面针对 IP 地址所示的那样。
表 9.41. MAC 地址函数