Діапазони CIDR для всього, крім RFC1918


12

Я шукаю список блоків CIDR для "Інтернету", тобто все від 0,0.0.0 до 223.255.255.255, за винятком адресного простору RFC1918 10.0.0.0/8, 172.16.0.0/12 та 192.168.0.0/16 (так, я знаю, що там є багато маленьких сіток, які є особливими, як-от 192.0.0.0/24, але я їх справді не хвилюю). Я вважаю, що цей список повинен існувати десь в Інтернеті, але мій google-fu мені не вдається, тож я подумав, що запитаю тут, перш ніж сам створити діапазон.

Редагувати: Я забув дійсно важливу частину цього питання: мені це потрібно в найменшій кількості можливих записів.

І якщо ви хочете знати, що я роблю з цим, ми вводимо статичні модні потоки, щоб вирішити деякі неприємні проблеми в керованій OpenFlow мережі, яка наразі має значну кількість негараздів, і нам потрібно зменшити кількість записи потоку тимчасово, тому ми не перевищуємо доступний простір у таблицях потоків і не спричиняємо все, що виходить з ладу протягом декількох хвилин, поки він відновить з'єднання з контролером.

Відповіді:


36

Дозвольте мені показати тут свою роботу ...

Для покриття вам потрібна мінімальна кількість блоків CIDR:

  • 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

Щоб перетворити ці діапазони в мінімальні блоки CIDR, ви можете просто скористатися netmask(ножем адреси швейцарської армії), наприклад:

$ 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

Привіт, престо, Боб - коханий твій тітка.


1
Людина, я б хотів, щоб я міг тобі дати більше, ніж один плюс. Я скажу всім своїм друзям плюс один.
Джед Даніельс

Я прагну догодити.
живіт

Домашній вихідний код для "netmask" здається тут: trap.mtview.ca.us/~talby/netmask_2.4.tar.gz
wfaulk

@womble. сидери, які ви обчислили, використовуючи мережну маску, - це єдині, які можна виділити через Інтернет-реєстри?
користувач2689877

2
Ви, сер, заслуговуєте на сидр.
Арон




0

Не з найменшими можливими записами; але я думаю, що це вичерпний перелік.

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

1
Просто 0.0.0.0/1і 128.0.0.0/1достатньо, щоб охопити весь адресний простір IPv4. Також зауважте, що ви відповіли на дуже старе питання, яке зараз дещо застаріло. У запитанні не йдеться про те, як він хоче обробляти адреси RFC 6598 (що має сенс, оскільки питання було написане до публікації цього RFC). Крім того, ніхто з розуму не вважає адресний простір IPv4 вже не всім Інтернетом.
kasperd
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.