CIDR для манекенів


46

Я розумію, що таке CIDR і для чого він використовується, але досі не можу зрозуміти, як його обчислити в голові. Чи може хтось дати пояснення типу "для манекенів" із прикладами?


3
Також дивіться це питання для вичерпного питання про підмережу.
Зоредаче

Відповіді:


78

CIDR (Безкласна маршрутизація між доменами, вимовляється "kidder" або "сиддер" - додайте до коментарів власний локальний варіант!) - це система визначення мережевої частини IP-адреси (зазвичай люди думають про це як маску підмережі) . Причина "безкласового" полягає в тому, що вона дозволяє розбити IP-мережі більш гнучко, ніж їх базовий клас.

Коли IP-мережі вперше були визначені, IP-адреси мали класи, засновані на їх бінарному префіксі:

Class    Binary Prefix    Range                       Network Bits
A        0*               0.0.0.0-127.255.255.255     8
B        10*              128.0.0.0-191.255.255.255   16
C        110*             192.0.0.0-223.255.255.255   24
D        1110*            224.0.0.0-239.255.255.255
E        1111*            240.0.0.0-255.255.255.255

(Зауважте, що це джерело людей, які посилаються на / 24 як на "клас C", хоча це не є абсолютно правдивим порівнянням, оскільки для класу C необхідний певний префікс)

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

CIDR було визначено, щоб дозволити застосувати маски підмережі змінної довжини (VLSM) до мереж. Як застосовується назва, адреси групи або мережі можуть бути розбиті на групи, які не мають прямого відношення до природного "класу", до якого вони належать.

Основна передумова VLSM - забезпечити підрахунок кількості мережевих бітів у мережі. Оскільки IPv4-адреса є 32-бітним цілим числом, VLSM завжди буде від 0 до 32 (хоча я не впевнений, у якому екземплярі у вас може бути маска 0 довжини).

Найпростіший спосіб почати обчислювати VLSM / CIDR в голові - зрозуміти "природні" 8-бітні межі:

CIDR    Dotted Quad
/8      255.0.0.0
/16     255.255.0.0
/24     255.255.255.0
/32     255.255.255.255

(До речі, використовувати маску / 32, це абсолютно законно і досить часто, але це просто означає, що ви посилаєтесь на єдиний IP)

Після того, як ви зрозумієте їх, просту двійкову арифметику можна рухати вгору або вниз, щоб отримати кількість хостів. Наприклад, якщо a / 24 має 256 IP-адрес (поки що покинемо мережеві та широкомовні адреси, це вже інше питання теорії мереж), збільшення підмережі на один біт (до / 25) скоротить хост-простір на один біт (до 7), тобто буде 128 IP.

Ось таблиця останнього октету. Цю таблицю можна перенести на будь-який октет, щоб отримати пунктирний квадратичний еквівалент.

CIDR    Dotted Quad
/24     255.255.255.0
/25     255.255.255.128
/26     255.255.255.192
/27     255.255.255.224
/28     255.255.255.240
/29     255.255.255.248
/30     255.255.255.252
/31     255.255.255.254
/32     255.255.255.255

Як приклад переміщення їх на інший октет, / 18 (що становить / 26 мінус 8 біт, так зміщений октет) буде 255,255,192.0.


2
Як не дивно, я зазвичай чую, як він вимовляється "сидром"
скаларсон

Я впевнений, що це регіональний / організаційний характер. Я не впевнений, чи чув я, як хтось називає CIDR "дітлахом", але я знаю, коли я брав програмування LISP років тому функцію CDR моїм професором називали "kidder", можливо, я взяв його звідти ...
jj33

Як додаткові моменти даних: я чув лише «сидр», і мене вчили, що CDR - «жуйка». Кожному свої, я думаю. :-)
Лука

Завдяки SaveTheRbtz, я змінив кінцевий діапазон класу B на 191.255.255.255, а клас C - на 192.255.255.255. Як не дивно, я правильно зрозумів бінарний префікс і пам’ятаю, як займався математикою. Дякую за те, що помітили!
jj33

2
Я б дав це +10, якщо зможу. Це чудове пояснення CIDR / VLSM.
ДжеймсБарнетт

8

Кожен октет коштує 8.

  • 255.0.0.0 / 8
  • 255.255.0.0 / 16
  • 255.255.255.0 / 24
  • 255.255.255.255 / 32

Таким чином, ви можете швидко звузити свою підмережу, і тоді ви просто переживаєте за останні 8 біт.

128, 192, 224, 240, 248, 252, 254, 255

+1  , +2 , +3 , +4 , +5 , +6 , +7 , +8
  • 255.128.0.0 = / 9
  • 255.192.0.0 = / 10
  • 255.224.0.0 = / 11
  • 255.240.0.0 = / 12
  • 255.248.0.0 = / 13
  • 255.252.0.0 = / 14
  • 255.254.0.0 = / 15

Сподіваюсь, що досить ясно


6

На пізній день (сподіваємось, не на долар). CIDR - кількість суміжних один біт у масці IPv4 (32 біта), починаючи з найзначнішого біта.

10000000 00000000 00000000 00000000, де 1 = найзначніший біт

Поширеними масками є / 8, / 16, / 24, які всі потрапляють на 8-бітну (октетну) межу.

11111111 00000000 00000000 00000000 = / 8 = 255.0.0.0

11111111 11111111 00000000 00000000 = / 16 = 255.255.0.0

11111111 11111111 11111111 00000000 = / 24 = 255.255.255.0

Це не дуже важко, коли він не вирівнюється октетом, але для цього потрібна проста математика та розуміння того, що таке октет.

11111111 11111111 11100000 00000000 = / 19

Перші два октети маски - 255,255 (/ 16 менше, ніж / 19). Останній октет дорівнює 0 (/ 19 менше, ніж / 24). Поки що ми знаємо

11111111 11111111 11100000 00000000 = / 19 = 255.255.?.0

При перегляді кожного октету пам’ятайте, що це значення 8 біт, 0 - 255.

0 0 0 0 0 0 0 0 
1
2 6 3 1
8 4 2 6 8 4 2 1

Отже, третій октет (?) 11100000 - це 128 + 64 + 32 = 224. Це означає

11111111 11111111 11100000 00000000 = / 19 = 255.255.224.0


4

Дуже схильним до обчислення нетривіальних мереж вручну. Спробуйте замість цього калькулятор CIDR .


2
Хто проголосував за це ?! Я повністю погоджуюся, дуже легко прорахувати діапазони CIDR в голові, особливо при перетворенні, наприклад, / 23 до 255.255.254.0 форми. Я використовую пакет 'ipcalc' на Debian, щоб допомогти мені.
Майк Паутні

2
Думаю, ipcalcі sipcalcкращі варіанти, але все одно +1
SaveTheRbtz

2

Навпаки, я вважаю, що добре повністю зрозуміти CIDR і вміти робити обчислення у своєму мозку ... але іноді ви хочете подвоїти перевірку своїх розрахунків. Мені подобається використовувати калькулятор підмережі PHP : http://share-foo.com/SubnetCalc.php

alt текст


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.