LFCA: Изучение двоичных и десятичных чисел в сети – Часть 10

В Части 9 серии LFCA мы рассмотрели основы IP-адресации. Для лучшего понимания IP-адресации, нам нужно уделить больше внимания двум типам представления IP-адреса – двоичному и десятично-точечной квадратной нотации. Как упоминалось ранее, IP-адрес представляет собой 32-битное двоичное число, которое обычно представляется в десятичном формате для удобства чтения.

Формат двоичного использует только цифры 1 и 0. Это формат, который понимает ваш компьютер и через который данные отправляются по сети.

Однако, чтобы сделать адрес читаемым для человека, он передается в формате точечной десятичной записи, который компьютер позже преобразует в двоичный формат. Как мы упоминали ранее, IP-адрес состоит из 4 октетов. Давайте разберем IP-адрес 192.168.1.5.

В формате десятично-точечной записи, 192 – это первый октет, 168 – второй октет, 1 – третий, и наконец, 5 – четвертый октет.

В двоичном формате IP-адрес представлен следующим образом:

11000000		=>    1st Octet

10101000		=>    2nd Octet

00000001		=>    3rd Octet

00000101		=>    4th Octet

В двоичном формате бит может быть включен или выключен. Включенный бит обозначается 1, а выключенный бит обозначается 0. В десятичном формате;

Для получения десятичного числа производится суммирование всех двоичных разрядов, возведенных в степень 2. В таблице ниже приведено позиционное значение каждого бита в октете. Например, десятичное значение 1 соответствует двоичному 00000001.

Decimal Numbers

В более удобной форме это также может быть представлено следующим образом.

2º	=	1	=	00000001

2¹	=	2	=	00000010

2²	=	4	=	00000100

2³	=	8	=	00001000

2⁴	=	16	=	00010000

2⁵	=	32	=	00100000

2⁶	=	64	=	01000000

2⁷	=	128	=	10000000

Давайте попробуем преобразовать IP-адрес из десятичного формата в двоичный.

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

Давайте возьмем наш пример 192.168.1.5. Для преобразования из десятичного в двоичный формат мы начнем слева направо. Для каждого значения в таблице задаем вопрос, можно ли вычесть значение из таблицы из десятичного значения в IP-адресе. Если ответ ‘да’ – пишем ‘1’. Если ответ ‘нет’ – пишем ‘0’.

Начнем с первого октета, который равен 192. Можно ли вычесть 128 из 192? Ответ – ‘да’. Следовательно, мы запишем 1, что соответствует 128.

Decimal Numbers
192-128 = 64

Можно ли вычесть 64 из 64? Ответ – ‘да’. Снова запишем 1, что соответствует 64.

Decimal Numbers

64-64 = 0 Поскольку мы исчерпали десятичное значение, оставшимся значениям присваиваем 0.

Decimal Numbers

Итак, десятичное значение 192 переводится в двоичный 11000000. Если сложить значения, соответствующие 1 в нижней таблице, вы получите 192. То есть 128 + 64 = 192. Понятно, верно?

Давайте перейдем ко второй октету – 168. Можем ли мы вычесть 128 из 168? ДА.

Decimal Numbers
168-128 = 40

Далее, можем ли мы вычесть 64 из 40? НЕТ. Итак, мы назначаем 0.

Decimal Numbers

Переходим к следующему значению. Можем ли мы вычесть 32 из 40? ДА. Мы назначаем значение 1.

Decimal Numbers
40 - 32 = 8

Далее, можем ли мы вычесть 18 из 8? НЕТ. Мы назначаем 0.

Decimal Numbers

Далее, можем ли мы вычесть 8 из 8? ДА. Мы назначаем значение 1.

Decimal Numbers
8-8 = 0

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

Decimal Numbers

В конечном итоге десятичное 168 переводится в двоичный формат 10101000. Опять же, если сложить десятичные значения, соответствующие 1 в нижней строке, вы получите 168. То есть 128 + 32 + 8 = 168.

Для третьего октета у нас есть 1. Единственное число в нашей таблице, которое мы можем полностью вычесть из 1, это 1. Итак, мы назначим значение 1 1 в таблице и добавим предшествующие нули, как показано.

Decimal Numbers

Таким образом, десятичное значение 1 равно двоичному 00000001.

Наконец, у нас есть 5. Из таблицы единственное число, которое мы можем полностью вычесть из 5, начинается с 4. Все значения слева будут назначены 0.

Можем ли мы вычесть 4 из 5? ДА. Мы назначаем 1 4.

Decimal Numbers
5-4 = 1

Далее, можем ли мы вычесть 1 из 2? НЕТ. Мы назначаем значение 0.

Decimal Numbers

Наконец, можно ли вычесть 1 из 1? ДА. Мы присваиваем 1.

Decimal Numbers

Десятичная цифра 5 соответствует двоичному 00000101.

В конце у нас есть следующее преобразование.

192	=>	 11000000

168 	=>	 10101000

1       =>	  00000001

5       =>	  00000101

Таким образом, 192.168.1.5 переводится в 11000000.10101000.00000001.00000101 в двоичной форме.

Понимание маски подсети / сетевой маски

Мы уже упоминали, что каждый хост в сети TCP/IP должен иметь уникальный IP-адрес, который в большинстве случаев динамически назначается маршрутизатором с использованием протокола DHCP. Протокол DHCP (протокол динамической конфигурации хоста) – это служба, которая динамически назначает IP-адреса хостам в IP-сети.

Но как определить, какая часть IP-адреса зарезервирована для сетевого раздела, а какая часть доступна для использования хостовой системой? В этом случае на помощь приходит маска подсети или сетевая маска.

A subnet is an additional component to an IP address that distinguishes the network & host portion of your network. Just like an IP address, the subnet is a 32-bit address and can be written in either decimal or binary notation.

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

Для сетевой части она включает бит и назначает значение 1, для хостовой части она выключает бит и назначает значение 0. Поэтому все биты, установленные в 1, соответствуют битам в IP-адресе, представляющим сетевую часть, в то время как все биты, установленные в 0, соответствуют битам IP-адреса, представляющим адрес хоста.

A commonly used subnet mask is the Class C subnet which is 255.255.255.0.

В таблице ниже показаны сетевые маски в десятичном и двоичном виде.

Network Masks

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

Source:
https://www.tecmint.com/learn-binary-and-decimal-numbers-in-networking/