Agrégateur de préfixes IPv4 CIDR

Réduire une liste de réseaux IPv4 en routes CIDR agrégées sans élargir la plage d’adresses.

Les préfixes sont normalisés, triés puis agrégés autant que possible. Les doublons et préfixes entièrement couverts sont supprimés. Le résultat reste exactement limité aux adresses fournies.

Une agrégation minimale n’est possible que lorsque des blocs frères complets sont présents.

Méthode et hypothèses

Version de méthode 1.0.0 · Mise à jour

Agréger des préfixes IPv4

Formule: Fusionner les blocs CIDR frères contigus sans inclure d’adresses absentes des préfixes saisis.

Les préfixes sont normalisés, triés puis agrégés autant que possible. Les doublons et préfixes entièrement couverts sont supprimés. Le résultat reste exactement limité aux adresses fournies.

prefixes
Préfixes IPv4 (un par ligne ou séparés par des virgules)

De 1 à 32 préfixes IPv4 valides, avec des longueurs de /0 à /32. L’agrégation ne couvre aucune adresse qui n’appartient pas aux préfixes saisis.

Reproduire le calcul en code

Ces exemples utilisent les mêmes entrées et le même calcul de base que cet outil. Adaptez la validation et le formatage à votre application.

JavaScript
const start = 0xC0A80100, end = 0xC0A801FF;
let prefix = 32 - Math.log2(end - start + 1);
console.log(prefix); // 192.168.1.0/24
TypeScript
const start = 0xC0A80100, end = 0xC0A801FF;
const prefix: number = 32 - Math.log2(end - start + 1);
console.log(prefix); // /24 when aligned
Python
import ipaddress
print(list(ipaddress.summarize_address_range(ipaddress.IPv4Address("192.168.1.0"), ipaddress.IPv4Address("192.168.1.255"))))  # 192.168.1.0/24
Java
int start=0xC0A80100, end=0xC0A801FF;
System.out.println(32 - (int)(Math.log(end-start+1)/Math.log(2))); // prefix length /24
C#
uint start=0xC0A80100, end=0xC0A801FF;
Console.WriteLine(32 - Math.Log2((double)end-start+1)); // prefix length /24

Comprendre les protocoles IP