Foreversoft.ru

IT Справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Перевод ip адреса в десятичную систему

Системное администрирование и мониторинг Linux/Windows серверов и видео CDN

Статьи по настройке и администрированию Windows/Linux систем

  • Полезное
    • Карта сайта
    • Мой сайт-визитка
  • Рубрики
    • Linux
      • VoIP
      • Безопасность
      • Видеопотоки
      • Системы виртуализации
      • Системы мониторинга
    • Windows
    • Интересное
    • Сеть и Интернет
  • Мета
    • Войти
    • RSS Feed

Перевод чисел в различные системы счислений

Когда занимаешься настройками сетей различного масштаба и каждый день сталкиваешься с вычислениями – то такого рода шпаргалки заводить не обязательно, все и так делается на безусловном рефлексе. Но когда в сетях ковыряешься очень редко, то не всегда вспомнишь какая там маска в десятичной форме для префикса 21 или же какой адрес сети при этом же префиксе. В связи с этим я и решил написать несколько маленьких статей-шпаргалок по переводом чисел в различные системы счислений, сетевым адресам, маскам и т.п. В это части пойдет речь о переводи чисел в различные системы счислений.

1. Системы счислений

Когда вы занимаетесь чем-то связанным с компьютерными сетями и ИТ, вы по любому столкнетесь с этим понятием. И как толковый ИТ-шник вам нужно разбираться в этом хотя бы чу-чуть даже если на практике вы это будете применять очень редко.
Рассмотрим перевод каждой цифры из IP-адреса 98.251.16.138 в следующие системы счислений:

  • Двоичная
  • Восьмеричная
  • Десятичная
  • Шестнадцатеричная

1.1 Десятичная

Так как цифры записаны в десятичной, перевод с десятичной в десятичную пропустим

1.1.1 Десятичная → Двоичная

Как мы знаем двоичная система счисления используется практически во всех современных компьютерах и многих других вычислительных устройствах. Система очень проста – у нас есть только 0 и 1.
Для преобразования числа с десятиной в двоичную форму нужно использовать деление по модулю 2 (т.е. целочисленное деление на 2) в результате чего мы всегда будем иметь в остатке либо 1, либо 0. При этом результат записываем справа налево. Пример все поставит на свои места:


Рисунок 1.1 – Перевод чисел из десятичной в двоичную систему


Рисунок 1.2 – Перевод чисел из десятичной в двоичную систему

Опишу деление числа 98. Мы делим 98 на 2, в результате имеем 49 и остаток 0. Далее продолжаем деление и делим 49 на 2, в результате имеем 24 с остатком 1. И таким же образом добираемся до 1-ки или 0-ка в делимом. Затем результат записываем справа налево.

1.1.2 Десятичная → Восьмеричная

Восьмеричная система – это целочисленная система счисления с основанием 8. Т.е. все числа в ней представлены диапазоном 0 – 7 и для перевода с десятичной системы нужно использовать деление по модулю 8.


Рисунок 1.3 – Перевод чисел из десятичной в восьмеричную систему

Деление аналогично 2-чной системе.

1.1.3 Десятичная → Шестнадцатеричная

Шестнадцатеричная система почти полностью вытеснила восьмеричную систему. У нее основание 16, но используются десятичные цифры от 0 до 9 + латинские буквы от A(число 10) до F(число 15). С ней вы сталкиваетесь каждый раз, когда проверяете настройки сетевого адаптера — это МАС-адрес. Так же, когда используется IPv6.


Рисунок 1.4 – Перевод чисел из десятичной в шестнадцатеричную систему

1.2 Двоичная

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

1.2.1 Двоичная → Десятичная

Для перевода чисел с двоичной формы в десятичную нужно знать два нюанса. Первый – у каждого нолика и единички есть множитель 2 в n-й степени, при котором n увеличивается справа налево ровно на единичку. Второй – после перемножения все числа нужно сложить и мы получим число в десятичной форме. В итого у нас будет формула такого вида:

Где,
D – это число в десятичной форме, которое мы ищем;
n – количество символов в двоичном числе;
a – число в двоичной форме на n-й позиции (т.е. первый символ, второй, и т.п.);
p – коэффициент, равный 2,8 или 16 в степени n (в зависимости от системы счисления)

К примеру возьмем число 110102. Смотрим на формулу и записываем:

    Число состоит из 5 символов (n=5)

  • p = 2 (так как переводим из двоичной в десятичную)
  • D = (1 × 2 5-1 ) + (1 × 2 5-2 ) + (0 × 2 5-3 ) + (1 × 2 5-4 ) + (0 × 2 5-5 ) = 16 + 8 + 0 + 2 + 0 = 2610

    Кто привык записывать справа на лево, форму будет выглядеть так:

    D = (0 × 2 5-5 ) + (1 × 2 5-4 ) + (0 × 2 5-3 ) + (1 × 2 5-2 ) + (1 × 2 5-1 ) = 0 + 2 + 0 + 8 + 16 = 2610

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


    Рисунок 1.5 – Перевод чисел из двоичной в десятичную систему

    1.2.2 Двоичная → Восьмеричная

    При переводе нам нужно двоичное число разбить на группы по три символа справа налево. Если последняя группа не состоит из трех символов, то мы просто возмещаем недостающие биты ноликами. К примеру:

    10101001 = 0 10 101 001

    1011100 = 00 1 011 100

    Каждая группа битов – это одно из восьмеричных чисел. Чтобы узнать какое, нужно использовать написанную выше формулу 1.2.1 для каждой группы битов. В результате мы получим.


    Рисунок 1.6 – Перевод чисел из двоичной в восьмеричную систему

    1.2.3 Двоичная → Шестнадцатеричная

    Здесь нам нужно двоичное число разбивать на группы по четыре символа справа налево с последующим дополнением недостающих битов группы ноликами, как писалось выше. Если последняя группа состоит из ноликов, то их нужно игнорировать.

    110101011 = 000 1 1010 1011

    1011100 = 0 101 1100

    001010000 = 00 0101 0000 = 0101 0000

    Каждая группа битов – это одно из шестнадцатеричных чисел. Используем формулу 1.2.1 для каждой группы битов.


    Рисунок 1.7 – Перевод чисел из двоичной в шестнадцатеричную систему

    1.3 Восьмеричная

    В этой системе у нас могут возникнуть сложности только при переводе в 16-ричную систему, так как остальной перевод проходит гладко.

    1.3.1 Восьмеричная → Двоичная

    Каждое число в восьмеричной системе – это группа из трех битов в двоичной системе, как писалось выше. Для перевода нам нужно воспользоваться табличкой-шпаргалкой:


    Рисунок 1.8 – Шпора по переводу чисел из восьмеричной системы

    Используя эту табличку переведем наши числа в двоичную систему.


    Рисунок 1.9 – Перевод чисел из восьмеричной в двоичную систему

    Немного опишу вывод. Первое число у нас 142, значит будет три группы по три бита в каждой. Юзаем шпору и видим, что цифра 1 это 001, цифра 4 это 100 и цифра 2 это 010. В результате имеем число 001100010.

    1.3.2 Восьмеричная → Десятичная

    Здесь мы используем формулу 1.2.1 только с коэффициентом 8 (т.е. p=8). В результате имеем


    Рисунок 1.10 – Перевод чисел из восьмеричной в десятеричную систему

    Возьмем первое число. Исходя из формулы 1.2.1:

      Число состоит из 3 символов (n=3)

  • p = 8 (так как переводим из восьмеричной в десятичную)
  • В результате имеем:

    D = (1 × 8 3-1 ) + (4 × 8 3-2 ) + (2 × 8 3-3 ) = 64 + 32 + 2 = 9810

    1.3.3 Восьмеричная → Шестнадцатеричная

    Как писалось раньше, для перевода нам нужно сначала перевести числа в двоичную систему, потом с двоичной в шестнадцатеричную, поделив на группы по 4-ре бита. Можно использовать следующею шпору.


    Рисунок 1.11 – Шпора по переводу чисел из шестнадцатеричной системы

    Эта табличка поможет перевести из двоичной в шестнадцатеричную систему. Теперь переведем наши числа.


    Рисунок 1.12 – Перевод чисел из восьмеричной в шестнадцатеричную систему

    1.4 Шестнадцатеричная

    В этой системе та же проблема, при переводе в восьмеричную. Но об этом позже.

    1.4.1 Шестнадцатеричная → Двоичная

    Каждое число в шестнадцатеричной системе – это группа из четырех битов в двоичной системе, как писалось выше. Для перевода нам можно воспользоваться табличкой-шпаргалкой, которая находиться выше. В результате:

    Читать еще:  Как узнать ip адрес ноутбука


    Рисунок 1.13 – Перевод чисел из шестнадцатеричной в двоичную систему

    Возьмем первое число – 62. Используя табличку (рис. 1.11) мы видим, что 6 это 0110, 2 это 0010, в результате имеем число 01100010.

    1.4.2 Шестнадцатеричная → Десятичная

    Здесь мы используем формулу 1.2.1 только с коэффициентом 16 (т.е. p=16). В результате имеем


    Рисунок 1.14 – Перевод чисел из шестнадцатеричной в десятеричную систему

    Возьмем первое число. Исходя из формулы 1.2.1:

      Число состоит из 2 символов (n=2)

  • p = 16 (так как переводим из шестнадцатеричной в десятичную)
  • В результате имеем.

    D = (6 × 16 2-1 ) + (2 × 16 2-2 ) = 96 + 2 = 9810

    1.4.3 Шестнадцатеричная → Восьмеричная

    Для перевода в восьмеричную систему нужно сначала перевести в двоичную, затем разбить на группы по 3-и бита и воспользоваться табличкой (рис. 1.8). В результате:


    Рисунок 1.15 – Перевод чисел из шестнадцатеричной в восьмеричную систему

    В следующей статье пойдет речь о IP-адресах, масках и сетях.

    Перевод ip адреса в десятичную систему

    Побитовые операторы в JavaScript работают с 32-битными целыми числами в их двоичном представлении.

    Это представление называется «32-битное целое со знаком, старшим битом слева и дополнением до двойки».

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

      Что такое двоичная система счисления, вам, надеюсь, уже известно. При разборе побитовых операций мы будем обсуждать именно двоичное представление чисел, из 32 бит.

    Разделить 32-битное число на 2 16-битных — C (СИ)

    Примеры представления чисел в двоичной системе:

    a = 0; // 00000000000000000000000000000000
    a = 1; // 00000000000000000000000000000001
    a = 2; // 00000000000000000000000000000010
    a = 3; // 00000000000000000000000000000011
    a = 255;// 00000000000000000000000011111111

    Обратите внимание, каждое число состоит ровно из 32-битов.

    Младший бит слева

    Несмотря на то, что нам такой способ записи чисел кажется совсем обычным, бывают языки и технологии, использующие способ записи «младший бит слева», когда биты пишутся наоборот, от меньшего разряда к большему.

    Именно поэтому спецификация EcmaScript явно говорит «старший бит слева».

    • Дополнение до двойки — это название способа поддержки отрицательных чисел.

    Двоичный вид числа, обратного данному (например,5и-5) получается путём обращения всех битов с прибавлением 1.

    То есть, нули заменяются на единицы, единицы — на нули и к числу прибавляется 1. Получается внутреннее представление того же числа, но со знаком минус.

    Например, вот число 314:

    Чтобы получить -314, первый шаг — обратить биты числа: заменить 0 на 1, а 1 на 0:

    Второй шаг — к полученному двоичному числу приплюсовать единицу, обычным двоичным сложением: 11111111111111111111111011000101 + 1 = 11111111111111111111111011000110.

    Итак, мы получили:

    -314 = 11111111111111111111111011000110

    Принцип дополнения до двойки делит все двоичные представления на два множества: если крайний-левый бит равен 0 — число положительное, если 1 — число отрицательное. Поэтому этот бит называется знаковым битом.

    IP-адрес, что это такое?

    Поговорим-ка мы об IP-адресах и о том как они образуются. А если быть точнее, то обсудим мы сегодня интернет протокол 4-ой версии(IPv4). Новая версия данного протокола носит имя IPv6, его обсудим чуть позже.

    IP-адрес(Internet Protocol Address) — это уникальный сетевой адрес компьютера либо другого сетевого оборудования в компьютерной сети. Каждый дом или здание имеет свой адрес, который идентифицирует его. И нет двух зданий с одинаковым адресом. Так же и в компьютерной сети. У каждого компьютера или сетевого оборудования(роутеры, телефоны, сетевые принтеры) должен быть свой уникальный адрес. Ведь именно по этому адресу и приходит информация из сети. В этом то и состоит работа Internet Protocol`а: он должен выдать уникальный адрес устройству, должен обеспечивать сортировку и доставку пакетов. В каждый входящий и исходящий IPv4-пакет включены IPv4-адрес отправителя и получателя. Протокол IPv4 обеспечивает маршрутизацию этих пакетов от отправителя до получателя.

    Как выглядит IP-адрес?

    Каждый из нас знает как выглядит адрес дома. А как же выглядит IP-адрес компьютера? Приблизительно вот так:

    Те, которые хоть раз видели ip-адрес, а видели наверное многие, скажут, что я что-то путаю. И добавят, что ip-адрес выглядит вроде этого:

    На что я отвечу, то что ip-адрес выглядит вот так:

    Так где же правда? Да везде! Все эти числа обозначают один и тот же ip-адрес. Самый ходовой его записью является первый. Почему? Да потому что это двоичное число и соответственно в таком виде его видят машины! Дальше идет вторая запись. Это запись уже для нас — для людей!

    Побитовые операторы

    Третья запись представляет адрес в десятичной форме, а четвертая — в шестнадцатеричной. 3 и 4 записи, в основном, используются только в учебниках.

    Как образуется IP-адрес?

    Рассмотрим первую и вторую запись. Первая запись — это число, состоящее только из двух цифр: 1 и 0. Все возможные его комбинации равны 2 в 32 степени(так как в числе 32 разряда). Отсюда следует, то что и ip-адресов может быть только 2 в 32 степени, а это 4 294 967 296 уникальных адресов. А людей уже больше 7 млрд! Именно поэтому и увидела свет новая версия интернет протокола. Но о ней будет немного позже.

    Вторая запись формируется таким образом: ip-адрес в двоичном формате, делится на 4 части(октета):

    00001010 00010000 00001010 10001111

    Таким образом, образуются 4 числа по 8 цифр. После чего каждую часть переводят в десятичную систему счисления и получают:

    Я не хочу освещать процесс перевода двоичного числа в десятичный.

    Для этого можете использовать Калькулятор.

    Как узнать свой IP-адрес?

    Узнать какой у Вас IP-адрес не составляет труда. Для этого Вам нужно открыть командную строку и ввести в окно команду ipconfig. Там Вы сможете не только узнать свой IP-адрес, но и другую связанную информацию. Так же, Вы можете проверить свой IP-адрес на специальных сайтах, таких как 2ip.ru. И кстати, IP-адреса указанные в командной строке и на сайте могут отличаться друг от друга. Это объясняется наличие частных IP-адресов.

    Двоичное преобразование адресов TCP/IP

    В двоичной системе исчисления используется только две цифры: 0 и 1. Так как это система исчисления с основанием, равным 2, то каждая позиция в двоичной последовательности представляет степень двойки. Если связать это со стандартной десятичной системой исчисления, которая используется каждый день, то можно понять, что все не так плохо.

    Возьмем число 201. При рассмотрении этого трехзначного числа можно заметить, что в нем присутствует разряд единиц, разряд десятков и разряд сотен. Поэтому число 201 равно 1х1+0х10+2х100. Цифра в каждом разряде умножается на степень 10 с показателем, соответствующим положению разряда. Так как двоичная система исчисления имеет основание 2, цифра каждого разряда умножается на степень двойки, соответствующую положению разряда.

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

    Теперь посмотрим, как адрес IP 10.8.32.6 преобразовывается в двоичную форму.

    Использование простой таблицы для преобразования двоичных чисел

    Столбцы двоичных разрядов (по основанию 2)

    Вот пример техники для преобразования десятичного числа в двоичное представление.

    1. Найдите наибольшее число в таблице преобразования, которое меньше или равно числу, преобразование которого необходимо выполнить (128, 64, 32, 8 и т.д.) и укажите 1 в его столбце.

    2. Отнимите число из выбранной колонки от числа, преобразование которого выполняется.

    3. Найдите наибольшее число в таблице преобразования, которое меньше или равно числу, оставшемуся после первого шага, и поместите 1 в столбец этого числа.

    4. Отнимите число из выбранного столбца от числа, которое осталось на шаге 2.

    Целое (тип данных)

    Повторите шаги 3 и 4, пока разность не станет равна 0; после этого поместите 0 во все столбцы, которые не содержат 1. Вот это и будет наше двоичное число!

    Читать еще:  Емайл адрес примеры

    Для преобразования числа 10 необходимо найти в таблице самое большое число, не превышающее 10. Это будет 8, поэтому в столбец числа 8 необходимо поместить 1. После этого необходимо отнять 8 от 10. В результате получится число 2. В столбце, соответствующем числу 2, необходимо разместить 1. Результатом последней разности будет 2, поэтому для завершения преобразования во все остальные столбцы необходимо поместить 0.

    Использование этой таблицы для преобразования двоичного числа в десятичное еще проще, чем преобразование десятичного числа в двоичное. Просто запишите 8-разрядное число в таблице, указывая каждый разряд в одном столбце таблицы. После этого сложите значения столбцов таблицы, которые содержат 1. Например, двоичное число 10100001 будет равно 128+32+1 или 161.

    В главе 4 будет показано, как использовать бесплатную утилиту, предоставленную на сопровождающем компакт-диске, для преобразования адресов IP в разные представления. Поэтому не будем больше тратить время на двоичную арифметику и сразу перейдем к структуре адреса TCP/IP.

    10.08. Раздел Локальная сеть

    Теперь, когда мы знаем, что такое IP-адрес, маска подсети, идентификаторы сети и узла, полезно запомнить правила, которые следует применять при назначении этих параметров:

    1. идентификатор сети не может содержать только двоичные нули или только единицы. Например, адрес 0.0.0.0 не может являться идентификатором сети;

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

    · все нули в идентификаторе узла означают, что этот адрес является адресом сети. Например, 192.168.5.0 является правильным адресом сети при использовании маски 255.255.255.0 и его нельзя использовать для адресации компьютеров,

    · все единицы в идентификаторе узла означают, что этот адрес является адресом широковещания для данной сети. Например, 192.168.5.255 является адресом широковещания в сети 192.168.5.0 при использовании маски 255.255.255.0 и его нельзя использовать для адресации компьютеров;

    3. идентификатор узла в пределах одной и той же подсети должен быть уникальным;

    4. диапазон адресов от 127.0.0.1 до 127.255.255.254 нельзя использовать в качестве IP-адресов компьютеров. Вся сеть 127.0.0.0 по маске 255.0.0.0 зарезервирована под так называемый «адрес заглушки» (loopback), используемый в IP для обращения компьютера к самому себе.

    Это легко проверить: достаточно на любом компьютере с установленным протоколом TCP/IP выполнить команду

    и, если протокол TCP/IP работает, вы увидите, как ваш компьютер будет отвечать на собственные запросы.

    Классовая и бесклассовая IP-адресация

    Первоначальная система IP-адресации в Интернете выглядела следующим образом. Все пространство возможных IP-адресов (а это более четырех миллиардов, точнее 4 294 967 296 адресов) было разбито на пять классов, причем принадлежность IP-адреса к определенному классу определялась по нескольким битам первого октета (табл. 8.2).

    Целое (тип данных)

    Заметим, что для адресации сетей и узлов использовались только классы A, B и C. Кроме того, для этих сетей были определены фиксированные маски подсети по умолчанию, равные, соответственно, 255.0.0.0, 255.255.0.0 и 255.255.255.0, которые не только жестко определяли диапазон возможных IP-адресов узлов в таких сетях, но и механизм маршрутизации.

    Чтобы рассчитать максимально возможное количе-ство узлов в любой IP-сети, достаточно знать, сколько битов содержится в идентификаторе узла, или, иначе, сколько нулей имеется в маске подсети. Это число используется в качестве показателя степени двойки, а затем из результата вычитается два зарезервированных адреса (сети и широковещания). Аналогичным способом легко вычислить и возможное количество сетей классов A, B или C, если учесть, что первые биты в октете уже зарезервированы, а в классе A нельзя использовать IP-адреса 0.0.0.0 и 127.0.0.0 для адресации сети.

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

    Первоначально данная схема хорошо работала, поскольку количество сетей было небольшим. Однако с развитием Интернета такой подход к распределению IP-адресов стал вызывать проблемы, особенно острые для сетей класса B. Действительно, организациям, в которых число компьютеров не превышало нескольких сотен (скажем, 500), приходилось регистрировать для себя целую сеть класса B. Поэтому количество доступных сетей класса B стало на глазах «таять», но при этом громадные диапазоны IP-адресов (в нашем примере – более 65000) пропадали зря.

    Чтобы решить проблему, была разработана бесклассовая схема IP-адресации (Classless InterDomain Routing, CIDR), в которой не только отсутствует привязка IP-адреса к классу сети и маске подсети по умолчанию, но и допускается применение так называемых масок подсети с переменной длиной (Variable Length Subnet Mask, VLSM). Например, если при выделении сети для вышеуказанной организации с 500 компьютерами вместо фиксированной маски 255.255.0.0 использовать маску 255.255.254.0,то получившегося диапазона из 512 возможных IP-адресов будет вполне достаточно.

    Оставшиеся 65 тысяч адресов можно зарезервировать на будущее или раздать другим желающим подключиться к Интернету.

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

    Дата добавления: 2014-11-25; Просмотров: 1686; Нарушение авторских прав?;

    IPv4 калькулятор подсетей

    ПараметрДесятичная записьШестнадцатеричная записьДвоичная запись
    IP адрес95.47.253.2025F.2F.FD.CA01011111.00101111.11111101.11001010
    Префикс маски подсети/24
    Маска подсети255.255.255.0FF.FF.FF.0011111111.11111111.11111111.00000000
    Обратная маска подсети (wildcard mask)0.0.0.25500.00.00.FF00000000.00000000.00000000.11111111
    IP адрес сети95.47.253.05F.2F.FD.0001011111.00101111.11111101.00000000
    Широковещательный адрес95.47.253.2555F.2F.FD.FF01011111.00101111.11111101.11111111
    IP адрес первого хоста95.47.253.15F.2F.FD.0101011111.00101111.11111101.00000001
    IP адрес последнего хоста95.47.253.2545F.2F.FD.FE01011111.00101111.11111101.11111110
    Количество доступных адресов256
    Количество рабочих адресов для хостов254

    Познавательное о IPv4 .

    IPv4 (англ. Internet Protocol version 4) — четвёртая версия интернет протокола (IP). Первая широко используемая версия. Протокол описан в RFC 791 (сентябрь 1981 года), заменившем RFC 760 (январь 1980 года).

    IPv4 использует 32-битные (четырёхбайтные) адреса, ограничивающие адресное пространство 4 294 967 296 (2 32 ) возможными уникальными адресами.

    Традиционной формой записи IPv4 адреса является запись в виде четырёх десятичных чисел (от 0 до 255), разделённых точками. Через дробь указывается длина маски подсети.

    IP-адрес состоит из двух частей: номера сети и номера узла. В случае изолированной сети её адрес может быть выбран администратором из специально зарезервированных для таких сетей блоков адресов (10.0.0.0/8, 172.16.0.0/12 или 192.168.0.0/16). Если же сеть должна работать как составная часть Интернета, то адрес сети выдаётся провайдером либо региональным интернет-регистратором (Regional Internet Registry, RIR). Согласно данным на сайте IANA, существует пять RIR: ARIN, обслуживающий Северную Америку, а также Багамы, Пуэрто-Рико и Ямайку; APNIC, обслуживающий страны Южной, Восточной и Юго-Восточной Азии, а также Австралии и Океании; AfriNIC, обслуживающий страны Африки; LACNIC, обслуживающий страны Южной Америки и бассейна Карибского моря; и RIPE NCC, обслуживающий Европу, Центральную Азию, Ближний Восток. Региональные регистраторы получают номера автономных систем и большие блоки адресов у IANA, а затем выдают номера автономных систем и блоки адресов меньшего размера локальным интернет-регистраторам (Local Internet Registries, LIR), обычно являющимся крупными провайдерами. Номер узла в протоколе IP назначается независимо от локального адреса узла. Маршрутизатор по определению входит сразу в несколько сетей. Поэтому каждый порт маршрутизатора имеет собственный IP-адрес. Конечный узел также может входить в несколько IP-сетей. В этом случае компьютер должен иметь несколько IP-адресов, по числу сетевых связей. Таким образом, IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение.

    Есть два способа определения того, сколько бит отводится на маску подсети, а сколько — на IP-адрес. Изначально использовалась классовая адресация (INET), но со второй половины 90-х годов XX века она была вытеснена бесклассовой адресацией (CIDR), при которой количество адресов в сети определяется маской подсети.

    Иногда встречается запись IP-адресов вида «192.168.5.0/24». Данный вид записи заменяет собой указание диапазона IP-адресов. Число после косой черты означает количество единичных разрядов в маске подсети. Для приведённого примера маска подсети будет иметь двоичный вид 11111111 11111111 11111111 00000000 или то же самое в десятичном виде: «255.255.255.0». 24 разряда IP-адреса отводятся под номер сети, а остальные 32-24=8 разрядов полного адреса — под адреса хостов этой сети, адрес этой сети и широковещательный адрес этой сети. Итого, 192.168.5.0/24 означает диапазон адресов хостов от 192.168.5.1 до 192.168.5.254, а также 192.168.5.0 — адрес сети и 192.168.5.255 — широковещательный адрес сети. Для вычисления адреса сети и широковещательного адреса сети используются формулы:

    • адрес сети = IP.любого_компьютера_этой_сети AND MASK (адрес сети позволяет определить, что компьютеры в одной сети)
    • широковещательный адрес сети = IP.любого_компьютера_этой_сети OR NOT(MASK) (широковещательный адрес сети воспринимается всеми компьютерами сети как дополнительный свой адрес, то есть пакет на этот адрес получат все хосты сети как адресованные лично им. Если на сетевой интерфейс хоста, который не является маршрутизатором пакетов, попадёт пакет, адресованный не ему, то он будет отброшен).

    Запись IP-адресов с указанием через слэш маски подсети переменной длины также называют CIDR-адресом в противоположность обычной записи без указания маски, в операционных системах типа UNIX также именуемой INET-адресом.

    В протоколе IP существует несколько соглашений об особой интерпретации IP-адресов: если все двоичные разряды IP-адреса равны 1, то пакет с таким адресом назначения должен рассылаться всем узлам, находящимся в той же сети, что и источник этого пакета. Такая рассылка называется ограниченным широковещательным сообщением (limited broadcast). Если в поле номера узла назначения стоят только единицы, то пакет, имеющий такой адрес, рассылается всем узлам сети с заданным номером сети. Например, в сети 192.168.5.0 с маской 255.255.255.0 пакет с адресом 192.168.5.255 доставляется всем узлам этой сети. Такая рассылка называется широковещательным сообщением (direct broadcast).

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

    IP-адрес называют динамическим (непостоянным, изменяемым), если он назначается автоматически при подключении устройства к сети и используется в течение ограниченного промежутка времени, указанного в сервисе назначавшего IP-адрес (DHCP).

    Для получения IP-адреса клиент может использовать один из следующих протоколов:

    • DHCP (RFC 2131) — наиболее распространённый протокол настройки сетевых параметров.
    • BOOTP (RFC 951) — простой протокол настройки сетевого адреса, обычно используется для бездисковых станций.
    • IPCP (RFC 1332) в рамках протокола PPP (RFC 1661).
    • Zeroconf (RFC 3927) — протокол настройки сетевого адреса, определения имени, поиск служб.
    • RARP (RFC 903) Устаревший протокол, использующий обратную логику (из аппаратного адреса — в логический) популярного и поныне в широковещательных сетях протокола ARP. Не поддерживает распространения информации о длине маски (не поддерживает VLSM).

    Адреса, используемые в локальных сетях, относят к частным. К частным относятся IP-адреса из следующих сетей:

    • 10.0.0.0/8
    • 172.16.0.0/12
    • 192.168.0.0/16

    Также для внутреннего использования:

    • 127.0.0.0/8 — используется для коммуникаций внутри хоста.
    • 169.254.0.0/16 — используется для автоматической настройки сетевого интерфейса в случае отсутствия DHCP (за исключением первой и последней /24 подсети).

    Полный список описания сетей для IPv4 представлен в RFC 6890.

    Перевод чисел в различные системы счисления с решением

    Калькулятор позволяет переводить целые и дробные числа из одной системы счисления в другую. Основание системы счисления не может быть меньше 2 и больше 36 (10 цифр и 26 латинских букв всё-таки). Длина чисел не должна превышать 30 символов. Для ввода дробных чисел используйте символ . или , . Чтобы перевести число из одной системы в другую, введите исходное число в первое поле, основание исходной системы счисления во второе и основание системы счисления, в которую нужно перевести число, в третье поле, после чего нажмите кнопку «Получить запись».

    Исходное число записано в -ой системе счисления.

    Хочу получить запись числа в -ой системе счисления.

    Выполнено переводов: 3882027

    Системы счисления

    Системы счисления делятся на два типа: позиционные и не позиционные. Мы пользуемся арабской системой, она является позиционной, а есть ещё римская − она как раз не позиционная. В позиционных системах положение цифры в числе однозначно определяет значение этого числа. Это легко понять, рассмотрев на примере какого-нибудь числа.

    Пример 1. Возьмём число 5921 в десятичной системе счисления. Пронумеруем число справа налево начиная с нуля:

    Число:5921
    Позиция:321

    Число 5921 можно записать в следующем виде: 5921 = 5000+900+20+1 = 5·10 3 +9·10 2 +2·10 1 +1·10 0 . Число 10 является характеристикой, определяющей систему счисления. В качестве степеней взяты значения позиции данного числа.

    Пример 2. Рассмотрим вещественное десятичное число 1234.567. Пронумеруем его начиная с нулевой позиции числа от десятичной точки влево и вправо:

    Число:1234567
    Позиция:321-1-2-3

    Число 1234.567 можно записать в следующем виде: 1234.567 = 1000+200+30+4+0.5+0.06+0.007 = 1·10 3 +2·10 2 +3·10 1 +4·10 0 +5·10 -1 +6·10 -2 +7·10 -3 .

    Перевод чисел из одной системы счисления в другую

    Наиболее простым способом перевода числа с одной системы счисления в другую, является перевод числа сначала в десятичную систему счисления, а затем, полученного результата в требуемую систему счисления.

    Перевод чисел из любой системы счисления в десятичную систему счисления

    Для перевода числа из любой системы счисления в десятичную достаточно пронумеровать его разряды, начиная с нулевого (разряд слева от десятичной точки) аналогично примерам 1 или 2. Найдём сумму произведений цифр числа на основание системы счисления в степени позиции этой цифры:

    1. Перевести число 1001101.11012 в десятичную систему счисления.
    Решение: 10011.11012 = 1·2 4 +0·2 3 +0·2 2 +1·2 1 +1·2 0 +1·2 -1 +1·2 -2 +0·2 -3 +1·2 -4 = 16+2+1+0.5+0.25+0.0625 = 19.812510
    Ответ: 10011.11012 = 19.812510

    2. Перевести число E8F.2D16 в десятичную систему счисления.
    Решение: E8F.2D16 = 14·16 2 +8·16 1 +15·16 0 +2·16 -1 +13·16 -2 = 3584+128+15+0.125+0.05078125 = 3727.1757812510
    Ответ: E8F.2D16 = 3727.1757812510

    Перевод чисел из десятичной системы счисления в другую систему счисления

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

    Перевод целой части числа из десятичной системы счисления в другую систему счисления

    Целая часть переводится из десятичной системы счисления в другую систему счисления с помощью последовательного деления целой части числа на основание системы счисления до получения целого остатка, меньшего основания системы счисления. Результатом перевода будет являться запись из остатков, начиная с последнего.

    3. Перевести число 27310 в восьмиричную систему счисления.
    Решение: 273 / 8 = 34 и остаток 1, 34 / 8 = 4 и остаток 2, 4 меньше 8, поэтому вычисления завершены. Запись из остатков будет иметь следующий вид: 421
    Проверка: 4·8 2 +2·8 1 +1·8 0 = 256+16+1 = 273 = 273 , результат совпал. Значит перевод выполнен правильно.
    Ответ: 27310 = 4218

    Рассмотрим перевод правильных десятичных дробей в различные системы счисления.

    Перевод дробной части числа из десятичной системы счисления в другую систему счисления

    Напомним, правильной десятичной дробью называется вещественное число с нулевой целой частью. Чтобы перевести такое число в систему счисления с основанием N нужно последовательно умножать число на N до тех пор, пока дробная часть не обнулится или же не будет получено требуемое количество разрядов. Если при умножении получается число с целой частью, отличное от нуля, то целая часть дальше не учитывается, так как последовательно заносится в результат.

    4. Перевести число 0.12510 в двоичную систему счисления.
    Решение: 0.125·2 = 0.25 (0 — целая часть, которая станет первой цифрой результата), 0.25·2 = 0.5 (0 — вторая цифра результата), 0.5·2 = 1.0 (1 — третья цифра результата, а так как дробная часть равна нулю, то перевод завершён).
    Ответ: 0.12510 = 0.0012

    Ссылка на основную публикацию
    Adblock
    detector