Поиск по сайту:

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.

В лучшем формате это также можно представить, как показано.

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». Если ответ «НЕТ», мы ставим ноль.

Начнем с первого октета — 192. Можете ли вы вычесть 128 из 192? Ответ – большое «ДА». Поэтому запишем 1, что соответствует 128.

192-128 = 64

Можете ли вы вычесть 64 из 64? Ответ: «ДА». Опять записываем 1, что соответствует 64.

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

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

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

168-128 = 40

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

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

40 - 32 = 8

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

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

8-8 = 0

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

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

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

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

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

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

5-4 = 1

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

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

Десятичная цифра 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 зарезервирована для сетевого раздела, а какой доступен для использования хост-системой? Здесь на помощь приходит маска подсети или маска сети.

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

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

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

Обычно используемая маска подсети — это подсеть Класса C, то есть 255.255.255.0.

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

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