1. Уважаемые пользователи, перед созданием темы, обязательно ознакомитесь с "Правилами раздела"
    Скрыть объявление

Как рассчитать подсеть

Тема в разделе "База знаний", создана пользователем Dragokas, 3 окт 2014.

  1. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.478
    Симпатии:
    4.306
    Подготовил: Alex Dragokas.
    Лучшие благодарности за мое обучение
    администратору LAMM_-*-_VURDALAK​

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

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

    ip-калькулятор.png

    Кто не понимает о чем речь.
    Весь интернет (который IPv4) делится на блоки IP-адресов.
    У каждого провайдера по нескольку таких блоков.

    Блок состоит из начального IP-адреса (First IP) и последнего IP-адреса (Last IP) (диапазон адресов).
    Кол-во IP, которые входят в диапазон зависят от маски подсети (Subnet Mask).

    Формула такая:
    Кол-во IP = 2 ^ (32 - Маска) - 2

    -2 это с учетом того, что:
    x.x.x.0 - сеть
    x.x.x.1 - шлюз
    x.x.x.255 - широковещательный адрес

    (.0 и .255 в счет не включаем).

    Т.е. чем меньше битов маски, тем больше IP входят в подсеть.

    ___________________________
    Что мы будем считать ? (спросите Вы)

    Наша задача:

    Берем произвольный IP, например, 1.1.134.1 и маску в 21 бит.

    1.1.134.1 /21

    Вопрос такой: к какому диапазону IP-адресов относится данный IP.

    Решение:

    Требования:
    1. Нам понадобится знать о побитовых операциях НЕ, И, ИЛИ. Можно почитать здесь.
    2. И еще уметь переводить из 10-чной системы счисления в 2-чную и обратно.
    По-первой хватит калькулятора Windows: Win + R -> calc.exe -> Вид -> Программист.

    calc.jpg

    Записываем IP и Subnet Mask в виде битов, применяем операцию AND:

    00000001.00000001.10000110.00000001 - IP (1.1.134.1)
    11111111.11111111.11111000.00000000 - SM (255.255.248.0 - 21 бит)
    --------------------------------------------------- - операция AND
    00000001.00000001.10000000.00000000 - FIRST IP (1.1.128.0)

    Получили первый IP этого блока.
    Инвертируем маску (операция NOT).

    11111111.11111111.11111000.00000000 - SM
    00000000.00000000.00000111.11111111 - INVERT SM

    Применяем к исходному IP операцию OR

    00000001.00000001.10000110.00000001 - IP
    00000000.00000000.00000111.11111111 - INVERT SM
    --------------------------------------------------- - операция OR
    00000001.00000001.10000111.11111111 - LAST IP (1.1.135.255)

    Задача решена:
    IP-адрес 1.1.134.1 /21
    входит в подсеть с диапазоном адресов от 1.1.128.0 до 1.1.135.255.

    Спасибо за внимание.
     
    Последнее редактирование: 3 окт 2014
    Arbitr, machito, orderman и 2 другим нравится это.

Поделиться этой страницей