Zakresy CIDR dla wszystkiego oprócz RFC1918

12

Szukam listy bloków CIDR dla „Internetu”, tj. Wszystkiego od 0.0.0.0 do 223.255.255.255, z wyłączeniem przestrzeni adresowej RFC1918 10.0.0.0/8, 172.16.0.0/12 i 192.168.0.0/16 (tak, wiem, że jest tam wiele małych sieci, które są wyjątkowe, takie jak 192.0.0.0/24, ale tak naprawdę nie obchodzi mnie to). Myślę, że ta lista musi istnieć gdzieś w Internecie, ale mój google-fu mnie zawodzi, więc pomyślałem, że zapytam tutaj przed wygenerowaniem zasięgu.

Edycja: Zapomniałem bardzo ważnej części tego pytania: potrzebuję go w jak najmniejszej liczbie wpisów.

A jeśli chcesz wiedzieć, co z tym robię, wchodzimy w statyczne mody przepływu, aby obejść niektóre paskudne problemy w sieci kontrolowanej przez OpenFlow, która obecnie ma znaczną ilość złych zdarzeń, i musimy zmniejszyć liczbę wpisy przepływów tymczasowo, abyśmy nie przekroczyli dostępnego miejsca w tabelach przepływów i powodowali awarię wszystkiego na kilka minut, podczas gdy ponownie nawiązuje połączenie ze sterownikiem.

Jed Daniels
źródło

Odpowiedzi:

36

Pokażę tu swoją pracę ...

Potrzebujesz minimalnej liczby bloków CIDR do pokrycia:

  • 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

Aby zmienić te zakresy w minimalne bloki CIDR, możesz po prostu użyć netmask(szwajcarski scyzoryk adresowania), w następujący sposób:

$ 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

Hej presto, Bob jest kochankiem twojej cioci.

womble
źródło
1
Człowieku, chciałbym dać ci więcej niż jeden plus jeden. Powiem wszystkim moim przyjaciołom, żeby plus jeden.
Jed Daniels,
Staram się zadowolić.
womble
Wygląda na to, że znajduje się tutaj kod źródłowy „netmask”: trap.mtview.ca.us/~talby/netmask_2.4.tar.gz
wfaulk
@womble. cidry, które obliczyłeś za pomocą maski sieci, są jedynymi, które można przypisać do rejestrów internetowych?
user2689877
2
Zasługujesz na cydr.
Aron
0

Nie przy możliwie najmniejszej liczbie wpisów; ale myślę, że to wyczerpująca lista.

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
źródło
1
Wystarczy 0.0.0.0/1i 128.0.0.0/1wystarczy, aby objąć całą przestrzeń adresową IPv4. Zauważ również, że odpowiedziałeś na bardzo stare pytanie, które jest obecnie nieco nieaktualne. Pytanie nie wspomina, jak chce traktować adresy RFC 6598 (co ma sens, ponieważ pytanie zostało napisane przed opublikowaniem tego dokumentu RFC). Ponadto nikt przy zdrowych zmysłach nie uważa już przestrzeni adresowej IPv4 za cały Internet.
kasperd