Testando se uma rede em notação cidr sobrepõe outra rede

Eu estou procurando por um algoritmo php que teste eficientemente se uma rede notada cidr sobrepõe outra.

Basicamente eu tenho a seguinte situação:

Matriz de endereços da cidr:

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

Eu tenho um método que adiciona redes à matriz, mas esse método deve lançar uma exceção quando uma rede é adicionada que se sobrepõe a uma rede já existente na matriz.

Então, ou seja. se 192.168.10.0/25 for adicionado, uma exceção deverá ser lançada.

Alguém tem / know / "pode ​​pensar em" um método para testar isso eficientemente?

questionAnswers(4)

yourAnswerToTheQuestion