[Comm] Почтовый сервер под Мастером
Dmitry Lebkov
=?iso-8859-1?q?dima_=CE=C1_sakhalin=2Eru?=
Чт Окт 24 16:27:53 MSD 2002
On Thu, 24 Oct 2002 14:35:06 +0400
"Alexey I. Froloff" <raorn на immo.ru> wrote:
> On Thu, Oct 24, 2002 at 01:10:02PM +0500, demien на samtel.ru wrote:
> > > > Да, именно так и прописано, насколько я понимаю это означает
> > > > 192.168.0.1-192.168.0.254
> > > Боюсь, что нет.
> > > пропишите 192.168.0.0/24 - должно заработать
> > > - --
> > Спасибо преогромное!!! Отправка заработала!
> > Только вот я лично нихрена не понял ((( КАК? почему 192.168.0.0/24?
> apt-get install gtkipcalc
>
> P.S. Может кто хэлп коротенький к этой утиле напишет? Что-то у
> меня не получается внятно по человечески описАть, что такое
> маска/биты/количество адресов и как они связаны...
1) IP-адрес делится на сетевую и хостовую части.
2) Маска значащими битами маскирует ("масло маслянное", но
по-другому как? "прячет", "выделяет" ?) сетевую часть адреса
- это и есть длина маски, т.е. префикс - число, указываемое
после '/'.
Пример1: 192.168.0.0/25 Длина маски - 25 значащих бит. В
двоичном представлении: 11111111.11111111.11111111.10000000.
Префикс длиной 25 делим на 8. С остатком получаем 3 и 1, т.е
три байта, все биты которых = 1 и 1 байт старший бит которого
= 1. Все остальное = 0. В десятичном представлении это выглядит
так: 255.255.255.128.
Кол-во хостов в подсети с указанной длиной маски можно найти
так: 32 бита (полная длина маски 8бит * 4) - 25 бит (маска /25)
= 7 бит (в десятичном виде 1111111 = 127). К 127 добавляем 1
и получаем кол-во хостов в сети с длиной маски 25 бит = 128.
Десятичное представление ip-адреса - только для удобства
восприятия. На самом деле это 4 байта, над которыми
производятся логические операции (в частности AND).
3) В каждой ip-сети существует адрес сети - это когда все биты
хостовой части = 0 и broadcast-адрес - все биты хостовой части
= 1.
Пример2: 192.168.0.0/255.255.255.128 - подсеть из 128 адресов
длина маски 25 бит, дина хостовой части = 32 - 25 = 7 бит.
Адрес сети - 192.168.0.0, (последние семь бит адреса = 000000),
broadcast-адрес - 192.168.0.127 (последние 7 бит адреса = 1111111.
Для адресации хостов остается 126 адресов.
4) Бинарное AND ip-адреса и маски _всегда_ дает адрес сети. На
этом строится маршрутизация: адрес пакета AND маска пакета ->
-> поиск результата в таблице маршрутов (это вкратце ;).
Пример3: подсеть 192.168.0.128/255.255.255.128,
хост 192.168.0.192 AND 255.255.255.128 = 192.168.0.128
Каждый байт адреса AND с соответствующим байтом маски: 192 AND
255 = 192, 168 AND 255 = 168, 0 AND 255 = 0, 192 AND 128 = 128.
Т.е. получили адрес сети - 192.168.0.128. Для проверки:
последний байт = 10. 10 AND 128 = 0 - 192.168.0.0/255.255.255.128
- это уже другая подсеть сети 192.168.0 c длиной маски в 25 бит.
Да, понятие классов сетей (A,B,C,D,E) на сегодняшний день устарело.
Сейчас восновном используется CIDR - Classles InterDomain Routing,
использующий те самые префиксы (длину маски в битах).
Вот вроде так, если мне не изменяет мой склероз ...
WBR, Dmitry Lebkov
PS. Эк меня ... %) рассказывать основы TCP/IP в Linux'овом листе
рассылке. Надеюсь, это кому-нить пригодится %)
Подробная информация о списке рассылки community