Адресация в локальной сети. Двоичная система исчисления.

Традиционная запись IP адреса - четыре числа разделенных точками, например 192.168.0.1. Такая запись (нотация) называется десятично-точечной, и используется для удобства запоминания, "родная" форма для IP адреса - двоичная (бинарная) запись где числа представлены цифрами 0 и 1.

Четыре числа в десятичной записи, в двоичной являются четырьмя группами по 8 битов (110000000.10101000.00000000.00000001). Каждая группа в любом типе записи называется октетом. Считаются октеты слева-направо. Первый октет - биты 1-8, второй октет - биты 9-16, третий - 17-24, замыкает четвертый октет - биты 25-32.

Для удобство маршрутизации каждый адрес делиться на идентификатор сети и идентификатор узла. При пересылке пакета маршрутизатор используя адрес сети передаёт его в нужный сегмент, после доставки в нужный сегмент по адресу узла пакет доставляться конкретному адресату. Количество битов отведенных под идентификатор сети определяться по типу (классу) адреса или маске подсети.

Типы адресов.

Класс IP адреса определяется по первому октету. Существует 5 классов IP адресов, из которых A, B и C можно использовать для адресации. В таблице октеты IP адреса обозначаются w.x.y.z.

Адреса для частного использования (LAN) допустимо использовать из следующих диапазонов:

10.0.0.0 -10.255.255.254

172.16.0.0 -172.31.255.254

192.168.0.0 -192.168.255.254

Эти адреса не могут использоваться для выхода в Интернет и должны преобразовываться NAT или использовать для выхода прокси-сервер.

Уникальный адрес 127.0.0.1 - это адрес "заглушка" при обращении на который запрос возвращается к отправителю. У MS он называется сетевым адресом замыкания на себя.

Так же необходимо знать что узлам сети не могут даваться адреса заканчивающиеся нулями - они используются как адреса сети, и двоичными единицами (255 в десятичной системе) - это широковещательный (broadcast) адрес, отправляющий запрос всем узлам сети.

Пример:

192.168.1.0 адрес сети класса С, 192.168.1.255 - её широковещательный адрес.

Маска подсети

Маска подсети использует тот же формат что и IP адреса - четыре октета по 8 бит. Используется для выделения адреса сети, и разделения идентификаторов сети и узла.

Идентификатор сети нужен для разбиения адресов на подсети. Маска подсети имеет все единицы в части отмечающей адрес сети, и нули в части показывающей адрес узла.

Наложение маски подсети на IP адрес называется маскированием.

Пример:

11111111.11111111.00000000.00000000 (255.255.0.0) - маска сети класса B. Т.е. с такой маской в адресе 11000000.10101000.00000001.00001100 (192.168.1.12) адресом сети будет 11000000.10101000 (192.168), а адресом узла 00000001.00001100 (1.12)

Так как идентификатор сети всегда указывается с крайнего левого бита, существует простой способ обозначить маску подсети указав количество битов идентификатора сети - префикса сети. Маска подсети в этом случае записывается как "IP адрес/префикс сети".

Пример:

Адрес 192.168.1.10 с маской 255.255.0.0 можно записать как 192.168.1.10/16, где 16 - количество единичных битов в маске (11111111.11111111.00000000.00000000).

Разбиение на подсети

Разбиение на подсети - это логическое разделение адресного пространства сети путем установки в 1 дополнительных битов маски подсети.

Например стандартная маска сети 192.168.0.0/16. Но на практике практически всегда она 192.168.0.0/24. Т.е. дополнительные 8 битов были выделены для указания подсетей, маска в десятичной форме будет 255.255.255.0, а адреса 192.168.1.1 и 192.168.2.1 принадлежат уже к разным подсетям.

Основная проблема начинается когда для указания маски подсети используются не все 8 бит, а только некоторая их часть. Т.е. заместо легкой в использовании маски, где в 1 установлены октеты целиком, используется более сложная конструкция с частично заполненными октетами. Например 11111111.11111111.11000000.00000000 (255.255.192.0).

Это позволяет разбить сеть на большее количество подсетей, но в тоже время на практике это используется очень редко. Правила адресации локальной сети позволяют легко сделать достаточное количество подсетей на сеть практически любых размеров. Так что единственные варианты использования - это необходимость создания точно заданного кол-ва подсетей или узлов, или вынужденное администрирование ограниченного адресного пространства, как пример - провайдер.

Вычисление максимального кол-ва узлов

Для вычисления максимального количества узлов в подсети надо возвести 2 в степень равную количеству битов в идентификаторе узла и вычесть 2.

Формула это легко выводиться самостоятельно. 2х - общее количество комбинаций значений битов двоичного числа из х битов. А так как комбинации из одних нулей или единиц использовать нельзя - минус 2.

Пример:

192.168.1.0/24, т.е. его маска 11111111.11111111.11111111.00000000, под идентификатор узла отведено 8 бит, а значит максимальное количество узлов 28-2=254

192.168.1.0/26, под идентификатор узла отведено 6 бит, максимальное количество узлов 64.

Определение количества подсетей

Для создания подсети идентификатор узла укорачивается, и создается новое адресное пространство для идентификатора подсети.

Чтобы определить количество доступных подсетей надо возвести 2 в степень y, где y - количество бит в адресе подсети.

Два вычитать не надо, поскольку идентификатор подсети может состоять из одних нулей или единиц.

Пример:

Из сети 192.168.0.0/16 выделяем дополнительные 8 бит для подсети, 192.168.0.0./24, количество подсетей - 256.

Из сети 192.168.0.0/16 выделяем 7 битов для подсети, 192.168.0.0/23, количество подсетей - 27=128, макс. кол-во узлов в подсети- 510.

Сеть 10.0.0.0/13, это адрес класса А, в котором стандартная маска /8. Мы расширили её на 5 бит, а под идентификатор узла осталось 19. Количество подсетей - 32, макс. кол-во узлов 219-2. Маска в десятичной форме 255.248.0.0, диапазон адресов первой посети 10.0.0.1-10.7.255.254.

Определение диапазона адресов подсети

Почему диапазон подсетей сети 10.0.0.0/13 равен 8? Очень просто - второй октет маски (11111111.11111000.00000000.00000000) содержит 3 бита под идентификатор узла, 23 = 8. Причем напоминаю, крайние адреса диапазона для адресации использовать нельзя.

В десятичной форме интервал адресов можно определить двумя способами.

Первый - разделить 256 (максимальное количество значений октета) на количество возможных сетей.

Например 192.168.0.0/18, 2 бита под подсети, т.е. их количество - 4. 256/4=64. Значит новая подсеть будет начинаться после каждого 64ого адреса: 192.168.0.0-192.168.64.0, 192.168.65.0-192.168.127.0, 192.168.128.0-192.168.192.0, 192.168.193.0-192.168.255.0

Второй способ - вычитаем из 256 значение в соответствующем октете маски.

Например 192.168.0.0/18, маска 255.255.192.0, 256-192=64.

 

© gruppa-43im2009

Конструктор сайтов - uCoz