Задать вопрос

Может ли шлюз по умолчанию равняться адресу сети?

Готовлюсь потихоньку к сдаче MCSE по 2012. Просматривая дампы наткнулся на странное.
Дано сеть 10.10.0.0/24 Адрес машины 10.10.0.15 Адрес шлюза, внимание, 10.10.0.0

Подумал ошибка, попытался задать такие настройки в Windows 8 и к моему удивлению, ОС не ругнулась.
Честно говоря картина мира начала потихоньку рушиться. Мучился весь день, но ответа, почему такая конфигурация разрешена и зачем так делать, так и не придумал. Я знаю, что в случае с сетями /31, в которых всего 2 адреса допускается использование адреса сети в качестве ip адреса устройства. Но тут /24. Я сдался обращаюсь за помощью к сообществу.
  • Вопрос задан
  • 2437 просмотров
Подписаться 4 Оценить 1 комментарий
Решения вопроса 1
vvpoloskin
@vvpoloskin Куратор тега Компьютерные сети
Инженер связи
При классическом подходе в теории нет. Однако ряд оборудования (не все) поддерживает маску /31, при которой первый адрес вешается и шлюзом, и бродкастом, и адресом сети. Это работает.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@yellowmew
Cloud infrastructure, monitoring engineer. SRE
я немного не специалист по сетям, однако для себя я сделал следующий вывод :
Адрес сети и широковещательный адрес - это всего лишь IP адреса, одни из множества.
И реакция сетевых устройств зависит от близости реализации к стандарту.
Ничто не мешает, кроме искусственных ограничений, поставить эти адреса как адреса машины. Другое дело как будет реагировать другое оборудование в сети при посылке пакетов на этот адрес.
Немного обсуждения можно почитать вот тут
Ответ написан
Комментировать
athacker
@athacker
А шлюз с машины не через туннель доступен, чисто случайно? :-) В туннеле могут быть вообще любые адреса, и всё будет работать.
Ответ написан
Комментировать
@throughtheether
human after all
Выражу мнение, основанное на собственном опыте. Если вдруг задел чьи-то религиозные чувства ("евангелию от Олифера перечить вздумал, еретик!"), извините.

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

В вашем случае, предположу, ОС различает маршрут до 10.10.0.0/32 (до роутера) и до 10.10.0.0/24 (маршрут для всех остальных хостов в сети). Это не значит, что все будет работать. Наверняка могут всплыть нюансы с реализацией ARP и т.д.

Возникает также вопрос, как, когда и почему "нулевой" адрес запретили использовать в качестве адреса хоста. Не имея перед собой исходники старых *nix трудно утверждать, но гипотезы такие:
1) раньше "нулевой" адрес использовался не как адрес сети, а как широковещательный, вероятно, корни растут оттуда
2) нюансы реализации маршрутизации и пересылки трафика. Например, запись для маршрута до классовой сети хранилась без маски/префикса (смысл классовой адресации), вероятно, не было возможности различить маршрут до сети с адресом c.c.c.0 и маршрут до хоста с адресом c.c.c.0 . Потом, вероятно, этот подход ("как бы чего не вышло", или fear-uncertainty-doubt в странах развитой демократии) распространился и на подсети, а затем и на префиксы при бесклассовой адресации.

Вообще говоря, представляется полезным попробовать решить следующую задачу.
У вас есть сетевое устройство L3 (маршрутизатор, ведь практически любой сервер или компьютер занимается маршрутизацией собственного трафика), с несколькими ethernet-интерфейсами и с некоторым количеством маршрутов. Как организовать представление таблицы маршрутизации? Как, по заданному IPv4-адресу назначения, определить, как и куда переслать пакет? Попробуйте сами для себя составить примерный алгоритм, многое прояснится.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы