38

Мой маршрутизатор DSL/WiFi, предоставленный моим провайдером, имеет внутренний IP-адрес 10.0.0.138 , адреса, предоставленные DHCP, имеют формат 10.0.0.xxx .

Теперь я хочу начать использовать статические IP-адреса в своей локальной сети, и я не знаю, что предоставить для маски подсети.

Что такое маска подсети?

Должен ли я использовать 255.255.255.0 или 255.0.0.0 качестве маски подсети? В чем разница?

7 ответов7

27

Ноль в маске подсети будет соответствовать xxx вашего IP-адреса. Если вам нужно более 255 разных адресов, вам придется изменить IP-адрес DHCP на 10.0.xxx.xxx (широковещательный IP-адрес 10.0.255.255) и маску подсети на 255.255.0.0.

Теоретически, 255.0.0.0 является допустимой маской подсети для адресов от 10.0.0.0 до 10.255.255.255. Эта статья в википедии показывает действительные адреса для частных сетей.

Но в вашем случае (10.0.0.xxx) вы должны использовать 255.255.255.0.

22

Скорее всего, вы после маски подсети 255.255.255.0.

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

Таким образом, если IP-адрес компьютера - 192.168.1.104, а его маска подсети - 255.255.255.0, то компьютер (и все остальные устройства, подключенные к той же сети) будет считать, что каждый IP-адрес в локальной сети этого компьютера будет иметь формат 192.168.1. ххх, причем ххх - единственная часть, которая будет меняться. Аналогично, если маска подсети 255.255.0.0, компьютер будет считать, что каждый IP-адрес в его локальной сети будет иметь формат 192.168. ххх. ххх.

Подсеть в сети не очень полезна в домашней сети, такой как ваша. Он в основном используется в больших сетях (с более чем 255 компьютерами) для уменьшения ненужной сетевой активности. MarkM предоставил это в комментариях:

Одним из самых больших преимуществ подсетей в большой сети является снижение широковещательного трафика. Если у вас есть тысячи хостов в одной подсети, ваши коммутаторы будут задыхаться от ARP, DHCP и других широковещательных рассылок. В домашней сети обычно нет особой необходимости, если только вы не хотите что-то вроде гостевой беспроводной локальной сети, у которой нет маршрутизации, доступной для вашей основной домашней сети.

Это объяснение очень грубое и схематичное, поэтому, пожалуйста, прости меня, если я допустил одну или две ошибки.

10

Маска сети используется для определения того, какая часть IP-адреса представляет сетевой адрес, а какая часть представляет машинный адрес *.

Рассмотрим сеть класса A с 10.0.0.0 по 10.255.255.255 (это назначенный "частный" блок класса A, то есть пакеты, предназначенные для этих адресов, не будут маршрутизироваться). В двоичном формате адреса: от 00001010.00000000.00000000.00000000 до 00001010.11111111.11111111.11111111. Маска сети генерируется путем назначения 1 для каждого бита в этих адресах, который не меняет IE:

00001010.00000000.00000000.00000000
00001010.11111111.11111111.11111111
-----------------------------------
11111111.00000000.00000000.00000000

Который преобразуется в 255.0.0.0, классическая маска класса А.

* На самом деле, чтобы получить сетевой адрес с заданным IP-адресом, вы просто делаете логическое И. Например, для маски сети 255.0.0.0 и IP-адреса 10.0.0.1:

00001010.00000000.00000000.00000001
11111111.00000000.00000000.00000000
-----------------------------------
00001010.00000000.00000000.00000000

И 00001010.00000000.00000000.00000000 преобразуется в 10.0.0.0, который действительно является сетевым адресом.

Обратите внимание, что вам обычно не нужна сеть класса A для домашней сети (вам нужно более 255 адресов?) и, таким образом, может использовать 255.255.255.0 в качестве маски сети и / или использовать сеть класса C (например, 192.168.1.0).

1

В более технических терминах маска подсети помогает машинам идентифицировать номер сети, связанный с данным IP-адресом. 255 представляет все 1 для этого байта адреса, и когда вы выполняете побитовое И между адресом и маской, вы получаете номер сети обратно. То, что осталось, это номер машины

Так

IP Address 192.168.1.1
Subnet mask 255.255.255.0
Network Number 192.168.1.0
Host Number 1
Address Range 192.168.1.1 to 192.168.1.255

С другой стороны,

IP Address 192.168.1.0
Subnet mask 255.255.254.0
Network Number 192.168.0.0
Host Number 1
Address Range 192.168.0.1 to 192.168.1.255

Эта вторая конфигурация оставляет 9 битов для номера хоста (в случае, когда у вас будет более 255 хостов). Настройка маски подсети дает вам больше адресов хостов и меньше сетей или наоборот, в зависимости от того, добавляете ли вы или удаляете 1

1

Поскольку интернет-провайдер torbengb дал ему маршрутизатор (или велел настроить маршрутизатор) с адресом 10.0.0.138, это заставляет меня подозревать, что клиенты этого интернет-провайдера делят адресное пространство 10.0.0.0; в противном случае большинство людей настроили бы маршрутизатор на 10.0.0.1 или 192.168.0.1 или аналогичный.

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

Если он уверен , что его маршрутизатор выполняет NAT, то он, вероятно, может использовать что угодно от /8 до /24.

Не зная деталей соединения и конфигурации провайдера, сложно дать однозначный ответ.

Маска сети ДЕЛАЕТ ваши адреса на сетевую и хостовую части, но практическая причина заключается в том, что ваш маршрутизатор и код маршрутизации на ваших хостах могут знать, какие адреса назначения находятся в вашей локальной сети, а какие нужно отправлять их пакеты. через восходящий канал маршрутизатора.

0

Решение этого вопроса приведено здесь: Что означает адрес 10.0.0.1/24 моего компьютера (команда ip addr -)?

Но все равно просто повторить это. Вот что я хотел сказать:

/32 означает один адрес. Таким образом, 10.0.0.0/32 означает только один адрес 10.0.0.0. Но адрес, заканчивающийся на .0, является широковещательным, верно? По сути, этот единственный адрес означает любой адрес в диапазоне 10.0.0.1 - 10.0.0.255.

/24 означает 255 адресов. Таким образом, 10.0.0.1/24 означает любой адрес в диапазоне 10.0.0.1 - 10.0.0.255. (Я не использую 10.0.0.0/24 здесь, потому что это включает "0" расширение, которое мы получили выше, и я пытаюсь контрастировать с этим.

0

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

Поскольку вы, вероятно, не используете "настоящий" DCHP-сервер, вам следует использовать маску подсети, выданную вашим DHCP-сервером, для всех систем, включая статические адреса. Вы также должны убедиться, что ваши статические номера не будут находиться в пространстве, которое выделяет ваш DHCP-сервер.

Если вы предоставляете свою ОС, я уверен, что мы можем дать вам правильную команду для отображения вашей текущей маски подсети в клиентской системе DHCP.

В идеале вы должны использовать 255.0.0.0, потому что для 10.0.0.0, если бы вы использовали 255.255.255.0, у вас могло бы быть только 256 адресных пространств (не страшно, но кто знает, вы сказали, что использовали .138), ПЛЮС, он должен обеспечивать маршрутизацию к другим подсетям 10.0.0.0 (и я уверен, что это не так).

Это может иметь значение для некоторых людей с необычными конфигурациями работы из дома, такими как ssh-туннели.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .