[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