← Назад к вопросам

Что такое IPv4?

2.2 Middle🔥 121 комментариев
#Soft skills и карьера#Автоматизация тестирования

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI6 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Что такое IPv4?

IPv4 (Internet Protocol version 4) — это четвёртая версия интернет-протокола, являющаяся фундаментальной основой для адресации и маршрутизации в современных сетях, включая интернет. Это основной протокол сетевого уровня стека TCP/IP, который обеспечивает логическую адресацию устройств и доставку пакетов данных от отправителя к получателю.

Ключевые характеристики IPv4

  • Формат адреса: Адрес IPv4 представляет собой 32-битное число, что теоретически даёт около 4.3 миллиарда (2³²) уникальных комбинаций. Для удобства чтения он записывается в виде четырёх десятичных чисел (октетов), разделённых точками, например, 192.168.1.1. Этот формат называется точечно-десятичной записью (dotted-decimal notation).
  • Структура адреса: Адрес состоит из двух логических частей:
    *   **Номер сети (Network ID):** Определяет конкретную сеть в интернете.
    *   **Номер хоста (Host ID):** Определяет конкретное устройство (хост) внутри этой сети.
    Разделение осуществляется с помощью **маски подсети (subnet mask)**, например, `255.255.255.0`.
  • Классы адресов (исторически): Изначально адресное пространство делилось на классы (A, B, C, D, E) для упрощения маршрутизации. Сегодня используется бесклассовая междоменная маршрутизация (CIDR), которая позволяет гибко делить адресные блоки.
  • Специальные адреса:
    *   **Private Addresses (частные адреса):** Диапазоны (`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`), используемые внутри локальных сетей. Они не маршрутизируются в публичном интернете и транслируются в публичные через **NAT (Network Address Translation)**.
    *   `127.0.0.1` — **localhost**, адрес локального компьютера.
    *   `0.0.0.0` — обозначает "все адреса" или адрес по умолчанию.
    *   `255.255.255.255` — широковещательный адрес (**broadcast**) для локальной сети.

IPv4 с точки зрения QA Engineer

Для инженера по качеству понимание IPv4 критично в нескольких аспектах:

  1. Тестирование сетевых приложений: Необходимо проверять работу приложения с разными IP-адресами (частными, публичными, localhost).
  2. Понимание окружения: Знание, как устроена IP-адресация в тестовой и продакшн-средах (статические vs. динамические адреса (DHCP), наличие NAT).
  3. Диагностика проблем: Умение использовать базовые сетевые утилиты для проверки connectivity. Например, команда ping для проверки доступности хоста по IP.
# Пример проверки связи с хостом в командной строке (Windows/Linux/macOS)
ping 8.8.8.8
  1. Тестирование конфигураций: Проверка корректности настройки сетевых интерфейсов, шлюзов, DNS.
  2. Безопасность: Понимание базовых принципов сетевой безопасности, таких как брандмауэры (firewalls), которые часто фильтруют трафик на основе IP-адресов источника или назначения.
  3. Автоматизация тестов: Написание скриптов, которые могут зависеть от IP-адресации.
# Пример Python-скрипта для проверки доступности списка хостов по IPv4
import socket
import subprocess

hosts = ["192.168.1.1", "8.8.8.8", "127.0.0.1"]

for host in hosts:
    try:
        # Пытаемся установить TCP-соединение на порт 80 (HTTP)
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # AF_INET - это IPv4
        sock.settimeout(2)
        result = sock.connect_ex((host, 80))
        if result == 0:
            print(f"Host {host}:80 is reachable")
        else:
            print(f"Host {host}:80 is NOT reachable (error code: {result})")
        sock.close()
    except socket.error as e:
        print(f"Socket error for host {host}: {e}")

Проблема IPv4 и переход к IPv6

Главный недостаток IPv4 — исчерпание адресного пространства. Рост числа интернет-устройств давно превысил доступный лимит в ~4.3 млрд адресов. Это привело к широкому внедрению технологий, продлевающих жизнь протокола:

  • NAT (трансляция сетевых адресов): Позволяет множеству устройств в частной сети использовать один публичный IP-адрес.
  • CIDR: Более экономное распределение адресных блоков.

Решение проблемы — постепенный переход на IPv6, который использует 128-битные адреса и предоставляет практически неисчерпаемый запас. Однако IPv4, благодаря своей устоявшейся инфраструктуре и NAT, продолжает повсеместно использоваться, и QA-инженерам приходится работать с обеими версиями протокола, обеспечивая совместимость и корректность работы приложений.