_ RU.UNIX.BSD (2:5077/15.22) _____________________________________ RU.UNIX.BSD _
From : Ilya Varlashkin 2:5020/400 15 Apr 98 00:53:16
Subj : Re: Как разбить ip-сетку класса С на две подсети
________________________________________________________________________________
From: ilya@info.ssu.samara.ru (Ilya Varlashkin)
Marina Ezupova (Marina.Ezupova@f50.n5061.z2.fidonet.org) wrote:
: Пpивет, Vladislav!
: VG> интернет. Если какой алгоритм в разбивке сетей класса С на подсети.
: Разбиение сетей класса C на подсети широко не практикуется.Обычно это
: делают с сетями A и B.Разбить сеть таким образом как ты хочешь нельзя,
: так как подсеть должна содержать кол-во адресов кратных степени 2, так как
: номера машин у которых два крайних бита из одних нулей или единиц считаются
: зарезервированными, что приведет к потере адресов машин.Если ты хочешь раз-
: бить сеть на две подсетки, то придется их делать равными по количеству
: адресов.Делается это командой ifconfig, когда конфигурируется сетевой
: интерфейс.Я не знаю сколько у тебя адресов класса C, но маска подсети
: устанавливается так, чтобы биты сети были включены, а соответствующие биты
: машины выключены. При разбиении сети класса C ты потеряешь количество адресов
: машин, равное 2*(n-1), где n -число подсетей.
: Как настроить сетевой интерфейс и роут описано подробно в man по Free.
: Кроме этого надо будет еще настраивать DNS.
<flame on>
Да уж...ответ можно в Jargon File занести. Извиняюсь, но Вы хоть сами поняли,
что написали? И как после таких ответов захочет продолжить свое изучение
сетей и Unix'а? С каких это пор "разбиение класса C на подчети широко не
практикуется"?
Hу да ладно, теперь по делу...поправки...
</flame off>
Сейчас термин 'сеть класса A (B,C)' можно считать устаревшим (номер RFC не
помню), более практичным оказалось использование количества 'сетевых' (см. ниже)
бит при описании той или иной сети. Итак, IP-адрес имеет следующую структуру:
NNNN......NHH...H, где N и H это соответственно биты 'сетевой' и 'хостовой'
части адреса (всего 32 бита). Такое представление IP-адреса легко получается
если каждый байт (октет) IP-адреса записать в двоичной форме. Hапример:
192.168.1.6 = 11000000.10101000.00000001.00000110
Для любой конкретной подсети сетевые биты одни и те же, меняются лишь биты
хоста. Т.е. сетевая часть адреса постоянна в пределах (под-)сети, а хостовая
меняется от машины (адреса) к машине. Пусть имеется неразбитая на подсети
сеть 192.168.1.0. У всех хостов сетевая часть адреса будет:
192.168.1 = 11000000.10101000.00000001
а хостовая будет менятся от 0 до 255.
В любой (под-)сети существует два специальных адреса network - нулевой
хост (под-)сети, - и broadcast - последний, их нельзя присваивать конкретным
машинам.
Как уже говорилось, при описании сети важно, сколько бит отводится на адрес
сети (сетевые биты адреса) и сколько, соответственно, на адрес хоста.
Для полной сети бывшего класса C количество сетевых бит равно 24 (prefix /24),
на хостовую часть соответственно остается 32-24=8 бит, которых достаточно
для адресации 2**8-2=254 машин. Если требуется адресовать только 128 хостов
(126 реальных + 2 служебных адреса), то на хостовую часть будет достаточно
7 бит (2**7=128), восьмой бит соответственно "уйдет" на сетевую часть и
получим две сети:
11000000.10101000.00000001.0HHHHHHH
11000000.10101000.00000001.1HHHHHHH
Маска (под-)сети очень легко вычисляется путем установки всех сетевых
бит в '1', а хостовых в '0'. Для обоих приведенных выше случаев это будет:
11111111.11111111.11111111.10000000 = 255.255.255.128
для подсети в 16 хостов (4 бита на хостовую часть):
11111111.11111111.11111111.11110000 = 255.255.255.240.
Если в Internet выход уже есть, то можно посмотреть
ftp://nic.samara.net/pub/misc/docs/tcp-ip*.txt