CIDR se extiende para todo excepto RFC1918

12

Estoy buscando una lista de bloques CIDR para "Internet", es decir, desde 0.0.0.0 hasta 223.255.255.255, excluyendo el espacio de direcciones RFC1918 de 10.0.0.0/8, 172.16.0.0/12 y 192.168.0.0/16 (sí, sé que hay muchas redes pequeñas allí que son especiales, como 192.0.0.0/24, pero realmente no me importan). Supongo que esta lista debe existir en algún lugar de Internet, pero mi google-fu me falla, así que pensé en preguntar aquí antes de generar el rango yo mismo.

Editar: Olvidé una parte realmente importante de esta pregunta: la necesito en la menor cantidad posible de entradas.

Y si desea saber lo que estoy haciendo con esto, estamos ingresando mods de flujo estático para solucionar algunos problemas desagradables en una red controlada por OpenFlow que actualmente tiene una gran cantidad de problemas, y necesitamos reducir la cantidad de entradas de flujo temporalmente para no exceder el espacio disponible en las tablas de flujo y hacer que todo se bloquee durante unos minutos mientras restablece una conexión al controlador.

Jed Daniels
fuente

Respuestas:

34

Déjame mostrarte mi trabajo aquí ...

Necesita una cantidad mínima de bloques CIDR para cubrir:

  • 0.0.0.0-9.255.255.255
  • 11.0.0.0-172.15.255.255
  • 172.32.0.0-192.167.255.255
  • 192.169.0.0-223.255.255.255

Para convertir estos rangos en bloques CIDR mínimos, puede usar netmask(la navaja suiza del direccionamiento), así:

$ netmask -c 0.0.0.0:9.255.255.255
    0.0.0.0/5
    8.0.0.0/7
$ netmask -c 11.0.0.0:172.15.255.255
   11.0.0.0/8
   12.0.0.0/6
   16.0.0.0/4
   32.0.0.0/3
   64.0.0.0/2
  128.0.0.0/3
  160.0.0.0/5
  168.0.0.0/6
  172.0.0.0/12
$ netmask -c 172.32.0.0:192.167.255.255
 172.32.0.0/11
 172.64.0.0/10
172.128.0.0/9
  173.0.0.0/8
  174.0.0.0/7
  176.0.0.0/4
  192.0.0.0/9
192.128.0.0/11
192.160.0.0/13
$ netmask -c 192.169.0.0:223.255.255.255
192.169.0.0/16
192.170.0.0/15
192.172.0.0/14
192.176.0.0/12
192.192.0.0/10
  193.0.0.0/8
  194.0.0.0/7
  196.0.0.0/6
  200.0.0.0/5
  208.0.0.0/4

Hola, listo, Bob es el amante de tu tía.

womble
fuente
1
Hombre, desearía poder darte más de uno más uno. Le diré a todos mis amigos que más uno.
Jed Daniels
Mi objetivo es agradar.
womble
El código fuente de "netmask" parece estar aquí: trap.mtview.ca.us/~talby/netmask_2.4.tar.gz
wfaulk
@womble. ¿Las sidras que ha calculado utilizando netmask son las únicas que pueden ser asignadas por los registros de internet?
user2689877
2
Usted señor se merece una sidra.
Aron
0

No con la menor cantidad de entradas posibles; Pero creo que es una lista completa.

0.0.0.0/1
0.0.0.0/5
8.0.0.0/7
11.0.0.0/8
12.0.0.0/6
16.0.0.0/4
32.0.0.0/3
64.0.0.0/2
128.0.0.0/1
128.0.0.0/2
128.0.0.0/3
160.0.0.0/5
168.0.0.0/6
172.0.0.0/12
172.128.0.0/9
172.32.0.0/11
172.64.0.0/10
173.0.0.0/8
174.0.0.0/7
176.0.0.0/4
192.0.0.0/2
192.0.0.0/9
192.128.0.0/11
192.160.0.0/13
192.169.0.0/16
192.170.0.0/15
192.172.0.0/14
192.176.0.0/12
192.192.0.0/10
193.0.0.0/8
194.0.0.0/7
196.0.0.0/6
200.0.0.0/5
208.0.0.0/4
224.0.0.0/3
Rajan Patel
fuente
1
Justo 0.0.0.0/1y 128.0.0.0/1es suficiente para abarcar todo el espacio de direcciones IPv4. Observe también que ha respondido una pregunta muy antigua que ahora está algo desactualizada. La pregunta no menciona cómo quiere que se traten las direcciones RFC 6598 (lo cual tiene sentido porque la pregunta se escribió antes de la publicación de ese RFC). Además, nadie en su sano juicio considera que el espacio de direcciones IPv4 ya es todo Internet.
kasperd