ALT Linux Community general discussions
 help / color / mirror / Atom feed
From: Dmitry Lebkov <dima@sakhalin.ru>
To: community@altlinux.ru
Subject: Re: [Comm] Почтовый сервер под Мастером
Date: Thu, 24 Oct 2002 23:27:53 +1100
Message-ID: <20021024232753.2b11ff06.dima@sakhalin.ru> (raw)
In-Reply-To: <20021024103506.GA9589@hell.immo>

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'овом листе
рассылке. Надеюсь, это кому-нить пригодится %)


  parent reply	other threads:[~2002-10-24 12:27 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-24  7:31 demien
2002-10-24  7:29 ` Serge Polkovnikov
2002-10-24  7:53   ` demien
2002-10-24  7:49     ` Serge Polkovnikov
2002-10-24  8:10       ` demien
2002-10-24  8:09         ` Dmitry E. Oboukhov
2002-10-24  8:10         ` Serge Polkovnikov
2002-10-24 10:35         ` Alexey I. Froloff
2002-10-24 10:50           ` Андрей Булава
2002-10-24 12:55             ` Alexey I. Froloff
2002-10-25  5:43               ` Прокопьев Евгений
2002-10-25  7:58                 ` Alexey I. Froloff
2002-10-25  8:57                   ` Прокопьев Евгений
2002-10-25  9:08                     ` [Comm] Re: [JT] xlib and qt/gtk (was: Почтовый сервер под Мастером) Vitaly Ostanin
2002-10-25  9:23                       ` А.Л. Клютченя
2002-10-25 11:50                       ` Alexey I. Froloff
2002-10-25 11:46                     ` [Comm] Почтовый сервер под Мастером Alexey I. Froloff
2002-10-24 11:15           ` Sergey Degtyaryov
2002-10-24 12:27           ` Dmitry Lebkov [this message]
2002-10-24  7:48 ` Dmitry E. Oboukhov
2002-10-24  8:02   ` demien
2002-10-24  8:06     ` Dmitry E. Oboukhov
2002-10-24 11:40 ` Sergey Degtyaryov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20021024232753.2b11ff06.dima@sakhalin.ru \
    --to=dima@sakhalin.ru \
    --cc=community@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git