Testowanie, czy sieć w notacji cidr pokrywa się z inną siecią

Szukam algorytmu php, który sprawnie sprawdzi, czy jedna sieć notowana przez cidr nakłada się na inną.

Zasadniczo mam następującą sytuację:

Tablica adresów cidr:

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

Mam metodę, która dodaje sieci do tablicy, ale ta metoda powinna rzucić wyjątek, gdy dodaje się sieć, która pokrywa się z siecią już w tablicy.

Tak więc. jeśli dodano 192.168.10.0/25, należy zgłosić wyjątek.

Czy ktoś ma / wie / „może wymyślić” metodę skutecznego testowania?

questionAnswers(4)

yourAnswerToTheQuestion