Для чого нам потрібна маска підмережі?


37

Оскільки IPv4-адреса вже дає інформацію про мережу та хост, навіщо нам ще потрібна маска підмережі?

1-й Октет вже вказує мережевий клас (1-127: A, 128-191: B, 192-223: C тощо). A, B або C означає кількість октетів для мережі (відповідно, 255.0.0.0, 255.255.0.0, 255.255.255.0), що автоматично повідомляє, скільки хостів дозволено для кожного класу мережі.

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


21
Класи A, B, C - такі 1980-ті і давно померли. Коли вичерпання адреси виникло, було зрозуміло, що багато присвоєного простору класів A і B повністю витрачається на утримувачі, отже, CIDR та задане призначення невеликих корисних блоків адрес у всьому адресному просторі.
Лабораторії Фіаско

2
@FiascoLabs Це не відповідає на його питання чувак. Чи все ще використовували маршрутизатори ці маски підмережі? Так, при класному (якщо немає додаткової підмережі, що, мабуть, малоймовірно), маску підмережі можна обчислити з адреси. Але а) чи потрібно використовувати маску підмережі з логічним AND, якщо ви вже знаєте, скільки бітів ви хочете, і чому це? Можливо, операції з процесором не в змозі перевірити х біт байта, тому інші повинні бути нульовими і застосувати оператор EQU.
барлоп

8
Маршрутизатори, з якими я працював, не припускають, що перший октет класу A, B або C нічого не означає. Мені завжди доводилося встановлювати мережну маску або CIDR, щоб маршрутизатор знав адреси, де розташована мережа та трансляція. Звичайно, присвоєння адреси класу мають дуже прості мережеві маски, 255.0.0.0, 255.255.0.0 та 255.255.255.0, так що так, необхідно використовувати маску підмережі.
Лабораторії Фіаско

VLSM - сумбетні маски змінної довжини, ви можете створити мережевий або широкомовний домен настільки ж великий або маленький, як хочете!
Марк С.

3
Навіть у дні занять у вас може бути велика мережа, підмережа (sic) на різні інші менші. Робоча станція у великому університеті все ще матиме адресу в мережі класу А, але це могла б мати підмережу підмережі підмережі всього класу А. Отже, маршрутизатори, природно, не припускали.
Олексій

Відповіді:


38

Нам потрібна маска підмережі для IPv4-адрес, оскільки адреса не дає жодної інформації про розмір мережі. Розміри класу не є розмірами мережі. У практичних мережах всі мережі IPv4 розбиті на підмережі , менші за розмір класу.

Наприклад, ви можете розбити мережу класу C 200.200.200.0/255.255.255.0 на дві менші мережі (можливо, в окремих місцях) 200.200.200.0/255.255.255.128 та 200.200.200.12.128/255.255.255.128, якщо не потрібно більше 126 хостів. Насправді більшість компаній отримують достатньо IPv4-адрес для серверів, які повинні бути в загальнодоступному Інтернеті. Я особисто бачив налаштування з 32,16 та 8 адресними мережами (це будуть маски 255.255.255.224, 255.255.255.240 та 255.255.255.248 відповідно)

Наявність мереж IP лише у блоках розміру класу було занадто обмежувальним, оскільки обмежувало кількість мереж, які можна було дозволити - мережі 127 класу A займали половину місця. Не кажучи вже про те, що наявність мережі в 24 мільярди вузлів є абсолютно некерованою, натомість у 1993 році було введено безкласову маршрутизацію між доменами (CIDR), яка дозволила розділити мережі.

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


при використанні CIDR ви приєднуєте префікс до конкретної кількості бітів, використовуваних для мережевої адресації, а решта для адрес хоста. Наприклад, 200.200.200.0/27, то автоматично означає, що адреса хоста повинна бути 63 або меншою. Знову ж, ІР все-таки повідомляє вам цю інформацію, отже, зберігайте моє запитання ...
KMC

Це все-таки адреса та маска мережі, коли все сказано і зроблено, і саме це базове обладнання використовує для обчислення свого netblock, чи не так?
Лабораторії Фіаско

Моє запитання не існує, оскільки IP все ще містить всю інформацію, необхідну для маски підмережі. Я все ще не знаходжу причин для існування маски підмережі.
KMC

1
@KMC: Я не отримую ваших коментарів, префікс CIDR є порівнянним з маскою і програмним забезпеченням підмережі, тому часто використовується як префікс, так і маска, як питання смаку.
Леголас

20
@KMC: /27 це маска підмережі, просто написано в інших позначеннях.
Хайнці

20

1-й Октет вже вказує мережевий клас (1-127: A, 128-191: B, 192-223: C тощо). A, B або C означає кількість октетів для мережі (відповідно, 255.0.0.0, 255.255.0.0, 255.255.255.0), що автоматично повідомляє, скільки хостів дозволено для кожного класу мережі.

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

Скажіть, ви перебуваєте в мережі Ethernet. Ми використовуємо класну адресацію з підмережами. Ваша IP-адреса є, 1.2.3.4і ви хочете отримати її 1.3.1.1. Чи використовуєте ви ARP, щоб дістатися до цієї адреси? Ну, це залежить від того , 1.2.3.4і 1.3.1.1знаходяться в одній і тій же підмережі . Навіть якщо вони знаходяться в одній мережі, якщо вони є в різних підмережах, потрібно використовувати маршрутизатор. Якщо вони знаходяться в одній підмережі, тоді слід використовувати ARP.

Тож вам потрібна маска підмережі, якщо використовується підмережа, навіть у класних мережах.

Я думаю, що ви плутаєте підмережу з CIDR, насправді. Без CIDR, навіть при підмережі, вам не потрібна маска підмережі між адміністративними регіонами. Але вам все одно потрібно всередині мережі!


6

Маска підмережі використовується для здійснення трохи розумних операцій над IP-адресою в поєднанні з мережевою адресою. Якщо моя пам'ять служить мені добре, ви берете IP-адресу і робіть трохи розумно І на ній і маску підмережі для даної мережі. Якщо результат дорівнює мережевій адресі, то IP-адреса знаходиться в цій конкретній мережі. Маршрутизатори, у яких є таблиці маршрутизації мережевих адрес та масок підмережі, можуть використовувати просту двійкову математику (що дуже швидко, якщо не найшвидше для роботи з комп'ютерами), щоб дізнатися, з якого інтерфейсу виводити пакет.


3

"1-й Октет вже вказує мережевий клас (1-127: A, 128-191: B, 192-223: C тощо)."

Сьогодні існує не так багато спільних протоколів, які вже поважають це (див. Коментар до @Fiasco Labs - RIP - єдиний, про який я можу придумати). Отже, це твердження у вашому запитанні:

IP надає всю інформацію, яку має маска підмережі та інше.

не відповідає дійсності більшості протоколів, які використовуються в Інтернеті сьогодні.

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

Маршрутизатори визначають краї (під) мереж. Все, що потрібно пройти через роутер, знаходиться в іншій мережі - і навпаки: все, що потрібно для переходу до іншої мережі, має пройти через маршрутизатор.

Маска підмережі - це те, як усі машини можуть визначати, чи є трафік для поточної мережі або чи потрібно її направляти маршрутизатору, щоб дістатися до місця призначення. TCP / IP стека вашого комп’ютера буде направляти свій трафік безпосередньо до пункту призначення, якщо він знаходиться в масці підмережі, інакше він звертається до таблиці маршрутизації, і звичайна ситуація полягає в тому, що він спрямовує інший трафік на шлюз за замовчуванням.


3

1-й Октет вже вказує мережевий клас (1-127: A, 128-191: B, 192-223: C тощо). A, B або C означає кількість октетів для мережі (відповідно, 255.0.0.0, 255.255.0.0, 255.255.255.0), що автоматично повідомляє, скільки хостів дозволено для кожного класу мережі.

Хоча це було історично правдою. Це не так уже роками. Роки тому 24.0.0.0/8 роздавались частинами різним провайдерам. (Я вважаю, що це стосувалося переважно кабельних провайдерів.)

Навіть тоді, коли це стосується мережевих завдань, внутрішні мережі були необхідні для спрощення маршрутизації для внутрішніх мереж. Ефективна маршрутизація мережі на зразок 10.0.0.0/8 вимагає підрозділу на менші мережі. Це може бути проста схема з використанням підрозділів / 16 та / 8, але, швидше за все, це безкласовий підрозділ. Більші підмережі ефективніше використовують адресний простір (понад 99% a / 24 доступно для пристроїв, тоді як доступно лише 50% a / 30.

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

Для підмереж без багатодомних хостів a / 24 містить більше адрес, ніж потрібно. Більшість маршрутизаторів, з якими я працював, мають порти 24, 48 або 96, і їх можна підтримувати з підмережами / 27, / 26 або / 25. Це дозволяє отримати декілька додаткових адрес для DCHP та / або мульти-наведення. Організації можуть стандартизувати розподіл підмереж / 24 або / 23 для маршрутизації.

Оскільки IPv4-адреса вже дає інформацію про мережу та хост, навіщо нам> ще потрібна маска підмережі?

Багато пристроїв використовують мережеву маску за замовчуванням / 24, яка у багатьох випадках відповідає розміру локальної підмережі (localnet), призначеної маршрутизатору. Це однаково стосується класів A, B і C. Якщо розмір підмережі не відповідає стандартній підмережі, потрібна мережева маска.

Якщо адреси вказані у форматі CIDR, мережеву маску та мережу можна обчислити з адреси. Якщо ні, то мережу можна обчислити з адреси та мережевої маски. Неможливо достовірно обчислити маску мережі з адреси та мережі.

Надання адреси шлюзу (маршрутизатора) для підмережі дозволяє налаштувати маршрут за замовчуванням, дозволяючи маршрутизацію до адрес поза підмережею.


2

За винятком відповіді @ Адріана, я не впевнений, що жодне з них насправді згадує ЧОМУ ми використовуємо маску замість якогось більш простого для розуміння рішення - і він торкнувся лише того факту, що маскування - Швидке, я маю на увазі, чому б не просто вказати, що ви цікавляться адресами 192.168.1.200-192.168.1.220, а чому б не просто використовувати для цього імена типу * .my.address.com, просто називаючи кожен комп'ютер замість призначення номерів?

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

Фільтрування, як це, відбувається постійно, і це відбувається багато. Маскування можна робити апаратним шляхом, повністю виключаючи необхідність витрачати час на нецікаві пакети (які раніше складали 99% пакетів, які ви проходили б через провід, тепер із переключеними концентраторами ви не повинні бачити жодних, які не є адресовано вашій машині, знову зробивши її менш актуальною).

Настільки легке рішення в апаратному забезпеченні, воно також дуже гнучко. Це ж обладнання може маршрутизувати всю мережу класу A (10.xxx) або лише один-два ip-адреси з однаковою реалізацією.

Це не є заміною жодної з інших відповідей, лише трохи більше інформації.


"чому б просто не використовувати для цього імена, як * .my.address.com, просто називаючи кожен комп'ютер" - ви маєте на увазі, наприклад, DNS?
Пісквор

@Piskvor Рівно! DNS вирішує IP-адреси, ви можете використовувати DNS безпосередньо, але використовувана потужність обробки збільшується. Ви навіть можете розділити домени, щоб * .meh.com перейшов на одну адресу, крім * .alt.meh.com перейшов на іншу ...
Білл К

Це працює, так - тобто коли це працює (додаткова складність); плюс вам потрібно знати, де знаходиться DNS-сервер; куряче-яєчна проблема.
Пісквор

@Piskvor Я просто кажу, що є й інші можливості, які б справно працювали, окрім продуктивності - все-таки значущої в деяких випадках - і того, що потрібно буде переписати ВСЕ. (Ви дійсно думаєте, що проблема з сервером DNS була б іншою, якщо ви перейшли на іншу схему адресації?)
Білл К

Ні, проблема справді зберігається. (і btw, поштовх до простого мережевого стека не проходить - навпаки, посилюючись з "Інтернетом речей": простий також означає менше енергії, яка потрібна і довший ресурс акумулятора)
Piskvor

1

В інших відповідях вже багато речей, пояснених, але не головне.

Хочете знати, якщо IP-адреса вже може дати вам повну адресу одержувача, то чому існують маски підмережі. Ви знаєте, що у великих організаціях іноді відділам потрібні окремі мережі, тому, наприклад, бухгалтери знаходяться в іншій підмережі і не мають доступу до внутрішніх IP-адрес відділу маркетингу. Так, наприклад, працівник з IP 192.168.10.3 не зможе отримати доступ до принтера за адресою 192.168.15.76, оскільки це буде в іншій підмережі.


1

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

  1. ви можете вказати непридатні маски, які є недійсними.
  2. (стосується також і CIDR), вони вводять можливі перекриття - провайдери можуть видавати ту саму IP-адресу, що і частина різних підмереж. напр

    замовник A: маска підмережі 22.132.124.121 255.255.255.0
    клієнт B: 22.132.114.55 маска підмережі 255.255.0.0

що не відразу видно як слід.

https://blog.certskills.com/ccent/vlsmo_01_01/


0

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


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