Что такое протокол IPv4?

«Что такое протокол IPv4?» — вопрос из категории Архитектура, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

IPv4 (Internet Protocol version 4) — это четвёртая и основная версия интернет-протокола, используемая для адресации устройств в сетях на основе IP.

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

  • Формат адреса: 32-битный (4 октета), записывается в десятичном виде с точками (например, 192.168.1.1).
  • Адресное пространство: Ограничено ~4.3 миллиардами уникальных адресов (2^32).
  • Решение проблемы нехватки: Широко используется NAT (Network Address Translation) и частные адресные диапазоны (например, 192.168.0.0/16).
  • Статус: Является доминирующим протоколом, но постепенно вытесняется IPv6 из-за исчерпания адресов.

Пример проверки валидности IPv4 на Python:

import re

def is_valid_ipv4(ip: str) -> bool:
    pattern = r'^(d{1,3}).(d{1,3}).(d{1,3}).(d{1,3})$'
    match = re.match(pattern, ip)
    if not match:
        return False
    # Проверяем, что каждый октет в диапазоне 0-255
    return all(0 <= int(octet) <= 255 for octet in match.groups())

print(is_valid_ipv4("192.168.1.1"))  # True
print(is_valid_ipv4("256.0.0.1"))    # False (октет > 255)
print(is_valid_ipv4("192.168.1"))    # False (не 4 октета)