Чому маски підмережі є актуальними для окремого комп'ютера в мережі?


48

Я розумію, як маски підмережі використовуються для поділу мережі на підмережі, але, чому кожен комп'ютер у мережі повинен знати маску підмережі, а не лише маршрутизатор?

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

Скажімо, у мене в мережі є комп’ютер 192.168.0.0/255.255.255.0, який має IP 192.168.0.1.

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


31
Комп'ютерам не потрібно проходити через роутер, щоб сформувати мережу.
Передумати

1
@Overmind: Це правда, але вони можуть . Мережні маски дійсно не є строго необхідними, вони оптимізація для полегшення роботи маршрутизатора.
MSalters

3
if each computer were physically connected to each other with a wire- Ви повинні пам’ятати, що tcp / ip був винайдений у той час, коли це справді так. Google 10-base-2. Є й інші протоколи, які працюють не так, як tcp / ip, але за останні 20 років IPv4 виграв протокол.
slebetman

Здається, ви нерозумієте, як працюють комп'ютерні мережі. Я пропоную вам переглянути це відео: youtube.com/watch?v=6i777lddg8s
InterLinked

@InterLinked з оповідачем з таким моторошним голосом? ніколи.
пожирав елізіум

Відповіді:


78

Ваші початкові припущення не зовсім правильні. Те, що ви називаєте "маршрутизатором", - це два пристрої в одному - двопортовий маршрутизатор, внутрішньо підключений до багатопортового комутатора Ethernet . (Ось приклад діаграми .)

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

Отже, якщо ви подивитеся на пакети за допомогою Wireshark, ви побачите, що вони безпосередньо використовують MAC-адреси один одного, тоді як "зовнішні" пакети завжди мають MAC маршрутизатора як місце призначення.

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

Приблизно те саме з мережами Wi-Fi, за винятком того, що "комутатор" замінений на "бездротовий міст", який називається "точка доступу". В обох випадках підключені комп’ютери можуть надсилати пакети безпосередньо один одному на рівні 2, не проходячи через маршрутизатор.


Коментарі:

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

Це знову невірно. Перемикачі не мають цих знань; їх ядро комутації працює на рівні 2 і не знає нічого про IP - це пересилає Ethernet кадри виключно на основі «адреса призначення MAC - поле».

Тому хостам потрібна маска підмережі, щоб визначити, яку MAC-адресу використовувати як пункт призначення:

  • Якщо аналогічний підрозділ знаходиться в межах однієї підмережі, за визначенням передбачається, що він знаходиться по лінії зв'язку , тому кадр Ethernet матиме MAC однорангової версії як пункт призначення.

  • Для однолітків, що знаходяться за межами підмережі, кадр Ethernet матиме MAC шлюзу як місце призначення.

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


Дякую, хоча пов'язана діаграма мені не була зрозуміла, ваше пояснення мало сенс, і я дізнався щось нове.
Сер Аделаїда

7
Коли пакет надсилається на IP-адресу, яка не знаходиться в кеш-пам'яті ARP, маска підмережі використовується для вирішення питання: 1. Надіслати запит ARP для IP-адреси призначення та використовувати результат як MAC-адресу призначення для оригінальний пакет; або 2. використовувати MAC-адресу маршрутизатора як MAC-адресу призначення для вихідного пакету.

6
@Orpedo: комутатори не говорять IP та нічого не знають про структуру підмережі; вони повністю покладаються на поле MAC призначення. Отже, маска підмережі потрібна, щоб визначити, яку MAC-адресу (тобто який хост-одержувач) потрібно поставити на кадр Ethernet в першу чергу.
grawity

2
Перемикачі @Orpedo - це "маршрутизатори Ethernet". Вони використовують адреси Ethernet (MAC адреси), щоб визначити, куди надсилати Ethernet-пакети. На відміну від IP-маршрутизаторів, які використовують IP-адреси, щоб визначити, куди надсилати IP-пакети.
користувач253751

1
@Orpedo з історичних причин ми зазвичай запускаємо IP через Ethernet, тому корисна навантаження пакета Ethernet - це IP-пакет, а адреса призначення Ethernet-пакета - адреса Ethernet наступного IP-маршрутизатора. Це також іде вгору. Якщо ви запускаєте Tor через IP, то навантаження IP-пакету - це пакет Tor * *, а адреса призначення IP-пакета наступного маршрутизатора Tor. (* для аналогії в роботі потрібно рахувати TCP і Tor разом)
користувач253751

32

Як комп'ютер дізнається, чи адреса призначення знаходиться в тій самій підмережі в іншій?

Перевірка локальної адреси та маски підмережі .

Перевіримо кілька прикладів:

Якщо на моєму комп'ютері є IP-адреса 192.168.0.1і маска, 255.0.0.0це означає, що будь-яка адреса від 192.0.0.0до 192.255.255.255знаходиться в одній підмережі. Пакети на всі інші комп'ютери не потрібно проходити через маршрутизатор, вони можуть надсилатися безпосередньо. Надішліть пакет ARP, щоб отримати MAC-адресу кінцевого комп'ютера, а потім надішліть пакет.

Але, якщо мій комп'ютер має IP - адреса 192.168.0.1і маска , 255.255.255.128то комп'ютери в тій же підмережі з IP adddress 192.168.0.0до 192.168.0.127тільки. До них можна звернутися безпосередньо (надіслати ARP, знайти MAC-адресу тощо). Будь-яка інша адреса, наприклад, 192.168.0.200повинна бути отримана, проходячи через маршрутизатор.


1
Але чому потрібно знати, чи знаходиться вона в одній підмережі? Ось тут власне питання.
grawity

3
Якщо пункт призначення знаходиться в одній підмережі, комп'ютер направить пакет безпосередньо, інакше він надішле його до маршрутизатора. Це все!!!!
jcbermu

@jcbermu Але його питання грунтувалося на ідеї, що для більшості домашніх мереж пакети все одно проходять через маршрутизатор - і тоді, коли їх потрібно відправити назовні, і коли їх потрібно переспрямувати на будь-яку іншу локальну підмережу. пристрої.
пожирав елізіум

11

Щось не очевидне щодо IP - це те, що кожен IP-пристрій сам є маршрутизатором .

Це можна побачити на звичайному ПК із командою "print print". Ви підключені до двох мереж: локального сегменту Ethernet або wifi та локальної мережі. Кожен пакет повинен вирішувати, в яку мережу його розмістити.

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

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


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

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

1
@Barmar о, добре, якщо це питання чи питання, на вашу думку, не було вирішено - .. відповідь полягає в тому, що наявність ієрархії - перемикач, маршрутизатор, уроки навантаження на маршрутизатор. Але запитувача збентежила неправильна думка, що всі пакети все одно йдуть до маршрутизатора, і це було в корені питання.
барлоп

1
налаштування "iprouting": ви можете вимкнути переадресацію, але вам потрібно мати таблицю маршрутизації, щоб знати, який інтерфейс використовувати для вихідних пакетів, навіть якщо параметри є лише "lo" та "eth0". Повторно "надішліть все маршрутизатору": переваги того, щоб не робити цього, зрозуміліші при спільних мережах layer2, але ніхто більше не використовує 10base2.
pjc50

1
@Barmar: "Усі пристрої без маршрутизатора могли просто надіслати все на маршрутизатор, і він переправить його до цілі, навіть якщо він знаходиться в тій самій мережі, що і відправник." Ні. Неправильно. Це не працює так. Теоретично це могло. На практиці це не так. Маршрутизатори можуть спробувати оптимізувати свої ресурси, просто ігноруючи трафік, що йде в ту ж підмережу, що і звідки може надходити трафік. Оскільки це насправді, як (принаймні, деякі) маршрутизатори працюють, інші пристрої повинні бути досить складними, щоб знати, що відправлення трафіку на роутер буде марною тратою часу, інакше ці інші пристрої не зможуть спілкуватися правильно
TOOGAM

7

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

Якщо ви надсилаєте пакет на пристрій через локальну мережу, підключений до одного з інтерфейсів, для того, щоб знати, на який інтерфейс надіслати його (якщо ви явно не налаштували маршрут), комп’ютер може перевірити інтерфейси, щоб побачити якщо subnet_mask & destina_ip == subnet_mask & interface_ip ( &я маю на увазі побіжно-і , ==я маю на увазі стверджувати рівність), і якщо є відповідність, виберіть цей інтерфейс.

Таким чином, якщо у вас є, наприклад:

  • Інтерфейс А з 192.168.1.42/24
  • Інтерфейс В з 10.0.0.15/24
  • Інтерфейс C з 192.168.2.97/24

І ви надсилаєте пакет на 192.168.2.123 і не встановлюєте маршрут, можна визначити, що слід використовувати інтерфейс C, оскільки 255.255.255.0 & 192.168.2.123 == 255.255.255.0 & 192.168.2.97 .

Це було б неможливо, якби маска підмережі була невідома, і тому вам доведеться встановити маршрут для кожної окремої IP-адреси, на яку ви надіслали дані.


6

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

Але це не було б оптимальним дизайном з двох причин:

  1. Він використовує більшу пропускну здатність: кожен пакет між пристроями в одній підмережі повинен передаватися двічі: один раз від відправника до маршрутизатора і знову від маршрутизатора до приймача. У мережах, де маршрутизатор є також мережевим комутатором, це насправді не є додатковою пропускною здатністю, оскільки він все одно повинен був пройти через комутатор. Але не всі мережеві технології працюють так. Оригінальний дизайн Ethernet був технологією шини, без центрального вимикача або ретранслятора.

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

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

Крім того, пристрої без маршрутизатора не обов'язково є лише в одній підмережі. Ви можете легко мати декілька мережевих карт на ПК - у багатьох є і Ethernet, і WiFi. І кожен з них може бути підключений до іншої підмережі, а адреси плюс маски підмережі використовуються для визначення, яку мережеву карту використовувати. Якщо ви запускаєте віртуальні машини, швидше за все, існує віртуальна підмережа, що з'єднує їх з хост-системою.


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

@grawity Дійсно, у 70-80-х роках існувала велика різниця у філософії між телекомунікаціями та науковцями при розробці їхніх мереж. Telcos використовувались для розумних мереж з тупими кінцевими вузлами (наприклад, телефони), і вони розробляли свої мережі з комутацією ланцюгів, керованою ядром.
Бармар

5

Якщо ми подивимось на таблицю маршрутизації (це, можливо, моя робоча машина):

ip маршрут

default via 172.20.25.1 dev eth1 
172.20.25.0/24 dev eth1 proto kernel scope link src 172.20.25.33 
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.1

маршрут

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         172.20.25.1     0.0.0.0         UG    0      0        0 eth1
172.20.25.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

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

Ви, в принципі, могли б надіслати все через хост шлюзу. Це виглядало б так

default via 172.20.25.1 dev eth1 
172.20.25.1 dev eth1 proto kernel scope link src 172.20.25.33 

або

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         172.20.25.1     0.0.0.0         UG    0      0        0 eth1
172.20.25.1     0.0.0.0         255.255.255.255 U     0      0      

Я цього не пробував, але він може бути використаний для форсованого переадресації MAC .


Останній метод іноді використовується навмисно; див. примусове переадресація MAC .
grawity

2

Гаразд, тому я розумію, як маски підмережі використовуються для поділу мережі на підмережі, але моє питання: чому кожен комп'ютер у мережі повинен знати маску підмережі, а не лише маршрутизатор?

а пристрої, які люди називають маршрутизаторами, як правило, не є просто маршрутизаторами. Тому люди іноді використовують такі терміни, як NAPT маршрутизатор, або домашній маршрутизатор, або споживчий маршрутизатор, щоб припустити, що це не просто маршрутизатор. Щоб зробити висновок, що вони не просто маршрутизатори, ці пристрої можуть робити NAPT (який не маршрутизується), і вони мають вбудований комутатор (комутатор виконує з'єднання, яке не маршрутизує - відмінність між комутатором і мостом трохи не настільки чітко визначені - можна сказати, що міст часто має два порти і з'єднує різні мережеві середовища (наприклад, Ethernet і не-Ethernet), тоді як комутатор матиме декілька портів і однаковий мережевий носій). Перемикач виконує мости.

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

З цими речами, які зазвичай називаються маршрутизаторами, у них є комутатори (наприклад, не професійні маршрутизатори cisco / janiper), тоді комутатор знаходиться всередині. Але це лише місце розташування комутатора. Це все-таки тоді, коли IP включений та сама мережа, тоді пакет адресований комутатору, а не маршрутизатору. І він іде лише до комутатора всередині роутера і не доходить до маршрутизатора.

Я міг би це зрозуміти, якби кожен комп'ютер був фізично з'єднаний один з одним дротом,

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

але всі пакети все одно повинні пройти через маршрутизатор.

тож ви маєте на увазі відкинути цю ідею про всі комп'ютери, пов'язані з дротом без маршрутизатора.

І ні, навіть у вашому будинку, вони не проходять через роутер щоразу. Навіть із «домашнім маршрутизатором» називайте це Інтернет-коробкою. Вони переходять до вимикача в ньому.

Скажемо, що у мене є комп'ютер у мережі 192.168.0.0/255.255.255.0, який має IP 192.168.0.1.

Якщо цей комп'ютер спробує дістатися до комп'ютера за межами підмережі, скажімо, 192.168.1.1, він передає повідомлення маршрутизатору,

до вимикача, потім від перемикача він переходить до маршрутизатора

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

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

і ваше останнє речення було

він передає повідомлення маршрутизатору,

і що тоді, ти раптом вирішив припинити писати?

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

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

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

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

Комп'ютер, який відправив пакет, перевірить, чи IP-адреса пакета знаходиться у власній мережі, або в тій самій мережі, і потім, виходячи з цього, вибере відповідну MAC-адресу. Або MAC-адреса комп'ютера, якому призначено (якщо комп'ютер знаходиться в одній мережі). Або (якщо комп'ютер знаходиться на іншому інтерфейсі роутера), то це буде MAC-адреса маршрутизатора. Я думаю, що це може відповісти на назву вашого запитання досить безпосередньо, чому комп'ютер повинен знати маску підмережі .. У системі TCP / IP як це є. Ось як це працює, комп'ютер вибирає відповідний рівень 2 адреса, наприклад, для Ethernet, MAC-адреса.


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

@ Орпедо добре, я цього не помітив. Я видалив цей рядок із запитанням, чи перестали ви писати, і я включив і відповів на решту цього абзацу. Це було насправді досить ключовим абзацом досить смішно, оскільки відповідь на нього стосується теми вашого запитання.
барлоп

Re: перехід проти мосту. Перемикач зазвичай використовується для прозорих мостів, тобто мостів, які мають базу даних (перенаправляюча інформаційна база IIRC), що відносять MAC та порти, і заповнюють FIB, вивчаючи MAC з вихідного MAC в Ethernet-кадрах. На відміну від інших мостів, наприклад, проксі-ARP мостів. Інше значення перемикача є більш загальним, воно може означати пристрій на будь-якому шарі, наприклад, з'єднання маршрутів L7-комутатора, засновані на метаданих на рівні додатків, маршрутизатор також може бути названий L3-комутатором, ...
ніндзя

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

@ ninjalj Я думаю, якщо у вас підключений концентратор до маршрутизатора, то маршрутизатор отримає пакет, призначений для мережі, з якої він з'явився .. Але якщо у вас є комутатор (я думаю, у людей рідко є концентратори зараз, крім діагностичних цілей) ) .. тоді комутатор не буде надсилати пакет маршрутизатору, якщо пакет призначений повернутися через цей комутатор до мережі, з якої він походить. А коробки, що поєднують маршрутизатори та комутатори, звичайно, за визначенням, мають вимикач. Немає ящиків, що поєднують роутер і концентратор.
барлоп

1

Але чому тоді маска підмережі надається для комп'ютера / пристрою, коли вона ні для чого не потрібна? - Орпедо 22 березня о 13:45

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

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


Вже відповів, але це насправді була досить коротка і корисна відповідь.
Орпедо

1
Я вважаю, що це майже абсолютно неправильно. Мережеві інтерфейси нічого не знають про IP; вони відповідають на (і автоматично застосовують) MAC-адреси. Ось чому ми маємо ARP: тому, якщо я знаю IP-адресу машини в моїй локальній мережі, я можу дізнатися її MAC-адресу та використовувати її для спілкування з машиною. Ну, є MAC-адреса трансляції, яка використовується у всіх передачах. IP-адреса широкомовної програми існує лише для однаковості.
G-Man каже: "Відновіть Моніку"

-1

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

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

Чому це стосується вас? Оскільки, якщо ми не використовували мережеві маски, ви намагаєтеся поговорити з DNS-сервером Google (8.8.8.8), вам потрібно (і ВСІЙ інший хост, який спілкується з ним) знати його фізичну адресу (MAC-адреса). Це призведе до того, що ваш комп'ютер та всі інші потребують створення запису ARP для кожної інтернет-машини, з якою ви спілкуєтесь. Це втратить оперативну пам’ять і сповільнить всі мережі, оскільки фізична адреса машин передається набагато далі, ніж потрібно.


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

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