Почему маски подсетей актуальны для отдельного компьютера в сети?

48

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

Я мог бы это понять, если бы каждый компьютер был физически соединен друг с другом проводом, но все пакеты все равно должны проходить через маршрутизатор.

Допустим, у меня есть компьютер в сети 192.168.0.0/255.255.255.0, у которого есть IP 192.168.0.1.

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

Orpedo
источник
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
взаимосвязанный
@InterLink с рассказчиком с таким жутким голосом? никогда.
пожрала Элизиум

Ответы:

78

Ваши первоначальные предположения не совсем верны. То, что вы называете «маршрутизатором», - это два устройства в одном - двухпортовый маршрутизатор, внутренне подключенный к многопортовому коммутатору Ethernet . (Вот пример диаграммы .)

Это означает , что компьютеры , которые подключены непосредственно на уровне 2, и может посылать пакеты друг другу , не проходя через основной маршрутизатор - они просто переданные между портами микросхемы коммутатора. (Маршрутизатор имеет свой собственный «порт» в коммутаторе.)

Поэтому, если вы посмотрите на пакеты, используя Wireshark, вы увидите, что они напрямую используют MAC-адреса друг друга, в то время как «внешние» пакеты всегда имеют MAC-адрес маршрутизатора в качестве пункта назначения.

(Я предполагаю, что вы говорите о типичных «беспроводных маршрутизаторах», встречающихся в большинстве домов, которые являются обычной причиной такого рода вопросов. Большая сеть будет иметь отдельный маршрутизатор с одним портом на подсеть и несколькими отдельные коммутаторы (возможно, один главный и один на этаж / комнату) и несколько десятков компьютеров, подключенных к этим коммутаторам.)

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


Комментарии:

Когда я указал роутер, я имел в виду коммутатор. Виноват. Я хочу сказать, что каждый компьютер в подсети связан не друг с другом, а с коммутатором, который затем может передавать пакеты в правильное место назначения. Фрейм Ethernet не содержит маску подсети, так как коммутатор уже обладает этими знаниями и, следовательно, не нуждается в ней для правильного переключения.

Это опять неверно. Коммутаторы не имеют этого знания; их ядро коммутации работает на уровне 2 и не знает ничего о IP - это пересылает Ethernet кадры исключительно на основе «адрес назначения MAC - поле».

Поэтому хостам нужна маска подсети, чтобы выяснить, какой MAC-адрес использовать в качестве пункта назначения:

  • Если одноранговый узел находится в той же подсети, он по определению считается подключенным к сети - поэтому кадр Ethernet будет иметь MAC-адрес однорангового узла в качестве пункта назначения.

  • Для пиров за пределами подсети кадр Ethernet будет иметь MAC-адрес шлюза в качестве пункта назначения.

(Это относится к конфигурации по умолчанию. Некоторые сети со специальными снежинками изменяют это - например, большинство операционных систем допускают добавление дополнительных маршрутов «по соединению» для дополнительных подсетей; и наоборот, некоторые коммутаторы могут быть настроены на подделку ответов ARP, чтобы даже «по соединению» "трафик форсируется через шлюз.)

grawity
источник
Спасибо, хотя связанная схема не была мне понятна, ваше объяснение имело смысл, и я узнал что-то новое.
Сэр Аделаида
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-пакеты.
user253751
1
@Orpedo по историческим причинам мы обычно запускаем IP через Ethernet, поэтому полезная нагрузка пакета Ethernet - это пакет IP, а адрес назначения пакета Ethernet - это адрес Ethernet следующего IP-маршрутизатора. Это тоже идет вверх. Если вы запускаете Tor через IP, то полезной нагрузкой IP-пакета является пакет Tor * и адрес назначения IP-пакета следующего маршрутизатора Tor. (* для того, чтобы аналогия работала, вы должны сосчитать TCP и Tor вместе)
user253751
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должен быть достигнут через маршрутизатор.

jcbermu
источник
1
Но зачем ему знать, находится ли он в одной подсети? Это актуальный вопрос здесь.
Гравитация
3
Если пункт назначения находится в той же подсети, компьютер отправит пакет напрямую, в противном случае он отправит его маршрутизатору. Вот и все!!!!
jcbermu
@jcbermu Но его вопрос основывался на идее, что для большинства домашних сетей пакеты в любом случае действительно будут проходить через маршрутизатор в любом случае - как тогда, когда их нужно отправить наружу, так и когда они должны быть перенаправлены в любую другую локальную подсеть. устройства.
пожрала Элизиум
11

Что-то неочевидное в IP - это то, что каждое IP-устройство само является маршрутизатором .

Это можно увидеть на обычном ПК с командой «печать маршрута». Вы подключены к двум сетям: локальному сегменту Ethernet или Wi-Fi и локальной сети. Каждый пакет должен быть предметом решения о том, в какую сеть его устанавливать.

Это становится более очевидным, если вы подключаете компьютер к двум сетям, скажем, «общедоступной» и «частной». Теперь вам определенно нужна маска подсети, чтобы решить, в какую сеть отправлять пакет.

Многие люди случайно обнаружат, что ПК с одним сетевым подключением может работать с неправильно настроенной подмаской: они просто отправляют все на шлюз.

pjc50
источник
1
Я думаю, что его смысл в том, что не обязательно, чтобы каждое устройство было маршрутизатором. Все не маршрутизаторские устройства могут просто отправлять все на маршрутизатор, и он будет перенаправлять его к цели, даже если он находится в той же сети, что и отправитель.
Бармар
@ Barmar, не могли бы вы указать, на кого и на что вы отвечаете, иначе ваш комментарий не имеет смысла, если, например, они удалили свой комментарий, что могло произойти в вашем случае. То, что вы там написали, может быть интересным, если вы видите контекст, можете ли вы предоставить контекстную панель.
Бароп
1
@ Barmar О, хорошо, если это вопрос или вопрос, который, по вашему мнению, не был рассмотрен - .. ответ заключается в том, что наличие иерархии - коммутатор, маршрутизатор, извлекает нагрузку на маршрутизатор. Но спрашивающий был смущен неправильной мыслью, что все пакеты все равно отправляются на маршрутизатор, и это было в корне вопроса.
Бароп
1
Параметр «iprouting»: вы можете отключить переадресацию, но вам нужно иметь таблицу маршрутизации, чтобы знать, какой интерфейс использовать для исходящих пакетов, даже если параметры только «lo» и «eth0». «Отправьте все на маршрутизатор»: преимущества отсутствия этого более очевидны в сетях общего уровня 2, но никто больше не использует 10base2.
pjc50
1
@Barmar: «Все устройства без маршрутизатора могут просто отправлять все на маршрутизатор, и он будет перенаправлять его к цели, даже если он находится в той же сети, что и отправитель». Без ошибок. Это не работает таким образом. По идее, это возможно. На практике это не так. Маршрутизаторы могут попытаться оптимизировать свои ресурсы, просто игнорируя трафик, который идет в ту же подсеть, откуда и трафик. Поскольку именно так (по крайней мере, некоторые) маршрутизаторы работают, другие устройства должны быть достаточно сложными, чтобы знать, что отправка трафика на маршрутизатор будет пустой тратой времени, иначе эти другие устройства не будут правильно взаимодействовать
TOOGAM
7

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

Если вы отправляете пакет на устройство в локальной сети, подключенной к одному из интерфейсов, чтобы узнать, на какой интерфейс отправить его (если вы явно не настроили маршрут), компьютер может проверить интерфейсы, чтобы увидеть если subnet_mask & destination_ip == subnet_mask & interface_ip (от &Я имею в виду побитовое и и ==я имею в виду утверждать равенство), и если есть совпадение, выберите этот интерфейс.

Таким образом, если у вас есть, например:

  • Интерфейс A с 192.168.1.42/24
  • Интерфейс B с 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, заключается в том, что конечные узлы являются интеллектуальными устройствами, поэтому предполагается, что они способны выполнять некоторую работу. Им не нужно знать полную топологию сети, как это делают магистральные маршрутизаторы, но они знают достаточно о локальной среде, чтобы выполнить некоторые из первоначальных задач маршрутизации local-vs-remote. Для реализации этой простой начальной маршрутизации не требуется много кода.

Кроме того, устройства без маршрутизатора не обязательно находятся в одной подсети. Вы можете легко иметь несколько сетевых карт в ПК - многие имеют Ethernet и WiFi. И каждый из них может быть подключен к другой подсети, и адреса плюс маски подсети используются для определения, какую сетевую карту использовать. Если вы запускаете виртуальные машины, вероятно, существует виртуальная подсеть, соединяющая их с хост-системой.

Barmar
источник
Между тем, я думаю, что сети ATM были спроектированы таким образом (вероятно, в результате ориентации на цепи) - не было широковещательной передачи и не было различий между маршрутизаторами и коммутаторами; топология дерева / звезды полностью.
grawity
@ Grawity Действительно, в 70-х и 80-х годах была большая разница в философии между телекоммуникационными компаниями и учеными при проектировании их сетей. Телекомы использовались для интеллектуальных сетей с тупыми конечными узлами (например, телефонов), и они проектировали свои сети с коммутацией каналов, управляемой ядром.
Barmar
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-Forced Forwarding .

Тоби Спейт
источник
Последний метод иногда используется намеренно; см. принудительную пересылку MAC .
grawity
2

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

устройства, которые люди называют маршрутизаторами, обычно не являются просто маршрутизаторами, поэтому люди иногда используют такие термины, как NAPT Router, или Home Router, или Consumer Router, чтобы предположить, что это не просто маршрутизатор. Чтобы подчеркнуть, что они не просто маршрутизаторы, эти устройства могут выполнять NAPT (который не является маршрутизацией), и у них есть встроенный коммутатор (коммутатор выполняет мостовое соединение, которое не маршрутизирует - различия между коммутатором и мостом немного не так хорошо определены - можно сказать, что мост часто имеет 2 порта и соединяет разные сетевые среды (например, Ethernet и не-Ethernet), тогда как у коммутатора будет несколько портов и одна сетевая среда). Переключатель делает мост.

Если бы коммутатор был отделен от «маршрутизатора», то, действительно, это было бы более понятно. Когда IP-адрес находится в той же сети, то пакет направляется на идет по кабелю к следующему физически, который является коммутатором, и в конечном итоге предназначен для другого компьютера в сети (если это не был управляемый коммутатор, и вы подключались к коммутатору, например, telnet или http, и у коммутатора был свой собственный ip ), и поскольку пакет не предназначен для другой сети, пакет не достигнет маршрутизатора. Когда он предназначен для компьютера в другой сети, он, конечно, все еще идет к коммутатору, но затем продолжает работу к маршрутизатору (коммутатор направил пакет на маршрутизатор и MAC-адрес назначения пакета, поступающего в коммутатор был бы MAC-адресом маршрутизатора), и маршрут маршрутизировал бы его из правильного интерфейса маршрутизатора.

С этими вещами, обычно называемыми маршрутизаторами, которые имеют внутри коммутаторы (например, не маршрутизаторы Cisco / Juniper профессионального стиля), тогда коммутатор находится внутри ... Но это только местоположение коммутатора ... Это все еще так, когда 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-адрес.

barlop
источник
1
Скорее снисходительный ответ, но ладно. Если вы думаете, что это было мое последнее предложение, ваш браузер загружает не всю страницу.
Орпедо
@ Орпеда, ладно, я этого не заметил. я удалил эту строку, спрашивая, перестал ли ты писать, и включил и ответил на остальную часть этого абзаца. На самом деле это был довольно ключевой абзац, как ни странно, потому что ответ на него затрагивает тему вашего вопроса.
Barlop
Re: переключатель против моста. Коммутатор обычно используется для прозрачных мостов, т. Е. Мостов, которые имеют базу данных (Информационная база пересылки IIRC), которая связывает MAC и порты, и заполняют FIB, изучая MAC из исходного MAC в кадрах Ethernet. В отличие от других типов мостов, например, мостов прокси-ARP. Другое значение коммутатора является более общим, оно может означать устройство на любом уровне, например, коммутатор L7 маршрутизирует соединения на основе метаданных уровня приложения, маршрутизатор также может называться коммутатором L3, ... </ lexicographic rant>
ниндзя
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 для каждого интернет-компьютера, с которым вы разговариваете. Это приведет к потере оперативной памяти и замедлению работы всей сети, поскольку физический адрес машин будет передан намного дальше, чем необходимо.

Szeraax
источник
Ранее я упоминал, что произойдет, если мы не будем использовать сети и шлюзы, когда я имел в виду, что произойдет, если мы не будем использовать маски сетей. Если бы мы не использовали шлюзы и сети ... Интернет был бы гигантской плоской сетью, и для того, чтобы общаться с DNS-сервером Google, вам пришлось бы транслировать пакет по всему Интернету и посмотреть, ответил ли Google. Интернет немедленно порвал со всеми, кто делал такой вещательный трафик.
Szeraax
1
Существует два режима работы без масок подсети - либо хост пытается получить доступ ко всему непосредственно на L2, либо использует шлюз L3 для всего. Вы предполагаете, что первый вариант был бы единственным вариантом, но это не так - исходный вопрос и все остальные ответы больше касаются второго режима, который даже используется на практике в некоторых сетях.
grawity