LINUX.ORG.RU

Зачем клиентам знать маску своей подсети?


0

1

Здравствуйте. Я изучаю сети и не могу понять:

Есть сеть состоящая из двух подсетей и маршрутизатора.

Сеть 1: 192.168.1.0-192.168.1.1
Сеть 2: 192.168.1.2-192.168.1.255
В маршрутизаторе таблица маршрутизации:
IP-адрес        маска              Номер порта
192.168.1.0     255.255.255.254    порт1
192.168.1.0     255.255.255.0      порт2
В случае если подходят две строки в таблице, маршрутизатор будет выбирать порт в котором маска больше. Наличие масок в таблице маршрутизатора понятно.

Вопрос: зачем клиентам знать маску своей подсети?

ну например, потому что в одной подсети /24 можно организовать две подсети /25. каждая со своим шлюзом.

isden ★★★★★
()

Клиент из сети должен принять решение, куда отослать пакет - на дефолтный шлюз или в свою подсеть.

melkor217 ★★★★★
()
Ответ на: комментарий от melkor217

Клиент по неправильной маске будет считать что пакеты из другой подсети локально достижимы или наоборот. А без маски он воообще не будет ничего думать.

melkor217 ★★★★★
()

> зачем клиентам знать маску своей подсети?

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

Komintern ★★★★★
()
Ответ на: комментарий от melkor217

я не могу понять следующее: Узел 192.168.1.15 хочет послать сообщение узлу 192.168.1.1 Он применит свою маску 255.255.255.0 и пошлет сообщение в свою сеть, хотя должен маршрутизатору

AndreyCherkasky
() автор топика
Ответ на: комментарий от AndreyCherkasky

Ххе, с таким разбиением на подсети вряд ли получится написать нормальную маску. Мне кажется, что вообще нельзя.

melkor217 ★★★★★
()

> 192.168.1.0-192.168.1.1

Не кошер. У Вас получилась сеть из 0 хостов (31ая). 192.168.1.0 - адрес сети, 192.168.1.1 - бруткаст.

helios ★★★★★
()

Спроси у преподавателя про CIDR.

as33 ★☆☆
()

> Вопрос: зачем клиентам знать маску своей подсети?

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

helios ★★★★★
()
Ответ на: комментарий от helios

Я немного изменил адреса. Итак:

Сеть 1: 192.168.1.1-192.168.1.7
Сеть 2: 192.168.1.8-192.168.1.254

Таблица маршрутизатора:

IP-адрес        маска              Номер порта
192.168.1.0     255.255.255.248    порт1
192.168.1.0     255.255.255.0      порт2

  • Узел 192.168.1.40 отправляет данные узлу 192.168.1.6
  • Узел 192.168.1.40 применяет к себе свою маску 255.255.255.0
  • Получили адрес сети = 192.168.1.0
  • Адрес 192.168.1.6 входит в сеть 192.168.1.0. Значит отправляем данные в свою сеть а не маршрутизатору, хотя надо маршрутизатору
AndreyCherkasky
() автор топика
Ответ на: комментарий от AndreyCherkasky

Угу, потому что так резать сеть нельзя...

Сеть 1: 192.168.1.1-192.168.1.126 (192.168.1.0 255.255.255.128)
Сеть 2: 192.168.1.129-192.168.1.254 (192.168.1.128 255.255.255.128)

helios ★★★★★
()

AndreyCherkasky

А вопросы у тебя как у ArsenShnurkov

sdio ★★★★★
()

Номер(адрес) сети и маска сети являются основным источником определения сетевых параметров.
Так же можно использовать свой айпи-адрес в качестве номера(адреса) сети.(см. битовая операция И)
На основании этой информации определяется как(и куда) будет отправлен IP пакет.
Далее четок логики:
Если DEST_IP & MY_MASK == MY_IP & MY_MASK
то пакет будет отправлен напрямую в DEST_IP
иначе пакет будет отправлен на шлюз по умолчанию(в самом примитивном случае)

Выражение «MY_IP & MY_MASK» дает мой адрес сети

Jetty ★★★★★
()
Ответ на: комментарий от Jetty

Если DEST_IP & MY_MASK == MY_IP & MY_MASK
то пакет будет отправлен напрямую в DEST_IP
иначе пакет будет отправлен на шлюз

192.168.1.6 & 255.255.255.0 == 192.168.1.40 & 255.255.255.0
=> пакет будет отправлен напрямую в 192.168.1.6
хотя надо отправить на шлюз

AndreyCherkasky
() автор топика
Ответ на: комментарий от helios

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

AndreyCherkasky
() автор топика
Ответ на: комментарий от isden
Сеть 1: 192.168.1.1-192.168.1.7
Сеть 2: 192.168.1.8-192.168.1.254

Таблица маршрутизатора:

IP-адрес        маска              Номер порта
192.168.1.0     255.255.255.248    порт1
192.168.1.0     255.255.255.0      порт2

192.168.1.40 и 192.168.1.6 в разных подсетях

AndreyCherkasky
() автор топика

на мой субъективный взгляд, неверно порезано.

с точки зрения сервера адреса действительно будут в разных подсетях, но не с точки зрения клиента.

думается мне, надо для клиентов порезать на более мелкие сегменты,
а на сервере сделать supernetting. то есть, например, клиентам раздаешь маску /28, а на сервере устанавливаешь /24

http://en.wikipedia.org/wiki/Supernet

только подумай, надо ли тебе это.

иначе бери адреса из разных сегментов вообще. клиентов в один, остальное - в другой.

aol ★★★★★
()
Ответ на: комментарий от AndreyCherkasky

>192.168.1.40 и 192.168.1.6 в разных подсетях

неправильно.
при обращении из второй подсети на 1.6, маршрут будет идти напрямую, т.к. маска /24. а при обращении к 1.40 из первой - через шлюз.

isden ★★★★★
()
Ответ на: комментарий от isden

>>при обращении из второй подсети на 1.6, маршрут будет идти напрямую, т.к. маска /24

идет напрямую, но хост 1.6 находится за шлюзом, нужно то на шлюз идти

AndreyCherkasky
() автор топика
Ответ на: комментарий от aol

Спасибо за supernetting, прочитал, понял. Но моя цель — не развернуть сеть, а понять принципы её функционирования.

Я хочу понять как функционирует сеть из примеров в учебниках, где supernetting не используется.

AndreyCherkasky
() автор топика
Ответ на: комментарий от AndreyCherkasky

Можешь описать сети поподробнее и задачи твои.

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