LINUX.ORG.RU
решено ФорумAdmin

Немного о маске подсети

 


0

1

Здравствуйте.
Вопрос чисто риторический и практического значения не имеет.
В ip-сетях существует понятие маска подсети. Все про это знают. Также знают про ее назначение.
При настройке сетевого интерфейса указывается:
- свой ip-адрес
- маска
- ip адрес шлюза
т.е. маска в паре со своим адресом определяет границы своей подсети.

При маршрутизации в настройках маршрута также определяется кроме прочего:
- ip-адрес назначения(сеть либо хост) + соответствующая маска(опять же для определения границ соответствующей целевой подсети).


Вопрос:
Почему так сложилось, что для определения границ подсетей используются именно маски(или префиксы)? Ведь вместо маски можно использовать диапазон ip-адресов, например:
подсеть 192.168.0.0-192.168.0.255
подсеть 172.16.0.0-172.16.255.255
В обоих случаях информация исчерпывающая.
Какие удобста и преимущества при использовании именно масок, а не простых диапазонов?

★★★★★

Последнее исправление: rumgot (всего исправлений: 4)

маска используется не только для определения границ, а еще и адреса самой сети

leave ★★★★★
()

Не из любого диапазона можно сделать маску (какой маске подсети соответствует диапазон 10.0.0.50 - 10.0.0.60?), а с масками удобнее работать програмно.
Когда речь идёт о SOHO-роутере это может показаться не так уж значимо, но когда дело доходит до магистральных мартшрутизаторов и всякого там BGP…
А ещё адрес и диапазон это 12 байт, а адрес и маска это 8 байт.

MrClon ★★★★★
()

Подумайте о матиматике всего этого дела. Битовые операции, в отличие от вычитания, практически бесплатны в процессоре. Определить, что IP принадлежит подсети - это IP and NET and MASK == NET, а не NETLOW >= IP <= NETHIGH.

rubic
()

Диапазон не так удобно с точки зрения битовых операций (OR AND NOT). Плюс к этому, исходно вобще была классовая маршрутизация. Зачем её придумали я не знаю, видимо байт было жалко для хранения маски в явном виде. Но неявно маски там уже были — было деление адреса на сетевую и локальную части по битам.

mky ★★★★★
()

Всем спасибо за ответы.

rumgot ★★★★★
() автор топика

дык так и делают, например

192.168.0.0-192.168.0.255

это 192.168.0.0/24

т.е. 24 бита фиксированы, а остальные 8 бит любые.

emulek
()
Ответ на: комментарий от mky

Зачем её придумали я не знаю, видимо байт было жалко

Скорее создатели не ожидали такого бурного роста. Они работали в мире мейнфреймов и видели интернет как сотни сетей и тысячи хостов, эры ПК они не предвидели...

bigbit ★★★★★
()
  1. Простые битовые операции.
  2. Малый размер памяти для хранения записи.
  3. По маске однозначно получаешь адрес сети и широковещательный адрес сети (компактность п.2).

Как-то так.

gaspar
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.