Можливі (бітові) схеми мережевої маски


13

З урахуванням префіксу Y, легко обчислити відповідну мережну маску: Покладіть Yраз встановлений біт, а потім заповніть «вправо» нулями, поки у кожного не буде 32 біт (IPv4).

Приклад:

Префікс 24, таким чином, маска мережі 11111111 11111111 11111111 00000000або 255.255.255.0.

Чи може бути мережна маска з іншим бітовим малюнком , наприклад

  • 00000000 11111111 00000000 11111111( 0.255.0.255)
  • 00000000 11111111 11111111 11111111( 0.255.255.255)
  • 11111111 11111111 11111111 00000001( 255.255.255.1)

Вказання "префікса" очевидно не спрацює в цих випадках.

(Я впевнений, що відповідь "НІ", але я пишу деякий мережевий код, і це потрібно працювати у всіх можливих випадках, тому я хочу бути впевненим на 101%.)

Відповіді:


11

RFC950 стверджує, що

Оскільки біти, що ідентифікують підмережу, задані бітовою маскою, вони не повинні бути суміжними за адресою. Однак ми рекомендуємо, щоб біти підмережі були суміжними і розташовувалися як найбільш значущі біти локальної адреси.

Більшість пристроїв дотримуються цієї рекомендації, що стосується її виконання. Мені вдалося лише використовувати неперервні маски підмережі в мережах, що мають лише Linux, ще в 2012 році; тестовані пристрої Windows, OSX, Cisco та HP не впорались / не дозволяли.


2
Я вважаю, що це було витіснене RFC1519 , який явно вимагає суцільної маски.
користувач1686

@grawity Може бути так. Виявлено "Єдине невирішене обмеження полягає в тому, що маску потрібно залишити безперервно". коли говорили про CIDR, але недостатньо читали, щоб отримати контекст.
Філіп Хаглунд

6

Якщо ви використовуєте префікси та мережі, то відповідь - ні, біти повинні бути суміжними. Бувають випадки, коли можна використовувати маску підстановки (зворотну маску), наприклад, ACL-адреси Cisco, і це може бути будь-який біт. Наприклад, ви можете заблокувати трафік з усіх непарних нумерованих хостів у мережі. Це, здається, все ще викладається, але я не бачив, щоб його в реальному світі використовували дуже часто (хоча я це бачив).


4

Ні. Маска мережі - це суцільна серія.

(Інші - "шаблонні символи".)


1
Це не правда. 30 років тому їх було багато. Ще можуть бути деякі в роботі.
КАРТА

2
Я дуже сумніваюся в цьому. Жодне сучасне обладнання для маршрутизації не дозволить цього. А маршрутизатори з 80-х матимуть численні проблеми з тим, як працює IP сьогодні. (Був там. Сказав, що я не використовую всю нульову підмережу - навіть в кінці 90-х це була проблема). Єдині два пристрої, які я маю ще з тієї епохи , не приймуть безперервну мережеву маску. (WTI pdus, як і раніше, тому що вони мають порти 10bT. Нічого не розмовляє з ними, найбільше Інтернет .)
Ricky Beam

3

Коли TCP / IP вперше вийшов і набув широкого розповсюдження, насправді було багато підмереж з непомітними масками. Але в міру того, як адреси стали дефіцитними, накладні витрати на іншу частину мережі дозволяють глобальну маршрутизацію цих префіксів, а не змушувати все базуватися лише на префіксах; було занадто багато, і глобальна мережа змінилася лише на підтримуючі префікси. Насправді все ще можуть існувати застарілі мережі, які використовують внутрішньо нестабільні маски (багато IGP все ще підтримують це). Але, коли така мережа підключається до Інтернету, вона має єдиний префікс, який охоплює всі вони, і рекламується в BGP. І, звичайно, EGP (попередник BGP) підтримував лише класну адресацію.

Я знаю кількох гравців із оригінальними мережами класу A, які використовували внутрішньо нестабільні маски з тих чи інших причин. Я просто не знаю, чи хтось із них все ще робить це. Багато з них навіть більше не виходять. ARPAnet мав внутрішню мережну маску 255.0.0.255 (IIRC).


2
НЕЗНАЧЕННЯ. Це не має нічого спільного з CIDR, класами чи агрегацією. Мережна маска ЗАВЖДИ була суміжною.
Ricky Beam

6
Наприклад, див. RFC 950 . Сторінка 15 наводить приклад з маскою мережі 255.255.255.88.
Росс Пресер

4
Я думаю, що сторінка 12 RFC 1519 насправді шкодить вашій справі, оскільки єдиним відповідним реченням є " Єдине невирішене обмеження в тому, що маску потрібно залишити безперервно ". (Наголос мій) Оскільки маска має на увазі / передбачається класом при класовій маршрутизації, і було використано лише три суміжні маски, а RFC на CIDR вказує суміжні маски, здається, що ваша відповідь неправильна. Повідомлення у списку FreeBSD є для мене загадкою.
Тодд Вілкокс

3
RFC заміни становить 4632: tools.ietf.org/html/rfc4632 Зауважте, що позначення косої риски обговорюються та використовуються, а термін " довжина префікса " з'являється кілька разів, жоден з яких взагалі не матиме сенсу, якби були безперервні маски підтримується. З RFC 950 зрозуміло, що в перші дні, можливо, існували системи, що використовували неспоріднені маски, але доведення цього не допоможе запитувачеві зрозуміти, як працює TCP / IP в даний час, і це може бути дуже заплутано.
Тодд Вілкокс

3
Оскільки біти, що ідентифікують підмережу, визначені бітовою маскою, вони не повинні бути суміжними за адресою. Однак ми рекомендуємо, щоб біти підмережі були суміжними і розташовувалися як найбільш значущі біти локальної адреси . Хоча це не відповідає НЕОБХІДНО формулюванню, що використовується сьогодні, саме таким чином усі створили сучасні можливості субмедіації. Протягом 3 десятиліть роботи в мережі я ніколи не стикався з технологією, яка дозволяє розмежувати підмережі.
Ricky Beam
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.