LINUX.ORG.RU
ФорумAdmin

вопрос с масками (гуру отзовитесь )


0

0

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

1 - маску для сетей класа С можно раздавать только для 0 IP (256) 2 IP (254) 4 IP (252) 8 IP (248) 16 IP (240) 32 IP (224) 64 IP (192) 128 IP (128) 256 IP (0)

понятно что 0 и 2 IP в подсетке нигде неиспользуются , вовсяком случае я непонимаю где их можно заюзать если должно быть как минимум 1 IP для обозначения сети и 2 IP для броадкаста .

а вот что делать если я хочу скажем разделить подсеть с 16 адресами на подсеть с 4 и 12 адресами , я так понимаю что для 4 адресов маска бует 252 - это понятно , а вот что делать с 12 адресами ? делить их как 8+4 ??? т.е. нельзя чтобы в маске 1 чередовалась с 0 ? типа 10100001 ?

2 - как тогда делать такой изврат - 12 апишников делим на 8 и 4 , а как тогда решать проблему с броадкастами , чтобы из одной сетки броадкасты шли в другую... иначе сетевая игра запущеная в одной подсети в 8 апишников не увидет сама игровой сервер в другой подсети -где 4 апишника ... Короче странно получается .

3 - как быть при делениии на подсети больших сетей ? т.е. допустим есть 192.168.0.0 сеть . И так : делим ее так - 192.168.0.0/.252 , а дальше че ? вот хочу дальше шоб было 32 апишника - т.е. 192.168.0.4/.224 - но помойму так непрокатит ? Или делить нада сверху вниз - т.е. от больших сетей к маленьким - делим вначале на большие куски , потом высчитываем для более мелких после последнего броадкаста для предидущей сети ? А если прокатит такое - 192.168.0.4/.224 - то как система сообразит что 192.168.0.4 сеть а броадкаст 35 ? Для линукса понятно - ему можно указать броадкасты явно и на нем может и прокатилобы ( пока нет возможности затестить :((( ) а вот что делать с виндами ? Там ведь тока апи + маска , откуда соображала у виндей понимает что к чему ? Ведь походу получается что это нелогично , ведь указав апишник 192.168.0.5 и маску в 255.255.255.224 она посчитает что броадкаст 31 а апишники с 1 и 2 на конце тожа в этой сетке - вобщем че бует , и насколько это не поправилам если виндам забиндить такие апишники ? Если "кина небуит" , то как решать такие задачи - вот нада человеку 32 апишника - ему что давать сеть в 64 апишника ??? (2 отпадут т.к. один обозначает сеть а второй броадкаст и при 32 остается тока 30) как то не логично получается ...

anonymous


Привет.

Ну, во-первых, маска /32 или 255.255.255.255 используется, чтобы указать на сеть из одной машины.
Например: 127.0.0.1/255.255.255.255.

>а вот что делать если я хочу скажем разделить подсеть с 16 адресами >на подсеть с 4 и 12 адресами , я так понимаю что для 4 адресов маска >бует 252 - это понятно , а вот что делать с 12 адресами ? делить их >как 8+4 ??? т.е. нельзя чтобы в маске 1 чередовалась с 0 ? типа >10100001 ?

Нельзя. Маска заканчивается там, где появляется первый 0.
т.е. ...1111110101 - все что до нуля это маска, 0101 - адрес.
Вобще в двоичной системе все кристально ясно, проблемы возникают при переводе в десятичную.
Например, в десятичной системе маска 255.255.255.128 относиться к двум сетям: 192.168.1.0 и 192.168.1.128
Возьмем последний байт адреса.
В двоичной 128 соответствует 10000000 - маска.
127 1111111 - адрес бродкаста 1 сети
255 11111111 - адрес бродкаста 2 сети
Если в к адресу первой сети добавить маску то получиться тоже 255.
Т.е. в десятичной системе как бымногозначиное соответствие.
Ну... старался чтобы понятно было. Как получилось - не знаю.

>2 - как тогда делать такой изврат - 12 апишников делим на 8 и 4 , а >как тогда решать проблему с броадкастами , чтобы из одной сетки

Не стоит извращаться. Дели на равные части.
Вобще идея есть, но я не уверен, что она сработает.


>3 - как быть при делениии на подсети больших сетей ? т.е. допустим >есть 192.168.0.0 сеть . И так : делим ее так - 192.168.0.0/.252 , а >дальше че ? вот хочу дальше шоб было 32 апишника - т.е. >192.168.0.4/.224 - но помойму так непрокатит ?

Сравнение будет идти по каждому байту адреса.
т.е 192.168.0.0 и маска 255.255.128.0
^
То разделение произойдет по этому байту.
Вобщем, да, сверху вниз, если я правильно тебя понял.

> Или делить нада сверху вниз - т.е. от больших сетей к маленьким - >делим вначале на большие куски , потом высчитываем для более мелких >после последнего броадкаста для предидущей сети ? А если прокатит >такое - 192.168.0.4/.224 - то как система сообразит что 192.168.0.4 >сеть а броадкаст 35?

Прикатит только адрес, без маски. Система применит к адресу маску, которая прописана у нее на этом интерфейсе.

>Если "кина небуит" , то как решать такие задачи - вот нада человеку >32 апишника - ему что давать сеть в 64 апишника ??? (2 отпадут т.к. >один обозначает сеть а второй броадкаст и при 32 остается тока 30) >как то не логично получается ...

Да, давать 64 адреса. Тебе, что адресного пространства для приватных сетей мало?

Octopus
()

ну для приватных понятно , раскидать непроблема , а вот если нужно имено реальные апишники ? вот нада и все тут ... вобщем все странно получаица ...

anonymous
()

А маршрутизация типа x.x.x.x/255.255.255.255 не прокатит ?
route add -host x.x.x.x netmask 255.255.255.255 gw z.z.z.z dev ethX

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