Статья Автор: Деникина Н.В., Деникин А.В.

13.1 Адресация — IP как 32 бита

IP-адрес: четыре байта, 32 бита

IP-адрес — это четыре числа через точку. Каждое число — один байт. В байте 8 бит, поэтому байт живёт в диапазоне от 0 до 255. Четыре байта по 8 бит — это 32 бита.

Мы видим точки и десятичные числа. Сеть видит биты. Поэтому первый шаг в любой задаче №13 — перевести байт в двоичную запись.

Перевод устроен просто. Каждый бит — это степень двойки: 128, 64, 32, 16, 8, 4, 2, 1. Единица — степень берём. Ноль — пропускаем. Сложили взятые — получили число.


Пример

Разберём адрес 192.168.1.130 побайтно:

        192   .  168   .   1    .   130
     +--------+--------+--------+--------+
     |11000000|10101000|00000001|10000010|
     +--------+--------+--------+--------+
       байт 1   байт 2   байт 3   байт 4
       8 бит    8 бит    8 бит    8 бит   = 32 бита

Проверим первый байт обратно. Единицы стоят на позициях 128 и 64. 128 + 64 = 192. Сходится.


Ещё примеры

Пример 1. Из десятичной в двоичную: 220. Идём по степеням слева направо и спрашиваем «влезает?».

вес:  128  64  32  16   8   4   2   1
      ---------------------------------
220:   1   1   0   1    1   1   0   0
      128 +64     +16  +8  +4        = 220

Пример 2. Из двоичной в десятичную: 10110100. Складываем веса под единицами.

вес:  128  64  32  16   8   4   2   1
       1   0   1   1    0   1   0   0
      128     +32 +16      +4          = 180

Пример 3. Особые байты, которые надо узнавать сразу.

  0 = 00000000      (нулей 8)
128 = 10000000      (единица одна, старшая)
192 = 11000000      (единиц 2)
240 = 11110000      (единиц 4)
255 = 11111111      (единиц 8)

▶ Попробуй самостоятельно: переведи 200 в двоичную запись. Потом переведи 10110100 обратно в десятичную и сверься с примером 2.
 


Проверь себя


Сколько всего бит в IP-адресе?


Переведите число 220 в 8-битную двоичную запись (восемь символов 0/1).


Чему равен байт 11000000 в десятичной записи?


Сопоставьте десятичный байт и его двоичную запись.


Верно или неверно?

Печать