Адресация в Интернете
Адресация в Интернете осуществляется с помощью IP-адресов.
IP-адрес - это уникальный идентификатор устройства в сети, который позволяет маршрутизаторам определить, куда отправить данные.
Существует две версии IP-адресов: IPv4 и IPv6. IPv4 представляет из себя четыре октета (4 байта) чисел, разделенных точками (например,
192.168.1.1
), а IPv6 использует более длинные адреса, состоящие из шестнадцатеричных символов (например,
2001:0db8:85a3:0000:0000:8a2e:0370:7334
- 128 бит).
С ростом количества устройств, подключенных к Интернету, возникла проблема нехватки IPv4-адресов. Для решения этой проблемы был разработан новый стандарт - IPv6 (Internet Protocol version 6), который обеспечивает гораздо большее количество уникальных адресов (более 340 секстиллионов).
Для обращения к устройству в Интернете необходимо знать его IP-адрес. Однако, для удобства людей были созданы доменные имена, которые преобразуются в IP-адреса с помощью службы DNS (Domain Name System).
Пример адресации: когда вы вводите в браузере "
www.example.com
", ваш компьютер отправляет запрос на DNS-сервер, который возвращает соответствующий IP-адрес (например,
192.0.2.1
), после чего ваш компьютер может установить соединение с сервером по этому адресу.
Интернет протокол версии 4 (IPv4)
IPv4 (Internet Protocol version 4) - это стандартный протокол сетевого уровня, который используется для идентификации и маршрутизации данных в Интернете.
Адреса IPv4 представляют собой 32-битные числа, разделенные точками, например,
192.168.1.1
. В адресах IPv4 используются четыре октета (байта), каждый из которых может принимать значения
от 0 до 255. Это дает общее количество возможных адресов около 4,3 миллиарда.
IPv4-адресация включает в себя понятия подсетей, масок подсети, шлюзов по умолчанию и другие элементы, которые позволяют эффективно управлять сетью и маршрутизировать данные. Важно помнить, что IPv4 все еще широко используется в сетях по всему миру.
Основные понятия адресации в сети IPv4:
1.
Адрес сети (Network Address)
Это адрес, который используется для идентификации конкретной сети в сети Интернет. Адрес сети имеет нулевые последние биты.
2.
Адрес узла в сети (Host Address)
Это адрес, который используется для идентификации конкретного устройства (узла) в сети. Адрес узла представляет собой уникальный адрес в пределах данной сети.
3.
Маска подсети (Subnet Mask)
Маска подсети определяет, какие биты в IP-адресе относятся к адресу сети, а какие - к адресу узла. Она состоит из последовательности единиц, за которыми следуют нули.
Маска подсети помогает разделить IP-адрес на адрес сети и адрес узла. Например, если у нас есть IP-адрес
192.168.1.10
и маска подсети
255.255.255.0
, то первые три октета (
192.168.1
) будут обозначать адрес сети, а последний октет (.
10
) - адрес узла в этой сети.
Маска подсети может быть записана в нескольких форматах:
- Десятичная запись: например,
255.255.255.0
- Количество установленных битов: например,
/24
(это означает, что первые 24 бита адреса отведены под сеть, а оставшиеся 8 бит - под узлы)
- Префиксная запись: например,
192.168.1.0/24
(это сочетание IP-адреса с маской подсети в виде префикса)
Все эти варианты представляют одну и ту же маску подсети
Для определения адреса сети по IP-адресу и маске подсети, необходимо выполнить логическую операцию побитового "И
" (AND
) между битами IP-адреса и маска подсети. Результат этой операции будет адресом сети.
Пример 1
Пусть у нас есть IP-адрес 192.168.1.10
и маска подсети 255.255.255.0
.
1. Преобразуем IP-адрес и маску в двоичную систему
IP-адрес 192.168.1.10
:
11000000.10101000.00000001.00001010
Маска подсети 255.255.255.0
:
11111111.11111111.11111111.00000000
2. Выполним побитовую операцию "И
" (AND
) между IP-адресом и маской:
11000000.10101000.00000001.00001010
AND 11111111.11111111.11111111.00000000
-----------------------------------
11000000.10101000.00000001.00000000
3. Преобразуем результат обратно в десятичную систему: Адрес сети: 192.168.1.0
Маска подсети также позволяет определить количество доступных адресов для узлов в данной сети. Чем больше нулей в маске подсети, тем больше адресов доступно для устройств в этой сети.
Для определения количества узлов (
K
), которые можно подключить к сети с заданной маской подсети, необходимо использовать следующую формулу
K = 2(32 - длина маски) - 2
Где
32
- это количество битов в IPv4 адресе,
Длина маски
- количество битов, установленных в маске подсети.
При вычислении количества узлов мы вычитаем 2, так как один адрес зарезервирован для адреса сети, а другой для широковещательного адреса. Широковещательный адрес (
Broadcast Address
) - это специальный адрес в сети IPv4, который используется для отправки пакетов данных всем устройствам в данной сети.
Пример 2
Пусть у нас есть маска подсети /24
, что означает 24
установленных бита (255.255.255.0
). Тогда количество узлов в сети будет:
2(32 - 24) - 2 = 28 - 2 = 256 - 2 = 254
Таким образом, при использовании маски подсети /24
можно подключить до 254 узлов к сети.
Задача 1
Для узла с IP-адресом
94.29.124.168
адрес сети равен
94.29.124.0
. Найдите наименьшее и наибольшее возможное количество единиц в двоичной записи маски подсети.
Решение
Для определения адреса сети по IP-адресу и маске подсети, необходимо выполнить логическую операцию побитового "
И
" (
AND
) между битами IP-адреса и маска подсети. Для того чтобы найти какая маска нам подходит, необходимо представить адрес сети и адрес узла в двоичном виде. По двоичной записи определим, в каких битах маски должны стоять единицы, а в каких нули. Будем помнить, что маска представляет собой последовательность, состоящую только из единиц и нулей. Вначале в маске стоят единицы, затем нули.
IP-адрес узла 94.29.124.168
AND маска
-------------------------------
адрес сети 94.29.124.0 |
01011110.00011101.01111100.10101000
AND xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
-------------------------------------
01011110.00011101.01111100.00000000 |
Будем просматривать биты адреса узла и адреса сети слева направо, пока не встретим первые различающиеся биты. Видно, что первые три октета (старшие 24 бита, выделены желтым цветом) одинаковы в адресе узла и адресе сети. Следовательно, начиная с 25 бита (с первого бита четвертого октета) в маске обязаны стоять только нули. Значит, минимальное количество нулей в маске будет равно восьми, а
максимальное количество единиц - 24 (32 - 8 = 24)
.
Меньшее количество нулей в маске мы поставить не сможем, потому что тогда в старшем бите последнего октета в адресе сети стояла бы единица (этот бит выделен зеленым). Если в маске в этом бите будет стоять единица, то в результате побитового умножения (AND) в адресе сети получилась бы единица. А у нас там ноль. Следовательно, в этом бите в маске должен стоять ноль.
Биты, в записи маски, которые выделены синим, на самом деле могут быть равны как единице, так и нулю, потому что в IP-адресе узла в этих битах стоят нули, следовательно при побитовом умножении в адресе сети будет ноль, независимо, что стоит в маске. Биты, левее выделенных синим, в маске, должны быть равны единице.
Следовательно, максимальное количество нулей в маске может быть равно 10 (два синих бита + биты последнего октета). Значит,
минимальное количество единиц в маске - 22 (32-10=22)
.
Ответ
Наименьшее возможное количество единиц в двоичной записи маски подсети равно 22, наибольшее возможное количество единиц в двоичной записи маски подсети равно 24.