Тестирование, если сеть в нотации cidr перекрывает другую сеть

Я ищу алгоритм php, который эффективно проверяет, перекрывает ли одна сеть, отмеченная cidr, другую.

В основном у меня следующая ситуация:

Массив адресов cidr:

$cidrNetworks = array(
    '192.168.10.0/24',
    '10.10.0.30/20',
    etc.
);

У меня есть метод, который добавляет сети в массив, но этот метод должен выдавать исключение при добавлении сети, которая перекрывается с сетью, уже находящейся в массиве.

Так что если добавлено 192.168.10.0/25, должно быть сгенерировано исключение.

Кто-нибудь имеет / знает / "может придумать" метод, чтобы проверить это эффективно?