9.12. Функции и операторы сетевых адресов#
9.12. Функции и операторы сетевых адресов #
Сетевые адреса IP-сети, типы cidr
и inet
,
поддерживают обычные операторы сравнения, показанные в
Таблица 9.1
а также специализированные операторы и функции, показанные в
Таблица 9.39 и
Таблица 9.40.
Любое значение cidr
может быть неявно приведено к типу inet
; поэтому операторы и функции, показанные ниже для работы с типом inet
, также работают с значениями типа cidr
. (Если существуют отдельные функции для типов inet
и cidr
, это означает, что поведение должно быть разным для двух случаев). Также разрешено приведение значения типа inet
к типу cidr
. При этом все биты справа от маски сети автоматически обнуляются, чтобы создать допустимое значение типа cidr
.
Таблица 9.39. Операторы IP-адресов
Оператор Описание Пример(ы) |
---|
Сеть строго содержится в сети? Этот оператор, а также следующие четыре, проверяют включение подсети. Они рассматривают только сетевые части двух адресов (игнорируя любые биты справа от маски сети) и определяют, является ли одна сеть идентичной или подсетью другой.
|
Содержится ли подсеть в подсети или равна ей?
|
Содержит ли подсеть строго подсеть?
|
Содержит ли подсеть или равна подсети?
|
Содержит ли одна подсеть другую или они равны?
|
Вычисляет побитовое отрицание.
|
Вычисляет побитовое И.
|
Вычисляет побитовое ИЛИ.
|
Добавляет смещение к адресу.
|
Добавляет смещение к адресу.
|
Вычитает смещение из адреса.
|
Вычисляет разницу между двумя адресами.
|
Таблица 9.40. Функции IP-адреса
Функция Описание Пример(ы) |
---|
Создает сокращенный формат отображения в виде текста.
(Результат такой же, как и функция вывода
|
Создает сокращенный формат отображения в виде текста. (Сокращение состоит в удалении октетов, содержащих только нули, справа от маски подсети; дополнительные примеры приведены в Таблица 8.22).
|
Вычисляет широковещательный адрес для сети адреса.
|
Возвращает семейство адреса:
|
Возвращает IP-адрес в виде текста, игнорируя маску подсети.
|
Вычисляет маску хоста для сети адреса.
|
Вычисляет наименьшую сеть, которая включает обе заданные сети.
|
Проверяет, принадлежат ли адреса к одной IP-семье.
|
Возвращает длину маски подсети в битах.
|
Вычисляет сетевую маску для сети адреса.
|
Возвращает сетевую часть адреса, обнуляя все, что находится справа от маски подсети.
(Это эквивалентно приведению значения к типу
|
Устанавливает длину маски подсети для значения
|
Устанавливает длину маски подсети для значения
|
Возвращает полный IP-адрес и длину маски подсети в виде текста.
(Это дает тот же результат, что и явное приведение к типу
|
Подсказка
Функции abbrev
, host
и text
в основном предназначены для предоставления альтернативных форматов отображения IP-адресов.
Типы MAC-адресов, macaddr
и macaddr8
,
поддерживают обычные операторы сравнения, показанные в
Таблица 9.1
а также специализированные функции, показанные в
Таблица 9.41.
Кроме того, они поддерживают побитовые логические операторы
~
, &
и |
(НЕ, И и ИЛИ), как показано выше для IP-адресов.
Таблица 9.41. Функции MAC-адреса