Рассказываем, как работать с IP-адресами классического протокола IPv4 в теории и на практике – в коде Python. Показываем, как проверить связь между группой IP-адресов и их соответствие подсетям и диапазонам частных IP-адресов.
В самом грубом представлении IP-адрес – это просто число. В случае протокола IPv4 IP-адрес– это 32-разрядное целое число, используемое для представления хоста в сети. То есть существует 232 возможных IPv4 адреса – от 0 до 4 294 967 295. IPv4-адреса записывают в виде четырех октетов – целых чисел, разделенных точками
Сеть – это набор IP-адресов. Сети описываются и отображаются как непрерывные диапазоны адресов. Например, сеть может соответствовать диапазону
192.4.2.0 – 192.4.2.255, т. е. включать 256 адресов. Если нужно это отобразить в краткой форме, используется нотация CIDR.В CIDR сеть определяется с помощью сетевого адреса и префикса
⏺
<network_address>/<prefix>
Модуль ipaddress использует преимущества шаблона проектирования «Компоновщик». Класс IPv4Address представляет собой компоновщик, который оборачивает обычное целое число.Каждый экземпляр
IPv4Address имеет атрибут _ip, число типа int. Многие свойства и методы класса определяются значением этого атрибутаМодуль
ipaddress предоставляет набор свойств для проверки того, относится ли адрес к специальнымАдминистрация адресного пространства Интернет (Internet Assigned Numbers Authority, IANA) совместно с Инженерном советом Интернета (Internet Engineering Task Force, IETF) осуществляют надзор за распределением диапазонов адресов. Реестр подобных адресов – важная таблица, которая описывает, для каких целей зарезервированы диапазоны IPv4-адресов.
К примеру, это частные IP-адреса, используемые для внутренней связи между устройствами в сети, не требующей подключения к интернету
💬 Подробнее тут
#IP #Python | 🌐 Сетевик Джонни
