IPネットワークアドレス型であるcidr
とinet
は表 9.1に示す通常の比較演算子に加え、表 9.39と表 9.40で示す特定目的の演算子と関数をサポートしています。
すべてのcidr
値は暗黙的にinet
にキャストできます。ですから以下で示すinet
で使える演算子と関数はcidr
でも使えます。
(inet
とcidr
用の別々の関数があるのは、この両者で振る舞いが異なっているべきである場合があるからです。)
またinet
値をcidr
にキャストすることが許されています。
これが行われると、ネットマスクの右側のすべてのビットは有効なcidr
値を作るために暗黙的にゼロになります。
表9.39 IPアドレス演算子
演算子 説明 例 |
---|
サブネットが完全にサブネットに含まれているか? この演算子と次の4つの演算子はサブネットの包含をテストします。 それらは2つのアドレスのネットワーク部分だけを考慮し(ネットマスクの右のビットは無視されます)、ネットワークが他のネットワークと同一か、あるいはサブネットであるかどうかを決定します。
|
サブネットがサブネットに含まれているか、あるいは同じか?
|
サブネットが完全にサブネットを含んでいるか?
|
サブネットがサブネットを含んでいるか、あるいは同じか?
|
サブネットが他を含んでいるか、あるいは同じか?
|
ビット否定を計算します。
|
ビット積を計算します。
|
ビット和を計算します。
|
オフセットをアドレスに加算します。
|
オフセットをアドレスに加算します。
|
アドレスからオフセットを減算します。
|
2つのアドレスの差を計算します。
|
表9.40 IPアドレス関数
関数 説明 例 |
---|
表示用テキスト省略形を作成します。
(結果は
|
表示用テキスト省略形を作成します。 (ネットマスクの右側のすべてのゼロオクテットを削除することによって省略形にします。表 8.22に他の例があります。)
|
アドレスのネットワーク部のネットワークブロードキャストアドレスを計算します。
|
アドレスファミリーを返します。IPv4なら
|
IPアドレスをテキストとして返します。ネットマスクは無視されます。
|
アドレスのネットワークに対するホストマスクを計算します。
|
与えられたネットワークを両方含む最小のネットワークを計算します。
|
アドレスが同じIPファミリーに属しているかどうかを判定します。
|
ネットマスクのビット長を返します。
|
アドレスのネットワークに対するネットワークマスクを計算します。
|
ネットマスクの右側をすべてゼロにしてアドレスのネットワーク部を返します。
(これは値を
|
ネットマスク長を
|
ネットマスク長を
|
省略形ではないIPアドレスとネットマスク長をテキストとして返します。
(これは
|
関数abbrev
、host
、およびtext
、は主として、代替のIPアドレスの整形表示を提供する目的のものです。
MACアドレス型であるmacaddr
とmacaddr8
は、表 9.1で示す通常の比較演算子と表 9.41で示す特定目的のための関数をサポートします。
加えて上記のIPアドレス用に示したのと同様に、ビットごとの論理演算子~
、&
、|
(NOT、AND、OR)をサポートします。
表9.41 MACアドレス関数