网络地址类型

    用这些数据类型存储网络地址比用纯文本类型好,因为这些类型提供输入错误检查和特殊的操作和功能(请参见网络地址函数和操作符)。

    表 1 网络地址类型

    在对inet或cidr数据类型进行排序的时候,IPv4地址总是排在IPv6地址前面,包括那些封装或者是映射在IPv6地址里的IPv4地址,比如::10.2.3.4或::ffff:10.4.3.2。

    cidr(无类别域间路由,Classless Inter-Domain Routing)类型,保存一个IPv4或IPv6网络地址。声明网络格式为address/y,address表示IPv4或者IPv6地址,y表示子网掩码的二进制位数。如果省略y,则掩码部分使用已有类别的网络编号系统进行计算,但要求输入的数据已经包括了确定掩码所需的所有字节。

    表 2 cidr类型输入举例

    cidr输入

    cidr输出

    abbrev(cidr)

    192.168.100.12825

    192.168.100.12825

    192.16824

    192.168.0.0/24

    192.168.0/24

    192.16825

    192.168.0.0/25

    192.168.0.0/25

    192.168.1

    192.168.1.0/24

    192.168.124

    192.168

    192.168.0.0/24

    192.168.0/24

    10.1.2

    10.1.2.0/24

    10.1.224

    10.1

    10.1.0.0/16

    10.116

    10.0.0.0/8

    108

    10.1.2.332

    10.1.2.332

    10.1.2.332

    2001:4f8:3:ba::/64

    2001:4f8:3:ba::/64

    2001:4f8:3:ba::/64

    2001:4f8:3:ba:2e0:81ff:fe22:d1f1/128

    2001:4f8:3:ba:2e0:81ff:fe22:d1f1/128

    2001:4f8:3:ba:2e0:81ff:fe22:d1f1

    ::ffff:1.2.3.0/120

    ::ffff:1.2.3.0/120

    ::ffff:1.2.3120

    ::ffff:1.2.3.0/128

    ::ffff:1.2.3.0/128

    ::ffff:1.2.3.0/128

    inet类型在一个数据区域内保存主机的IPv4或IPv6地址,以及一个可选子网。主机地址中网络地址的位数表示子网(“子网掩码”)。如果子网掩码是32并且地址是IPv4,则这个值不表示任何子网,只表示一台主机。在IPv6里,地址长度是128位,因此128位表示唯一的主机地址。

    该类型的输入格式是address/y,address表示IPv4或者IPv6地址,y是子网掩码的二进制位数。如果省略/y,则子网掩码对IPv4是32,对IPv6是128,所以该值表示只有一台主机。如果该值表示只有一台主机,/y将不会显示。

    inet和cidr类型之间的基本区别是inet接受子网掩码,而cidr不接受。

    这些示例都表示同一个地址。对于数据位a到f,大小写都行。输出时都是以第一种形式展示。