Типы сетевых IP-адресов, cidr и inet,
поддерживают стандартные операторы сравнения, перечисленные в
Таблица 2.6.1
а также специализированные операторы и функции, приведенные в
Таблица 2.6.39 и
Таблица 2.6.40.
Любое cidr значение может быть приведено к типу inet неявно;
следовательно, операторы и функции, указанные ниже как работающие с типом
inet также применимы к значениям типа cidr values. (Наличие
отдельных функций для типов inet и cidrобусловлено тем, что логика обработки для этих двух случаев должна различаться.) Кроме того, допускается явное приведение значения типа inet значение в cidr. . При выполнении данной операции любые биты справа от маски сети неявно обнуляются для формирования корректного значения cidr значения.
Таблица 2.6.39. Операторы для работы с IP-адресами
Оператор Описание Примеры |
|---|
Является ли подсеть строго входящей в другую подсеть? Данный оператор, как и четыре следующих, проверяет вхождение подсети. Они учитывают только сетевые части двух адресов (игнорируя любые биты справа от масок сетей) и определяют, является ли одна сеть идентичной другой сети или её подсетью.
|
Содержится ли подсеть в другой подсети или равна ей?
|
Содержит ли подсеть строго другую подсеть?
|
Содержит ли подсеть другую подсеть или равна ей?
|
Содержит ли одна из подсетей другую или равна ей?
|
Выполняет операцию поразрядного отрицания (NOT).
|
Выполняет операцию поразрядного И (AND).
|
Выполняет операцию поразрядного ИЛИ (OR).
|
Добавляет смещение к адресу.
|
Добавляет смещение к адресу.
|
Вычитает смещение из адреса.
|
Вычисляет разность между двумя адресами.
|
Таблица 2.6.40. Функции для работы с IP-адресами
Функция Описание Примеры |
|---|
|
Формирует сокращенное текстовое представление данных.
(Полученный результат идентичен тому, который
|
Формирует сокращенное текстовое представление данных. (Сокращение выполняется путем отбрасывания нулевых октетов справа от маски сети; другие примеры представлены в Таблица 2.5.22.)
|
|
Вычисляет широковещательный адрес для сети указанного адреса.
|
|
Функция family возвращает семейство протоколов для указанного адреса:
|
|
Функция host возвращает IP-адрес в виде текстовой строки без учета маски сети.
|
|
Функция hostmask вычисляет маску узла для сети, к которой принадлежит адрес.
|
Функция inet_merge вычисляет минимальную сеть, охватывающую обе заданные сети.
|
Функция inet_same_family проверяет принадлежность адресов к одному и тому же семейству протоколов IP.
|
|
Функция masklen возвращает длину маски сети, выраженную в битах.
|
|
Вычисляет сетевую маску для сети указанного адреса.
|
|
Возвращает сетевую составляющую адреса, обнуляя
все значения справа от сетевой маски.
(Это эквивалентно приведению значения к типу
|
Устанавливает длину сетевой маски для значения типа
|
Устанавливает длину сетевой маски для значения типа
|
|
Возвращает IP-адрес в полном формате и длину сетевой маски в виде текстовой строки.
(Данная операция дает тот же результат, что и явное приведение к типу
|
Данный abbrev, host,
и text функции в первую очередь предназначены для предоставления альтернативных форматов отображения IP-адресов.
Типы данных MAC-адресов, macaddr и macaddr8,
поддерживают стандартные операторы сравнения, перечисленные в
Таблица 2.6.1
а также специализированные функции, приведенные в
Таблица 2.6.41.
Кроме того, для них поддерживаются побитовые логические операторы
~, & и |
(NOT, AND и OR), как было показано выше для IP-адресов.
Таблица 2.6.41. Функции для работы с MAC-адресами